/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef NU16 tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
struct tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA {
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw a;
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw b;
};
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
typedef NU8 tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
typedef NU8 tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichPragma__trees_u218)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichKeyword__idents_u360)(tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* id_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
static N_INLINE(NIM_BOOL, contains__trees_u266)(tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA s_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw value_p1);
static N_INLINE(tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA, dotdot___trees_u234)(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw a_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw b_p1);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4091)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
static N_INLINE(NIM_BOOL, sameFloatIgnoreNan__trees_u59)(NF a_p0, NF b_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, comment__ast_u836)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, NIM_BOOL strictSymEquality_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getRoot__trees_u373)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg, getMagic__trees_u122)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_p0);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_u141)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTreeAux__trees_u4)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q* visited_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, eqdup___ast_u3258)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3699)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pop__trees_u32)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, shrink__ast_u3725)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, NI newLen_p1);
N_LIB_PRIVATE N_NIMCALL(void, unnestStmts__trees_u347)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4095)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI children_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_u153)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL preventInheritance_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__YXYgefJuEvycsGrI1dEbqg_2 = {
0x10, 0x28, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
0x00}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL, contains__trees_u266)(tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA s_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA, dotdot___trees_u234)(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw a_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw b_p1) {
	tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw, whichPragma__trees_u218)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
	key_1 = NIM_NIL;
	T2_ = NIM_NIL;
	{
		NIM_BOOL T5_;
		NI T7_;
		T5_ = (NIM_BOOL)0;
		T5_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28));
		if (!(T5_)) goto LA6_;
		T7_ = (NI)0;
		T7_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = (((NI)0) < T7_);
LA6_: ;
		if (!T5_) goto LA8_;
		eqcopy___ast_u3255(&key_1, (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA8_: ;
	{
		eqcopy___ast_u3255(&key_1, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	switch ((*key_1).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
	{
		result = whichKeyword__idents_u360((*key_1)._kind_5.ident);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		result = whichKeyword__idents_u360((*(*key_1)._kind_4.sym).name);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)61):
	{
		result = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9);
		eqdestroy___ast_u3252(key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)56):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)57):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)165):
	{
		result = whichPragma__trees_u218((*key_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	{
		{
			if (!!(((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28)))) goto LA18_;
			result = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0);
			eqdestroy___ast_u3252(key_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA18_: ;
		result = whichPragma__trees_u218((*key_1)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			if (!!((result == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)125) || result == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)127) || result == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)124) || result == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)126)))) goto LA22_;
			result = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0);
		}
LA22_: ;
		eqdestroy___ast_u3252(key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	default:
	{
		result = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0);
		eqdestroy___ast_u3252(key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	}
	{
		tyObject_HSlice__48K9bZT30Mp5PCvvXSUWIVA T27_;
		NIM_BOOL T28_;
		T27_ = dotdot___trees_u234(((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)244), ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)300));
		T28_ = (NIM_BOOL)0;
		T28_ = contains__trees_u266(T27_, result);
		if (!T28_) goto LA29_;
		result = ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0);
	}
