1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4 
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
24 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
25 typedef struct NimStringDesc NimStringDesc;
26 typedef struct TGenericSeq TGenericSeq;
27 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
28 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
29 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
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_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
39 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
40 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
41 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
42 typedef NU8 tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w;
43 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
44 NU16 line;
45 NI16 col;
46 NI32 fileIndex;
47 };
48 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
49 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
50 struct TGenericSeq {
51 NI len;
52 NI reserved;
53 };
54 struct NimStringDesc {
55   TGenericSeq Sup;
56 NIM_CHAR data[SEQ_DECL_SIZE];
57 };
58 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
59 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
60 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
61 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
62 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
63 union{
64 struct {NI64 intVal;
65 } _kind_1;
66 struct {NF floatVal;
67 } _kind_2;
68 struct {NimStringDesc* strVal;
69 } _kind_3;
70 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
71 } _kind_4;
72 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
73 } _kind_5;
74 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
75 } _kind_6;
76 };
77 };
78 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
79 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
80 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
81 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
82 struct TNimType {
83 NI size;
84 NI align;
85 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
86 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
87 TNimType* base;
88 TNimNode* node;
89 void* finalizer;
90 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
91 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
92 };
93 struct RootObj {
94 TNimType* m_type;
95 };
96 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
97 NI32 module;
98 NI32 item;
99 };
100 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
101   RootObj Sup;
102 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
103 };
104 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
105 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
106 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
107 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
108 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
109 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
110 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
111 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
112 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
113 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
114 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
115 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
116 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
117 };
118 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
119   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
120 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
121 union{
122 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
123 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
124 } _kind_1;
125 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
126 NI bitsize;
127 NI alignment;
128 } _kind_2;
129 };
130 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
131 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
132 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
133 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
134 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
135 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
136 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
137 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
138 NI position;
139 NI offset;
140 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
141 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
142 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
143 };
144 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
145 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
146 NI elems;
147 NI counter;
148 NI max;
149 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
150 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
151 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
152 };
153 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
154 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
155 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
156 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
157   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
158 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
159 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
160 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
161 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
162 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
163 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
164 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
165 NI64 size;
166 NI16 align;
167 NI16 paddingAtEnd;
168 NI16 lockLevel;
169 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
170 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
171 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
172 };
173 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
174 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
175 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
176 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
177   TGenericSeq Sup;
178   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
179 };
180 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
181   TGenericSeq Sup;
182   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
183 };
184 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
185   TGenericSeq Sup;
186   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
187 };
188 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
189 static N_INLINE(void, nimZeroMem)(void* p, NI size);
190 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
191 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
192 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
193 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOfAux__aliases_13)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
194 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
195 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2668)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
196 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
197 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOfAux__aliases_17)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
198 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
199 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
200 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
201 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
202 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_129)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
203 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_171)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL preventInheritance);
204 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_119)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
205 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__1vgML9aM876J0EHbm6P1O8A_2 = {
206 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
207 0x00}
208 ;
N_INLINE(void,nimSetMem__systemZmemory_7)209 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
210 	void* T1_;
211 	T1_ = (void*)0;
212 	T1_ = memset(a, v, ((size_t) (size)));
213 }
N_INLINE(void,nimZeroMem)214 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
215 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
216 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)217 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
218 	initPackedSet__pureZcollectionsZintsets_16(Result);
219 }
N_INLINE(NI,len__ast_3198)220 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
221 	NI result;
222 	NI T1_;
223 	result = (NI)0;
224 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
225 	result = T1_;
226 	return result;
227 }
N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w,isPartOfAux__aliases_17)228 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOfAux__aliases_17)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
229 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w result;
230 {	result = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
231 	result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
232 	switch ((*n).kind) {
233 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
234 	{
235 		{
236 			NI i;
237 			NI colontmp_;
238 			NI i_2;
239 			i = (NI)0;
240 			colontmp_ = (NI)0;
241 			colontmp_ = len__ast_3198(n);
242 			i_2 = ((NI) 0);
243 			{
244 				while (1) {
245 					if (!(i_2 < colontmp_)) goto LA4;
246 					i = i_2;
247 					result = isPartOfAux__aliases_17((*n)._kind_6.sons->data[i], b, marker);
248 					{
249 						if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA7_;
250 						goto BeforeRet_;
251 					}
252 					LA7_: ;
253 					i_2 += ((NI) 1);
254 				} LA4: ;
255 			}
256 		}
257 	}
258 	break;
259 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
260 	{
261 		result = isPartOfAux__aliases_17((*n)._kind_6.sons->data[((NI) 0)], b, marker);
262 		{
263 			if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA12_;
264 			goto BeforeRet_;
265 		}
266 		LA12_: ;
267 		{
268 			NI i_3;
269 			NI colontmp__2;
270 			NI i_4;
271 			i_3 = (NI)0;
272 			colontmp__2 = (NI)0;
273 			colontmp__2 = len__ast_3198(n);
274 			i_4 = ((NI) 1);
275 			{
276 				while (1) {
277 					if (!(i_4 < colontmp__2)) goto LA16;
278 					i_3 = i_4;
279 					switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
280 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
281 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
282 					{
283 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
284 						T18_ = NIM_NIL;
285 						T18_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
286 						result = isPartOfAux__aliases_17(T18_, b, marker);
287 						{
288 							if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA21_;
289 							goto BeforeRet_;
290 						}
291 						LA21_: ;
292 					}
293 					break;
294 					default:
295 					{
296 					}
297 					break;
298 					}
299 					i_4 += ((NI) 1);
300 				} LA16: ;
301 			}
302 		}
303 	}
304 	break;
305 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
306 	{
307 		result = isPartOfAux__aliases_13((*(*n)._kind_4.sym).typ, b, marker);
308 	}
309 	break;
310 	default:
311 	{
312 	}
313 	break;
314 	}
315 	}BeforeRet_: ;
316 	return result;
317 }
N_INLINE(NI,len__ast_4002)318 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
319 	NI result;
320 	NI T1_;
321 	result = (NI)0;
322 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
323 	result = T1_;
324 	return result;
325 }
N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w,isPartOfAux__aliases_13)326 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOfAux__aliases_13)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
327 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w result;
328 {	result = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
329 	result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
330 	{
331 		NIM_BOOL T3_;
332 		T3_ = (NIM_BOOL)0;
333 		T3_ = (a == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
334 		if (T3_) goto LA4_;
335 		T3_ = (b == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
336 		LA4_: ;
337 		if (!T3_) goto LA5_;
338 		goto BeforeRet_;
339 	}
340 	LA5_: ;
341 	{
342 		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym7_;
343 		NIM_BOOL T9_;
344 		xX60gensym7_ = a;
345 		T9_ = (NIM_BOOL)0;
346 		T9_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU64)(((NI) ((*xX60gensym7_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym7_).Sup.itemId.item))));
347 		if (!T9_) goto LA10_;
348 		goto BeforeRet_;
349 	}
350 	LA10_: ;
351 	{
352 		NIM_BOOL T14_;
353 		T14_ = (NIM_BOOL)0;
354 		T14_ = compareTypes__types_2668(a, b, ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
355 		if (!T14_) goto LA15_;
356 		result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2);
357 		goto BeforeRet_;
358 	}
359 	LA15_: ;
360 	switch ((*a).kind) {
361 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
362 	{
363 		{
364 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
365 			if (!!(((*a).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA20_;
366 			T22_ = NIM_NIL;
367 			T22_ = skipTypes__ast_3735((*a).sons->data[((NI) 0)], TM__1vgML9aM876J0EHbm6P1O8A_2);
368 			result = isPartOfAux__aliases_13(T22_, b, marker);
369 		}
370 		LA20_: ;
371 		{
372 			if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0))) goto LA25_;
373 			result = isPartOfAux__aliases_17((*a).n, b, marker);
374 		}
375 		LA25_: ;
376 	}
377 	break;
378 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
379 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
380 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
381 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
382 	{
383 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
384 		T28_ = NIM_NIL;
385 		T28_ = lastSon__ast_3743(a);
386 		result = isPartOfAux__aliases_13(T28_, b, marker);
387 	}
388 	break;
389 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
390 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
391 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
392 	{
393 		{
394 			NI i;
395 			NI colontmp_;
396 			NI i_2;
397 			i = (NI)0;
398 			colontmp_ = (NI)0;
399 			colontmp_ = len__ast_4002(a);
400 			i_2 = ((NI) 0);
401 			{
402 				while (1) {
403 					if (!(i_2 < colontmp_)) goto LA32;
404 					i = i_2;
405 					result = isPartOfAux__aliases_13((*a).sons->data[i], b, marker);
406 					{
407 						if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA35_;
408 						goto BeforeRet_;
409 					}
410 					LA35_: ;
411 					i_2 += ((NI) 1);
412 				} LA32: ;
413 			}
414 		}
415 	}
416 	break;
417 	default:
418 	{
419 	}
420 	break;
421 	}
422 	}BeforeRet_: ;
423 	return result;
424 }
N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w,isPartOf__aliases_124)425 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
426 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w result;
427 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
428 	result = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
429 	nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
430 	initIntSet__pureZcollectionsZintsets_238((&marker));
431 	result = isPartOfAux__aliases_13(b, a, (&marker));
432 	return result;
433 }
N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w,isPartOf__aliases_129)434 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_129)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
435 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w result;
436 	result = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
437 	{
438 		if (!((*a).kind == (*b).kind)) goto LA3_;
439 		switch ((*a).kind) {
440 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
441 		{
442 			{
443 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym12_;
444 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym13_;
445 				xX60gensym12_ = (*a)._kind_4.sym;
446 				xX60gensym13_ = (*b)._kind_4.sym;
447 				if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym12_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym12_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym13_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym13_).Sup.itemId.item))))) goto LA8_;
448 				result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2);
449 			}
450 			goto LA6_;
451 			LA8_: ;
452 			{
453 				NIM_BOOL T11_;
454 				T11_ = (NIM_BOOL)0;
455 				T11_ = ((12576 &((NU32)1<<((NU)((*(*a)._kind_4.sym).kind)&31U)))!=0);
456 				if (T11_) goto LA12_;
457 				T11_ = ((12576 &((NU32)1<<((NU)((*(*b)._kind_4.sym).kind)&31U)))!=0);
458 				LA12_: ;
459 				if (!T11_) goto LA13_;
460 				result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
461 			}
462 			goto LA6_;
463 			LA13_: ;
464 			{
465 				{
466 					tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T18_;
467 					T18_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
468 					T18_ = isPartOf__aliases_124((*(*a)._kind_4.sym).typ, (*(*b)._kind_4.sym).typ);
469 					if (!!((T18_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA19_;
470 					result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 1);
471 				}
472 				LA19_: ;
473 			}
474 			LA6_: ;
475 		}
476 		break;
477 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
478 		{
479 			result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
480 			{
481 				NIM_BOOL T24_;
482 				NI T25_;
483 				NI T27_;
484 				T24_ = (NIM_BOOL)0;
485 				T25_ = (NI)0;
486 				T25_ = len__ast_3198(a);
487 				T24_ = (((NI) 2) <= T25_);
488 				if (!(T24_)) goto LA26_;
489 				T27_ = (NI)0;
490 				T27_ = len__ast_3198(b);
491 				T24_ = (((NI) 2) <= T27_);
492 				LA26_: ;
493 				if (!T24_) goto LA28_;
494 				{
495 					NIM_BOOL T32_;
496 					NIM_BOOL T33_;
497 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
498 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y;
499 					T32_ = (NIM_BOOL)0;
500 					T33_ = (NIM_BOOL)0;
501 					T33_ = (result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2));
502 					if (!(T33_)) goto LA34_;
503 					T33_ = isDeepConstExpr__trees_171((*a)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
504 					LA34_: ;
505 					T32_ = T33_;
506 					if (!(T32_)) goto LA35_;
507 					T32_ = isDeepConstExpr__trees_171((*b)._kind_6.sons->data[((NI) 1)], NIM_FALSE);
508 					LA35_: ;
509 					if (!T32_) goto LA36_;
510 					{
511 						if (!((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA40_;
512 						x = (*(*a)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)];
513 					}
514 					goto LA38_;
515 					LA40_: ;
516 					{
517 						x = (*a)._kind_6.sons->data[((NI) 1)];
518 					}
519 					LA38_: ;
520 					{
521 						if (!((*(*b)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA45_;
522 						y = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 1)];
523 					}
524 					goto LA43_;
525 					LA45_: ;
526 					{
527 						y = (*b)._kind_6.sons->data[((NI) 1)];
528 					}
529 					LA43_: ;
530 					{
531 						NIM_BOOL T50_;
532 						T50_ = (NIM_BOOL)0;
533 						T50_ = sameValue__astalgo_119(x, y);
534 						if (!T50_) goto LA51_;
535 						result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2);
536 					}
537 					goto LA48_;
538 					LA51_: ;
539 					{
540 						result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
541 					}
542 					LA48_: ;
543 				}
544 				LA36_: ;
545 			}
546 			goto LA22_;
547 			LA28_: ;
548 			{
549 				{
550 					if (!!((result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2)))) goto LA57_;
551 					{
552 						tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T61_;
553 						T61_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
554 						T61_ = isPartOf__aliases_124((*a).typ, (*b).typ);
555 						if (!!((T61_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA62_;
556 						result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 1);
557 					}
558 					LA62_: ;
559 				}
560 				LA57_: ;
561 			}
562 			LA22_: ;
563 		}
564 		break;
565 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
566 		{
567 			result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
568 			{
569 				if (!!((result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA67_;
570 				{
571 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym38_;
572 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym40_;
573 					xX60gensym38_ = (*(*a)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
574 					xX60gensym40_ = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
575 					if (!!(((NI)((NI)((NU64)(((NI) ((*xX60gensym38_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym38_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym40_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym40_).Sup.itemId.item)))))) goto LA71_;
576 					result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
577 				}
578 				LA71_: ;
579 			}
580 			LA67_: ;
581 		}
582 		break;
583 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
584 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
585 		{
586 			result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
587 			{
588 				if (!!((result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2)))) goto LA76_;
589 				{
590 					tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T80_;
591 					T80_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
592 					T80_ = isPartOf__aliases_124((*a).typ, (*b).typ);
593 					if (!!((T80_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA81_;
594 					result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 1);
595 				}
596 				LA81_: ;
597 			}
598 			LA76_: ;
599 		}
600 		break;
601 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
602 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
603 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
604 		{
605 			result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 1)]);
606 		}
607 		break;
608 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
609 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
610 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
611 		{
612 			result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 0)]);
613 		}
614 		break;
615 		default:
616 		{
617 		}
618 		break;
619 		}
620 	}
621 	goto LA1_;
622 	LA3_: ;
623 	{
624 		switch ((*b).kind) {
625 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
626 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
627 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
628 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
629 		{
630 			result = isPartOf__aliases_129(a, (*b)._kind_6.sons->data[((NI) 0)]);
631 		}
632 		break;
633 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
634 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
635 		{
636 			{
637 				tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T91_;
638 				T91_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
639 				T91_ = isPartOf__aliases_124((*a).typ, (*b).typ);
640 				if (!!((T91_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA92_;
641 				result = isPartOf__aliases_129(a, (*b)._kind_6.sons->data[((NI) 0)]);
642 				{
643 					if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0))) goto LA96_;
644 					result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 1);
645 				}
646 				LA96_: ;
647 			}
648 			LA92_: ;
649 		}
650 		break;
651 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
652 		{
653 			result = isPartOf__aliases_129(a, (*b)._kind_6.sons->data[((NI) 1)]);
654 		}
655 		break;
656 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
657 		{
658 			switch ((*a).kind) {
659 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
660 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
661 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
662 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
663 			{
664 				result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], b);
665 			}
666 			break;
667 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
668 			{
669 				result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 1)], b);
670 			}
671 			break;
672 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
673 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
674 			{
675 				{
676 					tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w T105_;
677 					T105_ = (tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w)0;
678 					T105_ = isPartOf__aliases_124((*a).typ, (*b).typ);
679 					if (!!((T105_ == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA106_;
680 					result = isPartOf__aliases_129((*a)._kind_6.sons->data[((NI) 0)], b);
681 					{
682 						if (!(result == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0))) goto LA110_;
683 						result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 1);
684 					}
685 					LA110_: ;
686 				}
687 				LA106_: ;
688 			}
689 			break;
690 			default:
691 			{
692 			}
693 			break;
694 			}
695 		}
696 		break;
697 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
698 		{
699 			result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
700 			{
701 				NI i;
702 				NI colontmp_;
703 				NI i_2;
704 				i = (NI)0;
705 				colontmp_ = (NI)0;
706 				colontmp_ = len__ast_3198(b);
707 				i_2 = ((NI) 1);
708 				{
709 					while (1) {
710 						tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w res;
711 						if (!(i_2 < colontmp_)) goto LA116;
712 						i = i_2;
713 						res = isPartOf__aliases_129(a, (*(*b)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]);
714 						{
715 							if (!!((res == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA119_;
716 							result = res;
717 							{
718 								if (!(res == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA123_;
719 								goto LA114;
720 							}
721 							LA123_: ;
722 						}
723 						LA119_: ;
724 						i_2 += ((NI) 1);
725 					} LA116: ;
726 				}
727 			} LA114: ;
728 		}
729 		break;
730 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
731 		{
732 			result = ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0);
733 			{
734 				NI i_3;
735 				NI colontmp__2;
736 				NI i_4;
737 				i_3 = (NI)0;
738 				colontmp__2 = (NI)0;
739 				colontmp__2 = len__ast_3198(b);
740 				i_4 = ((NI) 1);
741 				{
742 					while (1) {
743 						tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w res_2;
744 						if (!(i_4 < colontmp__2)) goto LA128;
745 						i_3 = i_4;
746 						res_2 = isPartOf__aliases_129(a, (*b)._kind_6.sons->data[i_3]);
747 						{
748 							if (!!((res_2 == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 0)))) goto LA131_;
749 							result = res_2;
750 							{
751 								if (!(res_2 == ((tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w) 2))) goto LA135_;
752 								goto LA126;
753 							}
754 							LA135_: ;
755 						}
756 						LA131_: ;
757 						i_4 += ((NI) 1);
758 					} LA128: ;
759 				}
760 			} LA126: ;
761 		}
762 		break;
763 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
764 		{
765 			{
766 				NI T140_;
767 				T140_ = (NI)0;
768 				T140_ = len__ast_3198(b);
769 				if (!(((NI) 0) < T140_)) goto LA141_;
770 				result = isPartOf__aliases_129(a, (*b)._kind_6.sons->data[((NI) 0)]);
771 			}
772 			LA141_: ;
773 		}
774 		break;
775 		default:
776 		{
777 		}
778 		break;
779 		}
780 	}
781 	LA1_: ;
782 	return result;
783 }
784