Add Num.[f32,f64,dec]_[to,from]_bits builtins and deprecate Num.[f32,f64]_[to,from]_parts (#7741)

* Add `Num.[f32,f64,dec]_[to,from]_bits` builtins

* Update mono tests

* Deprecate `Num.[f32,f64]_[to,from]_parts`
This commit is contained in:
Lars Frogner 2025-04-18 10:10:45 +02:00 committed by GitHub
parent 7c5bbeab4c
commit 560171c238
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
106 changed files with 821 additions and 567 deletions

View file

@ -79,16 +79,16 @@ procedure List.80 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
jump List.695 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.290;
procedure Test.1 (Test.2):
let Test.13 : U64 = 0i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.4 (Test.27):
let Test.39 : [<rnu>C [<rnu><null>, C *self *self] *self, <null>] = TagId(0) ;

View file

@ -48,12 +48,12 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.693;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.3):
let Test.7 : {} = Struct {};

View file

@ -48,12 +48,12 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.693;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.3):
let Test.7 : {} = Struct {};

View file

@ -29,12 +29,12 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.10 (Test.69, #Attr.12):
let Test.72 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I128 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I128 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Test.0 ():
let Test.6 : I128 = 18446744073709551616i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U128 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U128 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.2 : U128 = 170141183460469231731687303715884105728u128;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.2 : U64 = 9999999999999999999i64;

View file

@ -33,12 +33,12 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.390 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -35,12 +35,12 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.96 (#Attr.2):
let Num.284 : Str = lowlevel NumToStr #Attr.2;
ret Num.284;
let Num.290 : Str = lowlevel NumToStr #Attr.2;
ret Num.290;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -76,32 +76,32 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -72,32 +72,32 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.458 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -35,8 +35,8 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -72,32 +72,32 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -3,12 +3,12 @@ procedure Bool.9 (#Attr.2, #Attr.3):
ret Bool.22;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.284 : Str = lowlevel NumToStr #Attr.2;
ret Num.284;
let Num.290 : Str = lowlevel NumToStr #Attr.2;
ret Num.290;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.389 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -30,8 +30,8 @@ procedure List.6 (#Attr.2):
ret List.675;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.283 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.3 : {} = Struct {};

View file

@ -23,8 +23,8 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.5):
let Test.17 : Str = "bar";

View file

@ -148,20 +148,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.725;
procedure Num.127 (#Attr.2):
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.288;
let Num.294 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.295;
procedure Num.96 (#Attr.2):
let Num.287 : Str = lowlevel NumToStr #Attr.2;
ret Num.287;
let Num.293 : Str = lowlevel NumToStr #Attr.2;
ret Num.293;
procedure Str.12 (#Attr.2):
let Str.401 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -89,20 +89,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.398 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -96,20 +96,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.398 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -30,12 +30,12 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.687;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.398 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -94,20 +94,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.398 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -97,20 +97,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.398 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -1,10 +1,10 @@
procedure Num.20 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.290;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Bool.21, Bool.22):
joinpoint Test.7 Test.2 Test.3:

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.8):
let Test.3 : I64 = 10i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Test.1 (Test.9):
let Test.4 : U8 = 10i64;

View file

@ -3,8 +3,8 @@ procedure Bool.1 ():
ret Bool.21;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.3 (Test.4):
ret Test.4;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.291;
procedure Test.2 (Test.3):
switch Test.3:

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Test.2 (Test.3, Test.1):
let Test.18 : Int1 = false;

View file

@ -1065,143 +1065,143 @@ procedure List.99 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
jump List.726 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure Num.131 (#Attr.2):
let Num.291 : U32 = lowlevel NumIntCast #Attr.2;
ret Num.291;
procedure Num.133 (#Attr.2):
let Num.299 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.299;
procedure Num.133 (#Attr.2):
let Num.348 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.348;
procedure Num.133 (#Attr.2):
let Num.363 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.363;
procedure Num.135 (#Attr.2):
let Num.369 : U128 = lowlevel NumIntCast #Attr.2;
ret Num.369;
procedure Num.139 (#Attr.2):
let Num.317 : Float32 = lowlevel NumToFloatCast #Attr.2;
ret Num.317;
procedure Num.148 (Num.226, Num.227):
let Num.319 : Int1 = CallByName Num.22 Num.226 Num.227;
if Num.319 then
ret Num.226;
else
ret Num.227;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.446 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.446;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.316 : Float32 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.316;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.313 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.313;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.453 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.453;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.450 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.450;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.297 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
let Num.297 : U32 = lowlevel NumIntCast #Attr.2;
ret Num.297;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.438 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.438;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.447 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.447;
procedure Num.50 (#Attr.2):
let Num.315 : U64 = lowlevel NumFloor #Attr.2;
ret Num.315;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U32 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.452 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.452;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.449 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.449;
procedure Num.69 (#Attr.2, #Attr.3):
let Num.305 : U32 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3;
procedure Num.133 (#Attr.2):
let Num.305 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.305;
procedure Num.133 (#Attr.2):
let Num.354 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.354;
procedure Num.133 (#Attr.2):
let Num.369 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.369;
procedure Num.135 (#Attr.2):
let Num.375 : U128 = lowlevel NumIntCast #Attr.2;
ret Num.375;
procedure Num.139 (#Attr.2):
let Num.323 : Float32 = lowlevel NumToFloatCast #Attr.2;
ret Num.323;
procedure Num.148 (Num.232, Num.233):
let Num.325 : Int1 = CallByName Num.22 Num.232 Num.233;
if Num.325 then
ret Num.232;
else
ret Num.233;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.452 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.452;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.322 : Float32 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.322;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.319 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.319;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.459 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.459;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.456 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.456;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.303 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.303;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.444 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.444;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.453 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.453;
procedure Num.50 (#Attr.2):
let Num.321 : U64 = lowlevel NumFloor #Attr.2;
ret Num.321;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.289 : U32 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.458 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.458;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.455 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.455;
procedure Num.69 (#Attr.2, #Attr.3):
let Num.311 : U32 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3;
ret Num.311;
procedure Num.70 (#Attr.2, #Attr.3):
let Num.346 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3;
ret Num.346;
let Num.352 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3;
ret Num.352;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.304 : U32 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.304;
let Num.310 : U32 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.310;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.383 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.383;
let Num.389 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.389;
procedure Num.72 (#Attr.2, #Attr.3):
let Num.286 : U32 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U32 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.292;
procedure Num.72 (#Attr.2, #Attr.3):
let Num.398 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.398;
let Num.404 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.404;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.364 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.364;
let Num.370 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.370;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.366 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.366;
let Num.372 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.372;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.293 : U32 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U32 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.299;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.296 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.296;
let Num.302 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.302;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.432 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.432;
let Num.438 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.438;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.451 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.451;
let Num.457 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.457;
procedure Num.78 (#Attr.2, #Attr.3):
let Num.367 : U128 = lowlevel NumMulWrap #Attr.2 #Attr.3;
ret Num.367;
let Num.373 : U128 = lowlevel NumMulWrap #Attr.2 #Attr.3;
ret Num.373;
procedure Num.96 (#Attr.2):
let Num.312 : Str = lowlevel NumToStr #Attr.2;
ret Num.312;
let Num.318 : Str = lowlevel NumToStr #Attr.2;
ret Num.318;
procedure Num.96 (#Attr.2):
let Num.440 : Str = lowlevel NumToStr #Attr.2;
ret Num.440;
let Num.446 : Str = lowlevel NumToStr #Attr.2;
ret Num.446;
procedure Str.12 (#Attr.2):
let Str.390 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -151,16 +151,16 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.291;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.290;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -294,32 +294,32 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.697;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.290 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.297 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.297;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.294 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.294;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.291 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.291;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.296 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
let Num.296 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.296;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.303 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.303;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.300 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.300;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.297 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.297;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.302 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.302;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.295 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.295;
let Num.301 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.301;
procedure Str.20 (#Attr.2):
let Str.457 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -182,20 +182,20 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Num.96 (#Attr.2):
let Num.284 : Str = lowlevel NumToStr #Attr.2;
ret Num.284;
let Num.290 : Str = lowlevel NumToStr #Attr.2;
ret Num.290;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -188,32 +188,32 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.295;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.301 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.301;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.300 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.300;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -195,32 +195,32 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.295;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.301 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.301;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.300 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.300;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -72,32 +72,32 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -195,32 +195,32 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.295;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.301 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.301;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.300 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.300;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -198,32 +198,32 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.288 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.288;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.295;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.292;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.289 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.289;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.294 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
let Num.294 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.301 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.301;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.298 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.298;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.295 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.295;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.300 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.300;
procedure Num.53 (#Attr.2, #Attr.3):
let Num.291 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.291;
let Num.297 : U64 = lowlevel NumAddSaturated #Attr.2 #Attr.3;
ret Num.297;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.293 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.293;
let Num.299 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.299;
procedure Str.20 (#Attr.2):
let Str.456 : Str = lowlevel StrWithCapacity #Attr.2;

View file

@ -3,8 +3,8 @@ procedure List.6 (#Attr.2):
ret List.675;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.291;
procedure Test.0 ():
let Test.1 : List I64 = Array [1i64, 2i64];

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.2 : I64 = 1i64;

View file

@ -1,6 +1,6 @@
procedure Num.45 (#Attr.2):
let Num.283 : I64 = lowlevel NumRound #Attr.2;
ret Num.283;
let Num.289 : I64 = lowlevel NumRound #Attr.2;
ret Num.289;
procedure Test.0 ():
let Test.2 : Decimal = 3.6dec;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.1 : I64 = 3i64;

View file

@ -1,22 +1,22 @@
procedure Num.157 (#Attr.2, #Attr.3):
let Num.285 : I64 = lowlevel NumDivTruncUnchecked #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : I64 = lowlevel NumDivTruncUnchecked #Attr.2 #Attr.3;
ret Num.291;
procedure Num.30 (#Attr.2):
let Num.290 : I64 = 0i64;
let Num.289 : Int1 = lowlevel Eq #Attr.2 Num.290;
ret Num.289;
let Num.296 : I64 = 0i64;
let Num.295 : Int1 = lowlevel Eq #Attr.2 Num.296;
ret Num.295;
procedure Num.40 (Num.250, Num.251):
let Num.286 : Int1 = CallByName Num.30 Num.251;
if Num.286 then
let Num.288 : {} = Struct {};
let Num.287 : [C {}, C I64] = TagId(0) Num.288;
ret Num.287;
procedure Num.40 (Num.256, Num.257):
let Num.292 : Int1 = CallByName Num.30 Num.257;
if Num.292 then
let Num.294 : {} = Struct {};
let Num.293 : [C {}, C I64] = TagId(0) Num.294;
ret Num.293;
else
let Num.284 : I64 = CallByName Num.157 Num.250 Num.251;
let Num.283 : [C {}, C I64] = TagId(1) Num.284;
ret Num.283;
let Num.290 : I64 = CallByName Num.157 Num.256 Num.257;
let Num.289 : [C {}, C I64] = TagId(1) Num.290;
ret Num.289;
procedure Test.0 ():
let Test.8 : I64 = 1000i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.10 : I64 = 41i64;

View file

@ -42,8 +42,8 @@ procedure List.9 (List.392):
ret List.677;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Str.27 (Str.187):
let Str.388 : [C Int1, C I64] = CallByName Str.75 Str.187;

View file

@ -119,24 +119,24 @@ procedure List.80 (Bool.25, Bool.26, Bool.27, Bool.28, Bool.29):
inc Bool.25;
jump List.691 Bool.25 Bool.26 Bool.27 Bool.28 Bool.29;
procedure Num.148 (Num.226, Num.227):
let Num.290 : Int1 = CallByName Num.22 Num.226 Num.227;
if Num.290 then
ret Num.226;
procedure Num.148 (Num.232, Num.233):
let Num.296 : Int1 = CallByName Num.22 Num.232 Num.233;
if Num.296 then
ret Num.232;
else
ret Num.227;
ret Num.233;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.288;
let Num.294 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.294;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Test.1 (Bool.24):
joinpoint Test.26 Test.6:

View file

@ -1,6 +1,6 @@
procedure Num.20 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Bool.21, Bool.22):
joinpoint Test.12 Test.2 Test.3:

View file

@ -1,10 +1,10 @@
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Num.96 (#Attr.2):
let Num.284 : Str = lowlevel NumToStr #Attr.2;
ret Num.284;
let Num.290 : Str = lowlevel NumToStr #Attr.2;
ret Num.290;
procedure Test.1 (Test.4):
let Test.13 : [C U8, C U64] = TagId(1) Test.4;

View file

@ -7,12 +7,12 @@ procedure Bool.9 (#Attr.2, #Attr.3):
ret Bool.21;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.290;
procedure Test.0 (Test.8):
let Test.20 : Int1 = CallByName Bool.2;

View file

@ -30,12 +30,12 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.685;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.7 (Test.11, Test.12):
let Test.17 : {[<rnu>C *self, <null>], [<rnu><null>, C {[<rnu>C *self, <null>], *self}]} = Struct {Test.12, Test.11};

View file

@ -29,7 +29,7 @@ procedure Test.0 ():
let Test.28 : [<rnu><null>, C I64 *self] = TagId(0) Test.29 Test.30;
let Test.14 : [<rnu><null>, C I64 *self] = TagId(0) Test.27 Test.28;
joinpoint Bool.23:
let Test.26 : Str = "ValueNotExposed { module_name: ModuleName(IdentStr { string: \"Num\" }), ident: Ident(IdentStr { string: \"isEven\" }), region: @416-426, exposed_values: ['max_f32', 'min_f32', 'abs', 'neg', 'add', 'sub', 'mul', 'is_lt', 'is_lte', 'is_gt', 'is_gte', 'to_frac', 'sin', 'cos', 'tan', 'is_zero', 'is_even', 'is_odd', 'is_positive', 'is_negative', 'rem', 'rem_checked', 'div', 'div_checked', 'div_trunc', 'div_trunc_checked', 'sqrt', 'sqrt_checked', 'log', 'log_checked', 'round', 'compare', 'pow', 'ceiling', 'pow_int', 'floor', 'add_wrap', 'add_checked', 'add_saturated', 'atan', 'acos', 'asin', 'bitwise_and', 'bitwise_xor', 'bitwise_or', 'shift_left_by', 'shift_right_by', 'shift_right_zf_by', 'sub_wrap', 'sub_checked', 'sub_saturated', 'mul_wrap', 'mul_checked', 'mul_saturated', 'e', 'pi', 'tau', 'is_multiple_of', 'count_one_bits', 'abs_diff', 'is_nan', 'is_infinite', 'is_finite', 'count_leading_zero_bits', 'count_trailing_zero_bits', 'to_str', 'min_i8', 'max_i8', 'min_u8', 'max_u8', 'min_i16', 'max_i16', 'min_u16', 'max_u16', 'min_i32', 'max_i32', 'min_u32', 'max_u32', 'min_i64', 'max_i64', 'min_u64', 'max_u64', 'min_i128', 'max_i128', 'min_u128', 'max_u128', 'to_i8', 'to_i8_checked', 'to_i16', 'to_i16_checked', 'to_i32', 'to_i32_checked', 'to_i64', 'to_i64_checked', 'to_i128', 'to_i128_checked', 'to_u8', 'to_u8_checked', 'to_u16', 'to_u16_checked', 'to_u32', 'to_u32_checked', 'to_u64', 'to_u64_checked', 'to_u128', 'to_u128_checked', 'div_ceil', 'div_ceil_checked', 'to_f32', 'to_f32_checked', 'to_f64', 'to_f64_checked', 'max_f64', 'min_f64', 'add_checked_lowlevel', 'sub_checked_lowlevel', 'mul_checked_lowlevel', 'min', 'max', 'bitwise_not', 'int_cast', 'is_approx_eq', 'bytes_to_u16_owlevel', 'bytes_to_u32_lowlevel', 'bytes_to_u64_lowlevel', 'bytes_to_u128_lowlevel', 'div_trunc_unchecked', 'rem_unchecked', 'without_decimal_point', 'with_decimal_point', 'f32_to_parts', 'f64_to_parts', 'f32_from_parts', 'f64_from_parts', 'nan_f32', 'nan_f64', 'infinity_f32', 'infinity_f64', 'from_bool'] }";
let Test.26 : Str = "ValueNotExposed { module_name: ModuleName(IdentStr { string: \"Num\" }), ident: Ident(IdentStr { string: \"isEven\" }), region: @416-426, exposed_values: ['max_f32', 'min_f32', 'abs', 'neg', 'add', 'sub', 'mul', 'is_lt', 'is_lte', 'is_gt', 'is_gte', 'to_frac', 'sin', 'cos', 'tan', 'is_zero', 'is_even', 'is_odd', 'is_positive', 'is_negative', 'rem', 'rem_checked', 'div', 'div_checked', 'div_trunc', 'div_trunc_checked', 'sqrt', 'sqrt_checked', 'log', 'log_checked', 'round', 'compare', 'pow', 'ceiling', 'pow_int', 'floor', 'add_wrap', 'add_checked', 'add_saturated', 'atan', 'acos', 'asin', 'bitwise_and', 'bitwise_xor', 'bitwise_or', 'shift_left_by', 'shift_right_by', 'shift_right_zf_by', 'sub_wrap', 'sub_checked', 'sub_saturated', 'mul_wrap', 'mul_checked', 'mul_saturated', 'e', 'pi', 'tau', 'is_multiple_of', 'count_one_bits', 'abs_diff', 'is_nan', 'is_infinite', 'is_finite', 'count_leading_zero_bits', 'count_trailing_zero_bits', 'to_str', 'min_i8', 'max_i8', 'min_u8', 'max_u8', 'min_i16', 'max_i16', 'min_u16', 'max_u16', 'min_i32', 'max_i32', 'min_u32', 'max_u32', 'min_i64', 'max_i64', 'min_u64', 'max_u64', 'min_i128', 'max_i128', 'min_u128', 'max_u128', 'to_i8', 'to_i8_checked', 'to_i16', 'to_i16_checked', 'to_i32', 'to_i32_checked', 'to_i64', 'to_i64_checked', 'to_i128', 'to_i128_checked', 'to_u8', 'to_u8_checked', 'to_u16', 'to_u16_checked', 'to_u32', 'to_u32_checked', 'to_u64', 'to_u64_checked', 'to_u128', 'to_u128_checked', 'div_ceil', 'div_ceil_checked', 'to_f32', 'to_f32_checked', 'to_f64', 'to_f64_checked', 'max_f64', 'min_f64', 'add_checked_lowlevel', 'sub_checked_lowlevel', 'mul_checked_lowlevel', 'min', 'max', 'bitwise_not', 'int_cast', 'is_approx_eq', 'bytes_to_u16_owlevel', 'bytes_to_u32_lowlevel', 'bytes_to_u64_lowlevel', 'bytes_to_u128_lowlevel', 'div_trunc_unchecked', 'rem_unchecked', 'without_decimal_point', 'with_decimal_point', 'f32_to_parts', 'f64_to_parts', 'f32_from_parts', 'f64_from_parts', 'nan_f32', 'nan_f64', 'infinity_f32', 'infinity_f64', 'from_bool', 'f32_to_bits', 'f64_to_bits', 'dec_to_bits', 'f32_from_bits', 'f64_from_bits', 'dec_from_bits'] }";
Crash Test.26
in
let Bool.24 : Int1 = lowlevel RefCountIsUnique Test.14;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.10 (Test.11):
let Test.28 : I64 = 1i64;

View file

@ -22,12 +22,12 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
ret List.682;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Test.1 ():
let Test.8 : List I64 = Array [1i64, 2i64, 3i64];

View file

@ -19,8 +19,8 @@ procedure List.66 (#Attr.2, #Attr.3):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
let Test.6 : List I64 = Array [1i64, 2i64, 3i64];

View file

@ -7,8 +7,8 @@ procedure List.6 (#Attr.2):
ret List.676;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.1 : List I64 = Array [1i64, 2i64, 3i64];

View file

@ -63,12 +63,12 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Str.16 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrRepeat #Attr.2 #Attr.3;

View file

@ -62,12 +62,12 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.389 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -63,16 +63,16 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.693;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.285 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.291;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.287;
let Num.293 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.293;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.292;
procedure Test.4 (Test.5, #Attr.12):
let Test.16 : U8 = UnionAtIndex (Id 0) (Index 0) #Attr.12;

View file

@ -22,8 +22,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.3):
let Test.6 : U64 = 0i64;

View file

@ -8,8 +8,8 @@ procedure List.59 (List.387):
ret List.675;
procedure Num.46 (#Attr.2, #Attr.3):
let Num.283 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U8 = lowlevel NumCompare #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.2 : List I64 = Array [4i64, 3i64, 2i64, 1i64];

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Test.0 ():
let Test.7 : I64 = 1i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.17 : {} = Struct {};

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.19 : I64 = 41i64;

View file

@ -1,6 +1,6 @@
procedure Num.37 (#Attr.2, #Attr.3):
let Num.283 : Decimal = lowlevel NumDivFrac #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Decimal = lowlevel NumDivFrac #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.2 : Decimal = 1dec;

View file

@ -1,6 +1,6 @@
procedure Num.21 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.8):
let Test.14 : U64 = 2i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.5 : {} = Struct {};

View file

@ -1,6 +1,6 @@
procedure Num.21 (#Attr.2, #Attr.3):
let Num.285 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.291;
procedure Test.1 (Test.6):
let Test.21 : Int1 = false;

View file

@ -35,12 +35,12 @@ procedure Inspect.64 (Inspect.297):
ret Inspect.297;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.96 (#Attr.2):
let Num.284 : Str = lowlevel NumToStr #Attr.2;
ret Num.284;
let Num.290 : Str = lowlevel NumToStr #Attr.2;
ret Num.290;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.388 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -1,14 +1,14 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.291;
procedure Test.1 (Bool.21, Bool.22, Bool.23):
joinpoint Test.12 Test.2 Test.3 Test.4:

View file

@ -38,8 +38,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.291;
procedure Test.1 (Test.2):
let Test.28 : U64 = 0i64;

View file

@ -1,10 +1,10 @@
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.290;
procedure Test.3 (Bool.21, Bool.22, Bool.23):
let Bool.25 : [<rnu>C *self I64 *self I32 Int1, <null>] = NullPointer;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Test.1 (Test.12):
let Test.6 : I64 = StructAtIndex 0 Test.12;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.4):
let Test.2 : I64 = StructAtIndex 0 Test.4;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.4):
let Test.2 : I64 = 10i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
let Test.3 : I64 = StructAtIndex 0 Test.2;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
let Test.3 : I64 = 10i64;

View file

@ -22,8 +22,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
let Test.6 : List U64 = StructAtIndex 0 Test.2;

View file

@ -3,8 +3,8 @@ procedure Bool.2 ():
ret Bool.21;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U32 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U32 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
let Test.8 : U32 = 0i64;

View file

@ -49,12 +49,12 @@ procedure List.71 (#Attr.2, #Attr.3):
ret List.693;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
procedure Test.2 (Test.5):
let Test.6 : List [<rnnu>C List *self] = UnionAtIndex (Id 0) (Index 0) Test.5;

View file

@ -3,12 +3,12 @@ procedure Bool.9 (#Attr.2, #Attr.3):
ret Bool.21;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.284 : U8 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U8 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.290;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.283 : U8 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U8 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Bool.22, Bool.23):
joinpoint Test.11 Test.2 Test.3:

View file

@ -1,6 +1,6 @@
procedure Num.20 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.289;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.390 : Str = lowlevel StrConcat #Attr.2 #Attr.3;

View file

@ -38,8 +38,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
ret List.680;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.291;
procedure Test.1 (Test.2, Test.3, Test.4):
let Test.29 : [C {}, C I64] = CallByName List.2 Test.4 Test.3;

View file

@ -1,10 +1,10 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.285 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.291;
procedure Test.2 (Test.9, Test.10):
let Test.38 : U8 = 1i64;

View file

@ -3,12 +3,12 @@ procedure Bool.2 ():
ret Bool.22;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2, Test.3):
let Test.15 : U8 = GetTagId Test.2;

View file

@ -3,12 +3,12 @@ procedure Bool.2 ():
ret Bool.21;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.290;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.289;
procedure Test.6 (Test.8, #Attr.12):
let Test.20 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12;

View file

@ -1,10 +1,10 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.284 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : I64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.290;
procedure Test.1 (Bool.21, Bool.22):
joinpoint Test.7 Test.2 Test.3:

View file

@ -83,20 +83,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.699;
procedure Num.127 (#Attr.2):
let Num.284 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.284;
let Num.290 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.290;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.96 (#Attr.2):
let Num.283 : Str = lowlevel NumToStr #Attr.2;
ret Num.283;
let Num.289 : Str = lowlevel NumToStr #Attr.2;
ret Num.289;
procedure Str.12 (#Attr.2):
let Str.389 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -176,20 +176,20 @@ procedure List.8 (#Attr.2, #Attr.3):
ret List.726;
procedure Num.127 (#Attr.2):
let Num.288 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.288;
let Num.294 : U8 = lowlevel NumIntCast #Attr.2;
ret Num.294;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.290;
let Num.296 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.296;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.289 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.289;
let Num.295 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.295;
procedure Num.96 (#Attr.2):
let Num.287 : Str = lowlevel NumToStr #Attr.2;
ret Num.287;
let Num.293 : Str = lowlevel NumToStr #Attr.2;
ret Num.293;
procedure Str.12 (#Attr.2):
let Str.392 : List U8 = lowlevel StrToUtf8 #Attr.2;

View file

@ -79,16 +79,16 @@ procedure List.80 (Bool.22, Bool.23, Bool.24, Bool.25, Bool.26):
jump List.695 Bool.22 Bool.23 Bool.24 Bool.25 Bool.26;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.286;
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.292;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.285;
let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.291;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.284 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.284;
let Num.290 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.290;
procedure Test.3 (Test.4, Test.12):
let Test.13 : [C U64, C U64] = TagId(0) Test.4;

View file

@ -3,8 +3,8 @@ procedure Bool.2 ():
ret Bool.23;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.1 (Test.2):
joinpoint Test.12:

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.19 : I64 = 41i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.5 : I64 = 2i64;

View file

@ -1,6 +1,6 @@
procedure Num.19 (#Attr.2, #Attr.3):
let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.283;
let Num.289 : I64 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.289;
procedure Test.0 ():
let Test.15 : I64 = 3i64;