LA29_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, effectSpec__trees_u307)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw effectType_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					NIM_BOOL T7_;
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T9_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
					if (!(T7_)) goto LA8_;
					T9_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
					T9_ = whichPragma__trees_u218(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = (T9_ == effectType_p1);
LA8_: ;
					if (!T7_) goto LA10_;
					eqcopy___ast_u3255(&result, (*it_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					{
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T16_;
						if (!!(((*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39) || (*result).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41)))) goto LA14_;
						T16_ = NIM_NIL;
						T16_ = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*result).info);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T16_); goto LA4_;}
						eqsink___ast_u3261(&result, T16_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
						add__ast_u3215(result, (*it_1)._kind_6.sons.p->data[((NI)1)]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					}
LA14_: ;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, sameFloatIgnoreNan__trees_u59)(NF a_p0, NF b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	union { NF source; NU64 dest; } LOC2;
	union { NF source; NU64 dest; } LOC3;
	T1_ = (NIM_BOOL)0;
	LOC2.source = a_p0;
	LOC3.source = b_p1;
	T1_ = (LOC2.dest == LOC3.dest);
	if (T1_) goto LA4_;
	T1_ = (a_p0 == b_p1);
LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, NIM_BOOL strictSymEquality_p2) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		if (!(a_p0 == b_p1)) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = !((a_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T7_)) goto LA8_;
		T7_ = !((b_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		T6_ = ((*a_p0).kind == (*b_p1).kind);
LA9_: ;
		if (!T6_) goto LA10_;
		switch ((*a_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			{
				if (!strictSymEquality_p2) goto LA15_;
				result = ((*a_p0)._kind_4.sym == (*b_p1)._kind_4.sym);
			}
			goto LA13_;
LA15_: ;
			{
				result = ((*(*(*a_p0)._kind_4.sym).name).id == (*(*(*b_p1)._kind_4.sym).name).id);
			}
LA13_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
		{
			result = ((*(*a_p0)._kind_5.ident).id == (*(*b_p1)._kind_5.ident).id);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
		{
			result = ((*a_p0)._kind_1.intVal == (*b_p1)._kind_1.intVal);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
		{
			result = sameFloatIgnoreNan__trees_u59((*a_p0)._kind_2.floatVal, (*b_p1)._kind_2.floatVal);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
		{
			result = eqStrings((*a_p0)._kind_3.strVal, (*b_p1)._kind_3.strVal);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125):
		{
			NimStringV2 colontmpD_;
			NimStringV2 colontmpD__2;
			colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD_ = comment__ast_u836(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			colontmpD__2 = comment__ast_u836(b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA23_;
			result = eqStrings(colontmpD_, colontmpD__2);
			{
				LA23_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___system_u2691(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
		{
			result = NIM_TRUE;
		}
		break;
		default:
		{
			{
				NI T30_;
				NI T31_;
				T30_ = (NI)0;
				T30_ = len__ast_u3190(a_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T31_ = (NI)0;
				T31_ = len__ast_u3190(b_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T30_ == T31_)) goto LA32_;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len__ast_u3190(a_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA36;
							i_1 = i_2;
							{
								NIM_BOOL T39_;
								T39_ = (NIM_BOOL)0;
								T39_ = exprStructuralEquivalent__trees_u63((*a_p0)._kind_6.sons.p->data[i_1], (*b_p1)._kind_6.sons.p->data[i_1], strictSymEquality_p2);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!(T39_)) goto LA40_;
								goto BeforeRet_;
							}
LA40_: ;
							i_2 += ((NI)1);
						} LA36: ;
					}
				}
				result = NIM_TRUE;
			}
			goto LA28_;
LA32_: ;
			{
				result = NIM_FALSE;
			}
LA28_: ;
		}
		break;
		}
	}
	goto LA1_;
LA10_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg, getMagic__trees_u122)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_p0) {
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg result;
{	{
		if (!(op_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA3_;
		result = ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0);
		goto BeforeRet_;
	}
LA3_: ;
	switch ((*op_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		switch ((*(*op_p0)._kind_6.sons.p->data[((NI)0)]).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			result = (*(*(*op_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic;
		}
		break;
		default:
		{
			result = ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0);
		}
		break;
		}
	}
	break;
	default:
	{
		result = ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, getRoot__trees_u373)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
	{
		{
			if (!((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3))) goto LA4_;
			eqcopy___ast_u4577(&result, (*n_p0)._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA2_;
LA4_: ;
		{
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		}
LA2_: ;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)64):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)63):
	{
		result = getRoot__trees_u373((*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
	{
		result = getRoot__trees_u373((*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32):
	{
		{
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T12_;
			T12_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T12_ = getMagic__trees_u122(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T12_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)124))) goto LA13_;
			result = getRoot__trees_u373((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA10_;
LA13_: ;
		{
			result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
		}
LA10_: ;
	}
	break;
	default:
	{
		result = ((tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*) NIM_NIL);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCaseObj__trees_u141)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)139))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
LA3_: ;
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = safeLen__ast_u3197(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA7;
				i_1 = i_2;
				{
					NIM_BOOL T10_;
					T10_ = (NIM_BOOL)0;
					T10_ = isCaseObj__trees_u141((*n_p0)._kind_6.sons.p->data[i_1]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T10_) goto LA11_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA11_: ;
				i_2 += ((NI)1);
			} LA7: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstExpr__trees_u129)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
	if (T1_) goto LA2_;
	T1_ = (((*n_p0).flags &((NU32)1<<((NU)((((tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw)4)))&31U)))!=0);
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples__trees_u411)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T2_)) goto LA3_;
	T2_ = ((*(*n_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)268));
LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2));
	if (!(T5_)) goto LA6_;
	T5_ = ((*(*n_p0)._kind_5.ident).id == ((NI)88));
LA6_: ;
	T1_ = T5_;
LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pop__trees_u32)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	NI L_1;
	NI T1_;
	T1_ = (*s_p0).len;
	L_1 = (NI)(T1_ - ((NI)1));
	result = (*s_p0).p->data[L_1];
	eqwasMoved___ast_u3249((&(*s_p0).p->data[L_1]));
	shrink__ast_u3725(s_p0, (L_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTreeAux__trees_u4)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q* visited_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		if (!(n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA3_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** v_1;
		NI i_1;
		NI L_1;
		NI T6_;
		v_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_1 = ((NI)0);
		T6_ = (*visited_p1).len;
		L_1 = T6_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA8;
				v_1 = &(*visited_p1).p->data[i_1];
				{
					if (!((*v_1) == n_p0)) goto LA11_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA11_: ;
				i_1 += ((NI)1);
			} LA8: ;
		}
	}
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		if (!!(((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)))) goto LA15_;
		colontmpD__2 = NIM_NIL;
		colontmpD_ = eqdup___ast_u3258(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		add__ast_u3225((&(*visited_p1)), colontmpD_);
		{
			tySequence__9ahcSjIErJohSBBFLwuF56Q colontmp_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** nSon_1;
			NI i_2;
			NI L_2;
			NI T20_;
			colontmp_.len = 0; colontmp_.p = NIM_NIL;
			nSon_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			eqcopy___ast_u3699((&colontmp_), (*n_p0)._kind_6.sons);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			i_2 = ((NI)0);
			T20_ = colontmp_.len;
			L_2 = T20_;
			{
				while (1) {
					if (!(i_2 < L_2)) goto LA22;
					nSon_1 = &colontmp_.p->data[i_2];
					{
						NIM_BOOL T25_;
						T25_ = (NIM_BOOL)0;
						T25_ = cyclicTreeAux__trees_u4((*nSon_1), visited_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
						if (!T25_) goto LA26_;
						result = NIM_TRUE;
						eqdestroy___ast_u3696(colontmp_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
						eqdestroy___ast_u3252(colontmpD__2);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA26_: ;
					i_2 += ((NI)1);
				} LA22: ;
			}
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3696(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
		}
		colontmpD__2 = pop__trees_u32(visited_p1);
		(void)(colontmpD__2);
		{
			LA17_:;
		}
		{
			oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin17_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA15_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTree__trees_u51)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tySequence__9ahcSjIErJohSBBFLwuF56Q visited_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	visited_1.len = 0; visited_1.p = NIM_NIL;
	visited_1.len = 0; visited_1.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
	result = cyclicTreeAux__trees_u4(n_p0, (&visited_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3696(visited_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, unnestStmts__trees_u347)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115))) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
			x_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA8;
						i_1 = i_2;
						eqcopy___ast_u3255(&x_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						unnestStmts__trees_u347(x_1, result_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						i_2 += ((NI)1);
					} LA8: ;
				}
			}
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA3_: ;
	{
		if (!!(((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23)))) goto LA10_;
		add__ast_u3215(result_p1, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA10_: ;
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, flattenStmts__trees_u359)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4091(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)115), (*n_p0).info);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	unnestStmts__trees_u347(n_p0, result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len__ast_u3190(result);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ == ((NI)1))) goto LA4_;
		eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_u384)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA4;
				i_1 = i_2;
				{
					if (!!(((*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) || (*(*n_p0)._kind_6.sons.p->data[i_1]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)125)))) goto LA7_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
LA7_: ;
				i_2 += ((NI)1);
			} LA4: ;
		}
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, propSpec__trees_u329)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw effectType_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_1;
				if (!(i_2 < colontmp_)) goto LA3;
				it_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&it_1, (*n_p0)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					NIM_BOOL T7_;
					tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T9_;
					T7_ = (NIM_BOOL)0;
					T7_ = ((*it_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34));
					if (!(T7_)) goto LA8_;
					T9_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
					T9_ = whichPragma__trees_u218(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = (T9_ == effectType_p1);
LA8_: ;
					if (!T7_) goto LA10_;
					eqcopy___ast_u3255(&result, (*it_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(it_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, extractRange__trees_u362)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw k_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI a_p2, NI b_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(k_p0, (*n_p1).info, (NI)((NI)(b_p3 - a_p2) + ((NI)1)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI colontmp_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (NI)(b_p3 - a_p2);
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= colontmp_)) goto LA3;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[i_1], (*n_p1)._kind_6.sons.p->data[(NI)(i_1 + a_p2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, baseClass__ast_u5348)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3381(&result, (*n_p0).sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr__trees_u153)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, NIM_BOOL preventInheritance_p1) {
	NIM_BOOL result;
NIM_BOOL oldNimErrFin17_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch ((*n_p0).kind) {
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
	{
		result = NIM_TRUE;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)33):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)34):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
	{
		result = isDeepConstExpr__trees_u153((*n_p0)._kind_6.sons.p->data[((NI)1)], preventInheritance_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)37):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)160):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)155):
	case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)44):
	{
		{
			NI i_1;
			NI colontmp_;
			NI colontmp__2;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp__2 = (NI)0;
			colontmp_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38));
			colontmp__2 = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			i_2 = colontmp_;
			{
				while (1) {
					if (!(i_2 < colontmp__2)) goto LA6;
					i_1 = i_2;
					{
						NIM_BOOL T9_;
						T9_ = (NIM_BOOL)0;
						T9_ = isDeepConstExpr__trees_u153((*n_p0)._kind_6.sons.p->data[i_1], preventInheritance_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						if (!!(T9_)) goto LA10_;
						result = NIM_FALSE;
						goto BeforeRet_;
					}
LA10_: ;
					i_2 += ((NI)1);
				} LA6: ;
			}
		}
		{
			if (!((*n_p0).typField == 0)) goto LA14_;
			result = NIM_TRUE;
		}
		goto LA12_;
