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