roc/crates/compiler/test_mono/generated/inspect_derived_dict.txt
2023-11-28 16:40:42 -08:00

1202 lines
51 KiB
Text

procedure Bool.1 ():
let Bool.30 : Int1 = false;
ret Bool.30;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.25 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.25;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.26 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.26;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.28 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.28;
procedure Bool.2 ():
let Bool.29 : Int1 = true;
ret Bool.29;
procedure Dict.1 (Dict.557):
let Dict.720 : List {Str, I64} = Array [];
let Dict.726 : U64 = 0i64;
let Dict.727 : U64 = 8i64;
let Dict.721 : List U64 = CallByName List.11 Dict.726 Dict.727;
let Dict.724 : I8 = CallByName Dict.40;
let Dict.725 : U64 = 8i64;
let Dict.722 : List I8 = CallByName List.11 Dict.724 Dict.725;
let Dict.723 : U64 = 0i64;
let Dict.719 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.720, Dict.721, Dict.722, Dict.723};
ret Dict.719;
procedure Dict.10 (Dict.558, Dict.127, Dict.128):
let Dict.126 : List {Str, I64} = StructAtIndex 0 Dict.558;
let #Derived_gen.61 : List U64 = StructAtIndex 1 Dict.558;
dec #Derived_gen.61;
let #Derived_gen.60 : List I8 = StructAtIndex 2 Dict.558;
dec #Derived_gen.60;
let Dict.981 : {Str, Int1} = CallByName List.18 Dict.126 Dict.127 Dict.128;
ret Dict.981;
procedure Dict.101 (Dict.102, Dict.568):
let Dict.103 : Str = StructAtIndex 0 Dict.568;
let Dict.104 : I64 = StructAtIndex 1 Dict.568;
let Dict.569 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.8 Dict.102 Dict.103 Dict.104;
ret Dict.569;
procedure Dict.12 (Dict.100):
let Dict.718 : {} = Struct {};
let Dict.566 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.1 Dict.718;
let Dict.567 : {} = Struct {};
let Dict.565 : {List {Str, I64}, List U64, List I8, U64} = CallByName List.18 Dict.100 Dict.566 Dict.567;
ret Dict.565;
procedure Dict.129 (Dict.130, Dict.983, Dict.128):
let Dict.131 : Str = StructAtIndex 0 Dict.983;
let Dict.132 : I64 = StructAtIndex 1 Dict.983;
let Dict.985 : {Str, Int1} = CallByName Inspect.190 Dict.130 Dict.131 Dict.132 Dict.128;
ret Dict.985;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.574 : U64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
dec #Attr.2;
ret Dict.574;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.597 : I8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
dec #Attr.2;
ret Dict.597;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.665 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
inc Dict.665;
dec #Attr.2;
ret Dict.665;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.781 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
dec #Attr.2;
ret Dict.781;
procedure Dict.23 (#Attr.2):
let Dict.659 : U64 = lowlevel DictPseudoSeed #Attr.2;
ret Dict.659;
procedure Dict.31 (Dict.93):
let Dict.973 : {List {Str, I64}, List U64, List I8, U64} = CallByName Inspect.30 Dict.93;
ret Dict.973;
procedure Dict.33 (Dict.554, Dict.237, Dict.238, Dict.239, Dict.240):
let Dict.235 : List {Str, I64} = StructAtIndex 0 Dict.554;
let Dict.234 : List U64 = StructAtIndex 1 Dict.554;
let Dict.233 : List I8 = StructAtIndex 2 Dict.554;
inc Dict.233;
let Dict.236 : U64 = StructAtIndex 3 Dict.554;
let Dict.607 : U64 = CallByName List.6 Dict.233;
let Dict.602 : U64 = CallByName Dict.45 Dict.607;
let Dict.241 : {U64, U64, U64} = CallByName Dict.42 Dict.239 Dict.602;
let Dict.580 : U64 = 0i64;
let Dict.242 : U64 = CallByName Dict.34 Dict.233 Dict.241 Dict.580;
let Dict.243 : U64 = CallByName List.6 Dict.235;
let Dict.579 : {Str, I64} = Struct {Dict.237, Dict.238};
let Dict.244 : List {Str, I64} = CallByName List.4 Dict.235 Dict.579;
let Dict.577 : List U64 = CallByName List.3 Dict.234 Dict.242 Dict.243;
let Dict.578 : List I8 = CallByName List.3 Dict.233 Dict.242 Dict.240;
let Dict.576 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.244, Dict.577, Dict.578, Dict.236};
ret Dict.576;
procedure Dict.34 (#Derived_gen.42, #Derived_gen.43, #Derived_gen.44):
joinpoint Dict.581 Dict.245 Dict.246 Dict.247:
let Dict.599 : U64 = StructAtIndex 2 Dict.246;
let Dict.598 : U64 = CallByName Dict.44 Dict.599;
let Dict.248 : U64 = CallByName Num.51 Dict.598 Dict.247;
inc Dict.245;
let Dict.249 : I8 = CallByName Dict.22 Dict.245 Dict.248;
let Dict.596 : I8 = 0i64;
let Dict.594 : Int1 = CallByName Num.22 Dict.249 Dict.596;
if Dict.594 then
dec Dict.245;
ret Dict.248;
else
let Dict.593 : U64 = 7i64;
let Dict.585 : Int1 = CallByName Bool.11 Dict.247 Dict.593;
if Dict.585 then
let Dict.587 : {U64, U64, U64} = CallByName Dict.43 Dict.246;
let Dict.588 : U64 = 0i64;
jump Dict.581 Dict.245 Dict.587 Dict.588;
else
let Dict.584 : U64 = 1i64;
let Dict.583 : U64 = CallByName Num.51 Dict.247 Dict.584;
jump Dict.581 Dict.245 Dict.246 Dict.583;
in
jump Dict.581 #Derived_gen.42 #Derived_gen.43 #Derived_gen.44;
procedure Dict.35 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6):
joinpoint Dict.686 Dict.250 Dict.251 Dict.252 Dict.253 Dict.254 Dict.255 Dict.256:
let Dict.712 : U64 = StructAtIndex 2 Dict.255;
let Dict.711 : U64 = CallByName Dict.44 Dict.712;
let Dict.257 : U64 = CallByName Num.51 Dict.711 Dict.256;
inc Dict.250;
let Dict.258 : I8 = CallByName Dict.22 Dict.250 Dict.257;
let Dict.710 : I8 = CallByName Dict.40;
let Dict.707 : Int1 = CallByName Bool.11 Dict.258 Dict.710;
if Dict.707 then
dec Dict.250;
dec Dict.251;
dec Dict.252;
dec Dict.254;
let Dict.709 : {} = Struct {};
let Dict.708 : [C {}, C U64] = TagId(0) Dict.709;
ret Dict.708;
else
let Dict.695 : Int1 = CallByName Bool.11 Dict.258 Dict.253;
if Dict.695 then
inc Dict.251;
let Dict.261 : U64 = CallByName Dict.22 Dict.251 Dict.257;
inc Dict.252;
let Dict.706 : {Str, I64} = CallByName Dict.22 Dict.252 Dict.261;
let Dict.262 : Str = StructAtIndex 0 Dict.706;
let Dict.704 : Int1 = CallByName Bool.11 Dict.262 Dict.254;
dec Dict.262;
if Dict.704 then
dec Dict.250;
dec Dict.251;
dec Dict.252;
dec Dict.254;
let Dict.705 : [C {}, C U64] = TagId(1) Dict.257;
ret Dict.705;
else
let Dict.703 : U64 = 7i64;
let Dict.699 : Int1 = CallByName Bool.11 Dict.256 Dict.703;
if Dict.699 then
let Dict.701 : {U64, U64, U64} = CallByName Dict.43 Dict.255;
let Dict.702 : U64 = 0i64;
jump Dict.686 Dict.250 Dict.251 Dict.252 Dict.253 Dict.254 Dict.701 Dict.702;
else
let Dict.698 : U64 = 1i64;
let Dict.697 : U64 = CallByName Num.51 Dict.256 Dict.698;
jump Dict.686 Dict.250 Dict.251 Dict.252 Dict.253 Dict.254 Dict.255 Dict.697;
else
let Dict.694 : U64 = 7i64;
let Dict.690 : Int1 = CallByName Bool.11 Dict.256 Dict.694;
if Dict.690 then
let Dict.692 : {U64, U64, U64} = CallByName Dict.43 Dict.255;
let Dict.693 : U64 = 0i64;
jump Dict.686 Dict.250 Dict.251 Dict.252 Dict.253 Dict.254 Dict.692 Dict.693;
else
let Dict.689 : U64 = 1i64;
let Dict.688 : U64 = CallByName Num.51 Dict.256 Dict.689;
jump Dict.686 Dict.250 Dict.251 Dict.252 Dict.253 Dict.254 Dict.255 Dict.688;
in
jump Dict.686 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6;
procedure Dict.36 (Dict.551):
let Dict.266 : List {Str, I64} = StructAtIndex 0 Dict.551;
let Dict.265 : List U64 = StructAtIndex 1 Dict.551;
let Dict.264 : List I8 = StructAtIndex 2 Dict.551;
let Dict.267 : U64 = StructAtIndex 3 Dict.551;
let Dict.268 : U64 = CallByName List.6 Dict.265;
let Dict.679 : U8 = 3i64;
let Dict.678 : U64 = CallByName Num.74 Dict.268 Dict.679;
let Dict.269 : U64 = CallByName Num.75 Dict.268 Dict.678;
let Dict.612 : Int1 = CallByName Num.24 Dict.267 Dict.269;
if Dict.612 then
let Dict.614 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.266, Dict.265, Dict.264, Dict.267};
let Dict.613 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.37 Dict.614;
ret Dict.613;
else
let Dict.611 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.266, Dict.265, Dict.264, Dict.267};
ret Dict.611;
procedure Dict.37 (Dict.552):
let Dict.272 : List {Str, I64} = StructAtIndex 0 Dict.552;
inc Dict.272;
let Dict.271 : List U64 = StructAtIndex 1 Dict.552;
let Dict.270 : List I8 = StructAtIndex 2 Dict.552;
let Dict.273 : U64 = StructAtIndex 3 Dict.552;
let Dict.676 : U64 = 2i64;
let Dict.677 : U64 = CallByName List.6 Dict.271;
let Dict.274 : U64 = CallByName Num.21 Dict.676 Dict.677;
let Dict.675 : U64 = 0i64;
let Dict.671 : List U64 = CallByName List.11 Dict.675 Dict.274;
let Dict.673 : I8 = CallByName Dict.40;
let Dict.672 : List I8 = CallByName List.11 Dict.673 Dict.274;
let Dict.275 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.272, Dict.671, Dict.672, Dict.273};
let Dict.616 : U64 = 0i64;
let Dict.615 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.38 Dict.275 Dict.270 Dict.271 Dict.272 Dict.616;
ret Dict.615;
procedure Dict.38 (#Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint Dict.617 Dict.276 Dict.277 Dict.278 Dict.279 Dict.280:
inc Dict.277;
let Dict.618 : [C {}, C I8] = CallByName List.2 Dict.277 Dict.280;
let Dict.668 : U8 = 1i64;
let Dict.669 : U8 = GetTagId Dict.618;
let Dict.670 : Int1 = lowlevel Eq Dict.668 Dict.669;
if Dict.670 then
let Dict.281 : I8 = UnionAtIndex (Id 1) (Index 0) Dict.618;
joinpoint Dict.623 Dict.282:
let Dict.621 : U64 = 1i64;
let Dict.620 : U64 = CallByName Num.51 Dict.280 Dict.621;
jump Dict.617 Dict.282 Dict.277 Dict.278 Dict.279 Dict.620;
in
let Dict.666 : I8 = 0i64;
let Dict.624 : Int1 = CallByName Num.25 Dict.281 Dict.666;
if Dict.624 then
inc Dict.278;
let Dict.283 : U64 = CallByName Dict.22 Dict.278 Dict.280;
inc Dict.279;
let Dict.664 : {Str, I64} = CallByName Dict.22 Dict.279 Dict.283;
let Dict.284 : Str = StructAtIndex 0 Dict.664;
let Dict.622 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.39 Dict.276 Dict.284 Dict.283;
jump Dict.623 Dict.622;
else
jump Dict.623 Dict.276;
else
dec Dict.277;
dec Dict.279;
dec Dict.278;
ret Dict.276;
in
jump Dict.617 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure Dict.39 (Dict.553, Dict.289, Dict.290):
let Dict.287 : List {Str, I64} = StructAtIndex 0 Dict.553;
let Dict.286 : List U64 = StructAtIndex 1 Dict.553;
let Dict.285 : List I8 = StructAtIndex 2 Dict.553;
inc Dict.285;
let Dict.288 : U64 = StructAtIndex 3 Dict.553;
let Dict.639 : [C , C U64] = TagId(0) ;
let Dict.638 : {U64, U64} = CallByName Dict.48 Dict.639;
let Dict.636 : {U64, U64} = CallByName Hash.19 Dict.638 Dict.289;
let Dict.291 : U64 = CallByName Dict.51 Dict.636;
let Dict.292 : U64 = CallByName Dict.46 Dict.291;
let Dict.293 : I8 = CallByName Dict.47 Dict.291;
let Dict.630 : U64 = CallByName List.6 Dict.285;
let Dict.629 : U64 = CallByName Dict.45 Dict.630;
let Dict.294 : {U64, U64, U64} = CallByName Dict.42 Dict.292 Dict.629;
let Dict.628 : U64 = 0i64;
let Dict.295 : U64 = CallByName Dict.34 Dict.285 Dict.294 Dict.628;
let Dict.626 : List U64 = CallByName List.3 Dict.286 Dict.295 Dict.290;
let Dict.627 : List I8 = CallByName List.3 Dict.285 Dict.295 Dict.293;
let Dict.625 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.287, Dict.626, Dict.627, Dict.288};
ret Dict.625;
procedure Dict.40 ():
let Dict.674 : I8 = -128i64;
ret Dict.674;
procedure Dict.42 (Dict.297, Dict.298):
let Dict.606 : U64 = 1i64;
let Dict.299 : U64 = CallByName Num.77 Dict.298 Dict.606;
let Dict.605 : U64 = CallByName Num.137 Dict.297;
let Dict.300 : U64 = CallByName Num.69 Dict.605 Dict.299;
let Dict.604 : U64 = 1i64;
let Dict.603 : {U64, U64, U64} = Struct {Dict.299, Dict.604, Dict.300};
ret Dict.603;
procedure Dict.43 (Dict.562):
let Dict.303 : U64 = StructAtIndex 0 Dict.562;
let Dict.302 : U64 = StructAtIndex 1 Dict.562;
let Dict.301 : U64 = StructAtIndex 2 Dict.562;
let Dict.592 : U64 = CallByName Num.51 Dict.301 Dict.302;
let Dict.304 : U64 = CallByName Num.69 Dict.592 Dict.303;
let Dict.591 : U64 = 1i64;
let Dict.590 : U64 = CallByName Num.51 Dict.302 Dict.591;
let Dict.589 : {U64, U64, U64} = Struct {Dict.303, Dict.590, Dict.304};
ret Dict.589;
procedure Dict.44 (Dict.305):
let Dict.601 : U8 = 3i64;
let Dict.600 : U64 = CallByName Num.72 Dict.305 Dict.601;
ret Dict.600;
procedure Dict.45 (Dict.306):
let Dict.609 : U8 = 3i64;
let Dict.608 : U64 = CallByName Num.74 Dict.306 Dict.609;
ret Dict.608;
procedure Dict.46 (Dict.307):
let Dict.635 : U8 = 7i64;
let Dict.634 : U64 = CallByName Num.74 Dict.307 Dict.635;
ret Dict.634;
procedure Dict.47 (Dict.308):
let Dict.633 : U64 = 127i64;
let Dict.632 : U64 = CallByName Num.69 Dict.308 Dict.633;
let Dict.631 : I8 = CallByName Num.117 Dict.632;
ret Dict.631;
procedure Dict.48 (Dict.309):
joinpoint Dict.656 Dict.310:
let Dict.641 : U64 = CallByName Dict.50 Dict.310;
let Dict.640 : {U64, U64} = Struct {Dict.641, Dict.310};
ret Dict.640;
in
let Dict.661 : U8 = 0i64;
let Dict.662 : U8 = GetTagId Dict.309;
let Dict.663 : Int1 = lowlevel Eq Dict.661 Dict.662;
if Dict.663 then
let Dict.658 : {} = Struct {};
let Dict.657 : U64 = CallByName Dict.23 Dict.658;
jump Dict.656 Dict.657;
else
let Dict.311 : U64 = UnionAtIndex (Id 1) (Index 0) Dict.309;
jump Dict.656 Dict.311;
procedure Dict.49 (Dict.541, Dict.542):
let Dict.314 : U64 = StructAtIndex 0 Dict.542;
let Dict.315 : U64 = StructAtIndex 1 Dict.542;
let Dict.317 : U64 = StructAtIndex 2 Dict.542;
let Dict.316 : U64 = StructAtIndex 3 Dict.542;
let Dict.312 : U64 = StructAtIndex 0 Dict.541;
let Dict.313 : U64 = StructAtIndex 1 Dict.541;
let Dict.749 : U64 = CallByName Dict.61;
let Dict.747 : U64 = CallByName Num.70 Dict.314 Dict.749;
let Dict.748 : U64 = CallByName Num.70 Dict.315 Dict.316;
let Dict.318 : {U64, U64} = CallByName Dict.65 Dict.747 Dict.748;
let Dict.744 : U64 = StructAtIndex 0 Dict.318;
let Dict.745 : U64 = CallByName Dict.60;
let Dict.743 : U64 = CallByName Num.70 Dict.744 Dict.745;
let Dict.319 : U64 = CallByName Num.70 Dict.743 Dict.317;
let Dict.740 : U64 = StructAtIndex 1 Dict.318;
let Dict.741 : U64 = CallByName Dict.61;
let Dict.320 : U64 = CallByName Num.70 Dict.740 Dict.741;
let Dict.321 : U64 = CallByName Dict.64 Dict.319 Dict.320;
let Dict.732 : U64 = CallByName Dict.64 Dict.313 Dict.321;
let Dict.731 : {U64, U64} = Struct {Dict.312, Dict.732};
ret Dict.731;
procedure Dict.50 (Dict.322):
let Dict.654 : U64 = CallByName Dict.60;
let Dict.644 : U64 = CallByName Num.70 Dict.322 Dict.654;
let Dict.645 : U64 = CallByName Dict.61;
let Dict.643 : U64 = CallByName Dict.64 Dict.644 Dict.645;
let Dict.642 : U64 = CallByName Num.70 Dict.643 Dict.322;
ret Dict.642;
procedure Dict.51 (Dict.561):
let Dict.323 : U64 = StructAtIndex 1 Dict.561;
ret Dict.323;
procedure Dict.57 (Dict.535, Dict.362):
let Dict.360 : U64 = StructAtIndex 0 Dict.535;
let Dict.361 : U64 = StructAtIndex 1 Dict.535;
let Dict.363 : U64 = CallByName List.6 Dict.362;
joinpoint Dict.938 Dict.364:
let Dict.931 : {U64, U64} = Struct {Dict.360, Dict.361};
let Dict.933 : U64 = StructAtIndex 0 Dict.364;
let Dict.934 : U64 = StructAtIndex 1 Dict.364;
let Dict.935 : U64 = CallByName Num.133 Dict.363;
let Dict.936 : U64 = StructAtIndex 2 Dict.364;
let Dict.932 : {U64, U64, U64, U64} = Struct {Dict.933, Dict.934, Dict.935, Dict.936};
let Dict.930 : {U64, U64} = CallByName Dict.49 Dict.931 Dict.932;
ret Dict.930;
in
let Dict.972 : U64 = 16i64;
let Dict.943 : Int1 = CallByName Num.23 Dict.363 Dict.972;
if Dict.943 then
joinpoint Dict.945 Dict.937:
jump Dict.938 Dict.937;
in
let Dict.971 : U64 = 4i64;
let Dict.953 : Int1 = CallByName Num.25 Dict.363 Dict.971;
if Dict.953 then
let Dict.970 : U8 = 3i64;
let Dict.968 : U64 = CallByName Num.74 Dict.363 Dict.970;
let Dict.969 : U8 = 2i64;
let Dict.365 : U64 = CallByName Num.72 Dict.968 Dict.969;
let Dict.967 : U64 = 0i64;
inc 3 Dict.362;
let Dict.965 : U64 = CallByName Dict.67 Dict.362 Dict.967;
let Dict.966 : U8 = 32i64;
let Dict.963 : U64 = CallByName Num.72 Dict.965 Dict.966;
let Dict.964 : U64 = CallByName Dict.67 Dict.362 Dict.365;
let Dict.366 : U64 = CallByName Num.71 Dict.963 Dict.964;
let Dict.962 : U64 = 4i64;
let Dict.961 : U64 = CallByName Num.75 Dict.363 Dict.962;
let Dict.959 : U64 = CallByName Dict.67 Dict.362 Dict.961;
let Dict.960 : U8 = 32i64;
let Dict.954 : U64 = CallByName Num.72 Dict.959 Dict.960;
let Dict.958 : U64 = 4i64;
let Dict.957 : U64 = CallByName Num.75 Dict.363 Dict.958;
let Dict.956 : U64 = CallByName Num.75 Dict.957 Dict.365;
let Dict.955 : U64 = CallByName Dict.67 Dict.362 Dict.956;
let Dict.367 : U64 = CallByName Num.71 Dict.954 Dict.955;
let Dict.944 : {U64, U64, U64} = Struct {Dict.366, Dict.367, Dict.360};
jump Dict.945 Dict.944;
else
let Dict.952 : U64 = 0i64;
let Dict.948 : Int1 = CallByName Num.24 Dict.363 Dict.952;
if Dict.948 then
let Dict.951 : U64 = 0i64;
let Dict.949 : U64 = CallByName Dict.68 Dict.362 Dict.951 Dict.363;
let Dict.950 : U64 = 0i64;
let Dict.944 : {U64, U64, U64} = Struct {Dict.949, Dict.950, Dict.360};
jump Dict.945 Dict.944;
else
dec Dict.362;
let Dict.946 : U64 = 0i64;
let Dict.947 : U64 = 0i64;
let Dict.944 : {U64, U64, U64} = Struct {Dict.946, Dict.947, Dict.360};
jump Dict.945 Dict.944;
else
let Dict.942 : U64 = 48i64;
let Dict.940 : Int1 = CallByName Num.23 Dict.363 Dict.942;
if Dict.940 then
let Dict.941 : U64 = 0i64;
let Dict.937 : {U64, U64, U64} = CallByName Dict.59 Dict.360 Dict.362 Dict.941 Dict.363;
jump Dict.938 Dict.937;
else
let Dict.939 : U64 = 0i64;
let Dict.937 : {U64, U64, U64} = CallByName Dict.58 Dict.360 Dict.360 Dict.360 Dict.362 Dict.939 Dict.363;
jump Dict.938 Dict.937;
procedure Dict.58 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54, #Derived_gen.55, #Derived_gen.56):
joinpoint Dict.757 Dict.368 Dict.369 Dict.370 Dict.371 Dict.372 Dict.373:
inc 6 Dict.371;
let Dict.864 : U64 = CallByName Dict.66 Dict.371 Dict.372;
let Dict.865 : U64 = CallByName Dict.61;
let Dict.859 : U64 = CallByName Num.70 Dict.864 Dict.865;
let Dict.863 : U64 = 8i64;
let Dict.862 : U64 = CallByName Num.51 Dict.372 Dict.863;
let Dict.861 : U64 = CallByName Dict.66 Dict.371 Dict.862;
let Dict.860 : U64 = CallByName Num.70 Dict.861 Dict.368;
let Dict.374 : U64 = CallByName Dict.64 Dict.859 Dict.860;
let Dict.858 : U64 = 16i64;
let Dict.857 : U64 = CallByName Num.51 Dict.372 Dict.858;
let Dict.854 : U64 = CallByName Dict.66 Dict.371 Dict.857;
let Dict.855 : U64 = CallByName Dict.62;
let Dict.849 : U64 = CallByName Num.70 Dict.854 Dict.855;
let Dict.853 : U64 = 24i64;
let Dict.852 : U64 = CallByName Num.51 Dict.372 Dict.853;
let Dict.851 : U64 = CallByName Dict.66 Dict.371 Dict.852;
let Dict.850 : U64 = CallByName Num.70 Dict.851 Dict.369;
let Dict.375 : U64 = CallByName Dict.64 Dict.849 Dict.850;
let Dict.848 : U64 = 32i64;
let Dict.847 : U64 = CallByName Num.51 Dict.372 Dict.848;
let Dict.844 : U64 = CallByName Dict.66 Dict.371 Dict.847;
let Dict.845 : U64 = CallByName Dict.63;
let Dict.839 : U64 = CallByName Num.70 Dict.844 Dict.845;
let Dict.843 : U64 = 40i64;
let Dict.842 : U64 = CallByName Num.51 Dict.372 Dict.843;
let Dict.841 : U64 = CallByName Dict.66 Dict.371 Dict.842;
let Dict.840 : U64 = CallByName Num.70 Dict.841 Dict.370;
let Dict.376 : U64 = CallByName Dict.64 Dict.839 Dict.840;
let Dict.838 : U64 = 48i64;
let Dict.377 : U64 = CallByName Num.75 Dict.373 Dict.838;
let Dict.837 : U64 = 48i64;
let Dict.378 : U64 = CallByName Num.51 Dict.372 Dict.837;
let Dict.836 : U64 = 48i64;
let Dict.834 : Int1 = CallByName Num.24 Dict.377 Dict.836;
if Dict.834 then
jump Dict.757 Dict.374 Dict.375 Dict.376 Dict.371 Dict.378 Dict.377;
else
let Dict.833 : U64 = 16i64;
let Dict.808 : Int1 = CallByName Num.24 Dict.377 Dict.833;
if Dict.808 then
let Dict.832 : U64 = CallByName Num.70 Dict.375 Dict.374;
let Dict.379 : U64 = CallByName Num.70 Dict.376 Dict.832;
let Dict.809 : {U64, U64, U64} = CallByName Dict.59 Dict.379 Dict.371 Dict.378 Dict.377;
ret Dict.809;
else
inc Dict.371;
let Dict.807 : U64 = CallByName Num.70 Dict.375 Dict.374;
let Dict.380 : U64 = CallByName Num.70 Dict.376 Dict.807;
let Dict.806 : U64 = 16i64;
let Dict.805 : U64 = CallByName Num.75 Dict.377 Dict.806;
let Dict.804 : U64 = CallByName Num.51 Dict.805 Dict.378;
let Dict.759 : U64 = CallByName Dict.66 Dict.371 Dict.804;
let Dict.803 : U64 = 8i64;
let Dict.802 : U64 = CallByName Num.75 Dict.377 Dict.803;
let Dict.761 : U64 = CallByName Num.51 Dict.802 Dict.378;
let Dict.760 : U64 = CallByName Dict.66 Dict.371 Dict.761;
let Dict.758 : {U64, U64, U64} = Struct {Dict.759, Dict.760, Dict.380};
ret Dict.758;
in
jump Dict.757 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54 #Derived_gen.55 #Derived_gen.56;
procedure Dict.59 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint Dict.810 Dict.381 Dict.382 Dict.383 Dict.384:
inc 2 Dict.382;
let Dict.830 : U64 = CallByName Dict.66 Dict.382 Dict.383;
let Dict.831 : U64 = CallByName Dict.61;
let Dict.825 : U64 = CallByName Num.70 Dict.830 Dict.831;
let Dict.829 : U64 = 8i64;
let Dict.828 : U64 = CallByName Num.51 Dict.383 Dict.829;
let Dict.827 : U64 = CallByName Dict.66 Dict.382 Dict.828;
let Dict.826 : U64 = CallByName Num.70 Dict.827 Dict.381;
let Dict.385 : U64 = CallByName Dict.64 Dict.825 Dict.826;
let Dict.824 : U64 = 16i64;
let Dict.386 : U64 = CallByName Num.75 Dict.384 Dict.824;
let Dict.823 : U64 = 16i64;
let Dict.387 : U64 = CallByName Num.51 Dict.383 Dict.823;
let Dict.822 : U64 = 16i64;
let Dict.812 : Int1 = CallByName Num.23 Dict.386 Dict.822;
if Dict.812 then
inc Dict.382;
let Dict.821 : U64 = 16i64;
let Dict.820 : U64 = CallByName Num.75 Dict.386 Dict.821;
let Dict.819 : U64 = CallByName Num.51 Dict.820 Dict.387;
let Dict.814 : U64 = CallByName Dict.66 Dict.382 Dict.819;
let Dict.818 : U64 = 8i64;
let Dict.817 : U64 = CallByName Num.75 Dict.386 Dict.818;
let Dict.816 : U64 = CallByName Num.51 Dict.817 Dict.387;
let Dict.815 : U64 = CallByName Dict.66 Dict.382 Dict.816;
let Dict.813 : {U64, U64, U64} = Struct {Dict.814, Dict.815, Dict.385};
ret Dict.813;
else
jump Dict.810 Dict.385 Dict.382 Dict.387 Dict.386;
in
jump Dict.810 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
procedure Dict.60 ():
let Dict.746 : U64 = 11562461410679940143i64;
ret Dict.746;
procedure Dict.61 ():
let Dict.742 : U64 = 16646288086500911323i64;
ret Dict.742;
procedure Dict.62 ():
let Dict.856 : U64 = 10285213230658275043i64;
ret Dict.856;
procedure Dict.63 ():
let Dict.846 : U64 = 6384245875588680899i64;
ret Dict.846;
procedure Dict.64 (Dict.388, Dict.389):
let Dict.734 : {U64, U64} = CallByName Dict.65 Dict.388 Dict.389;
let Dict.390 : U64 = StructAtIndex 0 Dict.734;
let Dict.391 : U64 = StructAtIndex 1 Dict.734;
let Dict.733 : U64 = CallByName Num.70 Dict.390 Dict.391;
ret Dict.733;
procedure Dict.65 (Dict.392, Dict.393):
let Dict.738 : U128 = CallByName Num.135 Dict.392;
let Dict.739 : U128 = CallByName Num.135 Dict.393;
let Dict.394 : U128 = CallByName Num.21 Dict.738 Dict.739;
let Dict.395 : U64 = CallByName Num.133 Dict.394;
let Dict.737 : U8 = 64i64;
let Dict.736 : U128 = CallByName Num.74 Dict.394 Dict.737;
let Dict.396 : U64 = CallByName Num.133 Dict.736;
let Dict.735 : {U64, U64} = Struct {Dict.395, Dict.396};
ret Dict.735;
procedure Dict.66 (Dict.397, Dict.398):
inc 7 Dict.397;
let Dict.801 : U8 = CallByName Dict.22 Dict.397 Dict.398;
let Dict.399 : U64 = CallByName Num.133 Dict.801;
let Dict.800 : U64 = 1i64;
let Dict.799 : U64 = CallByName Num.51 Dict.398 Dict.800;
let Dict.798 : U8 = CallByName Dict.22 Dict.397 Dict.799;
let Dict.400 : U64 = CallByName Num.133 Dict.798;
let Dict.797 : U64 = 2i64;
let Dict.796 : U64 = CallByName Num.51 Dict.398 Dict.797;
let Dict.795 : U8 = CallByName Dict.22 Dict.397 Dict.796;
let Dict.401 : U64 = CallByName Num.133 Dict.795;
let Dict.794 : U64 = 3i64;
let Dict.793 : U64 = CallByName Num.51 Dict.398 Dict.794;
let Dict.792 : U8 = CallByName Dict.22 Dict.397 Dict.793;
let Dict.402 : U64 = CallByName Num.133 Dict.792;
let Dict.791 : U64 = 4i64;
let Dict.790 : U64 = CallByName Num.51 Dict.398 Dict.791;
let Dict.789 : U8 = CallByName Dict.22 Dict.397 Dict.790;
let Dict.403 : U64 = CallByName Num.133 Dict.789;
let Dict.788 : U64 = 5i64;
let Dict.787 : U64 = CallByName Num.51 Dict.398 Dict.788;
let Dict.786 : U8 = CallByName Dict.22 Dict.397 Dict.787;
let Dict.404 : U64 = CallByName Num.133 Dict.786;
let Dict.785 : U64 = 6i64;
let Dict.784 : U64 = CallByName Num.51 Dict.398 Dict.785;
let Dict.783 : U8 = CallByName Dict.22 Dict.397 Dict.784;
let Dict.405 : U64 = CallByName Num.133 Dict.783;
let Dict.782 : U64 = 7i64;
let Dict.780 : U64 = CallByName Num.51 Dict.398 Dict.782;
let Dict.779 : U8 = CallByName Dict.22 Dict.397 Dict.780;
let Dict.406 : U64 = CallByName Num.133 Dict.779;
let Dict.778 : U8 = 8i64;
let Dict.777 : U64 = CallByName Num.72 Dict.400 Dict.778;
let Dict.407 : U64 = CallByName Num.71 Dict.399 Dict.777;
let Dict.776 : U8 = 16i64;
let Dict.773 : U64 = CallByName Num.72 Dict.401 Dict.776;
let Dict.775 : U8 = 24i64;
let Dict.774 : U64 = CallByName Num.72 Dict.402 Dict.775;
let Dict.408 : U64 = CallByName Num.71 Dict.773 Dict.774;
let Dict.772 : U8 = 32i64;
let Dict.769 : U64 = CallByName Num.72 Dict.403 Dict.772;
let Dict.771 : U8 = 40i64;
let Dict.770 : U64 = CallByName Num.72 Dict.404 Dict.771;
let Dict.409 : U64 = CallByName Num.71 Dict.769 Dict.770;
let Dict.768 : U8 = 48i64;
let Dict.765 : U64 = CallByName Num.72 Dict.405 Dict.768;
let Dict.767 : U8 = 56i64;
let Dict.766 : U64 = CallByName Num.72 Dict.406 Dict.767;
let Dict.410 : U64 = CallByName Num.71 Dict.765 Dict.766;
let Dict.763 : U64 = CallByName Num.71 Dict.407 Dict.408;
let Dict.764 : U64 = CallByName Num.71 Dict.409 Dict.410;
let Dict.762 : U64 = CallByName Num.71 Dict.763 Dict.764;
ret Dict.762;
procedure Dict.67 (Dict.411, Dict.412):
inc 3 Dict.411;
let Dict.913 : U8 = CallByName Dict.22 Dict.411 Dict.412;
let Dict.413 : U64 = CallByName Num.133 Dict.913;
let Dict.912 : U64 = 1i64;
let Dict.911 : U64 = CallByName Num.51 Dict.412 Dict.912;
let Dict.910 : U8 = CallByName Dict.22 Dict.411 Dict.911;
let Dict.414 : U64 = CallByName Num.133 Dict.910;
let Dict.909 : U64 = 2i64;
let Dict.908 : U64 = CallByName Num.51 Dict.412 Dict.909;
let Dict.907 : U8 = CallByName Dict.22 Dict.411 Dict.908;
let Dict.415 : U64 = CallByName Num.133 Dict.907;
let Dict.906 : U64 = 3i64;
let Dict.905 : U64 = CallByName Num.51 Dict.412 Dict.906;
let Dict.904 : U8 = CallByName Dict.22 Dict.411 Dict.905;
let Dict.416 : U64 = CallByName Num.133 Dict.904;
let Dict.903 : U8 = 8i64;
let Dict.902 : U64 = CallByName Num.72 Dict.414 Dict.903;
let Dict.417 : U64 = CallByName Num.71 Dict.413 Dict.902;
let Dict.901 : U8 = 16i64;
let Dict.898 : U64 = CallByName Num.72 Dict.415 Dict.901;
let Dict.900 : U8 = 24i64;
let Dict.899 : U64 = CallByName Num.72 Dict.416 Dict.900;
let Dict.418 : U64 = CallByName Num.71 Dict.898 Dict.899;
let Dict.897 : U64 = CallByName Num.71 Dict.417 Dict.418;
ret Dict.897;
procedure Dict.68 (Dict.419, Dict.420, Dict.421):
inc 2 Dict.419;
let Dict.891 : U8 = CallByName Dict.22 Dict.419 Dict.420;
let Dict.422 : U64 = CallByName Num.133 Dict.891;
let Dict.890 : U8 = 1i64;
let Dict.889 : U64 = CallByName Num.74 Dict.421 Dict.890;
let Dict.888 : U64 = CallByName Num.51 Dict.889 Dict.420;
let Dict.887 : U8 = CallByName Dict.22 Dict.419 Dict.888;
let Dict.423 : U64 = CallByName Num.133 Dict.887;
let Dict.886 : U64 = 1i64;
let Dict.885 : U64 = CallByName Num.75 Dict.421 Dict.886;
let Dict.884 : U64 = CallByName Num.51 Dict.885 Dict.420;
let Dict.883 : U8 = CallByName Dict.22 Dict.419 Dict.884;
let Dict.424 : U64 = CallByName Num.133 Dict.883;
let Dict.882 : U8 = 16i64;
let Dict.879 : U64 = CallByName Num.72 Dict.422 Dict.882;
let Dict.881 : U8 = 8i64;
let Dict.880 : U64 = CallByName Num.72 Dict.423 Dict.881;
let Dict.425 : U64 = CallByName Num.71 Dict.879 Dict.880;
let Dict.878 : U64 = CallByName Num.71 Dict.425 Dict.424;
ret Dict.878;
procedure Dict.8 (Dict.550, Dict.168, Dict.169):
let Dict.166 : List {Str, I64} = StructAtIndex 0 Dict.550;
inc Dict.166;
let Dict.165 : List U64 = StructAtIndex 1 Dict.550;
inc Dict.165;
let Dict.164 : List I8 = StructAtIndex 2 Dict.550;
inc Dict.164;
let Dict.167 : U64 = StructAtIndex 3 Dict.550;
let Dict.717 : [C , C U64] = TagId(0) ;
let Dict.716 : {U64, U64} = CallByName Dict.48 Dict.717;
inc 2 Dict.168;
let Dict.715 : {U64, U64} = CallByName Hash.19 Dict.716 Dict.168;
let Dict.170 : U64 = CallByName Dict.51 Dict.715;
let Dict.171 : U64 = CallByName Dict.46 Dict.170;
let Dict.172 : I8 = CallByName Dict.47 Dict.170;
let Dict.714 : U64 = CallByName List.6 Dict.164;
let Dict.713 : U64 = CallByName Dict.45 Dict.714;
let Dict.173 : {U64, U64, U64} = CallByName Dict.42 Dict.171 Dict.713;
let Dict.685 : U64 = 0i64;
let Dict.570 : [C {}, C U64] = CallByName Dict.35 Dict.164 Dict.165 Dict.166 Dict.172 Dict.168 Dict.173 Dict.685;
let Dict.682 : U8 = 1i64;
let Dict.683 : U8 = GetTagId Dict.570;
let Dict.684 : Int1 = lowlevel Eq Dict.682 Dict.683;
if Dict.684 then
inc Dict.165;
let Dict.175 : U64 = UnionAtIndex (Id 1) (Index 0) Dict.570;
let Dict.176 : U64 = CallByName Dict.22 Dict.165 Dict.175;
let Dict.573 : {Str, I64} = Struct {Dict.168, Dict.169};
let Dict.572 : List {Str, I64} = CallByName List.3 Dict.166 Dict.176 Dict.573;
let Dict.571 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.572, Dict.165, Dict.164, Dict.167};
ret Dict.571;
else
let Dict.681 : U64 = 1i64;
let Dict.680 : U64 = CallByName Num.51 Dict.167 Dict.681;
let Dict.610 : {List {Str, I64}, List U64, List I8, U64} = Struct {Dict.166, Dict.165, Dict.164, Dict.680};
let Dict.177 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.36 Dict.610;
let Dict.575 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.33 Dict.177 Dict.168 Dict.169 Dict.171 Dict.172;
ret Dict.575;
procedure Dict.94 (Dict.95, Dict.93):
let Dict.978 : {} = Struct {};
let Dict.979 : {} = Struct {};
let Dict.980 : {} = Struct {};
let Dict.977 : {{List {Str, I64}, List U64, List I8, U64}, {}, {}, {}} = CallByName Inspect.39 Dict.93 Dict.978 Dict.979 Dict.980;
let Dict.976 : Str = CallByName Inspect.31 Dict.977 Dict.95;
ret Dict.976;
procedure Hash.19 (Hash.39, Hash.40):
let Hash.79 : List U8 = CallByName Str.12 Hash.40;
let Hash.78 : {U64, U64} = CallByName Dict.57 Hash.39 Hash.79;
ret Hash.78;
procedure Inspect.186 (Inspect.187, #Attr.12):
let Inspect.185 : {} = StructAtIndex 3 #Attr.12;
let Inspect.184 : {} = StructAtIndex 2 #Attr.12;
let Inspect.183 : {} = StructAtIndex 1 #Attr.12;
let Inspect.182 : {List {Str, I64}, List U64, List I8, U64} = StructAtIndex 0 #Attr.12;
let Inspect.353 : Str = "{";
let Inspect.328 : Str = CallByName Inspect.61 Inspect.187 Inspect.353;
let Inspect.329 : {{List {Str, I64}, List U64, List I8, U64}, {}, {}, {}} = Struct {Inspect.182, Inspect.183, Inspect.184, Inspect.185};
let Inspect.324 : {Str, Int1} = CallByName Inspect.188 Inspect.328 Inspect.329;
let Inspect.325 : {} = Struct {};
let Inspect.320 : Str = CallByName Inspect.200 Inspect.324;
let Inspect.321 : Str = "}";
let Inspect.319 : Str = CallByName Inspect.61 Inspect.320 Inspect.321;
ret Inspect.319;
procedure Inspect.188 (Inspect.189, #Attr.12):
let Inspect.185 : {} = StructAtIndex 3 #Attr.12;
let Inspect.184 : {} = StructAtIndex 2 #Attr.12;
let Inspect.183 : {} = StructAtIndex 1 #Attr.12;
let Inspect.182 : {List {Str, I64}, List U64, List I8, U64} = StructAtIndex 0 #Attr.12;
let Bool.1 : Int1 = CallByName Bool.1;
let Inspect.332 : {Str, Int1} = Struct {Inspect.189, Bool.1};
let Inspect.333 : {{}, {}} = Struct {Inspect.184, Inspect.185};
let Inspect.331 : {Str, Int1} = CallByName Dict.10 Inspect.182 Inspect.332 Inspect.333;
ret Inspect.331;
procedure Inspect.190 (Inspect.334, Inspect.193, Inspect.194, #Attr.12):
let Inspect.185 : {} = StructAtIndex 1 #Attr.12;
let Inspect.184 : {} = StructAtIndex 0 #Attr.12;
let Inspect.191 : Str = StructAtIndex 0 Inspect.334;
let Inspect.192 : Int1 = StructAtIndex 1 Inspect.334;
joinpoint Inspect.351 Inspect.195:
let Inspect.348 : Str = CallByName Inspect.44 Inspect.193;
let Inspect.346 : Str = CallByName Inspect.31 Inspect.348 Inspect.195;
let Inspect.347 : Str = ": ";
let Inspect.340 : Str = CallByName Inspect.61 Inspect.346 Inspect.347;
let Inspect.341 : {I64, {}} = Struct {Inspect.194, Inspect.185};
let Inspect.337 : Str = CallByName Inspect.196 Inspect.340 Inspect.341;
let Inspect.338 : {} = Struct {};
let Inspect.336 : {Str, Int1} = CallByName Inspect.198 Inspect.337;
ret Inspect.336;
in
if Inspect.192 then
let Inspect.352 : Str = ", ";
let Inspect.350 : Str = CallByName Inspect.61 Inspect.191 Inspect.352;
jump Inspect.351 Inspect.350;
else
jump Inspect.351 Inspect.191;
procedure Inspect.196 (Inspect.197, #Attr.12):
let Inspect.185 : {} = StructAtIndex 1 #Attr.12;
let Inspect.194 : I64 = StructAtIndex 0 #Attr.12;
let Inspect.344 : I64 = CallByName Inspect.54 Inspect.194;
let Inspect.343 : Str = CallByName Inspect.31 Inspect.344 Inspect.197;
ret Inspect.343;
procedure Inspect.198 (Inspect.199):
let Bool.2 : Int1 = CallByName Bool.2;
let Inspect.339 : {Str, Int1} = Struct {Inspect.199, Bool.2};
ret Inspect.339;
procedure Inspect.200 (Inspect.326):
let Inspect.327 : Str = StructAtIndex 0 Inspect.326;
ret Inspect.327;
procedure Inspect.249 (Inspect.250, Inspect.248):
let Inspect.368 : Str = "\"";
let Inspect.367 : Str = CallByName Inspect.61 Inspect.250 Inspect.368;
let Inspect.365 : Str = CallByName Inspect.61 Inspect.367 Inspect.248;
let Inspect.366 : Str = "\"";
let Inspect.364 : Str = CallByName Inspect.61 Inspect.365 Inspect.366;
ret Inspect.364;
procedure Inspect.277 (Inspect.278, Inspect.276):
let Inspect.359 : Str = CallByName Num.96 Inspect.276;
let Inspect.358 : Str = CallByName Inspect.61 Inspect.278 Inspect.359;
ret Inspect.358;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.30 (Inspect.147):
ret Inspect.147;
procedure Inspect.31 (Inspect.305, Inspect.149):
let Inspect.314 : Str = CallByName Inspect.186 Inspect.149 Inspect.305;
ret Inspect.314;
procedure Inspect.31 (Inspect.305, Inspect.149):
let Inspect.345 : Str = CallByName Inspect.277 Inspect.149 Inspect.305;
ret Inspect.345;
procedure Inspect.31 (Inspect.305, Inspect.149):
let Inspect.349 : Str = CallByName Inspect.249 Inspect.149 Inspect.305;
ret Inspect.349;
procedure Inspect.35 (Inspect.300):
ret Inspect.300;
procedure Inspect.36 (Inspect.304):
let Inspect.311 : Str = "";
ret Inspect.311;
procedure Inspect.39 (Inspect.182, Inspect.183, Inspect.184, Inspect.185):
let Inspect.316 : {{List {Str, I64}, List U64, List I8, U64}, {}, {}, {}} = Struct {Inspect.182, Inspect.183, Inspect.184, Inspect.185};
let Inspect.315 : {{List {Str, I64}, List U64, List I8, U64}, {}, {}, {}} = CallByName Inspect.30 Inspect.316;
ret Inspect.315;
procedure Inspect.44 (Inspect.248):
let Inspect.360 : Str = CallByName Inspect.30 Inspect.248;
ret Inspect.360;
procedure Inspect.5 (Inspect.150):
let Inspect.312 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.31 Inspect.150;
let Inspect.309 : {} = Struct {};
let Inspect.308 : Str = CallByName Inspect.36 Inspect.309;
let Inspect.307 : Str = CallByName Dict.94 Inspect.308 Inspect.312;
ret Inspect.307;
procedure Inspect.54 (Inspect.276):
let Inspect.354 : I64 = CallByName Inspect.30 Inspect.276;
ret Inspect.354;
procedure Inspect.61 (Inspect.303, Inspect.298):
let Inspect.323 : Str = CallByName Str.3 Inspect.303 Inspect.298;
dec Inspect.298;
ret Inspect.323;
procedure List.11 (List.133, List.134):
let List.635 : List I8 = CallByName List.68 List.134;
let List.634 : List I8 = CallByName List.86 List.133 List.134 List.635;
ret List.634;
procedure List.11 (List.133, List.134):
let List.637 : List U64 = CallByName List.68 List.134;
let List.636 : List U64 = CallByName List.86 List.133 List.134 List.637;
ret List.636;
procedure List.18 (List.154, List.155, List.156):
let List.554 : U64 = 0i64;
let List.555 : U64 = CallByName List.6 List.154;
let List.553 : {List {Str, I64}, List U64, List I8, U64} = CallByName List.88 List.154 List.155 List.156 List.554 List.555;
ret List.553;
procedure List.18 (List.154, List.155, List.156):
let List.641 : U64 = 0i64;
let List.642 : U64 = CallByName List.6 List.154;
let List.640 : {Str, Int1} = CallByName List.88 List.154 List.155 List.156 List.641 List.642;
ret List.640;
procedure List.2 (List.103, List.104):
let List.609 : U64 = CallByName List.6 List.103;
let List.605 : Int1 = CallByName Num.22 List.104 List.609;
if List.605 then
let List.607 : I8 = CallByName List.66 List.103 List.104;
dec List.103;
let List.606 : [C {}, C I8] = TagId(1) List.607;
ret List.606;
else
dec List.103;
let List.604 : {} = Struct {};
let List.603 : [C {}, C I8] = TagId(0) List.604;
ret List.603;
procedure List.3 (List.111, List.112, List.113):
let List.566 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.111 List.112 List.113;
let List.565 : List {Str, I64} = StructAtIndex 0 List.566;
let #Derived_gen.62 : {Str, I64} = StructAtIndex 1 List.566;
dec #Derived_gen.62;
ret List.565;
procedure List.3 (List.111, List.112, List.113):
let List.589 : {List I8, I8} = CallByName List.64 List.111 List.112 List.113;
let List.588 : List I8 = StructAtIndex 0 List.589;
ret List.588;
procedure List.3 (List.111, List.112, List.113):
let List.591 : {List U64, U64} = CallByName List.64 List.111 List.112 List.113;
let List.590 : List U64 = StructAtIndex 0 List.591;
ret List.590;
procedure List.4 (List.119, List.120):
let List.595 : U64 = 1i64;
let List.593 : List {Str, I64} = CallByName List.70 List.119 List.595;
let List.592 : List {Str, I64} = CallByName List.71 List.593 List.120;
ret List.592;
procedure List.6 (#Attr.2):
let List.601 : U64 = lowlevel ListLen #Attr.2;
ret List.601;
procedure List.6 (#Attr.2):
let List.602 : U64 = lowlevel ListLen #Attr.2;
ret List.602;
procedure List.6 (#Attr.2):
let List.639 : U64 = lowlevel ListLen #Attr.2;
ret List.639;
procedure List.6 (#Attr.2):
let List.651 : U64 = lowlevel ListLen #Attr.2;
ret List.651;
procedure List.64 (List.108, List.109, List.110):
let List.571 : U64 = CallByName List.6 List.108;
let List.568 : Int1 = CallByName Num.22 List.109 List.571;
if List.568 then
let List.569 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.108 List.109 List.110;
ret List.569;
else
let List.567 : {List {Str, I64}, {Str, I64}} = Struct {List.108, List.110};
ret List.567;
procedure List.64 (List.108, List.109, List.110):
let List.578 : U64 = CallByName List.6 List.108;
let List.575 : Int1 = CallByName Num.22 List.109 List.578;
if List.575 then
let List.576 : {List I8, I8} = CallByName List.67 List.108 List.109 List.110;
ret List.576;
else
let List.574 : {List I8, I8} = Struct {List.108, List.110};
ret List.574;
procedure List.64 (List.108, List.109, List.110):
let List.586 : U64 = CallByName List.6 List.108;
let List.583 : Int1 = CallByName Num.22 List.109 List.586;
if List.583 then
let List.584 : {List U64, U64} = CallByName List.67 List.108 List.109 List.110;
ret List.584;
else
let List.582 : {List U64, U64} = Struct {List.108, List.110};
ret List.582;
procedure List.66 (#Attr.2, #Attr.3):
let List.608 : I8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.608;
procedure List.66 (#Attr.2, #Attr.3):
let List.650 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.650;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.570 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.570;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.577 : {List I8, I8} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.577;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.585 : {List U64, U64} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.585;
procedure List.68 (#Attr.2):
let List.621 : List I8 = lowlevel ListWithCapacity #Attr.2;
ret List.621;
procedure List.68 (#Attr.2):
let List.633 : List U64 = lowlevel ListWithCapacity #Attr.2;
ret List.633;
procedure List.70 (#Attr.2, #Attr.3):
let List.596 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.596;
procedure List.71 (#Attr.2, #Attr.3):
let List.594 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.594;
procedure List.71 (#Attr.2, #Attr.3):
let List.618 : List I8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.618;
procedure List.71 (#Attr.2, #Attr.3):
let List.630 : List U64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.630;
procedure List.86 (#Derived_gen.57, #Derived_gen.58, #Derived_gen.59):
joinpoint List.624 List.135 List.136 List.137:
let List.632 : U64 = 0i64;
let List.626 : Int1 = CallByName Num.24 List.136 List.632;
if List.626 then
let List.631 : U64 = 1i64;
let List.628 : U64 = CallByName Num.75 List.136 List.631;
let List.629 : List U64 = CallByName List.71 List.137 List.135;
jump List.624 List.135 List.628 List.629;
else
ret List.137;
in
jump List.624 #Derived_gen.57 #Derived_gen.58 #Derived_gen.59;
procedure List.86 (#Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
joinpoint List.612 List.135 List.136 List.137:
let List.620 : U64 = 0i64;
let List.614 : Int1 = CallByName Num.24 List.136 List.620;
if List.614 then
let List.619 : U64 = 1i64;
let List.616 : U64 = CallByName Num.75 List.136 List.619;
let List.617 : List I8 = CallByName List.71 List.137 List.135;
jump List.612 List.135 List.616 List.617;
else
ret List.137;
in
jump List.612 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
procedure List.88 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
joinpoint List.643 List.157 List.158 List.159 List.160 List.161:
let List.645 : Int1 = CallByName Num.22 List.160 List.161;
if List.645 then
let List.649 : {Str, I64} = CallByName List.66 List.157 List.160;
inc List.649;
let List.162 : {Str, Int1} = CallByName Dict.129 List.158 List.649 List.159;
let List.648 : U64 = 1i64;
let List.647 : U64 = CallByName Num.51 List.160 List.648;
jump List.643 List.157 List.162 List.159 List.647 List.161;
else
dec List.157;
ret List.158;
in
jump List.643 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
procedure List.88 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39, #Derived_gen.40, #Derived_gen.41):
joinpoint List.556 List.157 List.158 List.159 List.160 List.161:
let List.558 : Int1 = CallByName Num.22 List.160 List.161;
if List.558 then
let List.562 : {Str, I64} = CallByName List.66 List.157 List.160;
inc List.562;
let List.162 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.101 List.158 List.562;
let List.561 : U64 = 1i64;
let List.560 : U64 = CallByName Num.51 List.160 List.561;
jump List.556 List.157 List.162 List.159 List.560 List.161;
else
dec List.157;
ret List.158;
in
jump List.556 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39 #Derived_gen.40 #Derived_gen.41;
procedure Num.117 (#Attr.2):
let Num.311 : I8 = lowlevel NumIntCast #Attr.2;
ret Num.311;
procedure Num.133 (#Attr.2):
let Num.353 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.353;
procedure Num.133 (#Attr.2):
let Num.369 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.369;
procedure Num.133 (#Attr.2):
let Num.370 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.370;
procedure Num.135 (#Attr.2):
let Num.377 : U128 = lowlevel NumIntCast #Attr.2;
ret Num.377;
procedure Num.137 (#Attr.2):
let Num.305 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.305;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.318 : U64 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.318;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.375 : U128 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.375;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.303 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.303;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.462 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.462;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.453 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
ret Num.453;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.457 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.457;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.321 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.321;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.459 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.459;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.461 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.461;
procedure Num.69 (#Attr.2, #Attr.3):
let Num.302 : U64 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3;
ret Num.302;
procedure Num.70 (#Attr.2, #Attr.3):
let Num.351 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3;
ret Num.351;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.393 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.393;
procedure Num.72 (#Attr.2, #Attr.3):
let Num.411 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.411;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.371 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.371;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.374 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.374;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.448 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.448;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.306 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.306;
procedure Num.96 (#Attr.2):
let Num.460 : Str = lowlevel NumToStr #Attr.2;
ret Num.460;
procedure Str.12 (#Attr.2):
let Str.293 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.293;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.294 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.294;
procedure Test.0 ():
let Test.9 : Str = "a";
let Test.10 : I64 = 1i64;
let Test.5 : {Str, I64} = Struct {Test.9, Test.10};
let Test.7 : Str = "b";
let Test.8 : I64 = 2i64;
let Test.6 : {Str, I64} = Struct {Test.7, Test.8};
let Test.4 : List {Str, I64} = Array [Test.5, Test.6];
let Test.3 : {List {Str, I64}, List U64, List I8, U64} = CallByName Dict.12 Test.4;
let Test.2 : Str = CallByName Inspect.5 Test.3;
let Test.1 : Str = CallByName Inspect.35 Test.2;
ret Test.1;