roc/crates/compiler/test_mono/generated/inspect_derived_dict.txt
2024-01-20 22:31:54 +01:00

1213 lines
51 KiB
Text

procedure Bool.1 ():
let Bool.32 : Int1 = false;
ret Bool.32;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.28 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.28;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.29 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.29;
procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.30 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.30;
procedure Bool.12 (#Attr.2, #Attr.3):
let Bool.24 : Int1 = lowlevel NotEq #Attr.2 #Attr.3;
ret Bool.24;
procedure Bool.12 (#Attr.2, #Attr.3):
let Bool.26 : Int1 = lowlevel NotEq #Attr.2 #Attr.3;
ret Bool.26;
procedure Bool.2 ():
let Bool.31 : Int1 = true;
ret Bool.31;
procedure Bool.7 (Bool.19, Bool.20):
let Bool.25 : Int1 = CallByName Bool.12 Bool.19 Bool.20;
ret Bool.25;
procedure Bool.7 (Bool.19, Bool.20):
let Bool.27 : Int1 = CallByName Bool.12 Bool.19 Bool.20;
ret Bool.27;
procedure Dict.1 (Dict.726):
let Dict.896 : List {U32, U32} = Array [];
let Dict.897 : List {Str, I64} = Array [];
let Dict.898 : U64 = 0i64;
let Dict.44 : Float32 = CallByName Dict.44;
let Dict.45 : U8 = CallByName Dict.45;
let Dict.895 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.896, Dict.897, Dict.898, Dict.44, Dict.45};
ret Dict.895;
procedure Dict.10 (Dict.727, Dict.180, Dict.181):
let Dict.179 : List {Str, I64} = StructAtIndex 1 Dict.727;
let #Derived_gen.68 : List {U32, U32} = StructAtIndex 0 Dict.727;
dec #Derived_gen.68;
let Dict.1113 : {Str, Int1} = CallByName List.18 Dict.179 Dict.180 Dict.181;
ret Dict.1113;
procedure Dict.12 (Dict.152):
let Dict.894 : {} = Struct {};
let Dict.734 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.1 Dict.894;
let Dict.735 : {} = Struct {};
let Dict.733 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.18 Dict.152 Dict.734 Dict.735;
ret Dict.733;
procedure Dict.120 (Dict.121, Dict.119):
let Dict.1110 : {} = Struct {};
let Dict.1111 : {} = Struct {};
let Dict.1112 : {} = Struct {};
let Dict.1109 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = CallByName Inspect.39 Dict.119 Dict.1110 Dict.1111 Dict.1112;
let Dict.1108 : Str = CallByName Inspect.31 Dict.1109 Dict.121;
ret Dict.1108;
procedure Dict.153 (Dict.154, Dict.736):
let Dict.155 : Str = StructAtIndex 0 Dict.736;
let Dict.156 : I64 = StructAtIndex 1 Dict.736;
let Dict.737 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.8 Dict.154 Dict.155 Dict.156;
ret Dict.737;
procedure Dict.182 (Dict.183, Dict.1115, Dict.181):
let Dict.184 : Str = StructAtIndex 0 Dict.1115;
let Dict.185 : I64 = StructAtIndex 1 Dict.1115;
let Dict.1117 : {Str, Int1} = CallByName Inspect.192 Dict.183 Dict.184 Dict.185 Dict.181;
ret Dict.1117;
procedure Dict.20 (Dict.723):
let Dict.149 : U64 = StructAtIndex 2 Dict.723;
let #Derived_gen.70 : List {U32, U32} = StructAtIndex 0 Dict.723;
dec #Derived_gen.70;
let #Derived_gen.69 : List {Str, I64} = StructAtIndex 1 Dict.723;
dec #Derived_gen.69;
let Dict.892 : U64 = CallByName Num.137 Dict.149;
ret Dict.892;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.771 : {U32, U32} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret Dict.771;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.787 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret Dict.787;
procedure Dict.22 (#Attr.2, #Attr.3):
let Dict.956 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret Dict.956;
procedure Dict.23 (#Attr.2):
let Dict.825 : U64 = lowlevel DictPseudoSeed #Attr.2;
ret Dict.825;
procedure Dict.36 (Dict.119):
let Dict.1105 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Inspect.30 Dict.119;
ret Dict.1105;
procedure Dict.38 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8):
joinpoint Dict.739 Dict.222 Dict.223 Dict.224 Dict.225 Dict.226 Dict.227 Dict.228 Dict.229 Dict.230:
let Dict.790 : U64 = CallByName Num.137 Dict.224;
let Dict.231 : {U32, U32} = CallByName Dict.22 Dict.222 Dict.790;
let Dict.789 : U32 = StructAtIndex 1 Dict.231;
let Dict.777 : Int1 = CallByName Bool.11 Dict.225 Dict.789;
if Dict.777 then
let Dict.788 : U32 = StructAtIndex 0 Dict.231;
let Dict.786 : U64 = CallByName Num.137 Dict.788;
let Dict.785 : {Str, I64} = CallByName Dict.22 Dict.223 Dict.786;
let Dict.232 : Str = StructAtIndex 0 Dict.785;
let Dict.780 : Int1 = CallByName Bool.11 Dict.232 Dict.226;
if Dict.780 then
let Dict.784 : U32 = StructAtIndex 0 Dict.231;
let Dict.782 : U64 = CallByName Num.137 Dict.784;
let Dict.783 : {Str, I64} = Struct {Dict.226, Dict.227};
let Dict.233 : List {Str, I64} = CallByName List.3 Dict.223 Dict.782 Dict.783;
let Dict.781 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.222, Dict.233, Dict.228, Dict.229, Dict.230};
ret Dict.781;
else
let Dict.779 : U64 = CallByName List.6 Dict.222;
let Dict.234 : U64 = CallByName Dict.68 Dict.224 Dict.779;
let Dict.235 : U32 = CallByName Dict.48 Dict.225;
jump Dict.739 Dict.222 Dict.223 Dict.234 Dict.235 Dict.226 Dict.227 Dict.228 Dict.229 Dict.230;
else
let Dict.776 : U32 = StructAtIndex 1 Dict.231;
let Dict.753 : Int1 = CallByName Num.24 Dict.225 Dict.776;
if Dict.753 then
let Dict.775 : {Str, I64} = Struct {Dict.226, Dict.227};
let Dict.236 : List {Str, I64} = CallByName List.4 Dict.223 Dict.775;
let Dict.773 : U64 = CallByName List.6 Dict.236;
let Dict.774 : U64 = 1i64;
let Dict.237 : U64 = CallByName Num.20 Dict.773 Dict.774;
let Dict.772 : U32 = CallByName Num.131 Dict.237;
let Dict.755 : {U32, U32} = Struct {Dict.772, Dict.225};
let Dict.238 : List {U32, U32} = CallByName Dict.67 Dict.222 Dict.755 Dict.224;
let Dict.754 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.238, Dict.236, Dict.228, Dict.229, Dict.230};
ret Dict.754;
else
let Dict.746 : U64 = CallByName List.6 Dict.222;
let Dict.239 : U64 = CallByName Dict.68 Dict.224 Dict.746;
let Dict.240 : U32 = CallByName Dict.48 Dict.225;
jump Dict.739 Dict.222 Dict.223 Dict.239 Dict.240 Dict.226 Dict.227 Dict.228 Dict.229 Dict.230;
in
jump Dict.739 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8;
procedure Dict.399 (Dict.400, Dict.848, Dict.402, Dict.398):
let Dict.401 : Str = StructAtIndex 0 Dict.848;
inc Dict.400;
let Dict.853 : {U64, U32} = CallByName Dict.65 Dict.400 Dict.401 Dict.398;
let Dict.403 : U64 = StructAtIndex 0 Dict.853;
let Dict.404 : U32 = StructAtIndex 1 Dict.853;
let Dict.852 : U32 = CallByName Num.131 Dict.402;
let Dict.851 : {U32, U32} = Struct {Dict.852, Dict.404};
let Dict.850 : List {U32, U32} = CallByName Dict.67 Dict.400 Dict.851 Dict.403;
ret Dict.850;
procedure Dict.4 (Dict.732):
let Dict.157 : List {Str, I64} = StructAtIndex 1 Dict.732;
let #Derived_gen.66 : List {U32, U32} = StructAtIndex 0 Dict.732;
dec #Derived_gen.66;
let Dict.893 : U64 = CallByName List.6 Dict.157;
dec Dict.157;
ret Dict.893;
procedure Dict.41 ():
let Dict.870 : U32 = 0i64;
let Dict.871 : U32 = 0i64;
let Dict.869 : {U32, U32} = Struct {Dict.870, Dict.871};
ret Dict.869;
procedure Dict.42 ():
let Dict.744 : U32 = 1i64;
let Dict.745 : U8 = 8i64;
let Dict.743 : U32 = CallByName Num.72 Dict.744 Dict.745;
ret Dict.743;
procedure Dict.43 ():
let Dict.799 : U32 = CallByName Dict.42;
let Dict.800 : U32 = 1i64;
let Dict.798 : U32 = CallByName Num.75 Dict.799 Dict.800;
ret Dict.798;
procedure Dict.44 ():
let Dict.902 : Float32 = 0.8f64;
ret Dict.902;
procedure Dict.45 ():
let Dict.900 : U8 = 64i64;
let Dict.901 : U8 = 3i64;
let Dict.899 : U8 = CallByName Num.20 Dict.900 Dict.901;
ret Dict.899;
procedure Dict.46 ():
let Dict.842 : U64 = 1i64;
let Dict.843 : U8 = 32i64;
let Dict.841 : U64 = CallByName Num.72 Dict.842 Dict.843;
ret Dict.841;
procedure Dict.47 ():
let Dict.840 : U64 = CallByName Dict.46;
ret Dict.840;
procedure Dict.48 (Dict.307):
let Dict.742 : U32 = CallByName Dict.42;
let Dict.741 : U32 = CallByName Num.19 Dict.307 Dict.742;
ret Dict.741;
procedure Dict.59 (Dict.722):
let Dict.377 : List {Str, I64} = StructAtIndex 1 Dict.722;
let Dict.378 : U64 = StructAtIndex 2 Dict.722;
let Dict.379 : Float32 = StructAtIndex 3 Dict.722;
let Dict.380 : U8 = StructAtIndex 4 Dict.722;
let #Derived_gen.67 : List {U32, U32} = StructAtIndex 0 Dict.722;
dec #Derived_gen.67;
let Dict.888 : U64 = CallByName Dict.47;
let Dict.844 : Int1 = CallByName Bool.7 Dict.378 Dict.888;
if Dict.844 then
inc Dict.377;
let Dict.887 : U8 = 1i64;
let Dict.381 : U8 = CallByName Num.20 Dict.380 Dict.887;
let Dict.864 : {List {U32, U32}, U64} = CallByName Dict.60 Dict.381 Dict.379;
let Dict.382 : List {U32, U32} = StructAtIndex 0 Dict.864;
let Dict.383 : U64 = StructAtIndex 1 Dict.864;
let Dict.384 : List {U32, U32} = CallByName Dict.64 Dict.382 Dict.377 Dict.381;
let Dict.845 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = Struct {Dict.384, Dict.377, Dict.383, Dict.379, Dict.381};
ret Dict.845;
else
dec Dict.377;
let Dict.835 : Str = "Dict hit limit of ";
let Dict.839 : U64 = CallByName Dict.47;
let Dict.837 : Str = CallByName Num.96 Dict.839;
let Dict.838 : Str = " elements. Unable to grow more.";
let Dict.836 : Str = CallByName Str.3 Dict.837 Dict.838;
dec Dict.838;
let Dict.834 : Str = CallByName Str.3 Dict.835 Dict.836;
dec Dict.836;
Crash Dict.834
procedure Dict.60 (Dict.385, Dict.386):
let Dict.387 : U64 = CallByName Dict.63 Dict.385;
let Dict.880 : U64 = CallByName Dict.47;
let Dict.874 : Int1 = CallByName Bool.11 Dict.387 Dict.880;
if Dict.874 then
let Dict.877 : {U32, U32} = CallByName Dict.41;
let Dict.879 : U64 = CallByName Dict.47;
let Dict.878 : U64 = CallByName Num.137 Dict.879;
let Dict.876 : List {U32, U32} = CallByName List.11 Dict.877 Dict.878;
let Dict.47 : U64 = CallByName Dict.47;
let Dict.875 : {List {U32, U32}, U64} = Struct {Dict.876, Dict.47};
ret Dict.875;
else
let Dict.873 : Float32 = CallByName Num.139 Dict.387;
let Dict.872 : Float32 = CallByName Num.21 Dict.873 Dict.386;
let Dict.388 : U64 = CallByName Num.50 Dict.872;
let Dict.867 : {U32, U32} = CallByName Dict.41;
let Dict.868 : U64 = CallByName Num.137 Dict.387;
let Dict.866 : List {U32, U32} = CallByName List.11 Dict.867 Dict.868;
let Dict.865 : {List {U32, U32}, U64} = Struct {Dict.866, Dict.388};
ret Dict.865;
procedure Dict.63 (Dict.395):
let Dict.884 : U64 = 1i64;
let Dict.886 : U8 = 64i64;
let Dict.885 : U8 = CallByName Num.20 Dict.886 Dict.395;
let Dict.882 : U64 = CallByName Num.72 Dict.884 Dict.885;
let Dict.883 : U64 = CallByName Dict.47;
let Dict.881 : U64 = CallByName Num.159 Dict.882 Dict.883;
ret Dict.881;
procedure Dict.64 (Dict.396, Dict.397, Dict.398):
let Dict.846 : List {U32, U32} = CallByName List.83 Dict.397 Dict.396 Dict.398;
ret Dict.846;
procedure Dict.65 (Dict.405, Dict.406, Dict.407):
let Dict.408 : U64 = CallByName Dict.69 Dict.406;
let Dict.409 : U32 = CallByName Dict.70 Dict.408;
let Dict.410 : U64 = CallByName Dict.71 Dict.408 Dict.407;
let Dict.854 : {U64, U32} = CallByName Dict.66 Dict.405 Dict.410 Dict.409;
ret Dict.854;
procedure Dict.66 (#Derived_gen.37, #Derived_gen.38, #Derived_gen.39):
joinpoint Dict.855 Dict.411 Dict.412 Dict.413:
let Dict.863 : U64 = CallByName Num.137 Dict.412;
let Dict.414 : {U32, U32} = CallByName Dict.22 Dict.411 Dict.863;
let Dict.862 : U32 = StructAtIndex 1 Dict.414;
let Dict.857 : Int1 = CallByName Num.22 Dict.413 Dict.862;
if Dict.857 then
let Dict.861 : U64 = CallByName List.6 Dict.411;
let Dict.859 : U64 = CallByName Dict.68 Dict.412 Dict.861;
let Dict.860 : U32 = CallByName Dict.48 Dict.413;
jump Dict.855 Dict.411 Dict.859 Dict.860;
else
dec Dict.411;
let Dict.856 : {U64, U32} = Struct {Dict.412, Dict.413};
ret Dict.856;
in
jump Dict.855 #Derived_gen.37 #Derived_gen.38 #Derived_gen.39;
procedure Dict.67 (#Derived_gen.48, #Derived_gen.49, #Derived_gen.50):
joinpoint Dict.756 Dict.415 Dict.416 Dict.417:
let Dict.770 : U64 = CallByName Num.137 Dict.417;
let Dict.418 : {U32, U32} = CallByName Dict.22 Dict.415 Dict.770;
let Dict.768 : U32 = StructAtIndex 1 Dict.418;
let Dict.769 : U32 = 0i64;
let Dict.759 : Int1 = CallByName Bool.7 Dict.768 Dict.769;
if Dict.759 then
let Dict.767 : U64 = CallByName Num.137 Dict.417;
let Dict.419 : List {U32, U32} = CallByName List.3 Dict.415 Dict.767 Dict.416;
let Dict.764 : U32 = StructAtIndex 0 Dict.418;
let Dict.765 : U32 = StructAtIndex 1 Dict.418;
let Dict.766 : U32 = CallByName Dict.48 Dict.765;
let Dict.761 : {U32, U32} = Struct {Dict.764, Dict.766};
let Dict.763 : U64 = CallByName List.6 Dict.419;
let Dict.762 : U64 = CallByName Dict.68 Dict.417 Dict.763;
jump Dict.756 Dict.419 Dict.761 Dict.762;
else
let Dict.758 : U64 = CallByName Num.137 Dict.417;
let Dict.757 : List {U32, U32} = CallByName List.3 Dict.415 Dict.758 Dict.416;
ret Dict.757;
in
jump Dict.756 #Derived_gen.48 #Derived_gen.49 #Derived_gen.50;
procedure Dict.68 (Dict.420, Dict.421):
let Dict.752 : U64 = 1i64;
let Dict.751 : U64 = CallByName Num.51 Dict.420 Dict.752;
let Dict.748 : Int1 = CallByName Bool.7 Dict.751 Dict.421;
if Dict.748 then
let Dict.750 : U64 = 1i64;
let Dict.749 : U64 = CallByName Num.51 Dict.420 Dict.750;
ret Dict.749;
else
let Dict.747 : U64 = 0i64;
ret Dict.747;
procedure Dict.69 (Dict.422):
let Dict.805 : [C , C U64] = TagId(0) ;
let Dict.804 : {U64, U64} = CallByName Dict.73 Dict.805;
let Dict.802 : {U64, U64} = CallByName Hash.19 Dict.804 Dict.422;
let Dict.801 : U64 = CallByName Dict.76 Dict.802;
ret Dict.801;
procedure Dict.70 (Dict.424):
let Dict.796 : U32 = CallByName Num.131 Dict.424;
let Dict.797 : U32 = CallByName Dict.43;
let Dict.794 : U32 = CallByName Num.69 Dict.796 Dict.797;
let Dict.795 : U32 = CallByName Dict.42;
let Dict.793 : U32 = CallByName Num.71 Dict.794 Dict.795;
ret Dict.793;
procedure Dict.71 (Dict.425, Dict.426):
let Dict.792 : U64 = CallByName Num.74 Dict.425 Dict.426;
let Dict.791 : U64 = CallByName Num.137 Dict.792;
ret Dict.791;
procedure Dict.73 (Dict.428):
joinpoint Dict.822 Dict.429:
let Dict.807 : U64 = CallByName Dict.75 Dict.429;
let Dict.806 : {U64, U64} = Struct {Dict.807, Dict.429};
ret Dict.806;
in
let Dict.827 : U8 = 0i64;
let Dict.828 : U8 = GetTagId Dict.428;
let Dict.829 : Int1 = lowlevel Eq Dict.827 Dict.828;
if Dict.829 then
let Dict.824 : {} = Struct {};
let Dict.823 : U64 = CallByName Dict.23 Dict.824;
jump Dict.822 Dict.823;
else
let Dict.430 : U64 = UnionAtIndex (Id 1) (Index 0) Dict.428;
jump Dict.822 Dict.430;
procedure Dict.74 (Dict.711, Dict.712):
let Dict.433 : U64 = StructAtIndex 0 Dict.712;
let Dict.434 : U64 = StructAtIndex 1 Dict.712;
let Dict.436 : U64 = StructAtIndex 2 Dict.712;
let Dict.435 : U64 = StructAtIndex 3 Dict.712;
let Dict.431 : U64 = StructAtIndex 0 Dict.711;
let Dict.432 : U64 = StructAtIndex 1 Dict.711;
let Dict.924 : U64 = CallByName Dict.86;
let Dict.922 : U64 = CallByName Num.70 Dict.433 Dict.924;
let Dict.923 : U64 = CallByName Num.70 Dict.434 Dict.435;
let Dict.437 : {U64, U64} = CallByName Dict.90 Dict.922 Dict.923;
let Dict.919 : U64 = StructAtIndex 0 Dict.437;
let Dict.920 : U64 = CallByName Dict.85;
let Dict.918 : U64 = CallByName Num.70 Dict.919 Dict.920;
let Dict.438 : U64 = CallByName Num.70 Dict.918 Dict.436;
let Dict.915 : U64 = StructAtIndex 1 Dict.437;
let Dict.916 : U64 = CallByName Dict.86;
let Dict.439 : U64 = CallByName Num.70 Dict.915 Dict.916;
let Dict.440 : U64 = CallByName Dict.89 Dict.438 Dict.439;
let Dict.907 : U64 = CallByName Dict.89 Dict.432 Dict.440;
let Dict.906 : {U64, U64} = Struct {Dict.431, Dict.907};
ret Dict.906;
procedure Dict.75 (Dict.441):
let Dict.820 : U64 = CallByName Dict.85;
let Dict.810 : U64 = CallByName Num.70 Dict.441 Dict.820;
let Dict.811 : U64 = CallByName Dict.86;
let Dict.809 : U64 = CallByName Dict.89 Dict.810 Dict.811;
let Dict.808 : U64 = CallByName Num.70 Dict.809 Dict.441;
ret Dict.808;
procedure Dict.76 (Dict.730):
let Dict.442 : U64 = StructAtIndex 1 Dict.730;
ret Dict.442;
procedure Dict.8 (Dict.211, Dict.212, Dict.213):
joinpoint Dict.832 Dict.830:
let Dict.214 : List {U32, U32} = StructAtIndex 0 Dict.830;
let Dict.215 : List {Str, I64} = StructAtIndex 1 Dict.830;
let Dict.216 : U64 = StructAtIndex 2 Dict.830;
let Dict.217 : Float32 = StructAtIndex 3 Dict.830;
let Dict.218 : U8 = StructAtIndex 4 Dict.830;
inc Dict.212;
let Dict.219 : U64 = CallByName Dict.69 Dict.212;
let Dict.220 : U32 = CallByName Dict.70 Dict.219;
let Dict.221 : U64 = CallByName Dict.71 Dict.219 Dict.218;
let Dict.738 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.38 Dict.214 Dict.215 Dict.221 Dict.220 Dict.212 Dict.213 Dict.216 Dict.217 Dict.218;
ret Dict.738;
in
inc 2 Dict.211;
let Dict.890 : U64 = CallByName Dict.4 Dict.211;
let Dict.891 : U64 = CallByName Dict.20 Dict.211;
let Dict.889 : Int1 = CallByName Num.22 Dict.890 Dict.891;
if Dict.889 then
jump Dict.832 Dict.211;
else
let Dict.831 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.59 Dict.211;
jump Dict.832 Dict.831;
procedure Dict.82 (Dict.705, Dict.481):
let Dict.479 : U64 = StructAtIndex 0 Dict.705;
let Dict.480 : U64 = StructAtIndex 1 Dict.705;
let Dict.482 : U64 = CallByName List.6 Dict.481;
joinpoint Dict.930 Dict.483:
let Dict.904 : {U64, U64} = Struct {Dict.479, Dict.480};
let Dict.925 : U64 = StructAtIndex 0 Dict.483;
let Dict.926 : U64 = StructAtIndex 1 Dict.483;
let Dict.927 : U64 = CallByName Num.133 Dict.482;
let Dict.928 : U64 = StructAtIndex 2 Dict.483;
let Dict.905 : {U64, U64, U64, U64} = Struct {Dict.925, Dict.926, Dict.927, Dict.928};
let Dict.903 : {U64, U64} = CallByName Dict.74 Dict.904 Dict.905;
ret Dict.903;
in
let Dict.1104 : U64 = 16i64;
let Dict.1044 : Int1 = CallByName Num.23 Dict.482 Dict.1104;
if Dict.1044 then
joinpoint Dict.1046 Dict.929:
jump Dict.930 Dict.929;
in
let Dict.1103 : U64 = 4i64;
let Dict.1068 : Int1 = CallByName Num.25 Dict.482 Dict.1103;
if Dict.1068 then
let Dict.1102 : U8 = 3i64;
let Dict.1100 : U64 = CallByName Num.74 Dict.482 Dict.1102;
let Dict.1101 : U8 = 2i64;
let Dict.484 : U64 = CallByName Num.72 Dict.1100 Dict.1101;
let Dict.1099 : U64 = 0i64;
inc 3 Dict.481;
let Dict.1097 : U64 = CallByName Dict.92 Dict.481 Dict.1099;
let Dict.1098 : U8 = 32i64;
let Dict.1095 : U64 = CallByName Num.72 Dict.1097 Dict.1098;
let Dict.1096 : U64 = CallByName Dict.92 Dict.481 Dict.484;
let Dict.485 : U64 = CallByName Num.71 Dict.1095 Dict.1096;
let Dict.1094 : U64 = 4i64;
let Dict.1093 : U64 = CallByName Num.75 Dict.482 Dict.1094;
let Dict.1091 : U64 = CallByName Dict.92 Dict.481 Dict.1093;
let Dict.1092 : U8 = 32i64;
let Dict.1069 : U64 = CallByName Num.72 Dict.1091 Dict.1092;
let Dict.1090 : U64 = 4i64;
let Dict.1089 : U64 = CallByName Num.75 Dict.482 Dict.1090;
let Dict.1071 : U64 = CallByName Num.75 Dict.1089 Dict.484;
let Dict.1070 : U64 = CallByName Dict.92 Dict.481 Dict.1071;
let Dict.486 : U64 = CallByName Num.71 Dict.1069 Dict.1070;
let Dict.1045 : {U64, U64, U64} = Struct {Dict.485, Dict.486, Dict.479};
jump Dict.1046 Dict.1045;
else
let Dict.1067 : U64 = 0i64;
let Dict.1049 : Int1 = CallByName Num.24 Dict.482 Dict.1067;
if Dict.1049 then
let Dict.1052 : U64 = 0i64;
let Dict.1050 : U64 = CallByName Dict.93 Dict.481 Dict.1052 Dict.482;
let Dict.1051 : U64 = 0i64;
let Dict.1045 : {U64, U64, U64} = Struct {Dict.1050, Dict.1051, Dict.479};
jump Dict.1046 Dict.1045;
else
dec Dict.481;
let Dict.1047 : U64 = 0i64;
let Dict.1048 : U64 = 0i64;
let Dict.1045 : {U64, U64, U64} = Struct {Dict.1047, Dict.1048, Dict.479};
jump Dict.1046 Dict.1045;
else
let Dict.1043 : U64 = 48i64;
let Dict.1041 : Int1 = CallByName Num.23 Dict.482 Dict.1043;
if Dict.1041 then
let Dict.1042 : U64 = 0i64;
let Dict.929 : {U64, U64, U64} = CallByName Dict.84 Dict.479 Dict.481 Dict.1042 Dict.482;
jump Dict.930 Dict.929;
else
let Dict.931 : U64 = 0i64;
let Dict.929 : {U64, U64, U64} = CallByName Dict.83 Dict.479 Dict.479 Dict.479 Dict.481 Dict.931 Dict.482;
jump Dict.930 Dict.929;
procedure Dict.83 (#Derived_gen.31, #Derived_gen.32, #Derived_gen.33, #Derived_gen.34, #Derived_gen.35, #Derived_gen.36):
joinpoint Dict.932 Dict.487 Dict.488 Dict.489 Dict.490 Dict.491 Dict.492:
inc 6 Dict.490;
let Dict.1039 : U64 = CallByName Dict.91 Dict.490 Dict.491;
let Dict.1040 : U64 = CallByName Dict.86;
let Dict.1034 : U64 = CallByName Num.70 Dict.1039 Dict.1040;
let Dict.1038 : U64 = 8i64;
let Dict.1037 : U64 = CallByName Num.51 Dict.491 Dict.1038;
let Dict.1036 : U64 = CallByName Dict.91 Dict.490 Dict.1037;
let Dict.1035 : U64 = CallByName Num.70 Dict.1036 Dict.487;
let Dict.493 : U64 = CallByName Dict.89 Dict.1034 Dict.1035;
let Dict.1033 : U64 = 16i64;
let Dict.1032 : U64 = CallByName Num.51 Dict.491 Dict.1033;
let Dict.1029 : U64 = CallByName Dict.91 Dict.490 Dict.1032;
let Dict.1030 : U64 = CallByName Dict.87;
let Dict.1024 : U64 = CallByName Num.70 Dict.1029 Dict.1030;
let Dict.1028 : U64 = 24i64;
let Dict.1027 : U64 = CallByName Num.51 Dict.491 Dict.1028;
let Dict.1026 : U64 = CallByName Dict.91 Dict.490 Dict.1027;
let Dict.1025 : U64 = CallByName Num.70 Dict.1026 Dict.488;
let Dict.494 : U64 = CallByName Dict.89 Dict.1024 Dict.1025;
let Dict.1023 : U64 = 32i64;
let Dict.1022 : U64 = CallByName Num.51 Dict.491 Dict.1023;
let Dict.1019 : U64 = CallByName Dict.91 Dict.490 Dict.1022;
let Dict.1020 : U64 = CallByName Dict.88;
let Dict.1014 : U64 = CallByName Num.70 Dict.1019 Dict.1020;
let Dict.1018 : U64 = 40i64;
let Dict.1017 : U64 = CallByName Num.51 Dict.491 Dict.1018;
let Dict.1016 : U64 = CallByName Dict.91 Dict.490 Dict.1017;
let Dict.1015 : U64 = CallByName Num.70 Dict.1016 Dict.489;
let Dict.495 : U64 = CallByName Dict.89 Dict.1014 Dict.1015;
let Dict.1013 : U64 = 48i64;
let Dict.496 : U64 = CallByName Num.75 Dict.492 Dict.1013;
let Dict.1012 : U64 = 48i64;
let Dict.497 : U64 = CallByName Num.51 Dict.491 Dict.1012;
let Dict.1011 : U64 = 48i64;
let Dict.1009 : Int1 = CallByName Num.24 Dict.496 Dict.1011;
if Dict.1009 then
jump Dict.932 Dict.493 Dict.494 Dict.495 Dict.490 Dict.497 Dict.496;
else
let Dict.1008 : U64 = 16i64;
let Dict.983 : Int1 = CallByName Num.24 Dict.496 Dict.1008;
if Dict.983 then
let Dict.1007 : U64 = CallByName Num.70 Dict.494 Dict.493;
let Dict.498 : U64 = CallByName Num.70 Dict.495 Dict.1007;
let Dict.984 : {U64, U64, U64} = CallByName Dict.84 Dict.498 Dict.490 Dict.497 Dict.496;
ret Dict.984;
else
inc Dict.490;
let Dict.982 : U64 = CallByName Num.70 Dict.494 Dict.493;
let Dict.499 : U64 = CallByName Num.70 Dict.495 Dict.982;
let Dict.981 : U64 = 16i64;
let Dict.980 : U64 = CallByName Num.75 Dict.496 Dict.981;
let Dict.979 : U64 = CallByName Num.51 Dict.980 Dict.497;
let Dict.934 : U64 = CallByName Dict.91 Dict.490 Dict.979;
let Dict.978 : U64 = 8i64;
let Dict.977 : U64 = CallByName Num.75 Dict.496 Dict.978;
let Dict.936 : U64 = CallByName Num.51 Dict.977 Dict.497;
let Dict.935 : U64 = CallByName Dict.91 Dict.490 Dict.936;
let Dict.933 : {U64, U64, U64} = Struct {Dict.934, Dict.935, Dict.499};
ret Dict.933;
in
jump Dict.932 #Derived_gen.31 #Derived_gen.32 #Derived_gen.33 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36;
procedure Dict.84 (#Derived_gen.51, #Derived_gen.52, #Derived_gen.53, #Derived_gen.54):
joinpoint Dict.985 Dict.500 Dict.501 Dict.502 Dict.503:
inc 2 Dict.501;
let Dict.1005 : U64 = CallByName Dict.91 Dict.501 Dict.502;
let Dict.1006 : U64 = CallByName Dict.86;
let Dict.1000 : U64 = CallByName Num.70 Dict.1005 Dict.1006;
let Dict.1004 : U64 = 8i64;
let Dict.1003 : U64 = CallByName Num.51 Dict.502 Dict.1004;
let Dict.1002 : U64 = CallByName Dict.91 Dict.501 Dict.1003;
let Dict.1001 : U64 = CallByName Num.70 Dict.1002 Dict.500;
let Dict.504 : U64 = CallByName Dict.89 Dict.1000 Dict.1001;
let Dict.999 : U64 = 16i64;
let Dict.505 : U64 = CallByName Num.75 Dict.503 Dict.999;
let Dict.998 : U64 = 16i64;
let Dict.506 : U64 = CallByName Num.51 Dict.502 Dict.998;
let Dict.997 : U64 = 16i64;
let Dict.987 : Int1 = CallByName Num.23 Dict.505 Dict.997;
if Dict.987 then
inc Dict.501;
let Dict.996 : U64 = 16i64;
let Dict.995 : U64 = CallByName Num.75 Dict.505 Dict.996;
let Dict.994 : U64 = CallByName Num.51 Dict.995 Dict.506;
let Dict.989 : U64 = CallByName Dict.91 Dict.501 Dict.994;
let Dict.993 : U64 = 8i64;
let Dict.992 : U64 = CallByName Num.75 Dict.505 Dict.993;
let Dict.991 : U64 = CallByName Num.51 Dict.992 Dict.506;
let Dict.990 : U64 = CallByName Dict.91 Dict.501 Dict.991;
let Dict.988 : {U64, U64, U64} = Struct {Dict.989, Dict.990, Dict.504};
ret Dict.988;
else
jump Dict.985 Dict.504 Dict.501 Dict.506 Dict.505;
in
jump Dict.985 #Derived_gen.51 #Derived_gen.52 #Derived_gen.53 #Derived_gen.54;
procedure Dict.85 ():
let Dict.921 : U64 = 11562461410679940143i64;
ret Dict.921;
procedure Dict.86 ():
let Dict.917 : U64 = 16646288086500911323i64;
ret Dict.917;
procedure Dict.87 ():
let Dict.1031 : U64 = 10285213230658275043i64;
ret Dict.1031;
procedure Dict.88 ():
let Dict.1021 : U64 = 6384245875588680899i64;
ret Dict.1021;
procedure Dict.89 (Dict.507, Dict.508):
let Dict.909 : {U64, U64} = CallByName Dict.90 Dict.507 Dict.508;
let Dict.509 : U64 = StructAtIndex 0 Dict.909;
let Dict.510 : U64 = StructAtIndex 1 Dict.909;
let Dict.908 : U64 = CallByName Num.70 Dict.509 Dict.510;
ret Dict.908;
procedure Dict.90 (Dict.511, Dict.512):
let Dict.913 : U128 = CallByName Num.135 Dict.511;
let Dict.914 : U128 = CallByName Num.135 Dict.512;
let Dict.513 : U128 = CallByName Num.21 Dict.913 Dict.914;
let Dict.514 : U64 = CallByName Num.133 Dict.513;
let Dict.912 : U8 = 64i64;
let Dict.911 : U128 = CallByName Num.74 Dict.513 Dict.912;
let Dict.515 : U64 = CallByName Num.133 Dict.911;
let Dict.910 : {U64, U64} = Struct {Dict.514, Dict.515};
ret Dict.910;
procedure Dict.91 (Dict.516, Dict.517):
let Dict.976 : U8 = CallByName Dict.22 Dict.516 Dict.517;
let Dict.518 : U64 = CallByName Num.133 Dict.976;
let Dict.975 : U64 = 1i64;
let Dict.974 : U64 = CallByName Num.51 Dict.517 Dict.975;
let Dict.973 : U8 = CallByName Dict.22 Dict.516 Dict.974;
let Dict.519 : U64 = CallByName Num.133 Dict.973;
let Dict.972 : U64 = 2i64;
let Dict.971 : U64 = CallByName Num.51 Dict.517 Dict.972;
let Dict.970 : U8 = CallByName Dict.22 Dict.516 Dict.971;
let Dict.520 : U64 = CallByName Num.133 Dict.970;
let Dict.969 : U64 = 3i64;
let Dict.968 : U64 = CallByName Num.51 Dict.517 Dict.969;
let Dict.967 : U8 = CallByName Dict.22 Dict.516 Dict.968;
let Dict.521 : U64 = CallByName Num.133 Dict.967;
let Dict.966 : U64 = 4i64;
let Dict.965 : U64 = CallByName Num.51 Dict.517 Dict.966;
let Dict.964 : U8 = CallByName Dict.22 Dict.516 Dict.965;
let Dict.522 : U64 = CallByName Num.133 Dict.964;
let Dict.963 : U64 = 5i64;
let Dict.962 : U64 = CallByName Num.51 Dict.517 Dict.963;
let Dict.961 : U8 = CallByName Dict.22 Dict.516 Dict.962;
let Dict.523 : U64 = CallByName Num.133 Dict.961;
let Dict.960 : U64 = 6i64;
let Dict.959 : U64 = CallByName Num.51 Dict.517 Dict.960;
let Dict.958 : U8 = CallByName Dict.22 Dict.516 Dict.959;
let Dict.524 : U64 = CallByName Num.133 Dict.958;
let Dict.957 : U64 = 7i64;
let Dict.955 : U64 = CallByName Num.51 Dict.517 Dict.957;
let Dict.954 : U8 = CallByName Dict.22 Dict.516 Dict.955;
dec Dict.516;
let Dict.525 : U64 = CallByName Num.133 Dict.954;
let Dict.953 : U8 = 8i64;
let Dict.952 : U64 = CallByName Num.72 Dict.519 Dict.953;
let Dict.526 : U64 = CallByName Num.71 Dict.518 Dict.952;
let Dict.951 : U8 = 16i64;
let Dict.948 : U64 = CallByName Num.72 Dict.520 Dict.951;
let Dict.950 : U8 = 24i64;
let Dict.949 : U64 = CallByName Num.72 Dict.521 Dict.950;
let Dict.527 : U64 = CallByName Num.71 Dict.948 Dict.949;
let Dict.947 : U8 = 32i64;
let Dict.944 : U64 = CallByName Num.72 Dict.522 Dict.947;
let Dict.946 : U8 = 40i64;
let Dict.945 : U64 = CallByName Num.72 Dict.523 Dict.946;
let Dict.528 : U64 = CallByName Num.71 Dict.944 Dict.945;
let Dict.943 : U8 = 48i64;
let Dict.940 : U64 = CallByName Num.72 Dict.524 Dict.943;
let Dict.942 : U8 = 56i64;
let Dict.941 : U64 = CallByName Num.72 Dict.525 Dict.942;
let Dict.529 : U64 = CallByName Num.71 Dict.940 Dict.941;
let Dict.938 : U64 = CallByName Num.71 Dict.526 Dict.527;
let Dict.939 : U64 = CallByName Num.71 Dict.528 Dict.529;
let Dict.937 : U64 = CallByName Num.71 Dict.938 Dict.939;
ret Dict.937;
procedure Dict.92 (Dict.530, Dict.531):
let Dict.1088 : U8 = CallByName Dict.22 Dict.530 Dict.531;
let Dict.532 : U64 = CallByName Num.133 Dict.1088;
let Dict.1087 : U64 = 1i64;
let Dict.1086 : U64 = CallByName Num.51 Dict.531 Dict.1087;
let Dict.1085 : U8 = CallByName Dict.22 Dict.530 Dict.1086;
let Dict.533 : U64 = CallByName Num.133 Dict.1085;
let Dict.1084 : U64 = 2i64;
let Dict.1083 : U64 = CallByName Num.51 Dict.531 Dict.1084;
let Dict.1082 : U8 = CallByName Dict.22 Dict.530 Dict.1083;
let Dict.534 : U64 = CallByName Num.133 Dict.1082;
let Dict.1081 : U64 = 3i64;
let Dict.1080 : U64 = CallByName Num.51 Dict.531 Dict.1081;
let Dict.1079 : U8 = CallByName Dict.22 Dict.530 Dict.1080;
dec Dict.530;
let Dict.535 : U64 = CallByName Num.133 Dict.1079;
let Dict.1078 : U8 = 8i64;
let Dict.1077 : U64 = CallByName Num.72 Dict.533 Dict.1078;
let Dict.536 : U64 = CallByName Num.71 Dict.532 Dict.1077;
let Dict.1076 : U8 = 16i64;
let Dict.1073 : U64 = CallByName Num.72 Dict.534 Dict.1076;
let Dict.1075 : U8 = 24i64;
let Dict.1074 : U64 = CallByName Num.72 Dict.535 Dict.1075;
let Dict.537 : U64 = CallByName Num.71 Dict.1073 Dict.1074;
let Dict.1072 : U64 = CallByName Num.71 Dict.536 Dict.537;
ret Dict.1072;
procedure Dict.93 (Dict.538, Dict.539, Dict.540):
let Dict.1066 : U8 = CallByName Dict.22 Dict.538 Dict.539;
let Dict.541 : U64 = CallByName Num.133 Dict.1066;
let Dict.1065 : U8 = 1i64;
let Dict.1064 : U64 = CallByName Num.74 Dict.540 Dict.1065;
let Dict.1063 : U64 = CallByName Num.51 Dict.1064 Dict.539;
let Dict.1062 : U8 = CallByName Dict.22 Dict.538 Dict.1063;
let Dict.542 : U64 = CallByName Num.133 Dict.1062;
let Dict.1061 : U64 = 1i64;
let Dict.1060 : U64 = CallByName Num.75 Dict.540 Dict.1061;
let Dict.1059 : U64 = CallByName Num.51 Dict.1060 Dict.539;
let Dict.1058 : U8 = CallByName Dict.22 Dict.538 Dict.1059;
dec Dict.538;
let Dict.543 : U64 = CallByName Num.133 Dict.1058;
let Dict.1057 : U8 = 16i64;
let Dict.1054 : U64 = CallByName Num.72 Dict.541 Dict.1057;
let Dict.1056 : U8 = 8i64;
let Dict.1055 : U64 = CallByName Num.72 Dict.542 Dict.1056;
let Dict.544 : U64 = CallByName Num.71 Dict.1054 Dict.1055;
let Dict.1053 : U64 = CallByName Num.71 Dict.544 Dict.543;
ret Dict.1053;
procedure Hash.19 (Hash.39, Hash.40):
let Hash.77 : List U8 = CallByName Str.12 Hash.40;
let Hash.76 : {U64, U64} = CallByName Dict.82 Hash.39 Hash.77;
ret Hash.76;
procedure Inspect.188 (Inspect.189, #Attr.12):
let Inspect.187 : {} = StructAtIndex 3 #Attr.12;
let Inspect.186 : {} = StructAtIndex 2 #Attr.12;
let Inspect.185 : {} = StructAtIndex 1 #Attr.12;
let Inspect.184 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
let Inspect.359 : Str = "{";
let Inspect.332 : Str = CallByName Inspect.61 Inspect.189 Inspect.359;
let Inspect.333 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = Struct {Inspect.184, Inspect.185, Inspect.186, Inspect.187};
let Inspect.328 : {Str, Int1} = CallByName Inspect.190 Inspect.332 Inspect.333;
let Inspect.329 : {} = Struct {};
let Inspect.324 : Str = CallByName Inspect.202 Inspect.328;
let Inspect.325 : Str = "}";
let Inspect.323 : Str = CallByName Inspect.61 Inspect.324 Inspect.325;
ret Inspect.323;
procedure Inspect.190 (Inspect.191, #Attr.12):
let Inspect.187 : {} = StructAtIndex 3 #Attr.12;
let Inspect.186 : {} = StructAtIndex 2 #Attr.12;
let Inspect.185 : {} = StructAtIndex 1 #Attr.12;
let Inspect.184 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = StructAtIndex 0 #Attr.12;
let Inspect.358 : Int1 = CallByName Bool.1;
let Inspect.336 : {Str, Int1} = Struct {Inspect.191, Inspect.358};
let Inspect.337 : {{}, {}} = Struct {Inspect.186, Inspect.187};
let Inspect.335 : {Str, Int1} = CallByName Dict.10 Inspect.184 Inspect.336 Inspect.337;
ret Inspect.335;
procedure Inspect.192 (Inspect.338, Inspect.195, Inspect.196, #Attr.12):
let Inspect.187 : {} = StructAtIndex 1 #Attr.12;
let Inspect.186 : {} = StructAtIndex 0 #Attr.12;
let Inspect.193 : Str = StructAtIndex 0 Inspect.338;
let Inspect.194 : Int1 = StructAtIndex 1 Inspect.338;
joinpoint Inspect.356 Inspect.197:
let Inspect.353 : Str = CallByName Inspect.44 Inspect.195;
let Inspect.351 : Str = CallByName Inspect.31 Inspect.353 Inspect.197;
let Inspect.352 : Str = ": ";
let Inspect.345 : Str = CallByName Inspect.61 Inspect.351 Inspect.352;
let Inspect.346 : {I64, {}} = Struct {Inspect.196, Inspect.187};
let Inspect.341 : Str = CallByName Inspect.198 Inspect.345 Inspect.346;
let Inspect.342 : {} = Struct {};
let Inspect.340 : {Str, Int1} = CallByName Inspect.200 Inspect.341;
ret Inspect.340;
in
if Inspect.194 then
let Inspect.357 : Str = ", ";
let Inspect.355 : Str = CallByName Inspect.61 Inspect.193 Inspect.357;
jump Inspect.356 Inspect.355;
else
jump Inspect.356 Inspect.193;
procedure Inspect.198 (Inspect.199, #Attr.12):
let Inspect.187 : {} = StructAtIndex 1 #Attr.12;
let Inspect.196 : I64 = StructAtIndex 0 #Attr.12;
let Inspect.349 : I64 = CallByName Inspect.54 Inspect.196;
let Inspect.348 : Str = CallByName Inspect.31 Inspect.349 Inspect.199;
ret Inspect.348;
procedure Inspect.200 (Inspect.201):
let Inspect.344 : Int1 = CallByName Bool.2;
let Inspect.343 : {Str, Int1} = Struct {Inspect.201, Inspect.344};
ret Inspect.343;
procedure Inspect.202 (Inspect.330):
let Inspect.331 : Str = StructAtIndex 0 Inspect.330;
ret Inspect.331;
procedure Inspect.251 (Inspect.252, Inspect.250):
let Inspect.374 : Str = "\"";
let Inspect.373 : Str = CallByName Inspect.61 Inspect.252 Inspect.374;
let Inspect.371 : Str = CallByName Inspect.61 Inspect.373 Inspect.250;
let Inspect.372 : Str = "\"";
let Inspect.370 : Str = CallByName Inspect.61 Inspect.371 Inspect.372;
ret Inspect.370;
procedure Inspect.279 (Inspect.280, Inspect.278):
let Inspect.365 : Str = CallByName Num.96 Inspect.278;
let Inspect.364 : Str = CallByName Inspect.61 Inspect.280 Inspect.365;
ret Inspect.364;
procedure Inspect.30 (Inspect.148):
ret Inspect.148;
procedure Inspect.30 (Inspect.148):
ret Inspect.148;
procedure Inspect.30 (Inspect.148):
ret Inspect.148;
procedure Inspect.30 (Inspect.148):
ret Inspect.148;
procedure Inspect.31 (Inspect.307, Inspect.150):
let Inspect.318 : Str = CallByName Inspect.188 Inspect.150 Inspect.307;
ret Inspect.318;
procedure Inspect.31 (Inspect.307, Inspect.150):
let Inspect.350 : Str = CallByName Inspect.279 Inspect.150 Inspect.307;
ret Inspect.350;
procedure Inspect.31 (Inspect.307, Inspect.150):
let Inspect.354 : Str = CallByName Inspect.251 Inspect.150 Inspect.307;
ret Inspect.354;
procedure Inspect.34 (Inspect.153):
let Inspect.309 : Str = CallByName Inspect.5 Inspect.153;
let Inspect.308 : Str = CallByName Inspect.62 Inspect.309;
ret Inspect.308;
procedure Inspect.36 (Inspect.305):
let Inspect.315 : Str = "";
ret Inspect.315;
procedure Inspect.39 (Inspect.184, Inspect.185, Inspect.186, Inspect.187):
let Inspect.320 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = Struct {Inspect.184, Inspect.185, Inspect.186, Inspect.187};
let Inspect.319 : {{List {U32, U32}, List {Str, I64}, U64, Float32, U8}, {}, {}, {}} = CallByName Inspect.30 Inspect.320;
ret Inspect.319;
procedure Inspect.44 (Inspect.250):
let Inspect.366 : Str = CallByName Inspect.30 Inspect.250;
ret Inspect.366;
procedure Inspect.5 (Inspect.151):
let Inspect.316 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.36 Inspect.151;
let Inspect.313 : {} = Struct {};
let Inspect.312 : Str = CallByName Inspect.36 Inspect.313;
let Inspect.311 : Str = CallByName Dict.120 Inspect.312 Inspect.316;
ret Inspect.311;
procedure Inspect.54 (Inspect.278):
let Inspect.360 : I64 = CallByName Inspect.30 Inspect.278;
ret Inspect.360;
procedure Inspect.61 (Inspect.304, Inspect.300):
let Inspect.327 : Str = CallByName Str.3 Inspect.304 Inspect.300;
dec Inspect.300;
ret Inspect.327;
procedure Inspect.62 (Inspect.306):
ret Inspect.306;
procedure List.11 (List.136, List.137):
let List.633 : List {U32, U32} = CallByName List.68 List.137;
let List.632 : List {U32, U32} = CallByName List.88 List.136 List.137 List.633;
ret List.632;
procedure List.18 (List.158, List.159, List.160):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.158;
let List.571 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName List.90 List.158 List.159 List.160 List.572 List.573;
ret List.571;
procedure List.18 (List.158, List.159, List.160):
let List.636 : U64 = 0i64;
let List.637 : U64 = CallByName List.6 List.158;
let List.635 : {Str, Int1} = CallByName List.90 List.158 List.159 List.160 List.636 List.637;
ret List.635;
procedure List.3 (List.114, List.115, List.116):
let List.597 : {List {U32, U32}, {U32, U32}} = CallByName List.64 List.114 List.115 List.116;
let List.596 : List {U32, U32} = StructAtIndex 0 List.597;
ret List.596;
procedure List.3 (List.114, List.115, List.116):
let List.599 : {List {Str, I64}, {Str, I64}} = CallByName List.64 List.114 List.115 List.116;
let List.598 : List {Str, I64} = StructAtIndex 0 List.599;
let #Derived_gen.71 : {Str, I64} = StructAtIndex 1 List.599;
dec #Derived_gen.71;
ret List.598;
procedure List.4 (List.122, List.123):
let List.608 : U64 = 1i64;
let List.606 : List {Str, I64} = CallByName List.70 List.122 List.608;
let List.605 : List {Str, I64} = CallByName List.71 List.606 List.123;
ret List.605;
procedure List.6 (#Attr.2):
let List.587 : U64 = lowlevel ListLen #Attr.2;
ret List.587;
procedure List.6 (#Attr.2):
let List.634 : U64 = lowlevel ListLen #Attr.2;
ret List.634;
procedure List.6 (#Attr.2):
let List.646 : U64 = lowlevel ListLen #Attr.2;
ret List.646;
procedure List.64 (List.111, List.112, List.113):
let List.595 : U64 = CallByName List.6 List.111;
let List.592 : Int1 = CallByName Num.22 List.112 List.595;
if List.592 then
let List.593 : {List {U32, U32}, {U32, U32}} = CallByName List.67 List.111 List.112 List.113;
ret List.593;
else
let List.591 : {List {U32, U32}, {U32, U32}} = Struct {List.111, List.113};
ret List.591;
procedure List.64 (List.111, List.112, List.113):
let List.604 : U64 = CallByName List.6 List.111;
let List.601 : Int1 = CallByName Num.22 List.112 List.604;
if List.601 then
let List.602 : {List {Str, I64}, {Str, I64}} = CallByName List.67 List.111 List.112 List.113;
ret List.602;
else
let List.600 : {List {Str, I64}, {Str, I64}} = Struct {List.111, List.113};
ret List.600;
procedure List.66 (#Attr.2, #Attr.3):
let List.645 : {Str, I64} = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.645;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.594 : {List {U32, U32}, {U32, U32}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.594;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):
let List.603 : {List {Str, I64}, {Str, I64}} = lowlevel ListReplaceUnsafe #Attr.2 #Attr.3 #Attr.4;
ret List.603;
procedure List.68 (#Attr.2):
let List.631 : List {U32, U32} = lowlevel ListWithCapacity #Attr.2;
ret List.631;
procedure List.70 (#Attr.2, #Attr.3):
let List.609 : List {Str, I64} = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.609;
procedure List.71 (#Attr.2, #Attr.3):
let List.607 : List {Str, I64} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.607;
procedure List.71 (#Attr.2, #Attr.3):
let List.628 : List {U32, U32} = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.628;
procedure List.83 (List.167, List.168, List.169):
let List.611 : U64 = 0i64;
let List.612 : U64 = CallByName List.6 List.167;
let List.610 : List {U32, U32} = CallByName List.91 List.167 List.168 List.169 List.611 List.612;
ret List.610;
procedure List.88 (#Derived_gen.58, #Derived_gen.59, #Derived_gen.60):
joinpoint List.622 List.138 List.139 List.140:
let List.630 : U64 = 0i64;
let List.624 : Int1 = CallByName Num.24 List.139 List.630;
if List.624 then
let List.629 : U64 = 1i64;
let List.626 : U64 = CallByName Num.75 List.139 List.629;
let List.627 : List {U32, U32} = CallByName List.71 List.140 List.138;
jump List.622 List.138 List.626 List.627;
else
ret List.140;
in
jump List.622 #Derived_gen.58 #Derived_gen.59 #Derived_gen.60;
procedure List.90 (#Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20, #Derived_gen.21):
joinpoint List.638 List.161 List.162 List.163 List.164 List.165:
let List.640 : Int1 = CallByName Num.22 List.164 List.165;
if List.640 then
let List.644 : {Str, I64} = CallByName List.66 List.161 List.164;
inc List.644;
let List.166 : {Str, Int1} = CallByName Dict.182 List.162 List.644 List.163;
let List.643 : U64 = 1i64;
let List.642 : U64 = CallByName Num.51 List.164 List.643;
jump List.638 List.161 List.166 List.163 List.642 List.165;
else
dec List.161;
ret List.162;
in
jump List.638 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21;
procedure List.90 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.574 List.161 List.162 List.163 List.164 List.165:
let List.576 : Int1 = CallByName Num.22 List.164 List.165;
if List.576 then
let List.580 : {Str, I64} = CallByName List.66 List.161 List.164;
inc List.580;
let List.166 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.153 List.162 List.580;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.164 List.579;
jump List.574 List.161 List.166 List.163 List.578 List.165;
else
dec List.161;
ret List.162;
in
jump List.574 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.91 (#Derived_gen.61, #Derived_gen.62, #Derived_gen.63, #Derived_gen.64, #Derived_gen.65):
joinpoint List.613 List.170 List.171 List.172 List.173 List.174:
let List.615 : Int1 = CallByName Num.22 List.173 List.174;
if List.615 then
let List.619 : {Str, I64} = CallByName List.66 List.170 List.173;
inc List.619;
let List.175 : List {U32, U32} = CallByName Dict.399 List.171 List.619 List.173 List.172;
let List.618 : U64 = 1i64;
let List.617 : U64 = CallByName Num.51 List.173 List.618;
jump List.613 List.170 List.175 List.172 List.617 List.174;
else
dec List.170;
ret List.171;
in
jump List.613 #Derived_gen.61 #Derived_gen.62 #Derived_gen.63 #Derived_gen.64 #Derived_gen.65;
procedure Num.131 (#Attr.2):
let Num.310 : U32 = lowlevel NumIntCast #Attr.2;
ret Num.310;
procedure Num.133 (#Attr.2):
let Num.365 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.365;
procedure Num.133 (#Attr.2):
let Num.366 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.366;
procedure Num.133 (#Attr.2):
let Num.381 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.381;
procedure Num.135 (#Attr.2):
let Num.387 : U128 = lowlevel NumIntCast #Attr.2;
ret Num.387;
procedure Num.137 (#Attr.2):
let Num.301 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.301;
procedure Num.137 (#Attr.2):
let Num.307 : U64 = lowlevel NumIntCast #Attr.2;
ret Num.307;
procedure Num.139 (#Attr.2):
let Num.334 : Float32 = lowlevel NumToFloatCast #Attr.2;
ret Num.334;
procedure Num.159 (Num.240, Num.241):
let Num.336 : Int1 = CallByName Num.22 Num.240 Num.241;
if Num.336 then
ret Num.240;
else
ret Num.241;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.291 : U32 = lowlevel NumAdd #Attr.2 #Attr.3;
ret Num.291;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.311 : U64 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.311;
procedure Num.20 (#Attr.2, #Attr.3):
let Num.314 : U8 = lowlevel NumSub #Attr.2 #Attr.3;
ret Num.314;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.327 : Float32 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.327;
procedure Num.21 (#Attr.2, #Attr.3):
let Num.385 : U128 = lowlevel NumMul #Attr.2 #Attr.3;
ret Num.385;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.331 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.331;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.460 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.460;
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.315 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.315;
procedure Num.24 (#Attr.2, #Attr.3):
let Num.456 : Int1 = lowlevel NumGt #Attr.2 #Attr.3;
ret Num.456;
procedure Num.25 (#Attr.2, #Attr.3):
let Num.457 : Int1 = lowlevel NumGte #Attr.2 #Attr.3;
ret Num.457;
procedure Num.50 (#Attr.2):
let Num.333 : U64 = lowlevel NumFloor #Attr.2;
ret Num.333;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.459 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.459;
procedure Num.69 (#Attr.2, #Attr.3):
let Num.319 : U32 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3;
ret Num.319;
procedure Num.70 (#Attr.2, #Attr.3):
let Num.363 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3;
ret Num.363;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.318 : U32 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.318;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.401 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
ret Num.401;
procedure Num.72 (#Attr.2, #Attr.3):
let Num.292 : U32 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.292;
procedure Num.72 (#Attr.2, #Attr.3):
let Num.416 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3;
ret Num.416;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.382 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.382;
procedure Num.74 (#Attr.2, #Attr.3):
let Num.384 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3;
ret Num.384;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.320 : U32 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.320;
procedure Num.75 (#Attr.2, #Attr.3):
let Num.450 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3;
ret Num.450;
procedure Num.96 (#Attr.2):
let Num.330 : Str = lowlevel NumToStr #Attr.2;
ret Num.330;
procedure Num.96 (#Attr.2):
let Num.458 : Str = lowlevel NumToStr #Attr.2;
ret Num.458;
procedure Str.12 (#Attr.2):
let Str.294 : List U8 = lowlevel StrToUtf8 #Attr.2;
ret Str.294;
procedure Str.3 (#Attr.2, #Attr.3):
let Str.295 : Str = lowlevel StrConcat #Attr.2 #Attr.3;
ret Str.295;
procedure Test.0 ():
let Test.8 : Str = "a";
let Test.9 : I64 = 1i64;
let Test.4 : {Str, I64} = Struct {Test.8, Test.9};
let Test.6 : Str = "b";
let Test.7 : I64 = 2i64;
let Test.5 : {Str, I64} = Struct {Test.6, Test.7};
let Test.3 : List {Str, I64} = Array [Test.4, Test.5];
let Test.2 : {List {U32, U32}, List {Str, I64}, U64, Float32, U8} = CallByName Dict.12 Test.3;
let Test.1 : Str = CallByName Inspect.34 Test.2;
ret Test.1;