LA14_: ;
		{
			tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
			t_1 = NIM_NIL;
			t_1 = skipTypes__ast_u5379((*n_p0).typField, TM__YXYgefJuEvycsGrI1dEbqg_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			{
				NIM_BOOL T20_;
				T20_ = (NIM_BOOL)0;
				T20_ = ((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)22) || (*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)21));
				if (T20_) goto LA21_;
				T20_ = (((*t_1).flags &((NU64)1<<((NU)((((tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A)1)))&63U)))!=0);
LA21_: ;
				if (!T20_) goto LA22_;
				result = NIM_FALSE;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA22_: ;
			{
				tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
				if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)17))) goto LA26_;
				colontmpD_ = NIM_NIL;
				{
					NIM_BOOL T30_;
					T30_ = (NIM_BOOL)0;
					T30_ = preventInheritance_p1;
					if (!(T30_)) goto LA31_;
					colontmpD_ = baseClass__ast_u5348(t_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					T30_ = !((colontmpD_ == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA31_: ;
					if (!T30_) goto LA32_;
					result = NIM_FALSE;
				}
				goto LA28_;
LA32_: ;
				{
					NIM_BOOL T35_;
					T35_ = (NIM_BOOL)0;
					T35_ = isCaseObj__trees_u141((*t_1).n);
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					if (!T35_) goto LA36_;
					result = NIM_FALSE;
				}
				goto LA28_;
LA36_: ;
				{
					result = NIM_TRUE;
				}
LA28_: ;
				eqdestroy___ast_u3378(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			}
			goto LA24_;
LA26_: ;
			{
				result = NIM_TRUE;
			}
LA24_: ;
			{
				LA17_:;
			}
			{
				oldNimErrFin17_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3378(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin17_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA12_: ;
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isNoSideEffectPragma__trees_u281)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw k_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	k_1 = whichPragma__trees_u218(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(k_1 == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)9))) goto LA3_;
		k_1 = whichPragma__trees_u218((*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	result = (k_1 == ((tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)111));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, findPragma__trees_u294)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw which_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)90))) goto LA3_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_1;
			son_1 = NIM_NIL;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__ast_u3197(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA9;
						i_1 = i_2;
						eqcopy___ast_u3255(&son_1, (*n_p0)._kind_6.sons.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
						{
							tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw T12_;
							T12_ = (tyEnum_TSpecialWord__WgU27rkTe9cqh7pWJYbt9c9bw)0;
							T12_ = whichPragma__trees_u218(son_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							if (!(T12_ == which_p1)) goto LA13_;
							result = son_1;
							eqwasMoved___ast_u3249(&son_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
							eqdestroy___ast_u3252(son_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA13_: ;
						i_2 += ((NI)1);
					} LA9: ;
				}
			}
			{
				LA6_:;
			}
			{
				oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(son_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin6_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
