1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q;
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
24 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
25 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
26 typedef struct NimStringDesc NimStringDesc;
27 typedef struct TGenericSeq TGenericSeq;
28 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
29 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
30 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
31 typedef struct RootObj RootObj;
32 typedef struct TNimType TNimType;
33 typedef struct TNimNode TNimNode;
34 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
35 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
36 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
37 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
38 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
39 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
40 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
41 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
42 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
43 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
44 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
45 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
46 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
47 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
48 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
49 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
50 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
51 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
52 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
53 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
54 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
55 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
56 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
57 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
58 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
59 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
60 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
61 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
62 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
63 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
64 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
65 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
66 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
67 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
68 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
69 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
70 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
71 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
72 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
73 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
74 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
75 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
76 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
77 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
78 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
79 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
80 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
81 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
82 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
83 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
84 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
85 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
86 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
87 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
88 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
89 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
90 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
91 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
92 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
93 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
94 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
95 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
96 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
97 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
98 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
99 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
100 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
101 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
102 typedef struct tySequence__nw2ozGiJbajPUc4Cj4vzYw tySequence__nw2ozGiJbajPUc4Cj4vzYw;
103 typedef struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ tyTuple__EFqgCXJ4d8PgqOdFJmldsQ;
104 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
105 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
106 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
107 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
108 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
109 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
110 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
111 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
112 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
113 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
114 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
115 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
116 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
117 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
118 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
119 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
120 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
121 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
122 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
123 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
124 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
125 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
126 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
127 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
128 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
129 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
130 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
131 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
132 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
133 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
134 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
135 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
136 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
137 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
138 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
139 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
140 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
141 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
142 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
143 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
144 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
145 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
146 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
147 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
148 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
149 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
150 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
151 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
152 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
153 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
154 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
155 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
156 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
157 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
158 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
159 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
160 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
161 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
162 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
163 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
164 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
165 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
166 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
167 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
168 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
169 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
170 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
171 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
172 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
173 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
174 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
175 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
176 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
177 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
178 NU16 line;
179 NI16 col;
180 NI32 fileIndex;
181 };
182 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
183 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
184 struct TGenericSeq {
185 NI len;
186 NI reserved;
187 };
188 struct NimStringDesc {
189   TGenericSeq Sup;
190 NIM_CHAR data[SEQ_DECL_SIZE];
191 };
192 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
193 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
194 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
195 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
196 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
197 union{
198 struct {NI64 intVal;
199 } _kind_1;
200 struct {NF floatVal;
201 } _kind_2;
202 struct {NimStringDesc* strVal;
203 } _kind_3;
204 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
205 } _kind_4;
206 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
207 } _kind_5;
208 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
209 } _kind_6;
210 };
211 };
212 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
213 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
214 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
215 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
216 struct TNimType {
217 NI size;
218 NI align;
219 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
220 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
221 TNimType* base;
222 TNimNode* node;
223 void* finalizer;
224 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
225 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
226 };
227 struct RootObj {
228 TNimType* m_type;
229 };
230 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
231 NI32 module;
232 NI32 item;
233 };
234 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
235   RootObj Sup;
236 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
237 };
238 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
239 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
240 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
241 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
242 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
243 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
244 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
245 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
246 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
247 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
248 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
249 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
250 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
251 };
252 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
253   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
254 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
255 union{
256 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
257 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
258 } _kind_1;
259 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
260 NI bitsize;
261 NI alignment;
262 } _kind_2;
263 };
264 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
265 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
266 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
267 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
268 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
269 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
271 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
272 NI position;
273 NI offset;
274 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
275 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
276 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
277 };
278 typedef NU8 tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg[35];
279 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
280 NI id;
281 NimStringDesc* s;
282 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
283 NI h;
284 };
285 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
286 NI refcount;
287 TNimType* typ;
288 };
289 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
290 void* bottom;
291 };
292 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
293 NI len;
294 NI cap;
295 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
296 };
297 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
298 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
299 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
300 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
301 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
302 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
303 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
304 };
305 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
306 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
307 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
308 NI key;
309 NI upperBound;
310 NI level;
311 };
312 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
313 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
314 NI Field1;
315 };
316 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
317 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
318 NI len;
319 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
320 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
321 };
322 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
323 NI minLargeObj;
324 NI maxLargeObj;
325 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
326 NU32 flBitmap;
327 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
328 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
329 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
330 NI currMem;
331 NI maxMem;
332 NI freeMem;
333 NI occ;
334 NI lastSize;
335 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
336 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
337 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
338 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
339 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
340 NIM_BOOL locked;
341 NIM_BOOL blockChunkSizeIncrease;
342 NI nextChunkSize;
343 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
344 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
345 };
346 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
347 NI stackScans;
348 NI cycleCollections;
349 NI maxThreshold;
350 NI maxStackSize;
351 NI maxStackCells;
352 NI cycleTableSize;
353 NI64 maxPause;
354 };
355 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
356 NI counter;
357 NI max;
358 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
359 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
360 };
361 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
362 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
363 NI cycleThreshold;
364 NI zctThreshold;
365 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
366 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
367 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
368 NI recGcLock;
369 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
370 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
371 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
372 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
373 NI gcThreadId;
374 };
375 struct tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q {
376 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* s;
377 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
378 NIM_BOOL beSmart;
379 };
380 typedef NU8 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA;
381 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
382 NI Field0;
383 NI Field1;
384 };
385 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
386 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
387 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
388 };
389 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
390 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
391 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
392 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
393 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
394 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
395 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
396 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
397 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
398 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
399 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
400 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
401 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
402 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
403 };
404 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
405 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
406 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
407 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
408 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
409   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
410 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
411 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
412 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
413 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
414 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
415 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
416 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
417 NI64 size;
418 NI16 align;
419 NI16 paddingAtEnd;
420 NI16 lockLevel;
421 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
422 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
423 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
424 };
425 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
426 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
427 NI counter;
428 };
429 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
430 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
431 NI counter;
432 };
433 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
434 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
435 NI counter;
436 };
437 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
438 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
439 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
440 NI counter;
441 };
442 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
443 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
444 NI counter;
445 };
446 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
447 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
448 NI counter;
449 };
450 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
451 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
452 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
453 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
454 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
455 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
456 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
457 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
458 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
459 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
460 };
461 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
462 NI counter;
463 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
464 };
465 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
466 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
467 NI counter;
468 };
469 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
470 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
471 NI elems;
472 NI counter;
473 NI max;
474 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
475 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
476 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
477 };
478 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
479 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
480 NI counter;
481 };
482 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
483 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
484 NI counter;
485 };
486 typedef struct {
487 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
488 void* ClE_0;
489 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
490 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
491 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
492 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
493 NI counter;
494 };
495 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
496 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
497 NI counter;
498 };
499 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
500 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
501 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
502 tySequence__23SMqauuRsbDANhthj9bWlA* data;
503 NI counter;
504 };
505 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
506 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
507 NI counter;
508 };
509 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
510 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
511 NI counter;
512 };
513 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
514 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
515 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
516 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
517 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
518 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
519 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
520 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
521 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
522 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
523 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
524 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
525 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
526 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
527 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
528 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
529 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
530 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
531 NIM_BOOL suggestMode;
532 NIM_BOOL invalidTransitiveClosure;
533 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
534 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
535 RootObj* backend;
536 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
537 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
538 RootObj* vm;
539 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
540 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
541 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
542 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
543 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
544 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
545 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
546 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
547 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
548 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
549 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
550 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
551 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
552 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
553 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
554 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
555 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
556 tySequence__MAQKEADohlpnXTModtugbQ* passes;
557 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
558 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
559 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
560 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
561 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
562 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
563 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
564 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
565 };
566 struct tyTuple__EFqgCXJ4d8PgqOdFJmldsQ {
567 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
568 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
569 };
570 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
571 struct TNimNode {
572 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
573 NI offset;
574 TNimType* typ;
575 NCSTRING name;
576 NI len;
577 TNimNode** sons;
578 };
579 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
580 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
581 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
582 NimStringDesc* Field0;
583 NI Field1;
584 NI Field2;
585 };
586 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
587 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
588 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
589 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
590 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
591 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
592 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
593 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
594 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
595 };
596 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
597 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
598 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
599 };
600 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
601 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
602 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
603 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
604 };
605 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
606 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
607 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
608 };
609 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
610 NimStringDesc* definedSymbols;
611 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
612 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
613 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
614 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
615 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
616 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
617 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
618 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
619 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
620 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
621 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
622 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
623 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
624 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
625 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
626 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
627 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
628 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
629 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
630 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
631 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
632 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
633 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
634 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
635 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
636 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
637 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
638 };
639 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
640 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
641 NI counter;
642 };
643 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
644 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
645 NIM_BOOL symsInit;
646 NIM_BOOL typesInit;
647 NIM_BOOL loadedButAliveSetChanged;
648 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
649 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
650 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
651 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
652 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
653 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
654 };
655 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
656 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
657 NI counter;
658 };
659 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
660 NI32 thisModule;
661 NI32 lastFile;
662 NU32 lastLit;
663 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
664 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
665 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
666 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
667 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
668 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
669 };
670 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
671 NU32 module;
672 NI32 item;
673 };
674 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
675 NI module;
676 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
677 };
678 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
679 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
680 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
681 };
682 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
683 NI Field0;
684 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
685 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
686 };
687 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
688 NI module;
689 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
690 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
691 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
692 };
693 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
694 NI Field0;
695 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
696 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
697 };
698 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
699 NI Field0;
700 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
701 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
702 };
703 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
704 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
705 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
706 };
707 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
708 NI Field0;
709 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
710 };
711 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
712 NI Field0;
713 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
714 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
715 };
716 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
717 NI Field0;
718 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
719 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
720 };
721 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
722 NI Field0;
723 NimStringDesc* Field1;
724 NI32 Field2;
725 };
726 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
727 NI Field0;
728 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
729 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
730 };
731 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
732 NI Field0;
733 NI32 Field1;
734 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
735 };
736 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
737 NI Field0;
738 NI32 Field1;
739 NI32 Field2;
740 };
741 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
742 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
743 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
744 };
745 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
746 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
747 NI Field0;
748 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
749 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
750 };
751 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
752 NI Field0;
753 NI Field1;
754 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
755 };
756 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
757 NI Field0;
758 NimStringDesc* Field1;
759 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
760 };
761 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
762 NI Field0;
763 NimStringDesc* Field1;
764 NI64 Field2;
765 };
766 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
767 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
768 NI entries;
769 };
770 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
771 NI Field0;
772 NimStringDesc* Field1;
773 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
774 };
775 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
776 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
777 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
778 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
779 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
780 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
781 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
782 NIM_BOOL Field3;
783 };
784 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
785 NU32 Field0;
786 NimStringDesc* Field1;
787 };
788 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
789 NU16 line;
790 NI16 col;
791 NU32 file;
792 };
793 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
794 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
795 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
796 NI32 operand;
797 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
798 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
799 };
800 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
801 NU32 Field0;
802 NI32 Field1;
803 };
804 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
805 NU32 Field0;
806 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
807 };
808 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
809 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
810 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
811 };
812 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
813 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
814 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
815 };
816 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
817 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
818 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
819 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
820 };
821 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
822 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
823 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
824 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
825 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
826 };
827 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
828 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
829 NI Field1;
830 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
831 };
832 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
833 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
834 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
835 NIM_BOOL generated;
836 NIM_BOOL isOverriden;
837 NU32 name;
838 NI32 path;
839 };
840 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
841 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
842 NU32 name;
843 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
844 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
845 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
846 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
847 NI32 ast;
848 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
849 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
850 NI bitsize;
851 NI alignment;
852 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
853 NI position;
854 NI offset;
855 NU32 externalName;
856 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
857 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
858 NI32 constraint;
859 };
860 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
861 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
862 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
863 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
864 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
865 NI32 n;
866 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
867 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
868 NI64 size;
869 NI16 align;
870 NI16 paddingAtEnd;
871 NI16 lockLevel;
872 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
873 NI32 nonUniqueId;
874 };
875 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
876 NI Field0;
877 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
878 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
879 };
880 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
881 NI Field0;
882 NI32 Field1;
883 NU32 Field2;
884 };
885 struct tySequence__nw2ozGiJbajPUc4Cj4vzYw {
886   TGenericSeq Sup;
887   tyTuple__EFqgCXJ4d8PgqOdFJmldsQ data[SEQ_DECL_SIZE];
888 };
889 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
890   TGenericSeq Sup;
891   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
892 };
893 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
894   TGenericSeq Sup;
895   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
896 };
897 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
898   TGenericSeq Sup;
899   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
900 };
901 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
902   TGenericSeq Sup;
903   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
904 };
905 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
906   TGenericSeq Sup;
907   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
908 };
909 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
910   TGenericSeq Sup;
911   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
912 };
913 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
914   TGenericSeq Sup;
915   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
916 };
917 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
918   TGenericSeq Sup;
919   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
920 };
921 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
922   TGenericSeq Sup;
923   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
924 };
925 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
926   TGenericSeq Sup;
927   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
928 };
929 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
930   TGenericSeq Sup;
931   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
932 };
933 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
934   TGenericSeq Sup;
935   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
936 };
937 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
938   TGenericSeq Sup;
939   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
940 };
941 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
942   TGenericSeq Sup;
943   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
944 };
945 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
946   TGenericSeq Sup;
947   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
948 };
949 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
950   TGenericSeq Sup;
951   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
952 };
953 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
954   TGenericSeq Sup;
955   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
956 };
957 struct tySequence__48JTohSgTy339bRxHzUD8KA {
958   TGenericSeq Sup;
959   NI32 data[SEQ_DECL_SIZE];
960 };
961 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
962   TGenericSeq Sup;
963   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
964 };
965 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
966   TGenericSeq Sup;
967   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
968 };
969 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
970   TGenericSeq Sup;
971   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
972 };
973 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
974   TGenericSeq Sup;
975   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
976 };
977 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
978   TGenericSeq Sup;
979   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
980 };
981 struct tySequence__23SMqauuRsbDANhthj9bWlA {
982   TGenericSeq Sup;
983   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
984 };
985 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
986   TGenericSeq Sup;
987   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
988 };
989 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
990   TGenericSeq Sup;
991   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
992 };
993 struct tySequence__MAQKEADohlpnXTModtugbQ {
994   TGenericSeq Sup;
995   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
996 };
997 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
998   TGenericSeq Sup;
999   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1000 };
1001 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1002   TGenericSeq Sup;
1003   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1004 };
1005 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1006   TGenericSeq Sup;
1007   NU32 data[SEQ_DECL_SIZE];
1008 };
1009 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1010   TGenericSeq Sup;
1011   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1012 };
1013 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1014   TGenericSeq Sup;
1015   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1016 };
1017 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1018   TGenericSeq Sup;
1019   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1020 };
1021 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1022   TGenericSeq Sup;
1023   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1024 };
1025 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1026   TGenericSeq Sup;
1027   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1028 };
1029 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1030   TGenericSeq Sup;
1031   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1032 };
1033 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1034   TGenericSeq Sup;
1035   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1036 };
1037 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1038   TGenericSeq Sup;
1039   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1040 };
1041 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1042   TGenericSeq Sup;
1043   NimStringDesc* data[SEQ_DECL_SIZE];
1044 };
1045 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1046   TGenericSeq Sup;
1047   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1048 };
1049 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1050   TGenericSeq Sup;
1051   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1052 };
1053 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1054   TGenericSeq Sup;
1055   NI64 data[SEQ_DECL_SIZE];
1056 };
1057 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1058   TGenericSeq Sup;
1059   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1060 };
1061 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1062   TGenericSeq Sup;
1063   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1064 };
1065 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1066   TGenericSeq Sup;
1067   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1068 };
1069 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1070   TGenericSeq Sup;
1071   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1072 };
1073 N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_745)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1074 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubTree__guards_732)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x);
1075 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1076 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameOpr__guards_640)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
1077 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1078 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1079 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1080 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1081 static N_INLINE(void, asgnRef)(void** dest, void* src);
1082 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1083 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1084 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
1085 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1086 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1087 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1088 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1089 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1090 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, doesImply__guards_1022)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q facts, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prop);
1091 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, factImplies__guards_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prop);
1092 N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg, getMagic__trees_137)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op);
1093 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, tilde___guards_990)(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA x);
1094 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesIsNil__guards_902)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eq);
1095 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, valueIsNil__guards_891)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1096 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1097 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesEq__guards_767)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eq);
1098 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocation__guards_53)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1099 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValue__guards_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1100 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, valuesUnequal__guards_763)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1101 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_119)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1102 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inSet__nimsets_7)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elem);
1103 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesLe__guards_948)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c);
1104 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_135)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1105 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesGe__guards_918)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c);
1106 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pred__guards_325)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1107 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1108 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesLt__guards_975)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c);
1109 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesIn__guards_864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet);
1110 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, compareSets__guards_857)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1111 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, equalSets__nimsets_216)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1112 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, intersectSets__nimsets_195)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1113 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, leImpliesIn__guards_795)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet);
1114 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3727)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_Int128__9a9axPfb75jdWY25AamJewkA intVal);
1115 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1116 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, geImpliesIn__guards_824)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet);
1117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
1118 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1119 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_305)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1120 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1121 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1122 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1378)(NI arg);
1123 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
1124 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, neg__guards_126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1125 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, swapArgs__guards_117)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newOp);
1126 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1127 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1128 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1129 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1130 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1131 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1132 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildCall__guards_185)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
1133 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canon__guards_345)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1134 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1135 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1136 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1137 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildCall__guards_191)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1138 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, minusOne__guards_259)(void);
1139 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, negate__guards_231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1140 N_LIB_PRIVATE N_NIMCALL(NI64, barplusbar___saturate_1)(NI64 a, NI64 b);
1141 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reassociation__guards_290)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1142 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barplusbar___guards_199)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1143 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barstarbar___guards_215)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1144 N_LIB_PRIVATE N_NIMCALL(NI64, barstarbar___saturate_52)(NI64 a, NI64 b);
1145 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, zero__guards_255)(void);
1146 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLetLocation__guards_94)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m, NIM_BOOL isApprox);
1147 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstExpr__trees_146)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1148 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLet__guards_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1149 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVar__guards_75)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1150 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barminusbar___guards_207)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1151 N_LIB_PRIVATE N_NIMCALL(NI64, barminusbar___saturate_13)(NI64 a, NI64 b);
1152 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, ple__guards_1104)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1153 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1154 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
1155 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, one__guards_257)(void);
1156 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, bardivbar___guards_223)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1157 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMinusOne__guards_1093)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1158 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, pleViaModel__guards_1100)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q model, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb);
1159 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1160 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1161 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1162 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
1163 static N_NIMCALL(void, Marker_tySequence__nw2ozGiJbajPUc4Cj4vzYw)(void* p, NI op);
1164 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyReplacements__guards_1437)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__nw2ozGiJbajPUc4Cj4vzYw* rep);
1165 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceSubTree__guards_1425)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* by);
1166 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
1167 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, pleViaModelRec__guards_1479)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1168 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildProperFieldCheck__guards_1774)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1169 N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
1170 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1171 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
1172 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOf__guards_1651)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loc, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1173 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, settype__guards_1647)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1174 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1175 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1176 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildElse__guards_1673)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1177 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, usefulFact__guards_499)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o);
1178 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1179 N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_609)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn);
1180 N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_1634)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1181 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__6PEpSVg5zYQiUPcMieikwQ_2 = {
1182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1183 0x40, 0x42, 0x92, 0x18, 0x00, 0x00, 0x90, 0x00,
1184 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1186 0x00, 0x00, 0x00}
1187 ;
1188 static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__6PEpSVg5zYQiUPcMieikwQ_3 = {((NI) 1),
1189 ((NI) 2)}
1190 ;
1191 static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__6PEpSVg5zYQiUPcMieikwQ_4 = {((NI) 2),
1192 ((NI) 1)}
1193 ;
1194 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__6PEpSVg5zYQiUPcMieikwQ_5 = {
1195 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1196 0x00}
1197 ;
1198 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__6PEpSVg5zYQiUPcMieikwQ_6 = {
1199 0x00, 0x02, 0x00, 0x00, 0xf0, 0xc0, 0xfb, 0x81,
1200 0x41, 0x42, 0x92, 0x18, 0x00, 0x00, 0x90, 0x00,
1201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1203 0x00, 0x00, 0x00}
1204 ;
1205 N_LIB_PRIVATE NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg someAdd__guards_21 = {
1206 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x28, 0x00,
1207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1210 0x00, 0x00, 0x00}
1211 ;
1212 N_LIB_PRIVATE NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg someMul__guards_23 = {
1213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
1214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1217 0x00, 0x00, 0x00}
1218 ;
1219 N_LIB_PRIVATE TNimType NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_;
1220 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
1221 N_LIB_PRIVATE TNimType NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_;
1222 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
1223 STRING_LITERAL(TM__6PEpSVg5zYQiUPcMieikwQ_9, "/home/runner/work/nightlies/nightlies/nim/compiler/guards.nim", 61);
1224 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6PEpSVg5zYQiUPcMieikwQ_8 = {((NimStringDesc*) &TM__6PEpSVg5zYQiUPcMieikwQ_9),
1225 ((NI) 1058),
1226 ((NI) 13)}
1227 ;
1228 static NIM_CONST tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g TM__6PEpSVg5zYQiUPcMieikwQ_10 = {((NI32) -1), ((NI32) -1)}
1229 ;
1230 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_NIMCALL(NIM_BOOL,sameOpr__guards_640)1231 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameOpr__guards_640)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
1232 	NIM_BOOL result;
1233 	result = (NIM_BOOL)0;
1234 	switch ((*a).magic) {
1235 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
1236 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
1237 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
1238 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
1239 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
1240 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
1241 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
1242 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
1243 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
1244 	{
1245 		result = ((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)((*b).magic)>>3] &(1U<<((NU)((*b).magic)&7U)))!=0);
1246 	}
1247 	break;
1248 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
1249 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
1250 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
1251 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
1252 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
1253 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
1254 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
1255 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
1256 	{
1257 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117));
1258 	}
1259 	break;
1260 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
1261 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
1262 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
1263 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
1264 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
1265 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
1266 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
1267 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
1268 	{
1269 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118));
1270 	}
1271 	break;
1272 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
1273 	{
1274 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
1275 	}
1276 	break;
1277 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
1278 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
1279 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
1280 	{
1281 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
1282 	}
1283 	break;
1284 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
1285 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
1286 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
1287 	{
1288 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52));
1289 	}
1290 	break;
1291 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
1292 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
1293 	{
1294 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55));
1295 	}
1296 	break;
1297 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49):
1298 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56):
1299 	{
1300 		result = ((*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49) || (*b).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56));
1301 	}
1302 	break;
1303 	default:
1304 	{
1305 		result = (a == b);
1306 	}
1307 	break;
1308 	}
1309 	return result;
1310 }
N_INLINE(int,nimCmpMem)1311 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
1312 	int result;
1313 	result = (int)0;
1314 	result = memcmp(a, b, ((size_t) (size)));
1315 	return result;
1316 }
N_INLINE(NIM_BOOL,equalMem__system_1735)1317 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
1318 	NIM_BOOL result;
1319 	int T1_;
1320 	result = (NIM_BOOL)0;
1321 	T1_ = (int)0;
1322 	T1_ = nimCmpMem(a, b, size);
1323 	result = (T1_ == ((NI32) 0));
1324 	return result;
1325 }
N_INLINE(NIM_BOOL,eqStrings)1326 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
1327 	NIM_BOOL result;
1328 	NI alen;
1329 	NI blen;
1330 {	result = (NIM_BOOL)0;
1331 	alen = (a ? a->Sup.len : 0);
1332 	blen = (b ? b->Sup.len : 0);
1333 	{
1334 		if (!(alen == blen)) goto LA3_;
1335 		{
1336 			if (!(alen == ((NI) 0))) goto LA7_;
1337 			result = NIM_TRUE;
1338 			goto BeforeRet_;
1339 		}
1340 		LA7_: ;
1341 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
1342 		goto BeforeRet_;
1343 	}
1344 	LA3_: ;
1345 	}BeforeRet_: ;
1346 	return result;
1347 }
N_INLINE(NI,len__ast_3198)1348 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1349 	NI result;
1350 	NI T1_;
1351 	result = (NI)0;
1352 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1353 	result = T1_;
1354 	return result;
1355 }
N_NIMCALL(NIM_BOOL,sameTree__guards_680)1356 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_680)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
1357 	NIM_BOOL result;
1358 {	result = (NIM_BOOL)0;
1359 	result = NIM_FALSE;
1360 	{
1361 		if (!(a == b)) goto LA3_;
1362 		result = NIM_TRUE;
1363 	}
1364 	goto LA1_;
1365 	LA3_: ;
1366 	{
1367 		NIM_BOOL T6_;
1368 		NIM_BOOL T7_;
1369 		T6_ = (NIM_BOOL)0;
1370 		T7_ = (NIM_BOOL)0;
1371 		T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1372 		if (!(T7_)) goto LA8_;
1373 		T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1374 		LA8_: ;
1375 		T6_ = T7_;
1376 		if (!(T6_)) goto LA9_;
1377 		T6_ = ((*a).kind == (*b).kind);
1378 		LA9_: ;
1379 		if (!T6_) goto LA10_;
1380 		switch ((*a).kind) {
1381 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1382 		{
1383 			result = ((*a)._kind_4.sym == (*b)._kind_4.sym);
1384 			{
1385 				NIM_BOOL T15_;
1386 				NIM_BOOL T19_;
1387 				T15_ = (NIM_BOOL)0;
1388 				T15_ = !(result);
1389 				if (!(T15_)) goto LA16_;
1390 				T15_ = !(((*(*a)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
1391 				LA16_: ;
1392 				if (!T15_) goto LA17_;
1393 				T19_ = (NIM_BOOL)0;
1394 				T19_ = ((*(*a)._kind_4.sym).magic == (*(*b)._kind_4.sym).magic);
1395 				if (T19_) goto LA20_;
1396 				T19_ = sameOpr__guards_640((*a)._kind_4.sym, (*b)._kind_4.sym);
1397 				LA20_: ;
1398 				result = T19_;
1399 			}
1400 			LA17_: ;
1401 		}
1402 		break;
1403 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1404 		{
1405 			result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
1406 		}
1407 		break;
1408 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
1409 		{
1410 			result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
1411 		}
1412 		break;
1413 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
1414 		{
1415 			result = ((*a)._kind_2.floatVal == (*b)._kind_2.floatVal);
1416 		}
1417 		break;
1418 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
1419 		{
1420 			result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
1421 		}
1422 		break;
1423 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
1424 		{
1425 			result = ((*a).typ == (*b).typ);
1426 		}
1427 		break;
1428 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
1429 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1430 		{
1431 			result = NIM_TRUE;
1432 		}
1433 		break;
1434 		default:
1435 		{
1436 			{
1437 				NI T30_;
1438 				NI T31_;
1439 				T30_ = (NI)0;
1440 				T30_ = len__ast_3198(a);
1441 				T31_ = (NI)0;
1442 				T31_ = len__ast_3198(b);
1443 				if (!(T30_ == T31_)) goto LA32_;
1444 				{
1445 					NI i;
1446 					NI colontmp_;
1447 					NI i_2;
1448 					i = (NI)0;
1449 					colontmp_ = (NI)0;
1450 					colontmp_ = len__ast_3198(a);
1451 					i_2 = ((NI) 0);
1452 					{
1453 						while (1) {
1454 							if (!(i_2 < colontmp_)) goto LA36;
1455 							i = i_2;
1456 							{
1457 								NIM_BOOL T39_;
1458 								T39_ = (NIM_BOOL)0;
1459 								T39_ = sameTree__guards_680((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i]);
1460 								if (!!(T39_)) goto LA40_;
1461 								goto BeforeRet_;
1462 							}
1463 							LA40_: ;
1464 							i_2 += ((NI) 1);
1465 						} LA36: ;
1466 					}
1467 				}
1468 				result = NIM_TRUE;
1469 			}
1470 			LA32_: ;
1471 		}
1472 		break;
1473 		}
1474 	}
1475 	goto LA1_;
1476 	LA10_: ;
1477 	LA1_: ;
1478 	}BeforeRet_: ;
1479 	return result;
1480 }
N_NIMCALL(NIM_BOOL,hasSubTree__guards_732)1481 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubTree__guards_732)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
1482 	NIM_BOOL result;
1483 {	result = (NIM_BOOL)0;
1484 	{
1485 		NIM_BOOL T3_;
1486 		T3_ = (NIM_BOOL)0;
1487 		T3_ = sameTree__guards_680(n, x);
1488 		if (!T3_) goto LA4_;
1489 		result = NIM_TRUE;
1490 	}
1491 	goto LA1_;
1492 	LA4_: ;
1493 	{
1494 		switch ((*n).kind) {
1495 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1496 		{
1497 			result = sameTree__guards_680(n, x);
1498 		}
1499 		break;
1500 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
1501 		{
1502 		}
1503 		break;
1504 		default:
1505 		{
1506 			{
1507 				NI i;
1508 				NI colontmp_;
1509 				NI i_2;
1510 				i = (NI)0;
1511 				colontmp_ = (NI)0;
1512 				colontmp_ = len__ast_3198(n);
1513 				i_2 = ((NI) 0);
1514 				{
1515 					while (1) {
1516 						if (!(i_2 < colontmp_)) goto LA12;
1517 						i = i_2;
1518 						{
1519 							NIM_BOOL T15_;
1520 							T15_ = (NIM_BOOL)0;
1521 							T15_ = hasSubTree__guards_732((*n)._kind_6.sons->data[i], x);
1522 							if (!T15_) goto LA16_;
1523 							result = NIM_TRUE;
1524 							goto BeforeRet_;
1525 						}
1526 						LA16_: ;
1527 						i_2 += ((NI) 1);
1528 					} LA12: ;
1529 				}
1530 			}
1531 		}
1532 		break;
1533 		}
1534 	}
1535 	LA1_: ;
1536 	}BeforeRet_: ;
1537 	return result;
1538 }
N_INLINE(NI,pluspercent___system_696)1539 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1540 	NI result;
1541 	result = (NI)0;
1542 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1543 	return result;
1544 }
N_INLINE(void,incRef__system_5308)1545 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1546 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1547 }
N_INLINE(NI,minuspercent___system_716)1548 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1549 	NI result;
1550 	result = (NI)0;
1551 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1552 	return result;
1553 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1554 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1555 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1556 	NI T1_;
1557 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1558 	T1_ = (NI)0;
1559 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1560 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1561 	return result;
1562 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1563 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1564 	NIM_BOOL result;
1565 	result = (NIM_BOOL)0;
1566 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1567 	return result;
1568 }
N_INLINE(void,rtlAddZCT__system_5313)1569 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1570 	addZCT__system_5264((&gch__system_5217.zct), c);
1571 }
N_INLINE(void,decRef__system_5315)1572 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1573 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1574 	{
1575 		NIM_BOOL T3_;
1576 		T3_ = (NIM_BOOL)0;
1577 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1578 		if (!T3_) goto LA4_;
1579 		rtlAddZCT__system_5313(c);
1580 	}
1581 	LA4_: ;
1582 }
N_INLINE(void,asgnRef)1583 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1584 	{
1585 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1586 		if (!!((src == NIM_NIL))) goto LA3_;
1587 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1588 		T5_ = usrToCell__system_5270(src);
1589 		incRef__system_5308(T5_);
1590 	}
1591 	LA3_: ;
1592 	{
1593 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1594 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1595 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1596 		T10_ = usrToCell__system_5270((*dest));
1597 		decRef__system_5315(T10_);
1598 	}
1599 	LA8_: ;
1600 	(*dest) = src;
1601 }
N_NIMCALL(void,invalidateFacts__guards_745)1602 N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_745)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1603 	{
1604 		NI i;
1605 		NI colontmp_;
1606 		NI T2_;
1607 		NI res;
1608 		i = (NI)0;
1609 		colontmp_ = (NI)0;
1610 		T2_ = (((*s) ? (*s)->Sup.len : 0)-1);
1611 		colontmp_ = T2_;
1612 		res = ((NI) 0);
1613 		{
1614 			while (1) {
1615 				if (!(res <= colontmp_)) goto LA4;
1616 				i = res;
1617 				{
1618 					NIM_BOOL T7_;
1619 					T7_ = (NIM_BOOL)0;
1620 					T7_ = !(((*s)->data[i] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1621 					if (!(T7_)) goto LA8_;
1622 					T7_ = hasSubTree__guards_732((*s)->data[i], n);
1623 					LA8_: ;
1624 					if (!T7_) goto LA9_;
1625 					asgnRef((void**) (&(*s)->data[i]), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
1626 				}
1627 				LA9_: ;
1628 				res += ((NI) 1);
1629 			} LA4: ;
1630 		}
1631 	}
1632 }
N_NIMCALL(void,invalidateFacts__guards_760)1633 N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_760)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1634 	invalidateFacts__guards_745((&(*m).s), n);
1635 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,tilde___guards_990)1636 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, tilde___guards_990)(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA x) {
1637 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
1638 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
1639 	switch (x) {
1640 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0):
1641 	{
1642 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
1643 	}
1644 	break;
1645 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1):
1646 	{
1647 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1648 	}
1649 	break;
1650 	case ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2):
1651 	{
1652 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1653 	}
1654 	break;
1655 	}
1656 	return result;
1657 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,valueIsNil__guards_891)1658 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, valueIsNil__guards_891)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1659 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
1660 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
1661 	{
1662 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1663 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1664 	}
1665 	goto LA1_;
1666 	LA3_: ;
1667 	{
1668 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38))) goto LA6_;
1669 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1670 	}
1671 	goto LA1_;
1672 	LA6_: ;
1673 	{
1674 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
1675 	}
1676 	LA1_: ;
1677 	return result;
1678 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesIsNil__guards_902)1679 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesIsNil__guards_902)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eq) {
1680 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
1681 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
1682 	switch ((*(*(*fact)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
1683 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
1684 	{
1685 		{
1686 			NIM_BOOL T4_;
1687 			T4_ = (NIM_BOOL)0;
1688 			T4_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[((NI) 1)]);
1689 			if (!T4_) goto LA5_;
1690 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1691 		}
1692 		LA5_: ;
1693 	}
1694 	break;
1695 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
1696 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
1697 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
1698 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
1699 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
1700 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
1701 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
1702 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
1703 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
1704 	{
1705 		{
1706 			NIM_BOOL T10_;
1707 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
1708 			T10_ = (NIM_BOOL)0;
1709 			T10_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[((NI) 1)]);
1710 			if (!T10_) goto LA11_;
1711 			T13_ = NIM_NIL;
1712 			T13_ = skipConv__types_3588((*fact)._kind_6.sons->data[((NI) 2)]);
1713 			result = valueIsNil__guards_891(T13_);
1714 		}
1715 		goto LA8_;
1716 		LA11_: ;
1717 		{
1718 			NIM_BOOL T15_;
1719 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
1720 			T15_ = (NIM_BOOL)0;
1721 			T15_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], (*eq)._kind_6.sons->data[((NI) 1)]);
1722 			if (!T15_) goto LA16_;
1723 			T18_ = NIM_NIL;
1724 			T18_ = skipConv__types_3588((*fact)._kind_6.sons->data[((NI) 1)]);
1725 			result = valueIsNil__guards_891(T18_);
1726 		}
1727 		goto LA8_;
1728 		LA16_: ;
1729 		LA8_: ;
1730 	}
1731 	break;
1732 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
1733 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
1734 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
1735 	{
1736 	}
1737 	break;
1738 	default:
1739 	{
1740 	}
1741 	break;
1742 	}
1743 	return result;
1744 }
N_NIMCALL(NIM_BOOL,isValue__guards_46)1745 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValue__guards_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1746 	NIM_BOOL result;
1747 	result = (NIM_BOOL)0;
1748 	result = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
1749 	return result;
1750 }
N_NIMCALL(NIM_BOOL,isLocation__guards_53)1751 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocation__guards_53)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1752 	NIM_BOOL result;
1753 	NIM_BOOL T1_;
1754 	result = (NIM_BOOL)0;
1755 	T1_ = (NIM_BOOL)0;
1756 	T1_ = isValue__guards_46(n);
1757 	result = !(T1_);
1758 	return result;
1759 }
N_NIMCALL(NIM_BOOL,valuesUnequal__guards_763)1760 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, valuesUnequal__guards_763)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
1761 	NIM_BOOL result;
1762 	result = (NIM_BOOL)0;
1763 	{
1764 		NIM_BOOL T3_;
1765 		NIM_BOOL T7_;
1766 		T3_ = (NIM_BOOL)0;
1767 		T3_ = isValue__guards_46(a);
1768 		if (!(T3_)) goto LA4_;
1769 		T3_ = isValue__guards_46(b);
1770 		LA4_: ;
1771 		if (!T3_) goto LA5_;
1772 		T7_ = (NIM_BOOL)0;
1773 		T7_ = sameValue__astalgo_119(a, b);
1774 		result = !(T7_);
1775 	}
1776 	LA5_: ;
1777 	return result;
1778 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesEq__guards_767)1779 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesEq__guards_767)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eq) {
1780 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
1781 	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T1_;
1782 	NI loc;
1783 	NI val;
1784 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
1785 	{
1786 		NIM_BOOL T4_;
1787 		T4_ = (NIM_BOOL)0;
1788 		T4_ = isLocation__guards_53((*eq)._kind_6.sons->data[((NI) 1)]);
1789 		if (!T4_) goto LA5_;
1790 		T1_ = TM__6PEpSVg5zYQiUPcMieikwQ_3;
1791 	}
1792 	goto LA2_;
1793 	LA5_: ;
1794 	{
1795 		T1_ = TM__6PEpSVg5zYQiUPcMieikwQ_4;
1796 	}
1797 	LA2_: ;
1798 	loc = T1_.Field0;
1799 	val = T1_.Field1;
1800 	switch ((*(*(*fact)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
1801 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
1802 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
1803 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
1804 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
1805 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
1806 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
1807 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
1808 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
1809 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
1810 	{
1811 		{
1812 			NIM_BOOL T11_;
1813 			T11_ = (NIM_BOOL)0;
1814 			T11_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[loc]);
1815 			if (!T11_) goto LA12_;
1816 			{
1817 				NIM_BOOL T16_;
1818 				T16_ = (NIM_BOOL)0;
1819 				T16_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], (*eq)._kind_6.sons->data[val]);
1820 				if (!T16_) goto LA17_;
1821 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1822 			}
1823 			goto LA14_;
1824 			LA17_: ;
1825 			{
1826 				NIM_BOOL T20_;
1827 				T20_ = (NIM_BOOL)0;
1828 				T20_ = valuesUnequal__guards_763((*fact)._kind_6.sons->data[((NI) 2)], (*eq)._kind_6.sons->data[val]);
1829 				if (!T20_) goto LA21_;
1830 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1831 			}
1832 			goto LA14_;
1833 			LA21_: ;
1834 			LA14_: ;
1835 		}
1836 		goto LA9_;
1837 		LA12_: ;
1838 		{
1839 			NIM_BOOL T24_;
1840 			T24_ = (NIM_BOOL)0;
1841 			T24_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], (*eq)._kind_6.sons->data[loc]);
1842 			if (!T24_) goto LA25_;
1843 			{
1844 				NIM_BOOL T29_;
1845 				T29_ = (NIM_BOOL)0;
1846 				T29_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[val]);
1847 				if (!T29_) goto LA30_;
1848 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1849 			}
1850 			goto LA27_;
1851 			LA30_: ;
1852 			{
1853 				NIM_BOOL T33_;
1854 				T33_ = (NIM_BOOL)0;
1855 				T33_ = valuesUnequal__guards_763((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[val]);
1856 				if (!T33_) goto LA34_;
1857 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1858 			}
1859 			goto LA27_;
1860 			LA34_: ;
1861 			LA27_: ;
1862 		}
1863 		goto LA9_;
1864 		LA25_: ;
1865 		LA9_: ;
1866 	}
1867 	break;
1868 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
1869 	{
1870 		{
1871 			NIM_BOOL T39_;
1872 			T39_ = (NIM_BOOL)0;
1873 			T39_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], (*eq)._kind_6.sons->data[loc]);
1874 			if (!(T39_)) goto LA40_;
1875 			T39_ = isValue__guards_46((*eq)._kind_6.sons->data[val]);
1876 			LA40_: ;
1877 			if (!T39_) goto LA41_;
1878 			{
1879 				NIM_BOOL T45_;
1880 				T45_ = (NIM_BOOL)0;
1881 				T45_ = inSet__nimsets_7((*fact)._kind_6.sons->data[((NI) 1)], (*eq)._kind_6.sons->data[val]);
1882 				if (!T45_) goto LA46_;
1883 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1884 			}
1885 			goto LA43_;
1886 			LA46_: ;
1887 			{
1888 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1889 			}
1890 			LA43_: ;
1891 		}
1892 		LA41_: ;
1893 	}
1894 	break;
1895 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
1896 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
1897 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
1898 	{
1899 	}
1900 	break;
1901 	default:
1902 	{
1903 	}
1904 	break;
1905 	}
1906 	return result;
1907 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pred__guards_325)1908 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pred__guards_325)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1909 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1910 	result = NIM_NIL;
1911 	{
1912 		NIM_BOOL T3_;
1913 		T3_ = (NIM_BOOL)0;
1914 		T3_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
1915 		if (!(T3_)) goto LA4_;
1916 		T3_ = !(((*n)._kind_1.intVal == (IL64(-9223372036854775807) - IL64(1))));
1917 		LA4_: ;
1918 		if (!T3_) goto LA5_;
1919 		result = copyNode__ast_4336(n);
1920 		(*result)._kind_1.intVal -= ((NI) 1);
1921 	}
1922 	goto LA1_;
1923 	LA5_: ;
1924 	{
1925 		result = n;
1926 	}
1927 	LA1_: ;
1928 	return result;
1929 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesGe__guards_918)1930 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesGe__guards_918)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c) {
1931 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
1932 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
1933 	switch ((*(*(*fact)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
1934 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
1935 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
1936 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
1937 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
1938 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
1939 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
1940 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
1941 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
1942 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
1943 	{
1944 		{
1945 			NIM_BOOL T4_;
1946 			T4_ = (NIM_BOOL)0;
1947 			T4_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
1948 			if (!T4_) goto LA5_;
1949 			{
1950 				NIM_BOOL T9_;
1951 				T9_ = (NIM_BOOL)0;
1952 				T9_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
1953 				if (!(T9_)) goto LA10_;
1954 				T9_ = isValue__guards_46(c);
1955 				LA10_: ;
1956 				if (!T9_) goto LA11_;
1957 				{
1958 					NIM_BOOL T15_;
1959 					T15_ = (NIM_BOOL)0;
1960 					T15_ = leValue__astalgo_135(c, (*fact)._kind_6.sons->data[((NI) 2)]);
1961 					if (!T15_) goto LA16_;
1962 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1963 				}
1964 				goto LA13_;
1965 				LA16_: ;
1966 				{
1967 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1968 				}
1969 				LA13_: ;
1970 			}
1971 			LA11_: ;
1972 		}
1973 		goto LA2_;
1974 		LA5_: ;
1975 		{
1976 			NIM_BOOL T20_;
1977 			T20_ = (NIM_BOOL)0;
1978 			T20_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
1979 			if (!T20_) goto LA21_;
1980 			{
1981 				NIM_BOOL T25_;
1982 				T25_ = (NIM_BOOL)0;
1983 				T25_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
1984 				if (!(T25_)) goto LA26_;
1985 				T25_ = isValue__guards_46(c);
1986 				LA26_: ;
1987 				if (!T25_) goto LA27_;
1988 				{
1989 					NIM_BOOL T31_;
1990 					T31_ = (NIM_BOOL)0;
1991 					T31_ = leValue__astalgo_135(c, (*fact)._kind_6.sons->data[((NI) 1)]);
1992 					if (!T31_) goto LA32_;
1993 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
1994 				}
1995 				goto LA29_;
1996 				LA32_: ;
1997 				{
1998 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
1999 				}
2000 				LA29_: ;
2001 			}
2002 			LA27_: ;
2003 		}
2004 		goto LA2_;
2005 		LA21_: ;
2006 		LA2_: ;
2007 	}
2008 	break;
2009 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
2010 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
2011 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
2012 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
2013 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
2014 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
2015 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
2016 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
2017 	{
2018 		{
2019 			NIM_BOOL T38_;
2020 			T38_ = (NIM_BOOL)0;
2021 			T38_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
2022 			if (!T38_) goto LA39_;
2023 			{
2024 				NIM_BOOL T43_;
2025 				T43_ = (NIM_BOOL)0;
2026 				T43_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
2027 				if (!(T43_)) goto LA44_;
2028 				T43_ = isValue__guards_46(c);
2029 				LA44_: ;
2030 				if (!T43_) goto LA45_;
2031 				{
2032 					NIM_BOOL T49_;
2033 					T49_ = (NIM_BOOL)0;
2034 					T49_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 2)], c);
2035 					if (!T49_) goto LA50_;
2036 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2037 				}
2038 				LA50_: ;
2039 			}
2040 			LA45_: ;
2041 		}
2042 		goto LA36_;
2043 		LA39_: ;
2044 		{
2045 			NIM_BOOL T53_;
2046 			T53_ = (NIM_BOOL)0;
2047 			T53_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
2048 			if (!T53_) goto LA54_;
2049 			{
2050 				NIM_BOOL T58_;
2051 				T58_ = (NIM_BOOL)0;
2052 				T58_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
2053 				if (!(T58_)) goto LA59_;
2054 				T58_ = isValue__guards_46(c);
2055 				LA59_: ;
2056 				if (!T58_) goto LA60_;
2057 				{
2058 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T64_;
2059 					NIM_BOOL T65_;
2060 					T64_ = NIM_NIL;
2061 					T64_ = pred__guards_325(c);
2062 					T65_ = (NIM_BOOL)0;
2063 					T65_ = leValue__astalgo_135(T64_, (*fact)._kind_6.sons->data[((NI) 1)]);
2064 					if (!T65_) goto LA66_;
2065 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2066 				}
2067 				LA66_: ;
2068 			}
2069 			LA60_: ;
2070 		}
2071 		goto LA36_;
2072 		LA54_: ;
2073 		LA36_: ;
2074 	}
2075 	break;
2076 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
2077 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
2078 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
2079 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
2080 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
2081 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
2082 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
2083 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
2084 	{
2085 		{
2086 			NIM_BOOL T71_;
2087 			T71_ = (NIM_BOOL)0;
2088 			T71_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
2089 			if (!T71_) goto LA72_;
2090 			{
2091 				NIM_BOOL T76_;
2092 				T76_ = (NIM_BOOL)0;
2093 				T76_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
2094 				if (!(T76_)) goto LA77_;
2095 				T76_ = isValue__guards_46(c);
2096 				LA77_: ;
2097 				if (!T76_) goto LA78_;
2098 				{
2099 					NIM_BOOL T82_;
2100 					T82_ = (NIM_BOOL)0;
2101 					T82_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 2)], c);
2102 					if (!T82_) goto LA83_;
2103 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2104 				}
2105 				LA83_: ;
2106 			}
2107 			LA78_: ;
2108 		}
2109 		goto LA69_;
2110 		LA72_: ;
2111 		{
2112 			NIM_BOOL T86_;
2113 			T86_ = (NIM_BOOL)0;
2114 			T86_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
2115 			if (!T86_) goto LA87_;
2116 			{
2117 				NIM_BOOL T91_;
2118 				T91_ = (NIM_BOOL)0;
2119 				T91_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
2120 				if (!(T91_)) goto LA92_;
2121 				T91_ = isValue__guards_46(c);
2122 				LA92_: ;
2123 				if (!T91_) goto LA93_;
2124 				{
2125 					NIM_BOOL T97_;
2126 					T97_ = (NIM_BOOL)0;
2127 					T97_ = leValue__astalgo_135(c, (*fact)._kind_6.sons->data[((NI) 1)]);
2128 					if (!T97_) goto LA98_;
2129 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2130 				}
2131 				LA98_: ;
2132 			}
2133 			LA93_: ;
2134 		}
2135 		goto LA69_;
2136 		LA87_: ;
2137 		LA69_: ;
2138 	}
2139 	break;
2140 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2141 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
2142 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2143 	{
2144 	}
2145 	break;
2146 	default:
2147 	{
2148 	}
2149 	break;
2150 	}
2151 	return result;
2152 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesLe__guards_948)2153 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesLe__guards_948)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c) {
2154 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2155 {	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2156 	{
2157 		NIM_BOOL T3_;
2158 		T3_ = (NIM_BOOL)0;
2159 		T3_ = isLocation__guards_53(x);
2160 		if (!!(T3_)) goto LA4_;
2161 		{
2162 			NIM_BOOL T8_;
2163 			T8_ = (NIM_BOOL)0;
2164 			T8_ = isValue__guards_46(c);
2165 			if (!T8_) goto LA9_;
2166 			{
2167 				NIM_BOOL T13_;
2168 				T13_ = (NIM_BOOL)0;
2169 				T13_ = leValue__astalgo_135(x, x);
2170 				if (!T13_) goto LA14_;
2171 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2172 				goto BeforeRet_;
2173 			}
2174 			goto LA11_;
2175 			LA14_: ;
2176 			{
2177 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2178 				goto BeforeRet_;
2179 			}
2180 			LA11_: ;
2181 		}
2182 		LA9_: ;
2183 		result = impliesGe__guards_918(fact, c, x);
2184 		goto BeforeRet_;
2185 	}
2186 	LA4_: ;
2187 	switch ((*(*(*fact)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
2188 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
2189 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
2190 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
2191 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
2192 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
2193 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
2194 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
2195 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
2196 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
2197 	{
2198 		{
2199 			NIM_BOOL T20_;
2200 			T20_ = (NIM_BOOL)0;
2201 			T20_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
2202 			if (!T20_) goto LA21_;
2203 			{
2204 				NIM_BOOL T25_;
2205 				T25_ = (NIM_BOOL)0;
2206 				T25_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
2207 				if (!(T25_)) goto LA26_;
2208 				T25_ = isValue__guards_46(c);
2209 				LA26_: ;
2210 				if (!T25_) goto LA27_;
2211 				{
2212 					NIM_BOOL T31_;
2213 					T31_ = (NIM_BOOL)0;
2214 					T31_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 2)], c);
2215 					if (!T31_) goto LA32_;
2216 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2217 				}
2218 				goto LA29_;
2219 				LA32_: ;
2220 				{
2221 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2222 				}
2223 				LA29_: ;
2224 			}
2225 			LA27_: ;
2226 		}
2227 		goto LA18_;
2228 		LA21_: ;
2229 		{
2230 			NIM_BOOL T36_;
2231 			T36_ = (NIM_BOOL)0;
2232 			T36_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
2233 			if (!T36_) goto LA37_;
2234 			{
2235 				NIM_BOOL T41_;
2236 				T41_ = (NIM_BOOL)0;
2237 				T41_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
2238 				if (!(T41_)) goto LA42_;
2239 				T41_ = isValue__guards_46(c);
2240 				LA42_: ;
2241 				if (!T41_) goto LA43_;
2242 				{
2243 					NIM_BOOL T47_;
2244 					T47_ = (NIM_BOOL)0;
2245 					T47_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 1)], c);
2246 					if (!T47_) goto LA48_;
2247 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2248 				}
2249 				goto LA45_;
2250 				LA48_: ;
2251 				{
2252 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2253 				}
2254 				LA45_: ;
2255 			}
2256 			LA43_: ;
2257 		}
2258 		goto LA18_;
2259 		LA37_: ;
2260 		LA18_: ;
2261 	}
2262 	break;
2263 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
2264 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
2265 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
2266 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
2267 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
2268 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
2269 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
2270 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
2271 	{
2272 		{
2273 			NIM_BOOL T54_;
2274 			T54_ = (NIM_BOOL)0;
2275 			T54_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
2276 			if (!T54_) goto LA55_;
2277 			{
2278 				NIM_BOOL T59_;
2279 				T59_ = (NIM_BOOL)0;
2280 				T59_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
2281 				if (!(T59_)) goto LA60_;
2282 				T59_ = isValue__guards_46(c);
2283 				LA60_: ;
2284 				if (!T59_) goto LA61_;
2285 				{
2286 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T65_;
2287 					NIM_BOOL T66_;
2288 					T65_ = NIM_NIL;
2289 					T65_ = pred__guards_325(c);
2290 					T66_ = (NIM_BOOL)0;
2291 					T66_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 2)], T65_);
2292 					if (!T66_) goto LA67_;
2293 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2294 				}
2295 				LA67_: ;
2296 			}
2297 			LA61_: ;
2298 		}
2299 		goto LA52_;
2300 		LA55_: ;
2301 		{
2302 			NIM_BOOL T70_;
2303 			T70_ = (NIM_BOOL)0;
2304 			T70_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
2305 			if (!T70_) goto LA71_;
2306 			{
2307 				NIM_BOOL T75_;
2308 				T75_ = (NIM_BOOL)0;
2309 				T75_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
2310 				if (!(T75_)) goto LA76_;
2311 				T75_ = isValue__guards_46(c);
2312 				LA76_: ;
2313 				if (!T75_) goto LA77_;
2314 				{
2315 					NIM_BOOL T81_;
2316 					T81_ = (NIM_BOOL)0;
2317 					T81_ = leValue__astalgo_135(c, (*fact)._kind_6.sons->data[((NI) 1)]);
2318 					if (!T81_) goto LA82_;
2319 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2320 				}
2321 				LA82_: ;
2322 			}
2323 			LA77_: ;
2324 		}
2325 		goto LA52_;
2326 		LA71_: ;
2327 		LA52_: ;
2328 	}
2329 	break;
2330 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
2331 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
2332 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
2333 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
2334 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
2335 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
2336 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
2337 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
2338 	{
2339 		{
2340 			NIM_BOOL T87_;
2341 			T87_ = (NIM_BOOL)0;
2342 			T87_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], x);
2343 			if (!T87_) goto LA88_;
2344 			{
2345 				NIM_BOOL T92_;
2346 				T92_ = (NIM_BOOL)0;
2347 				T92_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 2)]);
2348 				if (!(T92_)) goto LA93_;
2349 				T92_ = isValue__guards_46(c);
2350 				LA93_: ;
2351 				if (!T92_) goto LA94_;
2352 				{
2353 					NIM_BOOL T98_;
2354 					T98_ = (NIM_BOOL)0;
2355 					T98_ = leValue__astalgo_135((*fact)._kind_6.sons->data[((NI) 2)], c);
2356 					if (!T98_) goto LA99_;
2357 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2358 				}
2359 				LA99_: ;
2360 			}
2361 			LA94_: ;
2362 		}
2363 		goto LA85_;
2364 		LA88_: ;
2365 		{
2366 			NIM_BOOL T102_;
2367 			T102_ = (NIM_BOOL)0;
2368 			T102_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], x);
2369 			if (!T102_) goto LA103_;
2370 			{
2371 				NIM_BOOL T107_;
2372 				T107_ = (NIM_BOOL)0;
2373 				T107_ = isValue__guards_46((*fact)._kind_6.sons->data[((NI) 1)]);
2374 				if (!(T107_)) goto LA108_;
2375 				T107_ = isValue__guards_46(c);
2376 				LA108_: ;
2377 				if (!T107_) goto LA109_;
2378 				{
2379 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T113_;
2380 					NIM_BOOL T114_;
2381 					T113_ = NIM_NIL;
2382 					T113_ = pred__guards_325((*fact)._kind_6.sons->data[((NI) 1)]);
2383 					T114_ = (NIM_BOOL)0;
2384 					T114_ = leValue__astalgo_135(c, T113_);
2385 					if (!T114_) goto LA115_;
2386 					result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2387 				}
2388 				LA115_: ;
2389 			}
2390 			LA109_: ;
2391 		}
2392 		goto LA85_;
2393 		LA103_: ;
2394 		LA85_: ;
2395 	}
2396 	break;
2397 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2398 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
2399 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2400 	{
2401 	}
2402 	break;
2403 	default:
2404 	{
2405 	}
2406 	break;
2407 	}
2408 	}BeforeRet_: ;
2409 	return result;
2410 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesLt__guards_975)2411 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesLt__guards_975)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c) {
2412 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2413 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
2414 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2415 	p = pred__guards_325(c);
2416 	{
2417 		if (!!((p == c))) goto LA3_;
2418 		result = impliesLe__guards_948(fact, x, p);
2419 	}
2420 	goto LA1_;
2421 	LA3_: ;
2422 	{
2423 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* q;
2424 		q = pred__guards_325(x);
2425 		{
2426 			if (!!((q == x))) goto LA8_;
2427 			result = impliesLe__guards_948(fact, q, c);
2428 		}
2429 		LA8_: ;
2430 	}
2431 	LA1_: ;
2432 	return result;
2433 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,compareSets__guards_857)2434 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, compareSets__guards_857)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
2435 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2436 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2437 	{
2438 		NIM_BOOL T3_;
2439 		T3_ = (NIM_BOOL)0;
2440 		T3_ = equalSets__nimsets_216(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a, b);
2441 		if (!T3_) goto LA4_;
2442 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2443 	}
2444 	goto LA1_;
2445 	LA4_: ;
2446 	{
2447 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
2448 		NI T8_;
2449 		T7_ = NIM_NIL;
2450 		T7_ = intersectSets__nimsets_195(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), a, b);
2451 		T8_ = (NI)0;
2452 		T8_ = len__ast_3198(T7_);
2453 		if (!(T8_ == ((NI) 0))) goto LA9_;
2454 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2455 	}
2456 	goto LA1_;
2457 	LA9_: ;
2458 	LA1_: ;
2459 	return result;
2460 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,leImpliesIn__guards_795)2461 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, leImpliesIn__guards_795)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet) {
2462 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2463 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2464 	{
2465 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
2466 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T5_;
2467 		if (!((*c).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*c).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
2468 		T5_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*x).typ);
2469 		value = newIntNode__ast_3727((*c).kind, T5_);
2470 		{
2471 			NI i;
2472 			NI pos;
2473 			NI neg;
2474 			if (!((NI64)((*c)._kind_1.intVal - (*value)._kind_1.intVal) < IL64(1000))) goto LA8_;
2475 			i = (NI)0;
2476 			pos = (NI)0;
2477 			neg = (NI)0;
2478 			{
2479 				while (1) {
2480 					if (!((*value)._kind_1.intVal <= (*c)._kind_1.intVal)) goto LA11;
2481 					{
2482 						NIM_BOOL T14_;
2483 						T14_ = (NIM_BOOL)0;
2484 						T14_ = inSet__nimsets_7(aSet, value);
2485 						if (!T14_) goto LA15_;
2486 						pos += ((NI) 1);
2487 					}
2488 					goto LA12_;
2489 					LA15_: ;
2490 					{
2491 						neg += ((NI) 1);
2492 					}
2493 					LA12_: ;
2494 					i += ((NI) 1);
2495 					(*value)._kind_1.intVal += ((NI) 1);
2496 				} LA11: ;
2497 			}
2498 			{
2499 				if (!(pos == i)) goto LA20_;
2500 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2501 			}
2502 			goto LA18_;
2503 			LA20_: ;
2504 			{
2505 				if (!(neg == i)) goto LA23_;
2506 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2507 			}
2508 			goto LA18_;
2509 			LA23_: ;
2510 			LA18_: ;
2511 		}
2512 		LA8_: ;
2513 	}
2514 	LA3_: ;
2515 	return result;
2516 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,geImpliesIn__guards_824)2517 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, geImpliesIn__guards_824)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet) {
2518 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2519 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2520 	{
2521 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
2522 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA max;
2523 		if (!((*c).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*c).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
2524 		value = newIntNode__ast_3723((*c).kind, (*c)._kind_1.intVal);
2525 		max = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*x).typ);
2526 		{
2527 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
2528 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T8_;
2529 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
2530 			NIM_BOOL T10_;
2531 			NI i;
2532 			NI pos;
2533 			NI neg;
2534 			T7_ = getInt__ast_4592(value);
2535 			T8_ = minus___int495056_474(max, T7_);
2536 			T9_ = toInt128__types_1378(((NI) 1000));
2537 			T10_ = (NIM_BOOL)0;
2538 			T10_ = lt___int495056_305(T8_, T9_);
2539 			if (!T10_) goto LA11_;
2540 			i = (NI)0;
2541 			pos = (NI)0;
2542 			neg = (NI)0;
2543 			{
2544 				while (1) {
2545 					NIM_BOOL T15_;
2546 					T15_ = (NIM_BOOL)0;
2547 					T15_ = lteq___int495056_752((*value)._kind_1.intVal, max);
2548 					if (!T15_) goto LA14;
2549 					{
2550 						NIM_BOOL T18_;
2551 						T18_ = (NIM_BOOL)0;
2552 						T18_ = inSet__nimsets_7(aSet, value);
2553 						if (!T18_) goto LA19_;
2554 						pos += ((NI) 1);
2555 					}
2556 					goto LA16_;
2557 					LA19_: ;
2558 					{
2559 						neg += ((NI) 1);
2560 					}
2561 					LA16_: ;
2562 					i += ((NI) 1);
2563 					(*value)._kind_1.intVal += ((NI) 1);
2564 				} LA14: ;
2565 			}
2566 			{
2567 				if (!(pos == i)) goto LA24_;
2568 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2569 			}
2570 			goto LA22_;
2571 			LA24_: ;
2572 			{
2573 				if (!(neg == i)) goto LA27_;
2574 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2575 			}
2576 			goto LA22_;
2577 			LA27_: ;
2578 			LA22_: ;
2579 		}
2580 		LA11_: ;
2581 	}
2582 	LA3_: ;
2583 	return result;
2584 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesIn__guards_864)2585 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesIn__guards_864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aSet) {
2586 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2587 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2588 	switch ((*(*(*fact)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
2589 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
2590 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
2591 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
2592 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
2593 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
2594 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
2595 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
2596 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
2597 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
2598 	{
2599 		{
2600 			NIM_BOOL T4_;
2601 			T4_ = (NIM_BOOL)0;
2602 			T4_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], loc);
2603 			if (!T4_) goto LA5_;
2604 			{
2605 				NIM_BOOL T9_;
2606 				T9_ = (NIM_BOOL)0;
2607 				T9_ = inSet__nimsets_7(aSet, (*fact)._kind_6.sons->data[((NI) 2)]);
2608 				if (!T9_) goto LA10_;
2609 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2610 			}
2611 			goto LA7_;
2612 			LA10_: ;
2613 			{
2614 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2615 			}
2616 			LA7_: ;
2617 		}
2618 		goto LA2_;
2619 		LA5_: ;
2620 		{
2621 			NIM_BOOL T14_;
2622 			T14_ = (NIM_BOOL)0;
2623 			T14_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], loc);
2624 			if (!T14_) goto LA15_;
2625 			{
2626 				NIM_BOOL T19_;
2627 				T19_ = (NIM_BOOL)0;
2628 				T19_ = inSet__nimsets_7(aSet, (*fact)._kind_6.sons->data[((NI) 1)]);
2629 				if (!T19_) goto LA20_;
2630 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
2631 			}
2632 			goto LA17_;
2633 			LA20_: ;
2634 			{
2635 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
2636 			}
2637 			LA17_: ;
2638 		}
2639 		goto LA2_;
2640 		LA15_: ;
2641 		LA2_: ;
2642 	}
2643 	break;
2644 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
2645 	{
2646 		{
2647 			NIM_BOOL T26_;
2648 			T26_ = (NIM_BOOL)0;
2649 			T26_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], loc);
2650 			if (!T26_) goto LA27_;
2651 			result = compareSets__guards_857((*fact)._kind_6.sons->data[((NI) 1)], aSet);
2652 		}
2653 		LA27_: ;
2654 	}
2655 	break;
2656 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
2657 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
2658 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
2659 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
2660 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
2661 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
2662 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
2663 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
2664 	{
2665 		{
2666 			NIM_BOOL T32_;
2667 			T32_ = (NIM_BOOL)0;
2668 			T32_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], loc);
2669 			if (!T32_) goto LA33_;
2670 			result = leImpliesIn__guards_795((*fact)._kind_6.sons->data[((NI) 1)], (*fact)._kind_6.sons->data[((NI) 2)], aSet);
2671 		}
2672 		goto LA30_;
2673 		LA33_: ;
2674 		{
2675 			NIM_BOOL T36_;
2676 			T36_ = (NIM_BOOL)0;
2677 			T36_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], loc);
2678 			if (!T36_) goto LA37_;
2679 			result = geImpliesIn__guards_824((*fact)._kind_6.sons->data[((NI) 2)], (*fact)._kind_6.sons->data[((NI) 1)], aSet);
2680 		}
2681 		goto LA30_;
2682 		LA37_: ;
2683 		LA30_: ;
2684 	}
2685 	break;
2686 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
2687 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
2688 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
2689 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
2690 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
2691 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
2692 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
2693 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
2694 	{
2695 		{
2696 			NIM_BOOL T42_;
2697 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T45_;
2698 			T42_ = (NIM_BOOL)0;
2699 			T42_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 1)], loc);
2700 			if (!T42_) goto LA43_;
2701 			T45_ = NIM_NIL;
2702 			T45_ = pred__guards_325((*fact)._kind_6.sons->data[((NI) 2)]);
2703 			result = leImpliesIn__guards_795((*fact)._kind_6.sons->data[((NI) 1)], T45_, aSet);
2704 		}
2705 		goto LA40_;
2706 		LA43_: ;
2707 		{
2708 			NIM_BOOL T47_;
2709 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
2710 			T47_ = (NIM_BOOL)0;
2711 			T47_ = sameTree__guards_680((*fact)._kind_6.sons->data[((NI) 2)], loc);
2712 			if (!T47_) goto LA48_;
2713 			T50_ = NIM_NIL;
2714 			T50_ = pred__guards_325((*fact)._kind_6.sons->data[((NI) 1)]);
2715 			result = geImpliesIn__guards_824((*fact)._kind_6.sons->data[((NI) 2)], T50_, aSet);
2716 		}
2717 		goto LA40_;
2718 		LA48_: ;
2719 		LA40_: ;
2720 	}
2721 	break;
2722 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2723 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
2724 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2725 	{
2726 	}
2727 	break;
2728 	default:
2729 	{
2730 	}
2731 	break;
2732 	}
2733 	return result;
2734 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,factImplies__guards_993)2735 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, factImplies__guards_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prop) {
2736 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2737 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T1_;
2738 {	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2739 	T1_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
2740 	T1_ = getMagic__trees_137(fact);
2741 	switch (T1_) {
2742 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2743 	{
2744 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
2745 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T3_;
2746 		arg = (*fact)._kind_6.sons->data[((NI) 1)];
2747 		T3_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
2748 		T3_ = getMagic__trees_137(arg);
2749 		switch (T3_) {
2750 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
2751 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
2752 		{
2753 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T5_;
2754 			T5_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2755 			T5_ = factImplies__guards_993(arg, prop);
2756 			result = tilde___guards_990(T5_);
2757 			goto BeforeRet_;
2758 		}
2759 		break;
2760 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2761 		{
2762 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA a;
2763 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA b;
2764 			a = factImplies__guards_993((*arg)._kind_6.sons->data[((NI) 1)], prop);
2765 			b = factImplies__guards_993((*arg)._kind_6.sons->data[((NI) 2)], prop);
2766 			{
2767 				if (!(a == b)) goto LA9_;
2768 				result = tilde___guards_990(a);
2769 				goto BeforeRet_;
2770 			}
2771 			LA9_: ;
2772 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
2773 			goto BeforeRet_;
2774 		}
2775 		break;
2776 		default:
2777 		{
2778 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
2779 			goto BeforeRet_;
2780 		}
2781 		break;
2782 		}
2783 	}
2784 	break;
2785 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2786 	{
2787 		result = factImplies__guards_993((*fact)._kind_6.sons->data[((NI) 1)], prop);
2788 		{
2789 			if (!!((result == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0)))) goto LA15_;
2790 			goto BeforeRet_;
2791 		}
2792 		LA15_: ;
2793 		result = factImplies__guards_993((*fact)._kind_6.sons->data[((NI) 2)], prop);
2794 		goto BeforeRet_;
2795 	}
2796 	break;
2797 	default:
2798 	{
2799 	}
2800 	break;
2801 	}
2802 	switch ((*(*(*prop)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
2803 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2804 	{
2805 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T19_;
2806 		T19_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2807 		T19_ = factImplies__guards_993(fact, (*prop)._kind_6.sons->data[((NI) 1)]);
2808 		result = tilde___guards_990(T19_);
2809 	}
2810 	break;
2811 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
2812 	{
2813 		result = impliesIsNil__guards_902(fact, prop);
2814 	}
2815 	break;
2816 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
2817 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
2818 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
2819 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
2820 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
2821 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
2822 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
2823 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
2824 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
2825 	{
2826 		result = impliesEq__guards_767(fact, prop);
2827 	}
2828 	break;
2829 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
2830 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
2831 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
2832 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
2833 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
2834 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
2835 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
2836 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
2837 	{
2838 		result = impliesLe__guards_948(fact, (*prop)._kind_6.sons->data[((NI) 1)], (*prop)._kind_6.sons->data[((NI) 2)]);
2839 	}
2840 	break;
2841 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
2842 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
2843 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
2844 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
2845 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
2846 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
2847 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
2848 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
2849 	{
2850 		result = impliesLt__guards_975(fact, (*prop)._kind_6.sons->data[((NI) 1)], (*prop)._kind_6.sons->data[((NI) 2)]);
2851 	}
2852 	break;
2853 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
2854 	{
2855 		result = impliesIn__guards_864(fact, (*prop)._kind_6.sons->data[((NI) 2)], (*prop)._kind_6.sons->data[((NI) 1)]);
2856 	}
2857 	break;
2858 	default:
2859 	{
2860 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
2861 	}
2862 	break;
2863 	}
2864 	}BeforeRet_: ;
2865 	return result;
2866 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,doesImply__guards_1022)2867 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, doesImply__guards_1022)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q facts, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prop) {
2868 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
2869 {	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
2870 	{
2871 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** f;
2872 		NI i;
2873 		NI L;
2874 		NI T2_;
2875 		f = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
2876 		i = ((NI) 0);
2877 		T2_ = (facts.s ? facts.s->Sup.len : 0);
2878 		L = T2_;
2879 		{
2880 			while (1) {
2881 				if (!(i < L)) goto LA4;
2882 				f = &facts.s->data[i];
2883 				{
2884 					if (!!(((*f) == 0))) goto LA7_;
2885 					result = factImplies__guards_993((*f), prop);
2886 					{
2887 						if (!!((result == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0)))) goto LA11_;
2888 						goto BeforeRet_;
2889 					}
2890 					LA11_: ;
2891 				}
2892 				LA7_: ;
2893 				i += ((NI) 1);
2894 			} LA4: ;
2895 		}
2896 	}
2897 	}BeforeRet_: ;
2898 	return result;
2899 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,swapArgs__guards_117)2900 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, swapArgs__guards_117)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newOp) {
2901 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2902 	result = NIM_NIL;
2903 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fact).info, ((NI) 3));
2904 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(newOp));
2905 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), (*fact)._kind_6.sons->data[((NI) 2)]);
2906 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), (*fact)._kind_6.sons->data[((NI) 1)]);
2907 	return result;
2908 }
N_INLINE(NI,safeLen__ast_3191)2909 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2910 	NI result;
2911 	result = (NI)0;
2912 	{
2913 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
2914 		result = ((NI) 0);
2915 	}
2916 	goto LA1_;
2917 	LA3_: ;
2918 	{
2919 		result = len__ast_3198(n);
2920 	}
2921 	LA1_: ;
2922 	return result;
2923 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,neg__guards_126)2924 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, neg__guards_126)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
2925 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2926 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T5_;
2927 {	result = NIM_NIL;
2928 	{
2929 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
2930 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
2931 		goto BeforeRet_;
2932 	}
2933 	LA3_: ;
2934 	T5_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
2935 	T5_ = getMagic__trees_137(n);
2936 	switch (T5_) {
2937 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
2938 	{
2939 		result = (*n)._kind_6.sons->data[((NI) 1)];
2940 	}
2941 	break;
2942 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
2943 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 75):
2944 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
2945 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
2946 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
2947 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
2948 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
2949 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
2950 	{
2951 		result = swapArgs__guards_117(n, (*o).opLe);
2952 	}
2953 	break;
2954 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
2955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
2956 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
2957 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
2958 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
2959 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
2960 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
2961 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
2962 	{
2963 		result = swapArgs__guards_117(n, (*o).opLt);
2964 	}
2965 	break;
2966 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
2967 	{
2968 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2969 		{
2970 			if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)))) goto LA12_;
2971 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
2972 			goto BeforeRet_;
2973 		}
2974 		LA12_: ;
2975 		t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__6PEpSVg5zYQiUPcMieikwQ_5);
2976 		result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
2977 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 0)]);
2978 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), (*n)._kind_6.sons->data[((NI) 2)]);
2979 		{
2980 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
2981 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA16_;
2982 			s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info, (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
2983 			{
2984 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
2985 				e = NIM_NIL;
2986 				{
2987 					NI i;
2988 					NI colontmp_;
2989 					NI i_2;
2990 					i = (NI)0;
2991 					colontmp_ = (NI)0;
2992 					colontmp_ = safeLen__ast_3191((*t).n);
2993 					i_2 = ((NI) 0);
2994 					{
2995 						while (1) {
2996 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eAsNode;
2997 							if (!(i_2 < colontmp_)) goto LA21;
2998 							i = i_2;
2999 							e = (*(*t).n)._kind_6.sons->data[i];
3000 							eAsNode = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*(*e)._kind_4.sym).position)));
3001 							{
3002 								NIM_BOOL T24_;
3003 								T24_ = (NIM_BOOL)0;
3004 								T24_ = inSet__nimsets_7((*n)._kind_6.sons->data[((NI) 1)], eAsNode);
3005 								if (!!(T24_)) goto LA25_;
3006 								add__ast_4797(s, eAsNode);
3007 							}
3008 							LA25_: ;
3009 							i_2 += ((NI) 1);
3010 						} LA21: ;
3011 					}
3012 				}
3013 			}
3014 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), s);
3015 		}
3016 		goto LA14_;
3017 		LA16_: ;
3018 		{
3019 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
3020 		}
3021 		LA14_: ;
3022 	}
3023 	break;
3024 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
3025 	{
3026 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
3027 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
3028 		a = neg__guards_126((*n)._kind_6.sons->data[((NI) 1)], o);
3029 		b = neg__guards_126((*n)._kind_6.sons->data[((NI) 2)], o);
3030 		{
3031 			NIM_BOOL T31_;
3032 			T31_ = (NIM_BOOL)0;
3033 			T31_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3034 			if (!(T31_)) goto LA32_;
3035 			T31_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3036 			LA32_: ;
3037 			if (!T31_) goto LA33_;
3038 			result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
3039 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opAnd));
3040 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), a);
3041 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), b);
3042 		}
3043 		goto LA29_;
3044 		LA33_: ;
3045 		{
3046 			if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA36_;
3047 			result = a;
3048 		}
3049 		goto LA29_;
3050 		LA36_: ;
3051 		{
3052 			if (!!((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA39_;
3053 			result = b;
3054 		}
3055 		goto LA29_;
3056 		LA39_: ;
3057 		LA29_: ;
3058 	}
3059 	break;
3060 	default:
3061 	{
3062 		result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 2));
3063 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opNot));
3064 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), n);
3065 	}
3066 	break;
3067 	}
3068 	}BeforeRet_: ;
3069 	return result;
3070 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildCall__guards_185)3071 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildCall__guards_185)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
3072 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3073 	result = NIM_NIL;
3074 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*a).info, ((NI) 2));
3075 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
3076 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), a);
3077 	return result;
3078 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,impliesNotNil__guards_1044)3079 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, impliesNotNil__guards_1044)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
3080 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
3081 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
3082 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
3083 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3084 	T1_ = NIM_NIL;
3085 	T1_ = buildCall__guards_185((*m.g).operators.opIsNil, arg);
3086 	T2_ = NIM_NIL;
3087 	T2_ = neg__guards_126(T1_, (&(*m.g).operators));
3088 	result = doesImply__guards_1022(m, T2_);
3089 	return result;
3090 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildCall__guards_191)3091 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildCall__guards_191)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3092 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3093 	result = NIM_NIL;
3094 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*a).info, ((NI) 3));
3095 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
3096 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), a);
3097 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), b);
3098 	return result;
3099 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,minusOne__guards_259)3100 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, minusOne__guards_259)(void) {
3101 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3102 	result = NIM_NIL;
3103 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(-1));
3104 	return result;
3105 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,negate__guards_231)3106 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, negate__guards_231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
3107 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3108 	result = NIM_NIL;
3109 	{
3110 		NIM_BOOL T3_;
3111 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
3112 		T3_ = (NIM_BOOL)0;
3113 		T3_ = ((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
3114 		if (!(T3_)) goto LA4_;
3115 		T3_ = !(((*b)._kind_1.intVal == (IL64(-9223372036854775807) - IL64(1))));
3116 		LA4_: ;
3117 		if (!T3_) goto LA5_;
3118 		b_2 = copyNode__ast_4336(b);
3119 		(*b_2)._kind_1.intVal = -((*b_2)._kind_1.intVal);
3120 		{
3121 			if (!((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA9_;
3122 			(*b_2)._kind_1.intVal = barplusbar___saturate_1((*b_2)._kind_1.intVal, (*a)._kind_1.intVal);
3123 			result = b_2;
3124 		}
3125 		goto LA7_;
3126 		LA9_: ;
3127 		{
3128 			result = buildCall__guards_191((*o).opAdd, a, b_2);
3129 		}
3130 		LA7_: ;
3131 	}
3132 	goto LA1_;
3133 	LA5_: ;
3134 	{
3135 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_3;
3136 		if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18))) goto LA13_;
3137 		b_3 = copyNode__ast_4336(b);
3138 		(*b_3)._kind_2.floatVal = -((*b_3)._kind_2.floatVal);
3139 		result = buildCall__guards_191((*o).opAdd, a, b_3);
3140 	}
3141 	goto LA1_;
3142 	LA13_: ;
3143 	{
3144 		result = res;
3145 	}
3146 	LA1_: ;
3147 	return result;
3148 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,barplusbar___guards_199)3149 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barplusbar___guards_199)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3150 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3151 	result = NIM_NIL;
3152 	result = copyNode__ast_4336(a);
3153 	{
3154 		if (!((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3155 		(*result)._kind_1.intVal = barplusbar___saturate_1((*a)._kind_1.intVal, (*b)._kind_1.intVal);
3156 	}
3157 	goto LA1_;
3158 	LA3_: ;
3159 	{
3160 		(*result)._kind_2.floatVal = ((NF)((*a)._kind_2.floatVal) + (NF)((*b)._kind_2.floatVal));
3161 	}
3162 	LA1_: ;
3163 	return result;
3164 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,barstarbar___guards_215)3165 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barstarbar___guards_215)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3166 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3167 	result = NIM_NIL;
3168 	result = copyNode__ast_4336(a);
3169 	{
3170 		if (!((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3171 		(*result)._kind_1.intVal = barstarbar___saturate_52((*a)._kind_1.intVal, (*b)._kind_1.intVal);
3172 	}
3173 	goto LA1_;
3174 	LA3_: ;
3175 	{
3176 		(*result)._kind_2.floatVal = ((NF)((*a)._kind_2.floatVal) * (NF)((*b)._kind_2.floatVal));
3177 	}
3178 	LA1_: ;
3179 	return result;
3180 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,zero__guards_255)3181 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, zero__guards_255)(void) {
3182 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3183 	result = NIM_NIL;
3184 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
3185 	return result;
3186 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,reassociation__guards_290)3187 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, reassociation__guards_290)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
3188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3189 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T1_;
3190 	result = NIM_NIL;
3191 	result = n;
3192 	T1_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3193 	T1_ = getMagic__trees_137(result);
3194 	switch (T1_) {
3195 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
3196 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
3197 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
3198 	{
3199 		{
3200 			NIM_BOOL T5_;
3201 			NIM_BOOL T6_;
3202 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T8_;
3203 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3204 			T5_ = (NIM_BOOL)0;
3205 			T6_ = (NIM_BOOL)0;
3206 			T6_ = isValue__guards_46((*result)._kind_6.sons->data[((NI) 2)]);
3207 			if (!(T6_)) goto LA7_;
3208 			T8_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3209 			T8_ = getMagic__trees_137((*result)._kind_6.sons->data[((NI) 1)]);
3210 			T6_ = (T8_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T8_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T8_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
3211 			LA7_: ;
3212 			T5_ = T6_;
3213 			if (!(T5_)) goto LA9_;
3214 			T5_ = isValue__guards_46((*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]);
3215 			LA9_: ;
3216 			if (!T5_) goto LA10_;
3217 			T12_ = NIM_NIL;
3218 			T12_ = barplusbar___guards_199((*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)], (*result)._kind_6.sons->data[((NI) 2)]);
3219 			result = buildCall__guards_191((*o).opAdd, (*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)], T12_);
3220 			{
3221 				if (!((*(*result)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(0))) goto LA15_;
3222 				result = (*result)._kind_6.sons->data[((NI) 1)];
3223 			}
3224 			LA15_: ;
3225 		}
3226 		LA10_: ;
3227 	}
3228 	break;
3229 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
3230 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
3231 	{
3232 		{
3233 			NIM_BOOL T20_;
3234 			NIM_BOOL T21_;
3235 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T23_;
3236 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
3237 			T20_ = (NIM_BOOL)0;
3238 			T21_ = (NIM_BOOL)0;
3239 			T21_ = isValue__guards_46((*result)._kind_6.sons->data[((NI) 2)]);
3240 			if (!(T21_)) goto LA22_;
3241 			T23_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3242 			T23_ = getMagic__trees_137((*result)._kind_6.sons->data[((NI) 1)]);
3243 			T21_ = (T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48) || T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55));
3244 			LA22_: ;
3245 			T20_ = T21_;
3246 			if (!(T20_)) goto LA24_;
3247 			T20_ = isValue__guards_46((*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]);
3248 			LA24_: ;
3249 			if (!T20_) goto LA25_;
3250 			T27_ = NIM_NIL;
3251 			T27_ = barstarbar___guards_215((*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)], (*result)._kind_6.sons->data[((NI) 2)]);
3252 			result = buildCall__guards_191((*o).opMul, (*(*result)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)], T27_);
3253 			{
3254 				if (!((*(*result)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(1))) goto LA30_;
3255 				result = (*result)._kind_6.sons->data[((NI) 1)];
3256 			}
3257 			goto LA28_;
3258 			LA30_: ;
3259 			{
3260 				if (!((*(*result)._kind_6.sons->data[((NI) 2)])._kind_1.intVal == IL64(0))) goto LA33_;
3261 				result = zero__guards_255();
3262 			}
3263 			goto LA28_;
3264 			LA33_: ;
3265 			LA28_: ;
3266 		}
3267 		LA25_: ;
3268 	}
3269 	break;
3270 	default:
3271 	{
3272 	}
3273 	break;
3274 	}
3275 	return result;
3276 }
N_NIMCALL(NIM_BOOL,isLet__guards_56)3277 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLet__guards_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3278 	NIM_BOOL result;
3279 	result = (NIM_BOOL)0;
3280 	{
3281 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
3282 		{
3283 			if (!((2097696 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA7_;
3284 			result = NIM_TRUE;
3285 		}
3286 		goto LA5_;
3287 		LA7_: ;
3288 		{
3289 			NIM_BOOL T10_;
3290 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
3291 			T10_ = (NIM_BOOL)0;
3292 			T10_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
3293 			if (!(T10_)) goto LA11_;
3294 			T12_ = NIM_NIL;
3295 			T12_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__6PEpSVg5zYQiUPcMieikwQ_5);
3296 			T10_ = !(((*T12_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
3297 			LA11_: ;
3298 			if (!T10_) goto LA13_;
3299 			result = NIM_TRUE;
3300 		}
3301 		goto LA5_;
3302 		LA13_: ;
3303 		LA5_: ;
3304 	}
3305 	LA3_: ;
3306 	return result;
3307 }
N_NIMCALL(NIM_BOOL,isVar__guards_75)3308 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVar__guards_75)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3309 	NIM_BOOL result;
3310 	NIM_BOOL T1_;
3311 	NIM_BOOL T2_;
3312 	result = (NIM_BOOL)0;
3313 	T1_ = (NIM_BOOL)0;
3314 	T2_ = (NIM_BOOL)0;
3315 	T2_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3316 	if (!(T2_)) goto LA3_;
3317 	T2_ = ((2304 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
3318 	LA3_: ;
3319 	T1_ = T2_;
3320 	if (!(T1_)) goto LA4_;
3321 	T1_ = ((131072 & (*(*n)._kind_4.sym).flags) == 0);
3322 	LA4_: ;
3323 	result = T1_;
3324 	return result;
3325 }
N_NIMCALL(NIM_BOOL,isLetLocation__guards_94)3326 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLetLocation__guards_94)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m, NIM_BOOL isApprox) {
3327 	NIM_BOOL result;
3328 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
3329 	NI derefs;
3330 	NIM_BOOL T18_;
3331 {	result = (NIM_BOOL)0;
3332 	n = m;
3333 	derefs = ((NI) 0);
3334 	{
3335 		while (1) {
3336 			switch ((*n).kind) {
3337 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
3338 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
3339 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
3340 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3341 			{
3342 				n = (*n)._kind_6.sons->data[((NI) 0)];
3343 			}
3344 			break;
3345 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
3346 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
3347 			{
3348 				n = (*n)._kind_6.sons->data[((NI) 0)];
3349 				derefs += ((NI) 1);
3350 			}
3351 			break;
3352 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
3353 			{
3354 				{
3355 					NIM_BOOL T8_;
3356 					NIM_BOOL T9_;
3357 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
3358 					T8_ = (NIM_BOOL)0;
3359 					T9_ = (NIM_BOOL)0;
3360 					T9_ = isConstExpr__trees_146((*n)._kind_6.sons->data[((NI) 1)]);
3361 					if (T9_) goto LA10_;
3362 					T9_ = isLet__guards_56((*n)._kind_6.sons->data[((NI) 1)]);
3363 					LA10_: ;
3364 					T8_ = T9_;
3365 					if (T8_) goto LA11_;
3366 					T12_ = NIM_NIL;
3367 					T12_ = skipConv__types_3588((*n)._kind_6.sons->data[((NI) 1)]);
3368 					T8_ = isConstExpr__trees_146(T12_);
3369 					LA11_: ;
3370 					if (!T8_) goto LA13_;
3371 					n = (*n)._kind_6.sons->data[((NI) 0)];
3372 				}
3373 				goto LA6_;
3374 				LA13_: ;
3375 				{
3376 					goto BeforeRet_;
3377 				}
3378 				LA6_: ;
3379 			}
3380 			break;
3381 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3382 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3383 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3384 			{
3385 				n = (*n)._kind_6.sons->data[((NI) 1)];
3386 			}
3387 			break;
3388 			default:
3389 			{
3390 				goto LA1;
3391 			}
3392 			break;
3393 			}
3394 		}
3395 	} LA1: ;
3396 	T18_ = (NIM_BOOL)0;
3397 	T18_ = isLet__guards_56(n);
3398 	if (!(T18_)) goto LA19_;
3399 	T18_ = (derefs <= isApprox);
3400 	LA19_: ;
3401 	result = T18_;
3402 	{
3403 		NIM_BOOL T22_;
3404 		T22_ = (NIM_BOOL)0;
3405 		T22_ = !(result);
3406 		if (!(T22_)) goto LA23_;
3407 		T22_ = isApprox;
3408 		LA23_: ;
3409 		if (!T22_) goto LA24_;
3410 		result = isVar__guards_75(n);
3411 	}
3412 	LA24_: ;
3413 	}BeforeRet_: ;
3414 	return result;
3415 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,barminusbar___guards_207)3416 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, barminusbar___guards_207)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3417 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3418 	result = NIM_NIL;
3419 	result = copyNode__ast_4336(a);
3420 	{
3421 		if (!((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3422 		(*result)._kind_1.intVal = barminusbar___saturate_13((*a)._kind_1.intVal, (*b)._kind_1.intVal);
3423 	}
3424 	goto LA1_;
3425 	LA3_: ;
3426 	{
3427 		(*result)._kind_2.floatVal = ((NF)((*a)._kind_2.floatVal) - (NF)((*b)._kind_2.floatVal));
3428 	}
3429 	LA1_: ;
3430 	return result;
3431 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,canon__guards_345)3432 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canon__guards_345)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
3433 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3434 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T20_;
3435 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T44_;
3436 	result = NIM_NIL;
3437 	{
3438 		NI T3_;
3439 		T3_ = (NI)0;
3440 		T3_ = safeLen__ast_3191(n);
3441 		if (!(((NI) 1) <= T3_)) goto LA4_;
3442 		result = shallowCopy__ast_4413(n);
3443 		{
3444 			NI i;
3445 			NI colontmp_;
3446 			NI i_2;
3447 			i = (NI)0;
3448 			colontmp_ = (NI)0;
3449 			colontmp_ = len__ast_3198(n);
3450 			i_2 = ((NI) 0);
3451 			{
3452 				while (1) {
3453 					if (!(i_2 < colontmp_)) goto LA8;
3454 					i = i_2;
3455 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), canon__guards_345((*n)._kind_6.sons->data[i], o));
3456 					i_2 += ((NI) 1);
3457 				} LA8: ;
3458 			}
3459 		}
3460 	}
3461 	goto LA1_;
3462 	LA4_: ;
3463 	{
3464 		NIM_BOOL T10_;
3465 		NIM_BOOL T11_;
3466 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
3467 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T15_;
3468 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
3469 		T10_ = (NIM_BOOL)0;
3470 		T11_ = (NIM_BOOL)0;
3471 		T11_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3472 		if (!(T11_)) goto LA12_;
3473 		T11_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
3474 		LA12_: ;
3475 		T10_ = T11_;
3476 		if (!(T10_)) goto LA13_;
3477 		T14_ = NIM_NIL;
3478 		T14_ = astdef__ast_3483((*n)._kind_4.sym);
3479 		T15_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3480 		T15_ = getMagic__trees_137(T14_);
3481 		T10_ = ((TM__6PEpSVg5zYQiUPcMieikwQ_6[(NU)(T15_)>>3] &(1U<<((NU)(T15_)&7U)))!=0);
3482 		LA13_: ;
3483 		if (!T10_) goto LA16_;
3484 		T18_ = NIM_NIL;
3485 		T18_ = astdef__ast_3483((*n)._kind_4.sym);
3486 		result = copyTree__ast_4431(T18_);
3487 	}
3488 	goto LA1_;
3489 	LA16_: ;
3490 	{
3491 		result = n;
3492 	}
3493 	LA1_: ;
3494 	T20_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3495 	T20_ = getMagic__trees_137(result);
3496 	switch (T20_) {
3497 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
3498 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
3499 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48):
3500 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63):
3501 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64):
3502 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
3503 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
3504 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
3505 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
3506 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
3507 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
3508 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
3509 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
3510 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
3511 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
3512 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55):
3513 	{
3514 		{
3515 			NIM_BOOL T24_;
3516 			NIM_BOOL T26_;
3517 			T24_ = (NIM_BOOL)0;
3518 			T24_ = isValue__guards_46((*result)._kind_6.sons->data[((NI) 1)]);
3519 			if (!(T24_)) goto LA25_;
3520 			T26_ = (NIM_BOOL)0;
3521 			T26_ = isValue__guards_46((*result)._kind_6.sons->data[((NI) 2)]);
3522 			T24_ = !(T26_);
3523 			LA25_: ;
3524 			if (!T24_) goto LA27_;
3525 			result = swapArgs__guards_117(result, (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
3526 		}
3527 		LA27_: ;
3528 	}
3529 	break;
3530 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
3531 	{
3532 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
3533 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
3534 		T30_ = NIM_NIL;
3535 		T30_ = buildCall__guards_185((*o).opLen, (*result)._kind_6.sons->data[((NI) 1)]);
3536 		T31_ = NIM_NIL;
3537 		T31_ = minusOne__guards_259();
3538 		result = buildCall__guards_191((*o).opAdd, T30_, T31_);
3539 	}
3540 	break;
3541 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
3542 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
3543 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
3544 	{
3545 		result = negate__guards_231((*result)._kind_6.sons->data[((NI) 1)], (*result)._kind_6.sons->data[((NI) 2)], result, o);
3546 	}
3547 	break;
3548 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39):
3549 	{
3550 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opLen));
3551 	}
3552 	break;
3553 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
3554 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
3555 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
3556 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
3557 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
3558 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
3559 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
3560 	{
3561 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
3562 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
3563 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* minus;
3564 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
3565 		y = canon__guards_345((*n)._kind_6.sons->data[((NI) 2)], o);
3566 		p = pred__guards_325(y);
3567 		{
3568 			if (!!((p == y))) goto LA37_;
3569 			minus = p;
3570 		}
3571 		goto LA35_;
3572 		LA37_: ;
3573 		{
3574 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T40_;
3575 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
3576 			T40_ = NIM_NIL;
3577 			T40_ = minusOne__guards_259();
3578 			T41_ = NIM_NIL;
3579 			T41_ = buildCall__guards_191((*o).opAdd, y, T40_);
3580 			minus = canon__guards_345(T41_, o);
3581 		}
3582 		LA35_: ;
3583 		T42_ = NIM_NIL;
3584 		T42_ = canon__guards_345((*n)._kind_6.sons->data[((NI) 1)], o);
3585 		result = buildCall__guards_191((*o).opLe, T42_, minus);
3586 	}
3587 	break;
3588 	default:
3589 	{
3590 	}
3591 	break;
3592 	}
3593 	result = skipConv__types_3588(result);
3594 	result = reassociation__guards_290(result, o);
3595 	T44_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3596 	T44_ = getMagic__trees_137(result);
3597 	switch (T44_) {
3598 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71):
3599 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74):
3600 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76):
3601 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79):
3602 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82):
3603 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85):
3604 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88):
3605 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117):
3606 	{
3607 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3608 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y_2;
3609 		x = (*result)._kind_6.sons->data[((NI) 1)];
3610 		y_2 = (*result)._kind_6.sons->data[((NI) 2)];
3611 		{
3612 			NIM_BOOL T48_;
3613 			NIM_BOOL T49_;
3614 			NIM_BOOL T50_;
3615 			NI T52_;
3616 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T57_;
3617 			T48_ = (NIM_BOOL)0;
3618 			T49_ = (NIM_BOOL)0;
3619 			T50_ = (NIM_BOOL)0;
3620 			T50_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
3621 			if (!(T50_)) goto LA51_;
3622 			T52_ = (NI)0;
3623 			T52_ = len__ast_3198(x);
3624 			T50_ = (T52_ == ((NI) 3));
3625 			LA51_: ;
3626 			T49_ = T50_;
3627 			if (!(T49_)) goto LA53_;
3628 			T49_ = isValue__guards_46((*x)._kind_6.sons->data[((NI) 2)]);
3629 			LA53_: ;
3630 			T48_ = T49_;
3631 			if (!(T48_)) goto LA54_;
3632 			T48_ = isLetLocation__guards_94((*x)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
3633 			LA54_: ;
3634 			if (!T48_) goto LA55_;
3635 			T57_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3636 			T57_ = getMagic__trees_137(x);
3637 			switch (T57_) {
3638 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
3639 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
3640 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
3641 			{
3642 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
3643 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T60_;
3644 				T59_ = NIM_NIL;
3645 				T59_ = buildCall__guards_191((*o).opAdd, y_2, (*x)._kind_6.sons->data[((NI) 2)]);
3646 				T60_ = NIM_NIL;
3647 				T60_ = reassociation__guards_290(T59_, o);
3648 				result = buildCall__guards_191((*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*x)._kind_6.sons->data[((NI) 1)], T60_);
3649 			}
3650 			break;
3651 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
3652 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
3653 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
3654 			{
3655 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* plus;
3656 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
3657 				T62_ = NIM_NIL;
3658 				T62_ = negate__guards_231(y_2, (*x)._kind_6.sons->data[((NI) 2)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), o);
3659 				plus = reassociation__guards_290(T62_, o);
3660 				{
3661 					if (!!((plus == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA65_;
3662 					result = buildCall__guards_191((*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*x)._kind_6.sons->data[((NI) 1)], plus);
3663 				}
3664 				LA65_: ;
3665 			}
3666 			break;
3667 			default:
3668 			{
3669 			}
3670 			break;
3671 			}
3672 		}
3673 		goto LA46_;
3674 		LA55_: ;
3675 		{
3676 			NIM_BOOL T69_;
3677 			NIM_BOOL T70_;
3678 			NIM_BOOL T71_;
3679 			NI T73_;
3680 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T78_;
3681 			T69_ = (NIM_BOOL)0;
3682 			T70_ = (NIM_BOOL)0;
3683 			T71_ = (NIM_BOOL)0;
3684 			T71_ = ((*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*y_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
3685 			if (!(T71_)) goto LA72_;
3686 			T73_ = (NI)0;
3687 			T73_ = len__ast_3198(y_2);
3688 			T71_ = (T73_ == ((NI) 3));
3689 			LA72_: ;
3690 			T70_ = T71_;
3691 			if (!(T70_)) goto LA74_;
3692 			T70_ = isValue__guards_46((*y_2)._kind_6.sons->data[((NI) 2)]);
3693 			LA74_: ;
3694 			T69_ = T70_;
3695 			if (!(T69_)) goto LA75_;
3696 			T69_ = isLetLocation__guards_94((*y_2)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
3697 			LA75_: ;
3698 			if (!T69_) goto LA76_;
3699 			T78_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3700 			T78_ = getMagic__trees_137(y_2);
3701 			switch (T78_) {
3702 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47):
3703 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
3704 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54):
3705 			{
3706 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T80_;
3707 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T81_;
3708 				T80_ = NIM_NIL;
3709 				T80_ = buildCall__guards_191((*o).opAdd, x, (*y_2)._kind_6.sons->data[((NI) 2)]);
3710 				T81_ = NIM_NIL;
3711 				T81_ = reassociation__guards_290(T80_, o);
3712 				result = buildCall__guards_191((*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*y_2)._kind_6.sons->data[((NI) 1)], T81_);
3713 			}
3714 			break;
3715 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46):
3716 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51):
3717 			case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53):
3718 			{
3719 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* plus_2;
3720 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T83_;
3721 				T83_ = NIM_NIL;
3722 				T83_ = negate__guards_231(x, (*y_2)._kind_6.sons->data[((NI) 2)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), o);
3723 				plus_2 = reassociation__guards_290(T83_, o);
3724 				{
3725 					NIM_BOOL T86_;
3726 					NIM_BOOL T88_;
3727 					T86_ = (NIM_BOOL)0;
3728 					T86_ = !((plus_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3729 					if (!(T86_)) goto LA87_;
3730 					T88_ = (NIM_BOOL)0;
3731 					T88_ = isLetLocation__guards_94(x, NIM_TRUE);
3732 					T86_ = !(T88_);
3733 					LA87_: ;
3734 					if (!T86_) goto LA89_;
3735 					result = buildCall__guards_191((*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, plus_2, (*y_2)._kind_6.sons->data[((NI) 1)]);
3736 				}
3737 				LA89_: ;
3738 			}
3739 			break;
3740 			default:
3741 			{
3742 			}
3743 			break;
3744 			}
3745 		}
3746 		goto LA46_;
3747 		LA76_: ;
3748 		{
3749 			NIM_BOOL T93_;
3750 			NIM_BOOL T94_;
3751 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T96_;
3752 			T93_ = (NIM_BOOL)0;
3753 			T94_ = (NIM_BOOL)0;
3754 			T94_ = isValue__guards_46(x);
3755 			if (!(T94_)) goto LA95_;
3756 			T96_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3757 			T96_ = getMagic__trees_137(y_2);
3758 			T94_ = (T96_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T96_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T96_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
3759 			LA95_: ;
3760 			T93_ = T94_;
3761 			if (!(T93_)) goto LA97_;
3762 			T93_ = ((*(*y_2)._kind_6.sons->data[((NI) 2)]).kind == (*x).kind);
3763 			LA97_: ;
3764 			if (!T93_) goto LA98_;
3765 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), barminusbar___guards_207(x, (*y_2)._kind_6.sons->data[((NI) 2)]));
3766 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), (*y_2)._kind_6.sons->data[((NI) 1)]);
3767 		}
3768 		goto LA46_;
3769 		LA98_: ;
3770 		{
3771 			NIM_BOOL T101_;
3772 			NIM_BOOL T102_;
3773 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T104_;
3774 			T101_ = (NIM_BOOL)0;
3775 			T102_ = (NIM_BOOL)0;
3776 			T102_ = isValue__guards_46(x);
3777 			if (!(T102_)) goto LA103_;
3778 			T104_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3779 			T104_ = getMagic__trees_137(y_2);
3780 			T102_ = (T104_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 47) || T104_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 54) || T104_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52));
3781 			LA103_: ;
3782 			T101_ = T102_;
3783 			if (!(T101_)) goto LA105_;
3784 			T101_ = ((*(*y_2)._kind_6.sons->data[((NI) 2)]).kind == (*x).kind);
3785 			LA105_: ;
3786 			if (!T101_) goto LA106_;
3787 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), barplusbar___guards_199(x, (*y_2)._kind_6.sons->data[((NI) 2)]));
3788 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), (*y_2)._kind_6.sons->data[((NI) 1)]);
3789 		}
3790 		goto LA46_;
3791 		LA106_: ;
3792 		LA46_: ;
3793 	}
3794 	break;
3795 	default:
3796 	{
3797 	}
3798 	break;
3799 	}
3800 	return result;
3801 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,one__guards_257)3802 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, one__guards_257)(void) {
3803 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3804 	result = NIM_NIL;
3805 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
3806 	return result;
3807 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,bardivbar___guards_223)3808 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, bardivbar___guards_223)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3809 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3810 	result = NIM_NIL;
3811 	result = copyNode__ast_4336(a);
3812 	{
3813 		if (!((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA3_;
3814 		(*result)._kind_1.intVal = (NI64)((*a)._kind_1.intVal / (*b)._kind_1.intVal);
3815 	}
3816 	goto LA1_;
3817 	LA3_: ;
3818 	{
3819 		(*result)._kind_2.floatVal = ((NF)((*a)._kind_2.floatVal) / (NF)((*b)._kind_2.floatVal));
3820 	}
3821 	LA1_: ;
3822 	return result;
3823 }
N_NIMCALL(NIM_BOOL,isMinusOne__guards_1093)3824 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMinusOne__guards_1093)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3825 	NIM_BOOL result;
3826 	NIM_BOOL T1_;
3827 	result = (NIM_BOOL)0;
3828 	T1_ = (NIM_BOOL)0;
3829 	T1_ = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
3830 	if (!(T1_)) goto LA2_;
3831 	T1_ = ((*n)._kind_1.intVal == IL64(-1));
3832 	LA2_: ;
3833 	result = T1_;
3834 	return result;
3835 }
N_INLINE(void,nimSetMem__systemZmemory_7)3836 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
3837 	void* T1_;
3838 	T1_ = (void*)0;
3839 	T1_ = memset(a, v, ((size_t) (size)));
3840 }
N_INLINE(void,nimZeroMem)3841 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
3842 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
3843 }
N_NIMCALL(void,Marker_tySequence__nw2ozGiJbajPUc4Cj4vzYw)3844 static N_NIMCALL(void, Marker_tySequence__nw2ozGiJbajPUc4Cj4vzYw)(void* p, NI op) {
3845 	tySequence__nw2ozGiJbajPUc4Cj4vzYw* a;
3846 	NI T1_;
3847 	a = (tySequence__nw2ozGiJbajPUc4Cj4vzYw*)p;
3848 	T1_ = (NI)0;
3849 	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
3850 	nimGCvisit((void*)a->data[T1_].Field0, op);
3851 	nimGCvisit((void*)a->data[T1_].Field1, op);
3852 	}
3853 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,replaceSubTree__guards_1425)3854 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceSubTree__guards_1425)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* by) {
3855 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3856 	result = NIM_NIL;
3857 	{
3858 		NIM_BOOL T3_;
3859 		T3_ = (NIM_BOOL)0;
3860 		T3_ = sameTree__guards_680(n, x);
3861 		if (!T3_) goto LA4_;
3862 		result = by;
3863 	}
3864 	goto LA1_;
3865 	LA4_: ;
3866 	{
3867 		NIM_BOOL T7_;
3868 		T7_ = (NIM_BOOL)0;
3869 		T7_ = hasSubTree__guards_732(n, x);
3870 		if (!T7_) goto LA8_;
3871 		result = shallowCopy__ast_4413(n);
3872 		{
3873 			NI i;
3874 			NI colontmp_;
3875 			NI T11_;
3876 			NI res;
3877 			i = (NI)0;
3878 			colontmp_ = (NI)0;
3879 			T11_ = (NI)0;
3880 			T11_ = safeLen__ast_3191(n);
3881 			colontmp_ = (NI)(T11_ - ((NI) 1));
3882 			res = ((NI) 0);
3883 			{
3884 				while (1) {
3885 					if (!(res <= colontmp_)) goto LA13;
3886 					i = res;
3887 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), replaceSubTree__guards_1425((*n)._kind_6.sons->data[i], x, by));
3888 					res += ((NI) 1);
3889 				} LA13: ;
3890 			}
3891 		}
3892 	}
3893 	goto LA1_;
3894 	LA8_: ;
3895 	{
3896 		result = n;
3897 	}
3898 	LA1_: ;
3899 	return result;
3900 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyReplacements__guards_1437)3901 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyReplacements__guards_1437)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__nw2ozGiJbajPUc4Cj4vzYw* rep) {
3902 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3903 	result = NIM_NIL;
3904 	result = n;
3905 	{
3906 		tyTuple__EFqgCXJ4d8PgqOdFJmldsQ* x;
3907 		NI i;
3908 		NI L;
3909 		NI T2_;
3910 		x = (tyTuple__EFqgCXJ4d8PgqOdFJmldsQ*)0;
3911 		i = ((NI) 0);
3912 		T2_ = (rep ? rep->Sup.len : 0);
3913 		L = T2_;
3914 		{
3915 			while (1) {
3916 				if (!(i < L)) goto LA4;
3917 				x = (&rep->data[i]);
3918 				result = replaceSubTree__guards_1425(result, (*x).Field0, (*x).Field1);
3919 				i += ((NI) 1);
3920 			} LA4: ;
3921 		}
3922 	}
3923 	return result;
3924 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,pleViaModelRec__guards_1479)3925 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, pleViaModelRec__guards_1479)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3926 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
3927 {	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3928 	{
3929 		NI i;
3930 		NI colontmp_;
3931 		NI T2_;
3932 		NI res;
3933 		i = (NI)0;
3934 		colontmp_ = (NI)0;
3935 		T2_ = (((*m).s ? (*m).s->Sup.len : 0)-1);
3936 		colontmp_ = T2_;
3937 		res = ((NI) 0);
3938 		{
3939 			while (1) {
3940 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact;
3941 				if (!(res <= colontmp_)) goto LA4;
3942 				i = res;
3943 				fact = (*m).s->data[i];
3944 				{
3945 					NIM_BOOL T7_;
3946 					tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T9_;
3947 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
3948 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
3949 					T7_ = (NIM_BOOL)0;
3950 					T7_ = !((fact == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3951 					if (!(T7_)) goto LA8_;
3952 					T9_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3953 					T9_ = getMagic__trees_137(fact);
3954 					T7_ = (T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 76) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117));
3955 					LA8_: ;
3956 					if (!T7_) goto LA10_;
3957 					asgnRef((void**) (&(*m).s->data[i]), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
3958 					x = (*fact)._kind_6.sons->data[((NI) 1)];
3959 					y = (*fact)._kind_6.sons->data[((NI) 2)];
3960 					{
3961 						NIM_BOOL T14_;
3962 						T14_ = (NIM_BOOL)0;
3963 						T14_ = sameTree__guards_680(x, a);
3964 						if (!T14_) goto LA15_;
3965 						{
3966 							tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T19_;
3967 							T19_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3968 							T19_ = ple__guards_1104((*m), y, b);
3969 							if (!(T19_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2))) goto LA20_;
3970 							result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
3971 							goto BeforeRet_;
3972 						}
3973 						LA20_: ;
3974 						{
3975 							NIM_BOOL T24_;
3976 							NIM_BOOL T25_;
3977 							tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T26_;
3978 							tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T28_;
3979 							T24_ = (NIM_BOOL)0;
3980 							T25_ = (NIM_BOOL)0;
3981 							T26_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3982 							T26_ = getMagic__trees_137(y);
3983 							T25_ = (T26_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T26_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T26_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
3984 							if (!(T25_)) goto LA27_;
3985 							T28_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
3986 							T28_ = getMagic__trees_137(b);
3987 							T25_ = (T28_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T28_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T28_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
3988 							LA27_: ;
3989 							T24_ = T25_;
3990 							if (!(T24_)) goto LA29_;
3991 							T24_ = sameTree__guards_680((*y)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
3992 							LA29_: ;
3993 							if (!T24_) goto LA30_;
3994 							{
3995 								tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T34_;
3996 								T34_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3997 								T34_ = ple__guards_1104((*m), (*b)._kind_6.sons->data[((NI) 2)], (*y)._kind_6.sons->data[((NI) 2)]);
3998 								if (!(T34_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2))) goto LA35_;
3999 								result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4000 								goto BeforeRet_;
4001 							}
4002 							LA35_: ;
4003 						}
4004 						LA30_: ;
4005 					}
4006 					LA15_: ;
4007 					{
4008 						tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T39_;
4009 						T39_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4010 						T39_ = ple__guards_1104((*m), a, x);
4011 						if (!(T39_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2))) goto LA40_;
4012 						{
4013 							tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T44_;
4014 							T44_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4015 							T44_ = ple__guards_1104((*m), y, b);
4016 							if (!(T44_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2))) goto LA45_;
4017 							result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4018 							goto BeforeRet_;
4019 						}
4020 						LA45_: ;
4021 					}
4022 					LA40_: ;
4023 					result = impliesLe__guards_948(fact, a, b);
4024 					{
4025 						if (!!((result == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0)))) goto LA49_;
4026 						goto BeforeRet_;
4027 					}
4028 					LA49_: ;
4029 				}
4030 				LA10_: ;
4031 				res += ((NI) 1);
4032 			} LA4: ;
4033 		}
4034 	}
4035 	}BeforeRet_: ;
4036 	return result;
4037 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,pleViaModel__guards_1100)4038 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, pleViaModel__guards_1100)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q model, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb) {
4039 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
4040 	tySequence__nw2ozGiJbajPUc4Cj4vzYw* replacements;
4041 	tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m;
4042 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
4043 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
4044 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4045 	replacements = NIM_NIL;
4046 	{
4047 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** fact;
4048 		NI i;
4049 		NI L;
4050 		NI T2_;
4051 		fact = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4052 		i = ((NI) 0);
4053 		T2_ = (model.s ? model.s->Sup.len : 0);
4054 		L = T2_;
4055 		{
4056 			while (1) {
4057 				if (!(i < L)) goto LA4;
4058 				fact = &model.s->data[i];
4059 				{
4060 					NIM_BOOL T7_;
4061 					tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T9_;
4062 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4063 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
4064 					T7_ = (NIM_BOOL)0;
4065 					T7_ = !(((*fact) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4066 					if (!(T7_)) goto LA8_;
4067 					T9_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4068 					T9_ = getMagic__trees_137((*fact));
4069 					T7_ = ((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)(T9_)>>3] &(1U<<((NU)(T9_)&7U)))!=0);
4070 					LA8_: ;
4071 					if (!T7_) goto LA10_;
4072 					a = (*(*fact))._kind_6.sons->data[((NI) 1)];
4073 					b = (*(*fact))._kind_6.sons->data[((NI) 2)];
4074 					{
4075 						tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T16_;
4076 						NI T17_;
4077 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA14_;
4078 						nimZeroMem((void*)(&T16_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
4079 						T16_.Field0 = a;
4080 						T16_.Field1 = b;
4081 						replacements = (tySequence__nw2ozGiJbajPUc4Cj4vzYw*) incrSeqV3((TGenericSeq*)(replacements), (&NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_));
4082 						T17_ = replacements->Sup.len++;
4083 						asgnRef((void**) (&replacements->data[T17_].Field0), T16_.Field0);
4084 						asgnRef((void**) (&replacements->data[T17_].Field1), T16_.Field1);
4085 					}
4086 					goto LA12_;
4087 					LA14_: ;
4088 					{
4089 						tyTuple__EFqgCXJ4d8PgqOdFJmldsQ T19_;
4090 						NI T20_;
4091 						nimZeroMem((void*)(&T19_), sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ));
4092 						T19_.Field0 = b;
4093 						T19_.Field1 = a;
4094 						replacements = (tySequence__nw2ozGiJbajPUc4Cj4vzYw*) incrSeqV3((TGenericSeq*)(replacements), (&NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_));
4095 						T20_ = replacements->Sup.len++;
4096 						asgnRef((void**) (&replacements->data[T20_].Field0), T19_.Field0);
4097 						asgnRef((void**) (&replacements->data[T20_].Field1), T19_.Field1);
4098 					}
4099 					LA12_: ;
4100 				}
4101 				LA10_: ;
4102 				i += ((NI) 1);
4103 			} LA4: ;
4104 		}
4105 	}
4106 	nimZeroMem((void*)(&m), sizeof(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q));
4107 	a_2 = aa;
4108 	b_2 = bb;
4109 	{
4110 		NI T23_;
4111 		T23_ = (replacements ? replacements->Sup.len : 0);
4112 		if (!(((NI) 0) < T23_)) goto LA24_;
4113 		m.s = NIM_NIL;
4114 		m.g = model.g;
4115 		{
4116 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** fact_2;
4117 			NI i_2;
4118 			NI L_2;
4119 			NI T27_;
4120 			fact_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4121 			i_2 = ((NI) 0);
4122 			T27_ = (model.s ? model.s->Sup.len : 0);
4123 			L_2 = T27_;
4124 			{
4125 				while (1) {
4126 					if (!(i_2 < L_2)) goto LA29;
4127 					fact_2 = &model.s->data[i_2];
4128 					{
4129 						NIM_BOOL T32_;
4130 						tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T34_;
4131 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
4132 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T38_;
4133 						NI T39_;
4134 						T32_ = (NIM_BOOL)0;
4135 						T32_ = !(((*fact_2) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4136 						if (!(T32_)) goto LA33_;
4137 						T34_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4138 						T34_ = getMagic__trees_137((*fact_2));
4139 						T32_ = !(((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)(T34_)>>3] &(1U<<((NU)(T34_)&7U)))!=0));
4140 						LA33_: ;
4141 						if (!T32_) goto LA35_;
4142 						T37_ = NIM_NIL;
4143 						T37_ = applyReplacements__guards_1437((*fact_2), replacements);
4144 						T38_ = NIM_NIL;
4145 						T38_ = canon__guards_345(T37_, (&(*m.g).operators));
4146 						m.s = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(m.s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
4147 						T39_ = m.s->Sup.len++;
4148 						asgnRef((void**) (&m.s->data[T39_]), T38_);
4149 					}
4150 					LA35_: ;
4151 					i_2 += ((NI) 1);
4152 				} LA29: ;
4153 			}
4154 		}
4155 		a_2 = applyReplacements__guards_1437(aa, replacements);
4156 		b_2 = applyReplacements__guards_1437(bb, replacements);
4157 	}
4158 	goto LA21_;
4159 	LA24_: ;
4160 	{
4161 		genericSeqAssign((&m.s), model.s, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
4162 		m.g = model.g;
4163 		m.beSmart = model.beSmart;
4164 	}
4165 	LA21_: ;
4166 	result = pleViaModelRec__guards_1479((&m), a_2, b_2);
4167 	return result;
4168 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,ple__guards_1104)4169 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, ple__guards_1104)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4170 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
4171 {	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4172 	{
4173 		NIM_BOOL T3_;
4174 		T3_ = (NIM_BOOL)0;
4175 		T3_ = isValue__guards_46(a);
4176 		if (!(T3_)) goto LA4_;
4177 		T3_ = isValue__guards_46(b);
4178 		LA4_: ;
4179 		if (!T3_) goto LA5_;
4180 		{
4181 			NIM_BOOL T9_;
4182 			T9_ = (NIM_BOOL)0;
4183 			T9_ = leValue__astalgo_135(a, b);
4184 			if (!T9_) goto LA10_;
4185 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4186 		}
4187 		goto LA7_;
4188 		LA10_: ;
4189 		{
4190 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
4191 		}
4192 		LA7_: ;
4193 		goto BeforeRet_;
4194 	}
4195 	LA5_: ;
4196 	{
4197 		NIM_BOOL T15_;
4198 		NIM_BOOL T16_;
4199 		T15_ = (NIM_BOOL)0;
4200 		T16_ = (NIM_BOOL)0;
4201 		T16_ = isValue__guards_46(b);
4202 		if (!(T16_)) goto LA17_;
4203 		T16_ = !(((*a).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4204 		LA17_: ;
4205 		T15_ = T16_;
4206 		if (!(T15_)) goto LA18_;
4207 		T15_ = isOrdinalType__types_299((*a).typ, NIM_FALSE);
4208 		LA18_: ;
4209 		if (!T15_) goto LA19_;
4210 		{
4211 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T23_;
4212 			NIM_BOOL T24_;
4213 			T23_ = lastOrd__types_1465(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*a).typ);
4214 			T24_ = (NIM_BOOL)0;
4215 			T24_ = lteq___int495056_745(T23_, (*b)._kind_1.intVal);
4216 			if (!T24_) goto LA25_;
4217 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4218 			goto BeforeRet_;
4219 		}
4220 		LA25_: ;
4221 	}
4222 	LA19_: ;
4223 	{
4224 		NIM_BOOL T29_;
4225 		NIM_BOOL T30_;
4226 		T29_ = (NIM_BOOL)0;
4227 		T30_ = (NIM_BOOL)0;
4228 		T30_ = isValue__guards_46(a);
4229 		if (!(T30_)) goto LA31_;
4230 		T30_ = !(((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4231 		LA31_: ;
4232 		T29_ = T30_;
4233 		if (!(T29_)) goto LA32_;
4234 		T29_ = isOrdinalType__types_299((*b).typ, NIM_FALSE);
4235 		LA32_: ;
4236 		if (!T29_) goto LA33_;
4237 		{
4238 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T37_;
4239 			NIM_BOOL T38_;
4240 			T37_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*b).typ);
4241 			T38_ = (NIM_BOOL)0;
4242 			T38_ = lteq___int495056_752((*a)._kind_1.intVal, T37_);
4243 			if (!T38_) goto LA39_;
4244 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4245 			goto BeforeRet_;
4246 		}
4247 		LA39_: ;
4248 	}
4249 	LA33_: ;
4250 	{
4251 		NIM_BOOL T43_;
4252 		T43_ = (NIM_BOOL)0;
4253 		T43_ = sameTree__guards_680(a, b);
4254 		if (!T43_) goto LA44_;
4255 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4256 		goto BeforeRet_;
4257 	}
4258 	LA44_: ;
4259 	{
4260 		NIM_BOOL T48_;
4261 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T49_;
4262 		T48_ = (NIM_BOOL)0;
4263 		T49_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4264 		T49_ = getMagic__trees_137(b);
4265 		T48_ = (T49_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || T49_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || T49_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || T49_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
4266 		if (!(T48_)) goto LA50_;
4267 		T48_ = isValue__guards_46(a);
4268 		LA50_: ;
4269 		if (!T48_) goto LA51_;
4270 		{
4271 			if (!((*a)._kind_1.intVal <= IL64(0))) goto LA55_;
4272 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4273 			goto BeforeRet_;
4274 		}
4275 		LA55_: ;
4276 	}
4277 	LA51_: ;
4278 	{
4279 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T59_;
4280 		T59_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4281 		T59_ = getMagic__trees_137(b);
4282 		if (!(T59_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T59_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T59_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51))) goto LA60_;
4283 		{
4284 			NIM_BOOL T64_;
4285 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T65_;
4286 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T66_;
4287 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T68_;
4288 			T64_ = (NIM_BOOL)0;
4289 			T65_ = NIM_NIL;
4290 			T65_ = zero__guards_255();
4291 			T66_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4292 			T66_ = ple__guards_1104(m, T65_, (*b)._kind_6.sons->data[((NI) 2)]);
4293 			T64_ = (T66_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4294 			if (!(T64_)) goto LA67_;
4295 			T68_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4296 			T68_ = ple__guards_1104(m, a, (*b)._kind_6.sons->data[((NI) 1)]);
4297 			T64_ = (T68_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4298 			LA67_: ;
4299 			if (!T64_) goto LA69_;
4300 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4301 			goto BeforeRet_;
4302 		}
4303 		LA69_: ;
4304 		{
4305 			NIM_BOOL T73_;
4306 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T74_;
4307 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T75_;
4308 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T77_;
4309 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
4310 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T79_;
4311 			T73_ = (NIM_BOOL)0;
4312 			T74_ = NIM_NIL;
4313 			T74_ = zero__guards_255();
4314 			T75_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4315 			T75_ = ple__guards_1104(m, (*b)._kind_6.sons->data[((NI) 2)], T74_);
4316 			T73_ = (T75_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4317 			if (!(T73_)) goto LA76_;
4318 			T77_ = NIM_NIL;
4319 			T77_ = buildCall__guards_191((*m.g).operators.opSub, a, (*b)._kind_6.sons->data[((NI) 2)]);
4320 			T78_ = NIM_NIL;
4321 			T78_ = canon__guards_345(T77_, (&(*m.g).operators));
4322 			T79_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4323 			T79_ = ple__guards_1104(m, T78_, (*b)._kind_6.sons->data[((NI) 1)]);
4324 			T73_ = (T79_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4325 			LA76_: ;
4326 			if (!T73_) goto LA80_;
4327 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4328 			goto BeforeRet_;
4329 		}
4330 		LA80_: ;
4331 	}
4332 	LA60_: ;
4333 	{
4334 		NIM_BOOL T84_;
4335 		NIM_BOOL T85_;
4336 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T86_;
4337 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T88_;
4338 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T89_;
4339 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T91_;
4340 		T84_ = (NIM_BOOL)0;
4341 		T85_ = (NIM_BOOL)0;
4342 		T86_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4343 		T86_ = getMagic__trees_137(a);
4344 		T85_ = (T86_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T86_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T86_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
4345 		if (!(T85_)) goto LA87_;
4346 		T88_ = NIM_NIL;
4347 		T88_ = zero__guards_255();
4348 		T89_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4349 		T89_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 2)], T88_);
4350 		T85_ = (T89_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4351 		LA87_: ;
4352 		T84_ = T85_;
4353 		if (!(T84_)) goto LA90_;
4354 		T91_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4355 		T91_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 1)], b);
4356 		T84_ = (T91_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4357 		LA90_: ;
4358 		if (!T84_) goto LA92_;
4359 		result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4360 		goto BeforeRet_;
4361 	}
4362 	LA92_: ;
4363 	{
4364 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T96_;
4365 		T96_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4366 		T96_ = getMagic__trees_137(b);
4367 		if (!(T96_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48) || T96_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55))) goto LA97_;
4368 		{
4369 			NIM_BOOL T101_;
4370 			NIM_BOOL T102_;
4371 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T103_;
4372 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T105_;
4373 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T106_;
4374 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
4375 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T109_;
4376 			T101_ = (NIM_BOOL)0;
4377 			T102_ = (NIM_BOOL)0;
4378 			T103_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4379 			T103_ = ple__guards_1104(m, a, (*b)._kind_6.sons->data[((NI) 1)]);
4380 			T102_ = (T103_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4381 			if (!(T102_)) goto LA104_;
4382 			T105_ = NIM_NIL;
4383 			T105_ = one__guards_257();
4384 			T106_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4385 			T106_ = ple__guards_1104(m, T105_, (*b)._kind_6.sons->data[((NI) 2)]);
4386 			T102_ = (T106_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4387 			LA104_: ;
4388 			T101_ = T102_;
4389 			if (!(T101_)) goto LA107_;
4390 			T108_ = NIM_NIL;
4391 			T108_ = zero__guards_255();
4392 			T109_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4393 			T109_ = ple__guards_1104(m, T108_, (*b)._kind_6.sons->data[((NI) 1)]);
4394 			T101_ = (T109_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4395 			LA107_: ;
4396 			if (!T101_) goto LA110_;
4397 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4398 			goto BeforeRet_;
4399 		}
4400 		LA110_: ;
4401 	}
4402 	LA97_: ;
4403 	{
4404 		NIM_BOOL T114_;
4405 		NIM_BOOL T115_;
4406 		NIM_BOOL T116_;
4407 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T117_;
4408 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T120_;
4409 		T114_ = (NIM_BOOL)0;
4410 		T115_ = (NIM_BOOL)0;
4411 		T116_ = (NIM_BOOL)0;
4412 		T117_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4413 		T117_ = getMagic__trees_137(a);
4414 		T116_ = (T117_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48) || T117_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55));
4415 		if (!(T116_)) goto LA118_;
4416 		T116_ = isValue__guards_46((*a)._kind_6.sons->data[((NI) 2)]);
4417 		LA118_: ;
4418 		T115_ = T116_;
4419 		if (!(T115_)) goto LA119_;
4420 		T120_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4421 		T120_ = getMagic__trees_137((*a)._kind_6.sons->data[((NI) 1)]);
4422 		T115_ = (T120_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49) || T120_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56));
4423 		LA119_: ;
4424 		T114_ = T115_;
4425 		if (!(T114_)) goto LA121_;
4426 		T114_ = isValue__guards_46((*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]);
4427 		LA121_: ;
4428 		if (!T114_) goto LA122_;
4429 		{
4430 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
4431 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
4432 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T128_;
4433 			T126_ = NIM_NIL;
4434 			T126_ = bardivbar___guards_223((*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)], (*a)._kind_6.sons->data[((NI) 2)]);
4435 			T127_ = NIM_NIL;
4436 			T127_ = buildCall__guards_191((*m.g).operators.opDiv, (*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)], T126_);
4437 			T128_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4438 			T128_ = ple__guards_1104(m, T127_, b);
4439 			if (!(T128_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2))) goto LA129_;
4440 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4441 			goto BeforeRet_;
4442 		}
4443 		LA129_: ;
4444 	}
4445 	LA122_: ;
4446 	{
4447 		NIM_BOOL T133_;
4448 		NIM_BOOL T134_;
4449 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T135_;
4450 		NIM_BOOL T137_;
4451 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T138_;
4452 		NIM_BOOL T140_;
4453 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4454 		NIM_BOOL T142_;
4455 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dc;
4456 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
4457 		NIM_BOOL T145_;
4458 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T146_;
4459 		NIM_BOOL T148_;
4460 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x2;
4461 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ec;
4462 		T133_ = (NIM_BOOL)0;
4463 		T134_ = (NIM_BOOL)0;
4464 		T135_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4465 		T135_ = getMagic__trees_137(a);
4466 		T134_ = ((someAdd__guards_21[(NU)(T135_)>>3] &(1U<<((NU)(T135_)&7U)))!=0);
4467 		if (!(T134_)) goto LA136_;
4468 		T137_ = (NIM_BOOL)0;
4469 		T138_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4470 		T138_ = getMagic__trees_137((*a)._kind_6.sons->data[((NI) 1)]);
4471 		T137_ = ((someMul__guards_23[(NU)(T138_)>>3] &(1U<<((NU)(T138_)&7U)))!=0);
4472 		if (!(T137_)) goto LA139_;
4473 		T140_ = (NIM_BOOL)0;
4474 		x = (*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)];
4475 		T140_ = NIM_TRUE;
4476 		if (!(T140_)) goto LA141_;
4477 		T142_ = (NIM_BOOL)0;
4478 		dc = (*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)];
4479 		T142_ = ((*(*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
4480 		if (!(T142_)) goto LA143_;
4481 		y = (*a)._kind_6.sons->data[((NI) 2)];
4482 		T142_ = NIM_TRUE;
4483 		LA143_: ;
4484 		T140_ = T142_;
4485 		LA141_: ;
4486 		T137_ = T140_;
4487 		LA139_: ;
4488 		T134_ = T137_;
4489 		LA136_: ;
4490 		T133_ = T134_;
4491 		if (!(T133_)) goto LA144_;
4492 		T145_ = (NIM_BOOL)0;
4493 		T146_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4494 		T146_ = getMagic__trees_137(b);
4495 		T145_ = ((someMul__guards_23[(NU)(T146_)>>3] &(1U<<((NU)(T146_)&7U)))!=0);
4496 		if (!(T145_)) goto LA147_;
4497 		T148_ = (NIM_BOOL)0;
4498 		x2 = (*b)._kind_6.sons->data[((NI) 1)];
4499 		T148_ = NIM_TRUE;
4500 		if (!(T148_)) goto LA149_;
4501 		ec = (*b)._kind_6.sons->data[((NI) 2)];
4502 		T148_ = ((*(*b)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*b)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
4503 		LA149_: ;
4504 		T145_ = T148_;
4505 		LA147_: ;
4506 		T133_ = T145_;
4507 		LA144_: ;
4508 		if (!T133_) goto LA150_;
4509 		{
4510 			NIM_BOOL T154_;
4511 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ec1;
4512 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T157_;
4513 			T154_ = (NIM_BOOL)0;
4514 			T154_ = sameTree__guards_680(x, x2);
4515 			if (!T154_) goto LA155_;
4516 			T157_ = NIM_NIL;
4517 			T157_ = minusOne__guards_259();
4518 			ec1 = buildCall__guards_191((*m.g).operators.opAdd, ec, T157_);
4519 			{
4520 				NIM_BOOL T160_;
4521 				NIM_BOOL T161_;
4522 				NIM_BOOL T162_;
4523 				NIM_BOOL T163_;
4524 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T164_;
4525 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T165_;
4526 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
4527 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T168_;
4528 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T170_;
4529 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T171_;
4530 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T173_;
4531 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T175_;
4532 				T160_ = (NIM_BOOL)0;
4533 				T161_ = (NIM_BOOL)0;
4534 				T162_ = (NIM_BOOL)0;
4535 				T163_ = (NIM_BOOL)0;
4536 				T164_ = NIM_NIL;
4537 				T164_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4538 				T165_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4539 				T165_ = ple__guards_1104(m, T164_, x);
4540 				T163_ = (T165_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4541 				if (!(T163_)) goto LA166_;
4542 				T167_ = NIM_NIL;
4543 				T167_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4544 				T168_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4545 				T168_ = ple__guards_1104(m, T167_, ec);
4546 				T163_ = (T168_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4547 				LA166_: ;
4548 				T162_ = T163_;
4549 				if (!(T162_)) goto LA169_;
4550 				T170_ = NIM_NIL;
4551 				T170_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4552 				T171_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4553 				T171_ = ple__guards_1104(m, T170_, dc);
4554 				T162_ = (T171_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4555 				LA169_: ;
4556 				T161_ = T162_;
4557 				if (!(T161_)) goto LA172_;
4558 				T173_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4559 				T173_ = ple__guards_1104(m, dc, ec1);
4560 				T161_ = (T173_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4561 				LA172_: ;
4562 				T160_ = T161_;
4563 				if (!(T160_)) goto LA174_;
4564 				T175_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4565 				T175_ = ple__guards_1104(m, y, x);
4566 				T160_ = (T175_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4567 				LA174_: ;
4568 				if (!T160_) goto LA176_;
4569 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4570 				goto BeforeRet_;
4571 			}
4572 			LA176_: ;
4573 		}
4574 		LA155_: ;
4575 	}
4576 	goto LA131_;
4577 	LA150_: ;
4578 	{
4579 		NIM_BOOL T179_;
4580 		NIM_BOOL T180_;
4581 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T181_;
4582 		NIM_BOOL T183_;
4583 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
4584 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dc_2;
4585 		NIM_BOOL T186_;
4586 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T187_;
4587 		NIM_BOOL T189_;
4588 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T190_;
4589 		NIM_BOOL T192_;
4590 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x2_2;
4591 		NIM_BOOL T194_;
4592 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ec_2;
4593 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y_2;
4594 		T179_ = (NIM_BOOL)0;
4595 		T180_ = (NIM_BOOL)0;
4596 		T181_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4597 		T181_ = getMagic__trees_137(a);
4598 		T180_ = ((someMul__guards_23[(NU)(T181_)>>3] &(1U<<((NU)(T181_)&7U)))!=0);
4599 		if (!(T180_)) goto LA182_;
4600 		T183_ = (NIM_BOOL)0;
4601 		x_2 = (*a)._kind_6.sons->data[((NI) 1)];
4602 		T183_ = NIM_TRUE;
4603 		if (!(T183_)) goto LA184_;
4604 		dc_2 = (*a)._kind_6.sons->data[((NI) 2)];
4605 		T183_ = ((*(*a)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*a)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
4606 		LA184_: ;
4607 		T180_ = T183_;
4608 		LA182_: ;
4609 		T179_ = T180_;
4610 		if (!(T179_)) goto LA185_;
4611 		T186_ = (NIM_BOOL)0;
4612 		T187_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4613 		T187_ = getMagic__trees_137(b);
4614 		T186_ = ((someAdd__guards_21[(NU)(T187_)>>3] &(1U<<((NU)(T187_)&7U)))!=0);
4615 		if (!(T186_)) goto LA188_;
4616 		T189_ = (NIM_BOOL)0;
4617 		T190_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4618 		T190_ = getMagic__trees_137((*b)._kind_6.sons->data[((NI) 1)]);
4619 		T189_ = ((someMul__guards_23[(NU)(T190_)>>3] &(1U<<((NU)(T190_)&7U)))!=0);
4620 		if (!(T189_)) goto LA191_;
4621 		T192_ = (NIM_BOOL)0;
4622 		x2_2 = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)];
4623 		T192_ = NIM_TRUE;
4624 		if (!(T192_)) goto LA193_;
4625 		T194_ = (NIM_BOOL)0;
4626 		ec_2 = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)];
4627 		T194_ = ((*(*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
4628 		if (!(T194_)) goto LA195_;
4629 		y_2 = (*b)._kind_6.sons->data[((NI) 2)];
4630 		T194_ = NIM_TRUE;
4631 		LA195_: ;
4632 		T192_ = T194_;
4633 		LA193_: ;
4634 		T189_ = T192_;
4635 		LA191_: ;
4636 		T186_ = T189_;
4637 		LA188_: ;
4638 		T179_ = T186_;
4639 		LA185_: ;
4640 		if (!T179_) goto LA196_;
4641 		{
4642 			NIM_BOOL T200_;
4643 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ec1_2;
4644 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T203_;
4645 			T200_ = (NIM_BOOL)0;
4646 			T200_ = sameTree__guards_680(x_2, x2_2);
4647 			if (!T200_) goto LA201_;
4648 			T203_ = NIM_NIL;
4649 			T203_ = minusOne__guards_259();
4650 			ec1_2 = buildCall__guards_191((*m.g).operators.opAdd, ec_2, T203_);
4651 			{
4652 				NIM_BOOL T206_;
4653 				NIM_BOOL T207_;
4654 				NIM_BOOL T208_;
4655 				NIM_BOOL T209_;
4656 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T210_;
4657 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T211_;
4658 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T213_;
4659 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T214_;
4660 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T216_;
4661 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T217_;
4662 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T219_;
4663 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T221_;
4664 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T222_;
4665 				T206_ = (NIM_BOOL)0;
4666 				T207_ = (NIM_BOOL)0;
4667 				T208_ = (NIM_BOOL)0;
4668 				T209_ = (NIM_BOOL)0;
4669 				T210_ = NIM_NIL;
4670 				T210_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4671 				T211_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4672 				T211_ = ple__guards_1104(m, T210_, x_2);
4673 				T209_ = (T211_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4674 				if (!(T209_)) goto LA212_;
4675 				T213_ = NIM_NIL;
4676 				T213_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4677 				T214_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4678 				T214_ = ple__guards_1104(m, T213_, ec_2);
4679 				T209_ = (T214_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4680 				LA212_: ;
4681 				T208_ = T209_;
4682 				if (!(T208_)) goto LA215_;
4683 				T216_ = NIM_NIL;
4684 				T216_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
4685 				T217_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4686 				T217_ = ple__guards_1104(m, T216_, dc_2);
4687 				T208_ = (T217_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4688 				LA215_: ;
4689 				T207_ = T208_;
4690 				if (!(T207_)) goto LA218_;
4691 				T219_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4692 				T219_ = ple__guards_1104(m, dc_2, ec1_2);
4693 				T207_ = (T219_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4694 				LA218_: ;
4695 				T206_ = T207_;
4696 				if (!(T206_)) goto LA220_;
4697 				T221_ = NIM_NIL;
4698 				T221_ = zero__guards_255();
4699 				T222_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4700 				T222_ = ple__guards_1104(m, y_2, T221_);
4701 				T206_ = (T222_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4702 				LA220_: ;
4703 				if (!T206_) goto LA223_;
4704 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4705 				goto BeforeRet_;
4706 			}
4707 			LA223_: ;
4708 		}
4709 		LA201_: ;
4710 	}
4711 	goto LA131_;
4712 	LA196_: ;
4713 	LA131_: ;
4714 	{
4715 		NIM_BOOL T227_;
4716 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T228_;
4717 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T230_;
4718 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T231_;
4719 		T227_ = (NIM_BOOL)0;
4720 		T228_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4721 		T228_ = getMagic__trees_137(a);
4722 		T227_ = (T228_ >= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) && T228_ <= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 48) || T228_ >= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51) && T228_ <= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 55) || T228_ >= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63) && T228_ <= ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64));
4723 		if (!(T227_)) goto LA229_;
4724 		T230_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4725 		T230_ = getMagic__trees_137(a);
4726 		T231_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4727 		T231_ = getMagic__trees_137(b);
4728 		T227_ = (T230_ == T231_);
4729 		LA229_: ;
4730 		if (!T227_) goto LA232_;
4731 		{
4732 			NIM_BOOL T236_;
4733 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T238_;
4734 			T236_ = (NIM_BOOL)0;
4735 			T236_ = sameTree__guards_680((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4736 			if (!(T236_)) goto LA237_;
4737 			T238_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4738 			T238_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 2)], (*b)._kind_6.sons->data[((NI) 2)]);
4739 			T236_ = (T238_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4740 			LA237_: ;
4741 			if (!T236_) goto LA239_;
4742 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4743 			goto BeforeRet_;
4744 		}
4745 		goto LA234_;
4746 		LA239_: ;
4747 		{
4748 			NIM_BOOL T242_;
4749 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T244_;
4750 			T242_ = (NIM_BOOL)0;
4751 			T242_ = sameTree__guards_680((*a)._kind_6.sons->data[((NI) 2)], (*b)._kind_6.sons->data[((NI) 2)]);
4752 			if (!(T242_)) goto LA243_;
4753 			T244_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4754 			T244_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4755 			T242_ = (T244_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4756 			LA243_: ;
4757 			if (!T242_) goto LA245_;
4758 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4759 			goto BeforeRet_;
4760 		}
4761 		goto LA234_;
4762 		LA245_: ;
4763 		LA234_: ;
4764 	}
4765 	LA232_: ;
4766 	{
4767 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T249_;
4768 		T249_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4769 		T249_ = getMagic__trees_137(a);
4770 		if (!(T249_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49) || T249_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56))) goto LA250_;
4771 		{
4772 			NIM_BOOL T254_;
4773 			NIM_BOOL T255_;
4774 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T256_;
4775 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T257_;
4776 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T259_;
4777 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T260_;
4778 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T262_;
4779 			T254_ = (NIM_BOOL)0;
4780 			T255_ = (NIM_BOOL)0;
4781 			T256_ = NIM_NIL;
4782 			T256_ = one__guards_257();
4783 			T257_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4784 			T257_ = ple__guards_1104(m, T256_, (*a)._kind_6.sons->data[((NI) 2)]);
4785 			T255_ = (T257_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4786 			if (!(T255_)) goto LA258_;
4787 			T259_ = NIM_NIL;
4788 			T259_ = zero__guards_255();
4789 			T260_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4790 			T260_ = ple__guards_1104(m, T259_, b);
4791 			T255_ = (T260_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4792 			LA258_: ;
4793 			T254_ = T255_;
4794 			if (!(T254_)) goto LA261_;
4795 			T262_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4796 			T262_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 1)], b);
4797 			T254_ = (T262_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4798 			LA261_: ;
4799 			if (!T254_) goto LA263_;
4800 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4801 			goto BeforeRet_;
4802 		}
4803 		LA263_: ;
4804 		{
4805 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T267_;
4806 			T267_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4807 			T267_ = getMagic__trees_137(b);
4808 			if (!(T267_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 49) || T267_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 56))) goto LA268_;
4809 			{
4810 				NIM_BOOL T272_;
4811 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T274_;
4812 				T272_ = (NIM_BOOL)0;
4813 				T272_ = sameTree__guards_680((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4814 				if (!(T272_)) goto LA273_;
4815 				T274_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4816 				T274_ = ple__guards_1104(m, (*b)._kind_6.sons->data[((NI) 2)], (*a)._kind_6.sons->data[((NI) 2)]);
4817 				T272_ = (T274_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4818 				LA273_: ;
4819 				if (!T272_) goto LA275_;
4820 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4821 				goto BeforeRet_;
4822 			}
4823 			LA275_: ;
4824 		}
4825 		LA268_: ;
4826 		{
4827 			NIM_BOOL T279_;
4828 			NIM_BOOL T280_;
4829 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T282_;
4830 			T279_ = (NIM_BOOL)0;
4831 			T280_ = (NIM_BOOL)0;
4832 			T280_ = isValue__guards_46((*a)._kind_6.sons->data[((NI) 2)]);
4833 			if (!(T280_)) goto LA281_;
4834 			T282_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4835 			T282_ = getMagic__trees_137(b);
4836 			T280_ = (T282_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T282_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T282_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
4837 			LA281_: ;
4838 			T279_ = T280_;
4839 			if (!(T279_)) goto LA283_;
4840 			T279_ = isMinusOne__guards_1093((*b)._kind_6.sons->data[((NI) 2)]);
4841 			LA283_: ;
4842 			if (!T279_) goto LA284_;
4843 			{
4844 				NIM_BOOL T288_;
4845 				tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T289_;
4846 				T288_ = (NIM_BOOL)0;
4847 				T289_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4848 				T289_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 2)], (*a)._kind_6.sons->data[((NI) 1)]);
4849 				T288_ = (T289_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4850 				if (!(T288_)) goto LA290_;
4851 				T288_ = sameTree__guards_680((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
4852 				LA290_: ;
4853 				if (!T288_) goto LA291_;
4854 				result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4855 				goto BeforeRet_;
4856 			}
4857 			LA291_: ;
4858 		}
4859 		LA284_: ;
4860 	}
4861 	LA250_: ;
4862 	{
4863 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T295_;
4864 		T295_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4865 		T295_ = getMagic__trees_137(b);
4866 		if (!(T295_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 64))) goto LA296_;
4867 		{
4868 			NIM_BOOL T300_;
4869 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T301_;
4870 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T303_;
4871 			T300_ = (NIM_BOOL)0;
4872 			T301_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4873 			T301_ = ple__guards_1104(m, a, (*b)._kind_6.sons->data[((NI) 1)]);
4874 			T300_ = (T301_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4875 			if (T300_) goto LA302_;
4876 			T303_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4877 			T303_ = ple__guards_1104(m, a, (*b)._kind_6.sons->data[((NI) 2)]);
4878 			T300_ = (T303_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4879 			LA302_: ;
4880 			if (!T300_) goto LA304_;
4881 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4882 			goto BeforeRet_;
4883 		}
4884 		LA304_: ;
4885 	}
4886 	LA296_: ;
4887 	{
4888 		tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T308_;
4889 		T308_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
4890 		T308_ = getMagic__trees_137(a);
4891 		if (!(T308_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 63))) goto LA309_;
4892 		{
4893 			NIM_BOOL T313_;
4894 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T314_;
4895 			tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T316_;
4896 			T313_ = (NIM_BOOL)0;
4897 			T314_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4898 			T314_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 1)], b);
4899 			T313_ = (T314_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4900 			if (T313_) goto LA315_;
4901 			T316_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4902 			T316_ = ple__guards_1104(m, (*a)._kind_6.sons->data[((NI) 2)], b);
4903 			T313_ = (T316_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2));
4904 			LA315_: ;
4905 			if (!T313_) goto LA317_;
4906 			result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
4907 			goto BeforeRet_;
4908 		}
4909 		LA317_: ;
4910 	}
4911 	LA309_: ;
4912 	result = pleViaModel__guards_1100(m, a, b);
4913 	goto BeforeRet_;
4914 	}BeforeRet_: ;
4915 	return result;
4916 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,proveLe__guards_1619)4917 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, proveLe__guards_1619)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
4918 	tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
4919 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
4920 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
4921 	result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4922 	T1_ = NIM_NIL;
4923 	T1_ = buildCall__guards_191((*m.g).operators.opLe, a, b);
4924 	x = canon__guards_345(T1_, (&(*m.g).operators));
4925 	result = ple__guards_1104(m, (*x)._kind_6.sons->data[((NI) 1)], (*x)._kind_6.sons->data[((NI) 2)]);
4926 	{
4927 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
4928 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
4929 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
4930 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
4931 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T9_;
4932 		if (!(result == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0))) goto LA4_;
4933 		T6_ = NIM_NIL;
4934 		T6_ = one__guards_257();
4935 		T7_ = NIM_NIL;
4936 		T7_ = buildCall__guards_191((*m.g).operators.opAdd, b, T6_);
4937 		T8_ = NIM_NIL;
4938 		T8_ = buildCall__guards_191((*m.g).operators.opLe, T7_, a);
4939 		y = canon__guards_345(T8_, (&(*m.g).operators));
4940 		T9_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
4941 		T9_ = ple__guards_1104(m, (*y)._kind_6.sons->data[((NI) 1)], (*y)._kind_6.sons->data[((NI) 2)]);
4942 		result = tilde___guards_990(T9_);
4943 	}
4944 	LA4_: ;
4945 	return result;
4946 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lowBound__guards_261)4947 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lowBound__guards_261)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x) {
4948 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4949 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T1_;
4950 	result = NIM_NIL;
4951 	T1_ = firstOrd__types_1353(conf, (*x).typ);
4952 	result = newIntNode__ast_3727(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), T1_);
4953 	(*result).info = (*x).info;
4954 	return result;
4955 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,highBound__guards_265)4956 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, highBound__guards_265)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
4957 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4958 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
4959 	result = NIM_NIL;
4960 	typ = skipTypes__ast_3735((*x).typ, TM__6PEpSVg5zYQiUPcMieikwQ_5);
4961 	{
4962 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T5_;
4963 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA3_;
4964 		T5_ = lastOrd__types_1465(conf, typ);
4965 		result = newIntNode__ast_3727(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), T5_);
4966 	}
4967 	goto LA1_;
4968 	LA3_: ;
4969 	{
4970 		NIM_BOOL T7_;
4971 		NIM_BOOL T8_;
4972 		NI T13_;
4973 		T7_ = (NIM_BOOL)0;
4974 		T8_ = (NIM_BOOL)0;
4975 		T8_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
4976 		if (!(T8_)) goto LA9_;
4977 		T8_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4978 		LA9_: ;
4979 		T7_ = T8_;
4980 		if (!(T7_)) goto LA10_;
4981 		T7_ = ((*(*x)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
4982 		LA10_: ;
4983 		if (!T7_) goto LA11_;
4984 		T13_ = (NI)0;
4985 		T13_ = len__ast_3198((*(*x)._kind_4.sym).ast);
4986 		result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((NI)(T13_ - ((NI) 1)))));
4987 	}
4988 	goto LA1_;
4989 	LA11_: ;
4990 	{
4991 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
4992 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
4993 		T15_ = NIM_NIL;
4994 		T15_ = buildCall__guards_185((*o).opLen, x);
4995 		T16_ = NIM_NIL;
4996 		T16_ = minusOne__guards_259();
4997 		result = buildCall__guards_191((*o).opAdd, T15_, T16_);
4998 	}
4999 	LA1_: ;
5000 	(*result).info = (*x).info;
5001 	return result;
5002 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildProperFieldCheck__guards_1774)5003 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildProperFieldCheck__guards_1774)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
5004 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5005 	result = NIM_NIL;
5006 	{
5007 		if (!((*(*check)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39))) goto LA3_;
5008 		result = copyTree__ast_4431(check);
5009 		{
5010 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5011 			if (!((*access).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA7_;
5012 			a = copyTree__ast_4431(access);
5013 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), (*check)._kind_6.sons->data[((NI) 2)]);
5014 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), a);
5015 		}
5016 		LA7_: ;
5017 	}
5018 	goto LA1_;
5019 	LA3_: ;
5020 	{
5021 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
5022 		T10_ = NIM_NIL;
5023 		T10_ = buildProperFieldCheck__guards_1774(access, (*check)._kind_6.sons->data[((NI) 1)], o);
5024 		result = neg__guards_126(T10_, o);
5025 	}
5026 	LA1_: ;
5027 	return result;
5028 }
N_NIMCALL(void,checkFieldAccess__guards_1800)5029 N_LIB_PRIVATE N_NIMCALL(void, checkFieldAccess__guards_1800)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
5030 	{
5031 		NI i;
5032 		NI colontmp_;
5033 		NI i_2;
5034 		i = (NI)0;
5035 		colontmp_ = (NI)0;
5036 		colontmp_ = len__ast_3198(n);
5037 		i_2 = ((NI) 1);
5038 		{
5039 			while (1) {
5040 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
5041 				if (!(i_2 < colontmp_)) goto LA3;
5042 				i = i_2;
5043 				check = buildProperFieldCheck__guards_1774((*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[i], (&(*m.g).operators));
5044 				{
5045 					NIM_BOOL T6_;
5046 					tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T8_;
5047 					NimStringDesc* T11_;
5048 					T6_ = (NIM_BOOL)0;
5049 					T6_ = !((check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5050 					if (!(T6_)) goto LA7_;
5051 					T8_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
5052 					T8_ = doesImply__guards_1022(m, check);
5053 					T6_ = !((T8_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2)));
5054 					LA7_: ;
5055 					if (!T6_) goto LA9_;
5056 					T11_ = NIM_NIL;
5057 					T11_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
5058 					liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 42), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__6PEpSVg5zYQiUPcMieikwQ_8, NIM_FALSE);
5059 					goto LA1;
5060 				}
5061 				LA9_: ;
5062 				i_2 += ((NI) 1);
5063 			} LA3: ;
5064 		}
5065 	} LA1: ;
5066 }
N_NIMCALL(void,addAsgnFact__guards_1730)5067 N_LIB_PRIVATE N_NIMCALL(void, addAsgnFact__guards_1730)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
5068 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact;
5069 	NI T1_;
5070 	fact = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info, ((NI) 3));
5071 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*m).g).operators.opEq));
5072 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 1)]), key);
5073 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 2)]), value);
5074 	unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5075 	T1_ = (*m).s->Sup.len++;
5076 	asgnRef((void**) (&(*m).s->data[T1_]), fact);
5077 }
N_NIMCALL(NIM_BOOL,interestingCaseExpr__guards_114)5078 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, interestingCaseExpr__guards_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m) {
5079 	NIM_BOOL result;
5080 	result = (NIM_BOOL)0;
5081 	result = isLetLocation__guards_94(m, NIM_TRUE);
5082 	return result;
5083 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,settype__guards_1647)5084 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, settype__guards_1647)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5085 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5086 	tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
5087 	result = NIM_NIL;
5088 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), TM__6PEpSVg5zYQiUPcMieikwQ_10, (*(*n).typ).owner);
5089 	idgen = NIM_NIL;
5090 	addSonSkipIntLit__magicsys_136(result, (*n).typ, idgen);
5091 	return result;
5092 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildOf__guards_1651)5093 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOf__guards_1651)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loc, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
5094 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5095 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
5096 	NI T1_;
5097 	result = NIM_NIL;
5098 	T1_ = (NI)0;
5099 	T1_ = len__ast_3198(it);
5100 	s = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*it).info, (NI)(T1_ - ((NI) 1)));
5101 	asgnRef((void**) (&(*s).typ), settype__guards_1647(loc));
5102 	{
5103 		NI i;
5104 		NI colontmp_;
5105 		NI T3_;
5106 		NI i_2;
5107 		i = (NI)0;
5108 		colontmp_ = (NI)0;
5109 		T3_ = (NI)0;
5110 		T3_ = len__ast_3198(it);
5111 		colontmp_ = (NI)(T3_ - ((NI) 1));
5112 		i_2 = ((NI) 0);
5113 		{
5114 			while (1) {
5115 				if (!(i_2 < colontmp_)) goto LA5;
5116 				i = i_2;
5117 				asgnRef((void**) (&(*s)._kind_6.sons->data[i]), (*it)._kind_6.sons->data[i]);
5118 				i_2 += ((NI) 1);
5119 			} LA5: ;
5120 		}
5121 	}
5122 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*it).info, ((NI) 3));
5123 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opContains));
5124 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), s);
5125 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), loc);
5126 	return result;
5127 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildElse__guards_1673)5128 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildElse__guards_1673)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
5129 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5130 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
5131 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
5132 	result = NIM_NIL;
5133 	T1_ = NIM_NIL;
5134 	T1_ = settype__guards_1647((*n)._kind_6.sons->data[((NI) 0)]);
5135 	s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info, T1_);
5136 	{
5137 		NI i;
5138 		NI colontmp_;
5139 		NI T3_;
5140 		NI i_2;
5141 		i = (NI)0;
5142 		colontmp_ = (NI)0;
5143 		T3_ = (NI)0;
5144 		T3_ = len__ast_3198(n);
5145 		colontmp_ = (NI)(T3_ - ((NI) 1));
5146 		i_2 = ((NI) 1);
5147 		{
5148 			while (1) {
5149 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
5150 				if (!(i_2 < colontmp_)) goto LA5;
5151 				i = i_2;
5152 				branch = (*n)._kind_6.sons->data[i];
5153 				{
5154 					if (!((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA8_;
5155 					{
5156 						NI j;
5157 						NI colontmp__2;
5158 						NI T11_;
5159 						NI i_3;
5160 						j = (NI)0;
5161 						colontmp__2 = (NI)0;
5162 						T11_ = (NI)0;
5163 						T11_ = len__ast_3198(branch);
5164 						colontmp__2 = (NI)(T11_ - ((NI) 1));
5165 						i_3 = ((NI) 0);
5166 						{
5167 							while (1) {
5168 								if (!(i_3 < colontmp__2)) goto LA13;
5169 								j = i_3;
5170 								add__ast_4797(s, (*branch)._kind_6.sons->data[j]);
5171 								i_3 += ((NI) 1);
5172 							} LA13: ;
5173 						}
5174 					}
5175 				}
5176 				LA8_: ;
5177 				i_2 += ((NI) 1);
5178 			} LA5: ;
5179 		}
5180 	}
5181 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
5182 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opContains));
5183 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), s);
5184 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), (*n)._kind_6.sons->data[((NI) 0)]);
5185 	return result;
5186 }
N_NIMCALL(void,addCaseBranchFacts__guards_1755)5187 N_LIB_PRIVATE N_NIMCALL(void, addCaseBranchFacts__guards_1755)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
5188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
5189 	branch = (*n)._kind_6.sons->data[i];
5190 	{
5191 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
5192 		NI T6_;
5193 		if (!((*branch).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA3_;
5194 		T5_ = NIM_NIL;
5195 		T5_ = buildOf__guards_1651(branch, (*n)._kind_6.sons->data[((NI) 0)], (&(*(*m).g).operators));
5196 		unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5197 		T6_ = (*m).s->Sup.len++;
5198 		asgnRef((void**) (&(*m).s->data[T6_]), T5_);
5199 	}
5200 	goto LA1_;
5201 	LA3_: ;
5202 	{
5203 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
5204 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
5205 		NI T10_;
5206 		T8_ = NIM_NIL;
5207 		T8_ = buildElse__guards_1673(n, (&(*(*m).g).operators));
5208 		T9_ = NIM_NIL;
5209 		T9_ = neg__guards_126(T8_, (&(*(*m).g).operators));
5210 		unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5211 		T10_ = (*m).s->Sup.len++;
5212 		asgnRef((void**) (&(*m).s->data[T10_]), T9_);
5213 	}
5214 	LA1_: ;
5215 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,usefulFact__guards_499)5216 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, usefulFact__guards_499)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
5217 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5218 	tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T1_;
5219 	result = NIM_NIL;
5220 	T1_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5221 	T1_ = getMagic__trees_137(n);
5222 	switch (T1_) {
5223 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 70):
5224 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 73):
5225 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 78):
5226 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 81):
5227 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 84):
5228 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
5229 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 91) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 92):
5230 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 116):
5231 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 119):
5232 	{
5233 		{
5234 			NIM_BOOL T5_;
5235 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5236 			NIM_BOOL T8_;
5237 			T5_ = (NIM_BOOL)0;
5238 			T6_ = NIM_NIL;
5239 			T6_ = skipConv__types_3588((*n)._kind_6.sons->data[((NI) 2)]);
5240 			T5_ = ((*T6_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
5241 			if (!(T5_)) goto LA7_;
5242 			T8_ = (NIM_BOOL)0;
5243 			T8_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
5244 			if (T8_) goto LA9_;
5245 			T8_ = isVar__guards_75((*n)._kind_6.sons->data[((NI) 1)]);
5246 			LA9_: ;
5247 			T5_ = T8_;
5248 			LA7_: ;
5249 			if (!T5_) goto LA10_;
5250 			result = buildCall__guards_185((*o).opIsNil, (*n)._kind_6.sons->data[((NI) 1)]);
5251 		}
5252 		goto LA3_;
5253 		LA10_: ;
5254 		{
5255 			{
5256 				NIM_BOOL T15_;
5257 				T15_ = (NIM_BOOL)0;
5258 				T15_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
5259 				if (T15_) goto LA16_;
5260 				T15_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
5261 				LA16_: ;
5262 				if (!T15_) goto LA17_;
5263 				result = n;
5264 			}
5265 			goto LA13_;
5266 			LA17_: ;
5267 			{
5268 				NIM_BOOL T20_;
5269 				tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T21_;
5270 				tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T23_;
5271 				T20_ = (NIM_BOOL)0;
5272 				T21_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5273 				T21_ = getMagic__trees_137((*n)._kind_6.sons->data[((NI) 1)]);
5274 				T20_ = (T21_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || T21_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || T21_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || T21_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
5275 				if (T20_) goto LA22_;
5276 				T23_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5277 				T23_ = getMagic__trees_137((*n)._kind_6.sons->data[((NI) 2)]);
5278 				T20_ = (T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || T23_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
5279 				LA22_: ;
5280 				if (!T20_) goto LA24_;
5281 				result = n;
5282 			}
5283 			goto LA13_;
5284 			LA24_: ;
5285 			LA13_: ;
5286 		}
5287 		LA3_: ;
5288 	}
5289 	break;
5290 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 71) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 72):
5291 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 74) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 77):
5292 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 79) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 80):
5293 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 82) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 83):
5294 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 85) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 86):
5295 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 88) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 89):
5296 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 117) ... ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 118):
5297 	{
5298 		{
5299 			NIM_BOOL T29_;
5300 			T29_ = (NIM_BOOL)0;
5301 			T29_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
5302 			if (T29_) goto LA30_;
5303 			T29_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 2)], NIM_TRUE);
5304 			LA30_: ;
5305 			if (!T29_) goto LA31_;
5306 			result = n;
5307 		}
5308 		goto LA27_;
5309 		LA31_: ;
5310 		{
5311 			NIM_BOOL T34_;
5312 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T35_;
5313 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T37_;
5314 			T34_ = (NIM_BOOL)0;
5315 			T35_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5316 			T35_ = getMagic__trees_137((*n)._kind_6.sons->data[((NI) 1)]);
5317 			T34_ = (T35_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || T35_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || T35_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || T35_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
5318 			if (T34_) goto LA36_;
5319 			T37_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5320 			T37_ = getMagic__trees_137((*n)._kind_6.sons->data[((NI) 2)]);
5321 			T34_ = (T37_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 36) || T37_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 37) || T37_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 38) || T37_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 39));
5322 			LA36_: ;
5323 			if (!T34_) goto LA38_;
5324 			result = n;
5325 		}
5326 		goto LA27_;
5327 		LA38_: ;
5328 		LA27_: ;
5329 	}
5330 	break;
5331 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
5332 	{
5333 		{
5334 			NIM_BOOL T43_;
5335 			T43_ = (NIM_BOOL)0;
5336 			T43_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
5337 			if (T43_) goto LA44_;
5338 			T43_ = isVar__guards_75((*n)._kind_6.sons->data[((NI) 1)]);
5339 			LA44_: ;
5340 			if (!T43_) goto LA45_;
5341 			result = n;
5342 		}
5343 		LA45_: ;
5344 	}
5345 	break;
5346 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134):
5347 	{
5348 		{
5349 			NIM_BOOL T50_;
5350 			T50_ = (NIM_BOOL)0;
5351 			T50_ = isLetLocation__guards_94((*n)._kind_6.sons->data[((NI) 1)], NIM_TRUE);
5352 			if (!T50_) goto LA51_;
5353 			result = n;
5354 		}
5355 		LA51_: ;
5356 	}
5357 	break;
5358 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
5359 	{
5360 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
5361 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
5362 		a = usefulFact__guards_499((*n)._kind_6.sons->data[((NI) 1)], o);
5363 		b = usefulFact__guards_499((*n)._kind_6.sons->data[((NI) 2)], o);
5364 		{
5365 			NIM_BOOL T56_;
5366 			T56_ = (NIM_BOOL)0;
5367 			T56_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5368 			if (!(T56_)) goto LA57_;
5369 			T56_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5370 			LA57_: ;
5371 			if (!T56_) goto LA58_;
5372 			result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
5373 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opAnd));
5374 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), a);
5375 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), b);
5376 		}
5377 		goto LA54_;
5378 		LA58_: ;
5379 		{
5380 			if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA61_;
5381 			result = a;
5382 		}
5383 		goto LA54_;
5384 		LA61_: ;
5385 		{
5386 			if (!!((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA64_;
5387 			result = b;
5388 		}
5389 		goto LA54_;
5390 		LA64_: ;
5391 		LA54_: ;
5392 	}
5393 	break;
5394 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96):
5395 	{
5396 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
5397 		a_2 = usefulFact__guards_499((*n)._kind_6.sons->data[((NI) 1)], o);
5398 		{
5399 			if (!!((a_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA69_;
5400 			result = neg__guards_126(a_2, o);
5401 		}
5402 		LA69_: ;
5403 	}
5404 	break;
5405 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
5406 	{
5407 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
5408 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T72_;
5409 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
5410 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T73_;
5411 		T72_ = NIM_NIL;
5412 		T72_ = usefulFact__guards_499((*n)._kind_6.sons->data[((NI) 1)], o);
5413 		a_3 = neg__guards_126(T72_, o);
5414 		T73_ = NIM_NIL;
5415 		T73_ = usefulFact__guards_499((*n)._kind_6.sons->data[((NI) 2)], o);
5416 		b_2 = neg__guards_126(T73_, o);
5417 		{
5418 			NIM_BOOL T76_;
5419 			T76_ = (NIM_BOOL)0;
5420 			T76_ = !((a_3 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5421 			if (!(T76_)) goto LA77_;
5422 			T76_ = !((b_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
5423 			LA77_: ;
5424 			if (!T76_) goto LA78_;
5425 			result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
5426 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*o).opAnd));
5427 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), a_3);
5428 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), b_2);
5429 			result = neg__guards_126(result, o);
5430 		}
5431 		LA78_: ;
5432 	}
5433 	break;
5434 	default:
5435 	{
5436 		{
5437 			NIM_BOOL T83_;
5438 			T83_ = (NIM_BOOL)0;
5439 			T83_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5440 			if (!(T83_)) goto LA84_;
5441 			T83_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
5442 			LA84_: ;
5443 			if (!T83_) goto LA85_;
5444 			{
5445 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T89_;
5446 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T92_;
5447 				T89_ = NIM_NIL;
5448 				T89_ = astdef__ast_3483((*n)._kind_4.sym);
5449 				if (!!((T89_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA90_;
5450 				T92_ = NIM_NIL;
5451 				T92_ = astdef__ast_3483((*n)._kind_4.sym);
5452 				result = usefulFact__guards_499(T92_, o);
5453 			}
5454 			LA90_: ;
5455 		}
5456 		goto LA81_;
5457 		LA85_: ;
5458 		{
5459 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T96_;
5460 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA94_;
5461 			T96_ = NIM_NIL;
5462 			T96_ = lastSon__ast_4832(n);
5463 			result = usefulFact__guards_499(T96_, o);
5464 		}
5465 		goto LA81_;
5466 		LA94_: ;
5467 		LA81_: ;
5468 	}
5469 	break;
5470 	}
5471 	return result;
5472 }
N_NIMCALL(void,addFact__guards_609)5473 N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_609)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn) {
5474 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
5475 	n = usefulFact__guards_499(nn, (&(*(*m).g).operators));
5476 	{
5477 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5478 		{
5479 			NI T9_;
5480 			if (!!((*m).beSmart)) goto LA7_;
5481 			unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5482 			T9_ = (*m).s->Sup.len++;
5483 			asgnRef((void**) (&(*m).s->data[T9_]), n);
5484 		}
5485 		goto LA5_;
5486 		LA7_: ;
5487 		{
5488 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* c;
5489 			c = canon__guards_345(n, (&(*(*m).g).operators));
5490 			{
5491 				tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T13_;
5492 				T13_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5493 				T13_ = getMagic__trees_137(c);
5494 				if (!(T13_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109))) goto LA14_;
5495 				addFact__guards_609(m, (*c)._kind_6.sons->data[((NI) 1)]);
5496 				addFact__guards_609(m, (*c)._kind_6.sons->data[((NI) 2)]);
5497 			}
5498 			goto LA11_;
5499 			LA14_: ;
5500 			{
5501 				NI T17_;
5502 				unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5503 				T17_ = (*m).s->Sup.len++;
5504 				asgnRef((void**) (&(*m).s->data[T17_]), c);
5505 			}
5506 			LA11_: ;
5507 		}
5508 		LA5_: ;
5509 	}
5510 	LA3_: ;
5511 }
N_NIMCALL(void,addFactNeg__guards_632)5512 N_LIB_PRIVATE N_NIMCALL(void, addFactNeg__guards_632)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5513 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5514 	n_2 = neg__guards_126(n, (&(*(*m).g).operators));
5515 	{
5516 		if (!!((n_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5517 		addFact__guards_609(m, n_2);
5518 	}
5519 	LA3_: ;
5520 }
N_NIMCALL(void,addFactLe__guards_1634)5521 N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_1634)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
5522 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
5523 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
5524 	NI T3_;
5525 	T1_ = NIM_NIL;
5526 	T1_ = buildCall__guards_191((*(*m).g).operators.opLe, a, b);
5527 	T2_ = NIM_NIL;
5528 	T2_ = canon__guards_345(T1_, (&(*(*m).g).operators));
5529 	unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5530 	T3_ = (*m).s->Sup.len++;
5531 	asgnRef((void**) (&(*m).s->data[T3_]), T2_);
5532 }
N_NIMCALL(void,addFactLt__guards_1642)5533 N_LIB_PRIVATE N_NIMCALL(void, addFactLt__guards_1642)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
5534 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb;
5535 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
5536 	T1_ = NIM_NIL;
5537 	T1_ = minusOne__guards_259();
5538 	bb = buildCall__guards_191((*(*m).g).operators.opAdd, b, T1_);
5539 	addFactLe__guards_1634(m, a, bb);
5540 }
N_NIMCALL(void,addDiscriminantFact__guards_1717)5541 N_LIB_PRIVATE N_NIMCALL(void, addDiscriminantFact__guards_1717)(tyObject_TModel__yUzvq5GhzqHyDCdSXqIv1Q* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5542 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fact;
5543 	NI T1_;
5544 	fact = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, ((NI) 3));
5545 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*m).g).operators.opEq));
5546 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 1)]), (*n)._kind_6.sons->data[((NI) 0)]);
5547 	asgnRef((void**) (&(*fact)._kind_6.sons->data[((NI) 2)]), (*n)._kind_6.sons->data[((NI) 1)]);
5548 	unsureAsgnRef((void**) (&(*m).s), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*m).s), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
5549 	T1_ = (*m).s->Sup.len++;
5550 	asgnRef((void**) (&(*m).s->data[T1_]), fact);
5551 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildAdd__guards_494)5552 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildAdd__guards_494)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, NI64 b, tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA* o) {
5553 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5554 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
5555 	result = NIM_NIL;
5556 	T1_ = NIM_NIL;
5557 	{
5558 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
5559 		if (!!((b == IL64(0)))) goto LA4_;
5560 		T6_ = NIM_NIL;
5561 		T6_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), b);
5562 		T1_ = buildCall__guards_191((*o).opAdd, a, T6_);
5563 	}
5564 	goto LA2_;
5565 	LA4_: ;
5566 	{
5567 		T1_ = a;
5568 	}
5569 	LA2_: ;
5570 	result = canon__guards_345(T1_, o);
5571 	return result;
5572 }
N_NIMCALL(NI64,simpleSlice__guards_1048)5573 N_LIB_PRIVATE N_NIMCALL(NI64, simpleSlice__guards_1048)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
5574 	NI64 result;
5575 	result = (NI64)0;
5576 	{
5577 		NIM_BOOL T3_;
5578 		T3_ = (NIM_BOOL)0;
5579 		T3_ = sameTree__guards_680(a, b);
5580 		if (!T3_) goto LA4_;
5581 		{
5582 			NIM_BOOL T8_;
5583 			tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg T9_;
5584 			T8_ = (NIM_BOOL)0;
5585 			T9_ = (tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg)0;
5586 			T9_ = getMagic__trees_137(a);
5587 			T8_ = (T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 46) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 53) || T9_ == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 51));
5588 			if (!(T8_)) goto LA10_;
5589 			T8_ = ((*(*a)._kind_6.sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*a)._kind_6.sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
5590 			LA10_: ;
5591 			if (!T8_) goto LA11_;
5592 			result = (*(*a)._kind_6.sons->data[((NI) 2)])._kind_1.intVal;
5593 		}
5594 		goto LA6_;
5595 		LA11_: ;
5596 		{
5597 			result = IL64(0);
5598 		}
5599 		LA6_: ;
5600 	}
5601 	goto LA1_;
5602 	LA4_: ;
5603 	{
5604 		result = IL64(-1);
5605 	}
5606 	LA1_: ;
5607 	return result;
5608 }
N_NIMCALL(void,compiler_guardsDatInit000)5609 N_LIB_PRIVATE N_NIMCALL(void, compiler_guardsDatInit000)(void) {
5610 static TNimNode* TM__6PEpSVg5zYQiUPcMieikwQ_7_2[2];
5611 static TNimNode TM__6PEpSVg5zYQiUPcMieikwQ_0[3];
5612 NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_.size = sizeof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ);
5613 NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_.align = NIM_ALIGNOF(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ);
5614 NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_.kind = 18;
5615 NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_.base = 0;
5616 TM__6PEpSVg5zYQiUPcMieikwQ_7_2[0] = &TM__6PEpSVg5zYQiUPcMieikwQ_0[1];
5617 TM__6PEpSVg5zYQiUPcMieikwQ_0[1].kind = 1;
5618 TM__6PEpSVg5zYQiUPcMieikwQ_0[1].offset = offsetof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ, Field0);
5619 TM__6PEpSVg5zYQiUPcMieikwQ_0[1].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
5620 TM__6PEpSVg5zYQiUPcMieikwQ_0[1].name = "Field0";
5621 TM__6PEpSVg5zYQiUPcMieikwQ_7_2[1] = &TM__6PEpSVg5zYQiUPcMieikwQ_0[2];
5622 TM__6PEpSVg5zYQiUPcMieikwQ_0[2].kind = 1;
5623 TM__6PEpSVg5zYQiUPcMieikwQ_0[2].offset = offsetof(tyTuple__EFqgCXJ4d8PgqOdFJmldsQ, Field1);
5624 TM__6PEpSVg5zYQiUPcMieikwQ_0[2].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
5625 TM__6PEpSVg5zYQiUPcMieikwQ_0[2].name = "Field1";
5626 TM__6PEpSVg5zYQiUPcMieikwQ_0[0].len = 2; TM__6PEpSVg5zYQiUPcMieikwQ_0[0].kind = 2; TM__6PEpSVg5zYQiUPcMieikwQ_0[0].sons = &TM__6PEpSVg5zYQiUPcMieikwQ_7_2[0];
5627 NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_.node = &TM__6PEpSVg5zYQiUPcMieikwQ_0[0];
5628 NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_.size = sizeof(tySequence__nw2ozGiJbajPUc4Cj4vzYw*);
5629 NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_.align = NIM_ALIGNOF(tySequence__nw2ozGiJbajPUc4Cj4vzYw*);
5630 NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_.kind = 24;
5631 NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_.base = (&NTItupleLa58pnode_b58pnodeT__EFqgCXJ4d8PgqOdFJmldsQ_);
5632 NTItreplacements__nw2ozGiJbajPUc4Cj4vzYw_.marker = Marker_tySequence__nw2ozGiJbajPUc4Cj4vzYw;
5633 }
5634 
5635