/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #include "nimbase.h" #include #undef linux typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ Tcontext_5TfOJKwTttj3W1t1tMzWUQ; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct Tpatterncontext_ArP5wLemitHqyeu50ovXug Tpatterncontext_ArP5wLemitHqyeu50ovXug; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g; typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w; typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ; typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA; typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg; typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ; typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw; typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg; typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA; typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw; typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw; typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg; typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ; typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg; typedef struct EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w; typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g; typedef struct Tscope_1cQRXW6aAknk7ywAwjH3nw Tscope_1cQRXW6aAknk7ywAwjH3nw; typedef struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ Tproccon_s5jyYR8yL1QmFqiHICzU9aQ; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q; typedef struct TY_Mh9agqM29bm9aP5AUL1x7dZGA TY_Mh9agqM29bm9aP5AUL1x7dZGA; typedef struct Tctx_hJGtOysUvnnuB9cLutWG9a2w Tctx_hJGtOysUvnnuB9cLutWG9a2w; typedef struct TY_jWKvSdankQPoT5bw9cBU9aiw TY_jWKvSdankQPoT5bw9cBU9aiw; typedef struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw; typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg Tidpair_AdFnD2YdADPeuJbG2YJ4vg; typedef struct TY_9bAGqSvkAaFL9bWjsEPslrFA TY_9bAGqSvkAaFL9bWjsEPslrFA; typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ; typedef struct TY_RsxI3z4wK8jTuZiO0576gQ TY_RsxI3z4wK8jTuZiO0576gQ; typedef struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ; typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ; typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg; typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA; typedef struct TY_JokFGfUW6i9b6aeU7xu6xBw TY_JokFGfUW6i9b6aeU7xu6xBw; typedef struct TY_SlmU1Ju0WFHUWkihyHMVYg TY_SlmU1Ju0WFHUWkihyHMVYg; typedef struct TY_UCrBsiykDha2x4hr9aWPwKA TY_UCrBsiykDha2x4hr9aWPwKA; typedef struct Vmargs_0UUl6e5CNNQfMon2xW2bVA Vmargs_0UUl6e5CNNQfMon2xW2bVA; typedef struct TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ; typedef struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ Tblock_2tJGcW69ahqq39a9bVJC1sqGQ; typedef struct TY_qwqHTkRvwhrRyENtudHQ7g TY_qwqHTkRvwhrRyENtudHQ7g; struct Tpatterncontext_ArP5wLemitHqyeu50ovXug { Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* mapping; NI formals; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; NIM_BOOL submatch; }; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set; typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set; typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg; typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw; typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set; struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA { Tlockind_O7PRFZKuiBBWbku09cayVBg k; Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s; Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags; Ttype_LTUWCZolpovw9cWE3JBWSUw* t; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r; }; struct Tsym_AXG7xcvKqaxY6koRX1xkCw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Tsymkind_cNCW9acsSznmEccl1fgQwkw kind; union{ struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache; } S1; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache; Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason; } S2; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics; Tstrtable_f07aOS3dr28kGa5wcE29aFA tab; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard; NI bitsize; } S4; } kindU; Tmagic_shZhZOdbVC5nnFvcXQAImg magic; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tident_4umxGerWTHGPwUms7Yqu3g* name; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags; Tnode_bROa11lyF5vxEN9aYNbHmhw* ast; Toption_WspMeQySXNP2XoTWR5MTgg_Set options; NI position; NI offset; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex; Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint; }; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tnode_bROa11lyF5vxEN9aYNbHmhw { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intval; } S1; struct {NF floatval; } S2; struct {NimStringDesc* strval; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; } S4; struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident; } S5; struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } S6; } kindU; NimStringDesc* comment; }; typedef NU8 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set; struct Ttype_LTUWCZolpovw9cWE3JBWSUw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind; Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv; Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags; TY_zuqP4Riz26Oi5fWgPYVEgA* sons; Tnode_bROa11lyF5vxEN9aYNbHmhw* n; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor; Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy; Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment; TY_iGkpo9aKQdr3NWelKC4cnJA* methods; NI64 size; NI16 align; NI16 locklevel; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct Cell_1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct Cellseq_Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512]; typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256]; struct Intset_EZObFrE3NC9bIb3YMkY9crZA { TY_lh2A89ahMmYg9bCmpVaplLbA data; }; struct Memregion_x81NhDv59b8ercDZ9bi85jyg { NI minlargeobj; NI maxlargeobj; TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks; Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem; NI currmem; NI maxmem; NI freemem; NI lastsize; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist; Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes; NIM_BOOL locked; NIM_BOOL blockchunksizeincrease; NI nextchunksize; }; struct Gcstat_0RwLoVBHZPfUAcLczmfQAg { NI stackscans; NI cyclecollections; NI maxthreshold; NI maxstacksize; NI maxstackcells; NI cycletablesize; NI64 maxpause; }; struct Cellset_jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; Pagedesc_fublkgIY4LG3mT51LU2WHg* head; Pagedesc_fublkgIY4LG3mT51LU2WHg** data; }; struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ { Gcstack_7fytPA5bBsob6See21YMRA* stack; void* stackbottom; NI cyclethreshold; Cellseq_Axo1XVm9aaQueTOldv8le5w zct; Cellseq_Axo1XVm9aaQueTOldv8le5w decstack; Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack; NI recgclock; Memregion_x81NhDv59b8ercDZ9bi85jyg region; Gcstat_0RwLoVBHZPfUAcLczmfQAg stat; Cellset_jG87P0AI9aZtss9ccTYBIISQ marked; Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots; }; struct EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w { NI HEX3Astate; Tnode_bROa11lyF5vxEN9aYNbHmhw* p470374; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0, void* ClEnv); void* ClEnv; } TY_m2PF6uka9bYFA9cbIB7lDl8w; typedef N_CLOSURE_PTR(NIM_BOOL, T_1E9cVLQUjhbw81lEou89bC9bw_7) (Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0); typedef N_CLOSURE_PTR(NIM_BOOL, T_1E9cVLQUjhbw81lEou89bC9bw_8) (Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0); typedef N_CLOSURE_PTR(NIM_BOOL, T_1E9cVLQUjhbw81lEou89bC9bw_9) (Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0); typedef NU8 Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw; typedef NU8 Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w; struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g { TNimObject Sup; NIM_BOOL fromcache; }; struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail; NI counter; }; struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q { NI counter; TY_Mh9agqM29bm9aP5AUL1x7dZGA* data; }; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_AKW0Vo9cFIVu0NCvmOexsSA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); typedef NU16 Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_iQuMqQxTQ0KsiquHcemjUQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); typedef NU32 Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_C8AXaVscqGOxLOeiHy1lmw) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0); typedef N_NIMCALL_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, TY_bA9c5ClPJvgmXvNlbUiJQiQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); typedef struct { N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, void* ClEnv); void* ClEnv; } TY_rVRuvning49bS21o9c7OfIPQ; typedef struct { N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, void* ClEnv); void* ClEnv; } TY_jT9bmmdeK1mqhnuxic7a1jw; typedef NU8 Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ; typedef N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, TY_kd4mVSM3CyNW38z8itHZOA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0); struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tscope_1cQRXW6aAknk7ywAwjH3nw* currentscope; Tscope_1cQRXW6aAknk7ywAwjH3nw* importtable; Tscope_1cQRXW6aAknk7ywAwjH3nw* toplevelscope; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* p; TY_sksVpmPRIkNR9axiwtD1Guw* friendmodules; NI instcounter; Intset_PQrmFm4BXFkFSVOUl1ojSg ambiguoussymbols; NI intypeclass; NI ingenericcontext; NI inunrolledcontext; NI compilescontextid; NI compilescontextidgenerator; NI ingenericinst; TY_sksVpmPRIkNR9axiwtD1Guw* converters; TY_sksVpmPRIkNR9axiwtD1Guw* patterns; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw optionstack; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmapping; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw libs; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semtryexpr; TY_AKW0Vo9cFIVu0NCvmOexsSA semtryconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semoperand; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstboolexpr; TY_C8AXaVscqGOxLOeiHy1lmw semoverloadedcall; TY_bA9c5ClPJvgmXvNlbUiJQiQ semtypenode; TY_rVRuvning49bS21o9c7OfIPQ seminferredlambda; TY_jT9bmmdeK1mqhnuxic7a1jw semgenerateinstance; Intset_PQrmFm4BXFkFSVOUl1ojSg includedfiles; Tstrtable_f07aOS3dr28kGa5wcE29aFA userpragmas; Tctx_hJGtOysUvnnuB9cLutWG9a2w* evalcontext; Intset_PQrmFm4BXFkFSVOUl1ojSg unknownidents; TY_jWKvSdankQPoT5bw9cBU9aiw* generics; NI topstmts; NI lastgenericidx; NI hloloopdetector; NI inparallelstmt; TY_kd4mVSM3CyNW38z8itHZOA insttypeboundop; Tident_4umxGerWTHGPwUms7Yqu3g* selfname; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph; Tstrtable_f07aOS3dr28kGa5wcE29aFA signatures; NimStringDesc* recursivedep; }; struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ { TNimObject Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right; NI length; NimStringDesc* data; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ; struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isoverriden; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name; Tnode_bROa11lyF5vxEN9aYNbHmhw* path; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w { NI prevsize; NI size; NIM_BOOL used; }; struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev; Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist; NI free; NI acc; NF data; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Tscope_1cQRXW6aAknk7ywAwjH3nw { NI depthlevel; Tstrtable_f07aOS3dr28kGa5wcE29aFA symbols; Tscope_1cQRXW6aAknk7ywAwjH3nw* parent; }; struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* resultsym; Tsym_AXG7xcvKqaxY6koRX1xkCw* selfsym; NI nestedloopcounter; NI nestedblockcounter; NI intrystmt; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* next; NIM_BOOL wasforwarded; Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr; }; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key; TNimObject* val; }; typedef NU8 Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ; typedef NU8 Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set; struct Tctx_hJGtOysUvnnuB9cLutWG9a2w { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; TY_9bAGqSvkAaFL9bWjsEPslrFA* code; TY_dRkMGUPOSmkGlhHeIeiomQ* debug; Tnode_bROa11lyF5vxEN9aYNbHmhw* globals; Tnode_bROa11lyF5vxEN9aYNbHmhw* constants; TY_zuqP4Riz26Oi5fWgPYVEgA* types; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptiona; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptionb; NI exceptioninstr; PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ* prc; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tnode_bROa11lyF5vxEN9aYNbHmhw* callsite; Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ mode; Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set features; NIM_BOOL traceactive; NI loopiterations; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw comesfromheuristic; TY_RsxI3z4wK8jTuZiO0576gQ* callbacks; NimStringDesc* errorflag; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; }; struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst; }; typedef Tident_4umxGerWTHGPwUms7Yqu3g* TY_CBfZt49asUfAsBVM7a3Rc9cw[8192]; struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw { TY_CBfZt49asUfAsBVM7a3Rc9cw buckets; NI wordcounter; Tident_4umxGerWTHGPwUms7Yqu3g* idanon; Tident_4umxGerWTHGPwUms7Yqu3g* iddelegator; Tident_4umxGerWTHGPwUms7Yqu3g* emptyident; }; struct Table_tfmlwa8ktiw8woWAs5vhtQ { TY_kxu4GK0onha2t9bo86mdVAg* data; NI counter; }; struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ { TY_sksVpmPRIkNR9axiwtD1Guw* modules; Tstrtable_f07aOS3dr28kGa5wcE29aFA packagesyms; Intset_PQrmFm4BXFkFSVOUl1ojSg deps; NIM_BOOL suggestmode; NIM_BOOL invalidtransitiveclosure; Table_tfmlwa8ktiw8woWAs5vhtQ incltomod; TY_48JTohSgTy339bRxHzUD8KA* importstack; TNimObject* backend; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; typedef NU8 Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ; struct TY_SlmU1Ju0WFHUWkihyHMVYg { NIM_BOOL Field0; Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ Field1; }; typedef TY_SlmU1Ju0WFHUWkihyHMVYg TY_ORKcvNw6ApGJhbot1dJ6oA[256]; struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ { TY_JokFGfUW6i9b6aeU7xu6xBw* blocks; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_ORKcvNw6ApGJhbot1dJ6oA slots; NI maxslots; }; typedef struct { N_NIMCALL_PTR(void, ClPrc) (Vmargs_0UUl6e5CNNQfMon2xW2bVA* args0, void* ClEnv); void* ClEnv; } TY_S09bPfanQx9bEvdh4862x8zw; struct TY_UCrBsiykDha2x4hr9aWPwKA { NimStringDesc* Field0; TY_S09bPfanQx9bEvdh4862x8zw Field1; }; struct TY_xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* label; TY_qwqHTkRvwhrRyENtudHQ7g* fixups; }; struct Vmargs_0UUl6e5CNNQfMon2xW2bVA { NI ra; NI rb; NI rc; void* slots; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexception; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw currentlineinfo; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_DXS6mEo7PVUFJkirsQ9bNQA { TGenericSeq Sup; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE]; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE]; }; struct TY_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; struct TY_Mh9agqM29bm9aP5AUL1x7dZGA { TGenericSeq Sup; Tidpair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE]; }; struct TY_jWKvSdankQPoT5bw9cBU9aiw { TGenericSeq Sup; Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE]; }; struct TY_9bAGqSvkAaFL9bWjsEPslrFA { TGenericSeq Sup; NU32 data[SEQ_DECL_SIZE]; }; struct TY_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE]; }; struct TY_RsxI3z4wK8jTuZiO0576gQ { TGenericSeq Sup; TY_UCrBsiykDha2x4hr9aWPwKA data[SEQ_DECL_SIZE]; }; struct TY_kxu4GK0onha2t9bo86mdVAg { TGenericSeq Sup; TY_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; }; struct TY_48JTohSgTy339bRxHzUD8KA { TGenericSeq Sup; NI32 data[SEQ_DECL_SIZE]; }; struct TY_JokFGfUW6i9b6aeU7xu6xBw { TGenericSeq Sup; Tblock_2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE]; }; struct TY_qwqHTkRvwhrRyENtudHQ7g { TGenericSeq Sup; NI data[SEQ_DECL_SIZE]; }; N_NIMCALL(NI, sonslen_gG7hUAX9cA629ahMLVL3xN4w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, matchstmtlist_llKO9cuhE9atweXgNJPGkR9aA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_yZlZaUvCPKzAenvOMbxmIg); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, flattenstmts_kDuk7Mp6Hb4CD2EwZbGQ3g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, matchrange_zDO9bXlOmRuaAEXEFbpxbUQ)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(NIM_BOOL, matches_VCMdmeXpaOrMqkuJKekVZA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_tTsf6dDgTcjsfd50PHRTfg); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skiphidden_6rsSLwtlU9c53a6w69be5JlQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, ispatternparam_gPET1IUN01z2uU7gQJbgXwpatterns)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0); N_NIMCALL(NIM_BOOL, bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getlazy_Et5fHepjdNzyLFlyqMqp6w)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(NIM_BOOL, sametrees_5GE9abCZqpois6anfudFhKw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); static N_INLINE(NIM_BOOL, samekinds_XRMMlJbdRvuwZTQ9bpQs9bEQpatterns)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw, canonkind_l4R9bbaXqQyzkmacGi9b6znQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0); N_NIMCALL(NIM_BOOL, sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, checktypes_GST9aAj8DyaRNtRo0AKvkiA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, argtypematches_cr4dgVPGk0yjqqQJn4quJw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(void, putlazy_1T9aSTb1GI7PB9bJHQGBYlVQ)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(NIM_BOOL, insymchoice_ZN7t9bxH4vGykQZnFTJzQ8g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* sc0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0); N_NIMCALL(NIM_BOOL, matchchoice_VCMdmeXpaOrMqkuJKekVZA_2)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, matchnested_19bvKMeQmFh4JiNqOBzSaug)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL rpn0); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_PdIwf9cL1wYHCUP02ijYSUg)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_CLOSURE(NIM_BOOL, matchstaraux_Pk0izWTurG8nA6Ey7uonwA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0, void* ClEnv); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0); N_NIMCALL(void, gather_2VSo5LSXe8DjcsxpuzmJHA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_jIQp9ciM8if1a6TX6toZelw)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NI children0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, extractrange_hXdHXhYIaWyizlIOoxd1YA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw k0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI a0, NI b0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_slQ2jWOFI1ND3N9c79b7b18g)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(NIM_BOOL, aliasanalysisrequested_EuxNDPUYNmvz9b4acjk8Piw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* params0); N_NIMCALL(Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw, whichalias_7hky4mwJtv6cPhBQIKx4gg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* p0); N_NIMCALL(void, addtoarglist_tw4INF0WNNbDFnXD6MGdHA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* result0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w, ispartof_1otDDZAmvFsmbqPyFytXFg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(void, markused_Ue6rwV8sAT8uVT9cT5cip9aA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; TNimType NTI_7L00GU9brjWbq4ZtK5DxM4w; extern TNimType NTI_xHTZrq9aYs6boc9bCba0JbpQ; extern TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q; TNimType NTI_PdIwf9cL1wYHCUP02ijYSUg; STRING_LITERAL(T_1E9cVLQUjhbw81lEou89bC9bw_2, "|", 1); STRING_LITERAL(T_1E9cVLQUjhbw81lEou89bC9bw_3, "*", 1); STRING_LITERAL(T_1E9cVLQUjhbw81lEou89bC9bw_4, "**", 2); STRING_LITERAL(T_1E9cVLQUjhbw81lEou89bC9bw_5, "~", 1); STRING_LITERAL(T_1E9cVLQUjhbw81lEou89bC9bw_10, "invalid pattern", 15); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; result0 = (NI)0; { if (!((*n0).kindU.S6.sons == 0)) goto LA3; result0 = ((NI) 0); } goto LA1; LA3: ; { result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0); } LA1: ; return result0; } static N_INLINE(NIM_BOOL, ispatternparam_gPET1IUN01z2uU7gQJbgXwpatterns)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC2 = ((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC2)) goto LA3; LOC2 = ((*(*p0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)); LA3: ; LOC1 = LOC2; if (!(LOC1)) goto LA4; LOC1 = ((*(*p0).kindU.S4.sym).owner == (*c0).owner); LA4: ; result0 = LOC1; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, getlazy_Et5fHepjdNzyLFlyqMqp6w)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!!(((*c0).mapping == 0))) goto LA3; result0 = (*c0).mapping->data[(*sym0).position]; } LA3: ; return result0; } N_NIMCALL(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw, canonkind_l4R9bbaXqQyzkmacGi9b6znQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw result0; result0 = (Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw)0; result0 = (*n0).kind; switch (result0) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32): { result0 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { result0 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74): { result0 = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 73); } break; default: { } break; } return result0; } static N_INLINE(NIM_BOOL, samekinds_XRMMlJbdRvuwZTQ9bpQs9bEQpatterns)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0) { NIM_BOOL result0; NIM_BOOL LOC1; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw LOC3; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw LOC4; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = ((*a0).kind == (*b0).kind); if (LOC1) goto LA2; LOC3 = (Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw)0; LOC3 = canonkind_l4R9bbaXqQyzkmacGi9b6znQ(a0); LOC4 = (Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw)0; LOC4 = canonkind_l4R9bbaXqQyzkmacGi9b6znQ(b0); LOC1 = (LOC3 == LOC4); LA2: ; result0 = LOC1; return result0; } static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sametrees_5GE9abCZqpois6anfudFhKw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = samekinds_XRMMlJbdRvuwZTQ9bpQs9bEQpatterns(a0, b0); if (!LOC3) goto LA4; switch ((*a0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = ((*a0).kindU.S4.sym == (*b0).kindU.S4.sym); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { result0 = ((*(*a0).kindU.S5.ident).Sup.id == (*(*b0).kindU.S5.ident).Sup.id); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10): { result0 = ((*a0).kindU.S1.intval == (*b0).kindU.S1.intval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18): { result0 = ((*a0).kindU.S2.floatval == (*b0).kindU.S2.floatval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { result0 = eqStrings((*a0).kindU.S3.strval, (*b0).kindU.S3.strval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { result0 = NIM_TRUE; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4): { result0 = sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2((*a0).typ, (*b0).typ, 0); } break; default: { { NI LOC16; NI LOC17; LOC16 = (NI)0; LOC16 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); LOC17 = (NI)0; LOC17 = sonslen_qPWPHw7WgJeEVYUdcaRIig(b0); if (!(LOC16 == LOC17)) goto LA18; { NI i_7TflyUCOH9anLUruF3s5y1g; NI HEX3Atmp_we2UshWHawGonBhlc3tWQw; NI LOC21; NI res_B100K6V2vRUN49beRBNR0KQ; i_7TflyUCOH9anLUruF3s5y1g = (NI)0; HEX3Atmp_we2UshWHawGonBhlc3tWQw = (NI)0; LOC21 = (NI)0; LOC21 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); HEX3Atmp_we2UshWHawGonBhlc3tWQw = (NI)(LOC21 - ((NI) 1)); res_B100K6V2vRUN49beRBNR0KQ = ((NI) 0); { while (1) { if (!(res_B100K6V2vRUN49beRBNR0KQ <= HEX3Atmp_we2UshWHawGonBhlc3tWQw)) goto LA23; i_7TflyUCOH9anLUruF3s5y1g = res_B100K6V2vRUN49beRBNR0KQ; { NIM_BOOL LOC26; LOC26 = (NIM_BOOL)0; LOC26 = sametrees_5GE9abCZqpois6anfudFhKw((*a0).kindU.S6.sons->data[i_7TflyUCOH9anLUruF3s5y1g], (*b0).kindU.S6.sons->data[i_7TflyUCOH9anLUruF3s5y1g]); if (!!(LOC26)) goto LA27; goto BeforeRet; } LA27: ; res_B100K6V2vRUN49beRBNR0KQ += ((NI) 1); } LA23: ; } } result0 = NIM_TRUE; } LA18: ; } break; } } LA4: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, checktypes_GST9aAj8DyaRNtRo0AKvkiA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!(((*p0).constraint == NIM_NIL))) goto LA3; result0 = matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw((*p0).constraint, n0); { if (!!(result0)) goto LA7; goto BeforeRet; } LA7: ; } LA3: ; { if (!((*n0).typ == 0)) goto LA11; result0 = ((*(*p0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62) || (*(*p0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7)); } goto LA9; LA11: ; { result0 = argtypematches_cr4dgVPGk0yjqqQJn4quJw((*c0).c, (*p0).typ, (*n0).typ); } LA9: ; }BeforeRet: ; return result0; } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!((src0 == NIM_NIL))) goto LA3; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); (*c0).refcount += ((NI) 8); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!(((*dest0) == NIM_NIL))) goto LA7; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA11: ; } LA7: ; (*dest0) = src0; } N_NIMCALL(void, putlazy_1T9aSTb1GI7PB9bJHQGBYlVQ)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { if (!((*c0).mapping == 0)) goto LA3; unsureAsgnRef((void**) (&(*c0).mapping), (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ), ((NI) ((*c0).formals)))); } LA3: ; asgnRefNoCycle((void**) (&(*c0).mapping->data[(*sym0).position]), n0); } N_NIMCALL(NIM_BOOL, bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* pp0; result0 = (NIM_BOOL)0; pp0 = getlazy_Et5fHepjdNzyLFlyqMqp6w(c0, param0); { if (!!((pp0 == NIM_NIL))) goto LA3; result0 = sametrees_5GE9abCZqpois6anfudFhKw(pp0, n0); } goto LA1; LA3: ; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152)); if (LOC6) goto LA7; LOC6 = checktypes_GST9aAj8DyaRNtRo0AKvkiA(c0, param0, n0); LA7: ; if (!LOC6) goto LA8; putlazy_1T9aSTb1GI7PB9bJHQGBYlVQ(c0, param0, n0); result0 = NIM_TRUE; } goto LA1; LA8: ; LA1: ; return result0; } N_NIMCALL(NIM_BOOL, insymchoice_ZN7t9bxH4vGykQZnFTJzQ8g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* sc0, Tnode_bROa11lyF5vxEN9aYNbHmhw* x0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!((*sc0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA3; { NI i_Bafo4LtRBO6b8RH0Dt9cuRw; NI HEX3Atmp_Gi3SOWiW0xoEmXNni8A79aA; NI LOC6; NI res_wq9b9bKnt2mo9c9c9at5v9b4IAWg; i_Bafo4LtRBO6b8RH0Dt9cuRw = (NI)0; HEX3Atmp_Gi3SOWiW0xoEmXNni8A79aA = (NI)0; LOC6 = (NI)0; LOC6 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(sc0); HEX3Atmp_Gi3SOWiW0xoEmXNni8A79aA = (LOC6 - 1); res_wq9b9bKnt2mo9c9c9at5v9b4IAWg = ((NI) 0); { while (1) { if (!(res_wq9b9bKnt2mo9c9c9at5v9b4IAWg <= HEX3Atmp_Gi3SOWiW0xoEmXNni8A79aA)) goto LA8; i_Bafo4LtRBO6b8RH0Dt9cuRw = res_wq9b9bKnt2mo9c9c9at5v9b4IAWg; { if (!((*(*sc0).kindU.S6.sons->data[i_Bafo4LtRBO6b8RH0Dt9cuRw]).kindU.S4.sym == (*x0).kindU.S4.sym)) goto LA11; result0 = NIM_TRUE; goto BeforeRet; } LA11: ; res_wq9b9bKnt2mo9c9c9at5v9b4IAWg += ((NI) 1); } LA8: ; } } } goto LA1; LA3: ; { if (!((*sc0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA14; result0 = ((*(*(*(*sc0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).name).Sup.id == (*(*(*x0).kindU.S4.sym).name).Sup.id); } goto LA1; LA14: ; LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, matchchoice_VCMdmeXpaOrMqkuJKekVZA_2)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI i_qWNfuW0Kgvi0eeUtwptI0A; NI HEX3Atmp_QP9bHOy2PY5z34Hu7ZJFAvg; NI LOC2; NI res_y1AznTZ69cuIxtKIgUYWtvg; i_qWNfuW0Kgvi0eeUtwptI0A = (NI)0; HEX3Atmp_QP9bHOy2PY5z34Hu7ZJFAvg = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); HEX3Atmp_QP9bHOy2PY5z34Hu7ZJFAvg = (LOC2 - 1); res_y1AznTZ69cuIxtKIgUYWtvg = ((NI) 1); { while (1) { if (!(res_y1AznTZ69cuIxtKIgUYWtvg <= HEX3Atmp_QP9bHOy2PY5z34Hu7ZJFAvg)) goto LA4; i_qWNfuW0Kgvi0eeUtwptI0A = res_y1AznTZ69cuIxtKIgUYWtvg; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[i_qWNfuW0Kgvi0eeUtwptI0A], n0); if (!LOC7) goto LA8; result0 = NIM_TRUE; goto BeforeRet; } LA8: ; res_y1AznTZ69cuIxtKIgUYWtvg += ((NI) 1); } LA4: ; } } }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_PdIwf9cL1wYHCUP02ijYSUg)(void* p, NI op) { EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w* a; a = (EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w*)p; nimGCvisit((void*)(*a).p470374, op); } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = (*n0).kindU.S6.sons->data[i0]; return result0; } N_CLOSURE(NIM_BOOL, matchstaraux_Pk0izWTurG8nA6Ey7uonwA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* op0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_jue7YsdaklFE0Yc9boSAdew, Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0, NIM_BOOL rpn0, void* ClEnv) { NIM_BOOL result0; EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w* HEX3Aenvp_DOWOn1Vs89bPg69buBftGb9ag; { result0 = (NIM_BOOL)0; HEX3Aenvp_DOWOn1Vs89bPg69buBftGb9ag = (EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w*) ClEnv; result0 = NIM_TRUE; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)); if (!(LOC3)) goto LA4; LOC3 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*op0).kindU.S6.sons->data[((NI) 1)], (*n_jue7YsdaklFE0Yc9boSAdew).kindU.S6.sons->data[((NI) 0)]); LA4: ; if (!LOC3) goto LA5; { NI i_7419aAMTCMgUCC6j6fQrsVg; NI HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg; NI LOC8; NI res_NYB6KP2SwnZ9c3upPU5xHoA; i_7419aAMTCMgUCC6j6fQrsVg = (NI)0; HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_jue7YsdaklFE0Yc9boSAdew); HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg = (NI)(LOC8 - ((NI) 1)); res_NYB6KP2SwnZ9c3upPU5xHoA = ((NI) 1); { while (1) { if (!(res_NYB6KP2SwnZ9c3upPU5xHoA <= HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg)) goto LA10; i_7419aAMTCMgUCC6j6fQrsVg = res_NYB6KP2SwnZ9c3upPU5xHoA; { TY_m2PF6uka9bYFA9cbIB7lDl8w LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; NIM_BOOL LOC15; memset((void*)(&LOC13), 0, sizeof(LOC13)); LOC13.ClPrc = matchstaraux_Pk0izWTurG8nA6Ey7uonwA; LOC13.ClEnv = HEX3Aenvp_DOWOn1Vs89bPg69buBftGb9ag; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n_jue7YsdaklFE0Yc9boSAdew, i_7419aAMTCMgUCC6j6fQrsVg); LOC15 = (NIM_BOOL)0; LOC15 = LOC13.ClEnv? LOC13.ClPrc(c0, op0, LOC14, arglist0, rpn0, LOC13.ClEnv):((T_1E9cVLQUjhbw81lEou89bC9bw_7)(LOC13.ClPrc))(c0, op0, LOC14, arglist0, rpn0); if (!!(LOC15)) goto LA16; result0 = NIM_FALSE; goto BeforeRet; } LA16: ; res_NYB6KP2SwnZ9c3upPU5xHoA += ((NI) 1); } LA10: ; } } { if (!rpn0) goto LA20; add_gCCf68XrWL79bKes6htzFjQ_3(arglist0, (*n_jue7YsdaklFE0Yc9boSAdew).kindU.S6.sons->data[((NI) 0)]); } LA20: ; } goto LA1; LA5: ; { NIM_BOOL LOC23; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; LOC23 = (NIM_BOOL)0; LOC23 = ((*n_jue7YsdaklFE0Yc9boSAdew).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58)); if (!(LOC23)) goto LA24; LOC23 = ((*(*n_jue7YsdaklFE0Yc9boSAdew).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); LA24: ; if (!LOC23) goto LA25; n0 = (*n_jue7YsdaklFE0Yc9boSAdew).kindU.S6.sons->data[((NI) 1)]; { NI i_7419aAMTCMgUCC6j6fQrsVg_2; NI HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg_2; NI LOC28; NI res_NYB6KP2SwnZ9c3upPU5xHoA_2; i_7419aAMTCMgUCC6j6fQrsVg_2 = (NI)0; HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg_2 = (NI)0; LOC28 = (NI)0; LOC28 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg_2 = (LOC28 - 1); res_NYB6KP2SwnZ9c3upPU5xHoA_2 = ((NI) 0); { while (1) { if (!(res_NYB6KP2SwnZ9c3upPU5xHoA_2 <= HEX3Atmp_cMP3PDr9atjwbaOOhOjt0Vg_2)) goto LA30; i_7419aAMTCMgUCC6j6fQrsVg_2 = res_NYB6KP2SwnZ9c3upPU5xHoA_2; { TY_m2PF6uka9bYFA9cbIB7lDl8w LOC33; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; NIM_BOOL LOC35; memset((void*)(&LOC33), 0, sizeof(LOC33)); LOC33.ClPrc = matchstaraux_Pk0izWTurG8nA6Ey7uonwA; LOC33.ClEnv = HEX3Aenvp_DOWOn1Vs89bPg69buBftGb9ag; LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(n0, i_7419aAMTCMgUCC6j6fQrsVg_2); LOC35 = (NIM_BOOL)0; LOC35 = LOC33.ClEnv? LOC33.ClPrc(c0, op0, LOC34, arglist0, rpn0, LOC33.ClEnv):((T_1E9cVLQUjhbw81lEou89bC9bw_8)(LOC33.ClPrc))(c0, op0, LOC34, arglist0, rpn0); if (!!(LOC35)) goto LA36; result0 = NIM_FALSE; goto BeforeRet; } LA36: ; res_NYB6KP2SwnZ9c3upPU5xHoA_2 += ((NI) 1); } LA30: ; } } } goto LA1; LA25: ; { NIM_BOOL LOC39; LOC39 = (NIM_BOOL)0; LOC39 = checktypes_GST9aAj8DyaRNtRo0AKvkiA(c0, (*(*(*HEX3Aenvp_DOWOn1Vs89bPg69buBftGb9ag).p470374).kindU.S6.sons->data[((NI) 2)]).kindU.S4.sym, n_jue7YsdaklFE0Yc9boSAdew); if (!LOC39) goto LA40; add_gCCf68XrWL79bKes6htzFjQ_3(arglist0, n_jue7YsdaklFE0Yc9boSAdew); } goto LA1; LA40: ; { result0 = NIM_FALSE; } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, matchnested_19bvKMeQmFh4JiNqOBzSaug)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NIM_BOOL rpn0) { NIM_BOOL result0; EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w* HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg; { result0 = (NIM_BOOL)0; HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg = (EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w*)0; HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg = (EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w*) newObj((&NTI_PdIwf9cL1wYHCUP02ijYSUg), sizeof(EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w)); asgnRefNoCycle((void**) (&(*HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg).p470374), p0); { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)))) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0; LOC7 = (NIM_BOOL)0; LOC7 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*(*HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg).p470374).kindU.S6.sons->data[((NI) 1)], (*n0).kindU.S6.sons->data[((NI) 0)]); if (!LOC7) goto LA8; arglist0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n0).info); { TY_m2PF6uka9bYFA9cbIB7lDl8w LOC12; NIM_BOOL LOC13; memset((void*)(&LOC12), 0, sizeof(LOC12)); LOC12.ClPrc = matchstaraux_Pk0izWTurG8nA6Ey7uonwA; LOC12.ClEnv = HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg; LOC13 = (NIM_BOOL)0; LOC13 = LOC12.ClEnv? LOC12.ClPrc(c0, (*HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg).p470374, n0, arglist0, rpn0, LOC12.ClEnv):((T_1E9cVLQUjhbw81lEou89bC9bw_9)(LOC12.ClPrc))(c0, (*HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg).p470374, n0, arglist0, rpn0); if (!LOC13) goto LA14; result0 = bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA(c0, (*(*(*HEX3Aenv_r1nEjmI6Yzk0t3HdS9aCngg).p470374).kindU.S6.sons->data[((NI) 2)]).kindU.S4.sym, arglist0); } LA14: ; } LA8: ; }BeforeRet: ; return result0; } N_NIMCALL(void, gather_2VSo5LSXe8DjcsxpuzmJHA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* param0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* pp0; pp0 = getlazy_Et5fHepjdNzyLFlyqMqp6w(c0, param0); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !((pp0 == NIM_NIL)); if (!(LOC3)) goto LA4; LOC3 = ((*pp0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152)); LA4: ; if (!LOC3) goto LA5; add_gCCf68XrWL79bKes6htzFjQ_3(pp0, n0); } goto LA1; LA5: ; { pp0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n0).info, ((NI) 1)); asgnRefNoCycle((void**) (&(*pp0).kindU.S6.sons->data[((NI) 0)]), n0); putlazy_1T9aSTb1GI7PB9bJHQGBYlVQ(c0, param0, pp0); } LA1: ; } N_NIMCALL(NIM_BOOL, matches_VCMdmeXpaOrMqkuJKekVZA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_tTsf6dDgTcjsfd50PHRTfg) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* n_C8jImkkjdkKKybaEua7hSg; { result0 = (NIM_BOOL)0; n_C8jImkkjdkKKybaEua7hSg = skiphidden_6rsSLwtlU9c53a6w69be5JlQ_2(n_tTsf6dDgTcjsfd50PHRTfg); { if (!(((*n_C8jImkkjdkKKybaEua7hSg).flags &(1U<<((NU)(((Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg) 6))&15U)))!=0)) goto LA3; result0 = NIM_FALSE; } goto LA1; LA3: ; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = ispatternparam_gPET1IUN01z2uU7gQJbgXwpatterns(c0, p0); if (!LOC6) goto LA7; result0 = bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA(c0, (*p0).kindU.S4.sym, n_C8jImkkjdkKKybaEua7hSg); } goto LA1; LA7: ; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = ((*n_C8jImkkjdkKKybaEua7hSg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC10)) goto LA11; LOC10 = ((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)); LA11: ; if (!LOC10) goto LA12; result0 = ((*(*p0).kindU.S5.ident).Sup.id == (*(*(*n_C8jImkkjdkKKybaEua7hSg).kindU.S4.sym).name).Sup.id); } goto LA1; LA12: ; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = ((*n_C8jImkkjdkKKybaEua7hSg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC15)) goto LA16; LOC15 = insymchoice_ZN7t9bxH4vGykQZnFTJzQ8g(p0, n_C8jImkkjdkKKybaEua7hSg); LA16: ; if (!LOC15) goto LA17; result0 = NIM_TRUE; } goto LA1; LA17: ; { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = ((*n_C8jImkkjdkKKybaEua7hSg).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC20)) goto LA21; LOC20 = ((*(*n_C8jImkkjdkKKybaEua7hSg).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); LA21: ; if (!LOC20) goto LA22; { if (!((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA26; result0 = ((*p0).kindU.S4.sym == (*n_C8jImkkjdkKKybaEua7hSg).kindU.S4.sym); } goto LA24; LA26: ; { NIM_BOOL LOC29; LOC29 = (NIM_BOOL)0; LOC29 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, p0, (*(*n_C8jImkkjdkKKybaEua7hSg).kindU.S4.sym).ast); if (!LOC29) goto LA30; result0 = NIM_TRUE; } goto LA24; LA30: ; LA24: ; } goto LA1; LA22: ; { NimStringDesc* opr0; if (!((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 153))) goto LA33; opr0 = (*(*(*p0).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident).s; if (eqStrings(opr0, ((NimStringDesc*) &T_1E9cVLQUjhbw81lEou89bC9bw_2))) goto LA35; if (eqStrings(opr0, ((NimStringDesc*) &T_1E9cVLQUjhbw81lEou89bC9bw_3))) goto LA36; if (eqStrings(opr0, ((NimStringDesc*) &T_1E9cVLQUjhbw81lEou89bC9bw_4))) goto LA37; if (eqStrings(opr0, ((NimStringDesc*) &T_1E9cVLQUjhbw81lEou89bC9bw_5))) goto LA38; goto LA39; LA35: ; { result0 = matchchoice_VCMdmeXpaOrMqkuJKekVZA_2(c0, p0, n_C8jImkkjdkKKybaEua7hSg); } goto LA40; LA36: ; { result0 = matchnested_19bvKMeQmFh4JiNqOBzSaug(c0, p0, n_C8jImkkjdkKKybaEua7hSg, NIM_FALSE); } goto LA40; LA37: ; { result0 = matchnested_19bvKMeQmFh4JiNqOBzSaug(c0, p0, n_C8jImkkjdkKKybaEua7hSg, NIM_TRUE); } goto LA40; LA38: ; { NIM_BOOL LOC45; LOC45 = (NIM_BOOL)0; LOC45 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[((NI) 1)], n_C8jImkkjdkKKybaEua7hSg); result0 = !(LOC45); } goto LA40; LA39: ; { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*p0).info, ((NimStringDesc*) &T_1E9cVLQUjhbw81lEou89bC9bw_10)); } LA40: ; } goto LA1; LA33: ; { if (!((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 40))) goto LA48; { if (!((*(*p0).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30))) goto LA52; { NIM_BOOL LOC56; LOC56 = (NIM_BOOL)0; LOC56 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[((NI) 0)], n_C8jImkkjdkKKybaEua7hSg); if (!LOC56) goto LA57; gather_2VSo5LSXe8DjcsxpuzmJHA(c0, (*(*(*p0).kindU.S6.sons->data[((NI) 1)]).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym, n_C8jImkkjdkKKybaEua7hSg); result0 = NIM_TRUE; } LA57: ; } goto LA50; LA52: ; { { NIM_BOOL LOC62; LOC62 = (NIM_BOOL)0; LOC62 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[((NI) 0)], n_C8jImkkjdkKKybaEua7hSg); if (!LOC62) goto LA63; result0 = bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA(c0, (*(*p0).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym, n_C8jImkkjdkKKybaEua7hSg); } LA63: ; } LA50: ; } goto LA1; LA48: ; { NIM_BOOL LOC66; LOC66 = (NIM_BOOL)0; LOC66 = samekinds_XRMMlJbdRvuwZTQ9bpQs9bEQpatterns(p0, n_C8jImkkjdkKKybaEua7hSg); if (!LOC66) goto LA67; switch ((*p0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = ((*p0).kindU.S4.sym == (*n_C8jImkkjdkKKybaEua7hSg).kindU.S4.sym); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { result0 = ((*(*p0).kindU.S5.ident).Sup.id == (*(*n_C8jImkkjdkKKybaEua7hSg).kindU.S5.ident).Sup.id); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10): { result0 = ((*p0).kindU.S1.intval == (*n_C8jImkkjdkKKybaEua7hSg).kindU.S1.intval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18): { result0 = ((*p0).kindU.S2.floatval == (*n_C8jImkkjdkKKybaEua7hSg).kindU.S2.floatval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { result0 = eqStrings((*p0).kindU.S3.strval, (*n_C8jImkkjdkKKybaEua7hSg).kindU.S3.strval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4): { result0 = NIM_TRUE; } break; default: { NI plen0; Tnode_bROa11lyF5vxEN9aYNbHmhw* v0; plen0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(p0); v0 = lastson_esDJA7239bJDiq4UrX9aHCjg(p0); { NIM_BOOL LOC78; Tnode_bROa11lyF5vxEN9aYNbHmhw* arglist0; LOC78 = (NIM_BOOL)0; LOC78 = ispatternparam_gPET1IUN01z2uU7gQJbgXwpatterns(c0, v0); if (!(LOC78)) goto LA79; LOC78 = ((*(*(*v0).kindU.S4.sym).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA79: ; if (!LOC78) goto LA80; arglist0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI LOC84; LOC84 = (NI)0; LOC84 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); if (!(plen0 <= LOC84)) goto LA85; { NI i_kxiVThl9ccvvxkg3gZbrsYQ; NI HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ; NI res_3bzv2iP7wdtxDi3o3Z0xaA; i_kxiVThl9ccvvxkg3gZbrsYQ = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ = (NI)(plen0 - ((NI) 2)); res_3bzv2iP7wdtxDi3o3Z0xaA = ((NI) 0); { while (1) { if (!(res_3bzv2iP7wdtxDi3o3Z0xaA <= HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ)) goto LA89; i_kxiVThl9ccvvxkg3gZbrsYQ = res_3bzv2iP7wdtxDi3o3Z0xaA; { NIM_BOOL LOC92; LOC92 = (NIM_BOOL)0; LOC92 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ], (*n_C8jImkkjdkKKybaEua7hSg).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ]); if (!!(LOC92)) goto LA93; goto BeforeRet; } LA93: ; res_3bzv2iP7wdtxDi3o3Z0xaA += ((NI) 1); } LA89: ; } } { NIM_BOOL LOC97; NIM_BOOL LOC98; NI LOC99; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC101; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC103; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC106; NI LOC107; LOC97 = (NIM_BOOL)0; LOC98 = (NIM_BOOL)0; LOC99 = (NI)0; LOC99 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); LOC98 = (plen0 == LOC99); if (!(LOC98)) goto LA100; LOC101 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC101 = lastson_esDJA7239bJDiq4UrX9aHCjg(n_C8jImkkjdkKKybaEua7hSg); LOC98 = ((*LOC101).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58)); LA100: ; LOC97 = LOC98; if (!(LOC97)) goto LA102; LOC103 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC103 = lastson_esDJA7239bJDiq4UrX9aHCjg(n_C8jImkkjdkKKybaEua7hSg); LOC97 = ((*(*LOC103).kindU.S6.sons->data[((NI) 1)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41)); LA102: ; if (!LOC97) goto LA104; LOC106 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC106 = lastson_esDJA7239bJDiq4UrX9aHCjg(n_C8jImkkjdkKKybaEua7hSg); n0 = (*LOC106).kindU.S6.sons->data[((NI) 1)]; LOC107 = (NI)0; LOC107 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); arglist0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n0).info, LOC107); { NI i_kxiVThl9ccvvxkg3gZbrsYQ_2; NI HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_2; NI LOC109; NI res_3bzv2iP7wdtxDi3o3Z0xaA_2; i_kxiVThl9ccvvxkg3gZbrsYQ_2 = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_2 = (NI)0; LOC109 = (NI)0; LOC109 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_2 = (LOC109 - 1); res_3bzv2iP7wdtxDi3o3Z0xaA_2 = ((NI) 0); { while (1) { if (!(res_3bzv2iP7wdtxDi3o3Z0xaA_2 <= HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_2)) goto LA111; i_kxiVThl9ccvvxkg3gZbrsYQ_2 = res_3bzv2iP7wdtxDi3o3Z0xaA_2; asgnRefNoCycle((void**) (&(*arglist0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_2]), (*n0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_2]); res_3bzv2iP7wdtxDi3o3Z0xaA_2 += ((NI) 1); } LA111: ; } } } goto LA95; LA104: ; { NI LOC113; LOC113 = (NI)0; LOC113 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); arglist0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n_C8jImkkjdkKKybaEua7hSg).info, (NI)((NI)(LOC113 - plen0) + ((NI) 1))); { NI i_kxiVThl9ccvvxkg3gZbrsYQ_3; NI HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_3; NI LOC115; NI res_3bzv2iP7wdtxDi3o3Z0xaA_3; i_kxiVThl9ccvvxkg3gZbrsYQ_3 = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_3 = (NI)0; LOC115 = (NI)0; LOC115 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_3 = (NI)(LOC115 - plen0); res_3bzv2iP7wdtxDi3o3Z0xaA_3 = ((NI) 0); { while (1) { if (!(res_3bzv2iP7wdtxDi3o3Z0xaA_3 <= HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_3)) goto LA117; i_kxiVThl9ccvvxkg3gZbrsYQ_3 = res_3bzv2iP7wdtxDi3o3Z0xaA_3; asgnRefNoCycle((void**) (&(*arglist0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_3]), (*n_C8jImkkjdkKKybaEua7hSg).kindU.S6.sons->data[(NI)((NI)(i_kxiVThl9ccvvxkg3gZbrsYQ_3 + plen0) - ((NI) 1))]); res_3bzv2iP7wdtxDi3o3Z0xaA_3 += ((NI) 1); } LA117: ; } } } LA95: ; result0 = bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA(c0, (*v0).kindU.S4.sym, arglist0); goto BeforeRet; } goto LA82; LA85: ; { NI LOC119; LOC119 = (NI)0; LOC119 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); if (!((NI)(plen0 - ((NI) 1)) == LOC119)) goto LA120; { NI i_kxiVThl9ccvvxkg3gZbrsYQ_4; NI HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_4; NI res_3bzv2iP7wdtxDi3o3Z0xaA_4; i_kxiVThl9ccvvxkg3gZbrsYQ_4 = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_4 = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_4 = (NI)(plen0 - ((NI) 2)); res_3bzv2iP7wdtxDi3o3Z0xaA_4 = ((NI) 0); { while (1) { if (!(res_3bzv2iP7wdtxDi3o3Z0xaA_4 <= HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_4)) goto LA124; i_kxiVThl9ccvvxkg3gZbrsYQ_4 = res_3bzv2iP7wdtxDi3o3Z0xaA_4; { NIM_BOOL LOC127; LOC127 = (NIM_BOOL)0; LOC127 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_4], (*n_C8jImkkjdkKKybaEua7hSg).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_4]); if (!!(LOC127)) goto LA128; goto BeforeRet; } LA128: ; res_3bzv2iP7wdtxDi3o3Z0xaA_4 += ((NI) 1); } LA124: ; } } arglist0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n_C8jImkkjdkKKybaEua7hSg).info); result0 = bindorcheck_1bLHvB4JKbWR7rr9cTgXkYA(c0, (*v0).kindU.S4.sym, arglist0); goto BeforeRet; } goto LA82; LA120: ; LA82: ; } LA80: ; { NI LOC132; LOC132 = (NI)0; LOC132 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n_C8jImkkjdkKKybaEua7hSg); if (!(plen0 == LOC132)) goto LA133; { NI i_kxiVThl9ccvvxkg3gZbrsYQ_5; NI HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_5; NI LOC136; NI res_3bzv2iP7wdtxDi3o3Z0xaA_5; i_kxiVThl9ccvvxkg3gZbrsYQ_5 = (NI)0; HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_5 = (NI)0; LOC136 = (NI)0; LOC136 = sonslen_qPWPHw7WgJeEVYUdcaRIig(p0); HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_5 = (NI)(LOC136 - ((NI) 1)); res_3bzv2iP7wdtxDi3o3Z0xaA_5 = ((NI) 0); { while (1) { if (!(res_3bzv2iP7wdtxDi3o3Z0xaA_5 <= HEX3Atmp_4pX4I9crsaPGc2WkYiwDX9bQ_5)) goto LA138; i_kxiVThl9ccvvxkg3gZbrsYQ_5 = res_3bzv2iP7wdtxDi3o3Z0xaA_5; { NIM_BOOL LOC141; LOC141 = (NIM_BOOL)0; LOC141 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_5], (*n_C8jImkkjdkKKybaEua7hSg).kindU.S6.sons->data[i_kxiVThl9ccvvxkg3gZbrsYQ_5]); if (!!(LOC141)) goto LA142; goto BeforeRet; } LA142: ; res_3bzv2iP7wdtxDi3o3Z0xaA_5 += ((NI) 1); } LA138: ; } } result0 = NIM_TRUE; } LA133: ; } break; } } goto LA1; LA67: ; LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, matchrange_zDO9bXlOmRuaAEXEFbpxbUQ)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI j_D9ahYVB9c9bUp2SRZ9bi5tvH0A; NI HEX3Atmp_GShAyR2REFGDoRN35c9aAOg; NI LOC2; NI res_4A5ojhzS4bLuDkjJQvFFOg; j_D9ahYVB9c9bUp2SRZ9bi5tvH0A = (NI)0; HEX3Atmp_GShAyR2REFGDoRN35c9aAOg = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); HEX3Atmp_GShAyR2REFGDoRN35c9aAOg = (LOC2 - 1); res_4A5ojhzS4bLuDkjJQvFFOg = ((NI) 0); { while (1) { if (!(res_4A5ojhzS4bLuDkjJQvFFOg <= HEX3Atmp_GShAyR2REFGDoRN35c9aAOg)) goto LA4; j_D9ahYVB9c9bUp2SRZ9bi5tvH0A = res_4A5ojhzS4bLuDkjJQvFFOg; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, (*p0).kindU.S6.sons->data[j_D9ahYVB9c9bUp2SRZ9bi5tvH0A], (*n0).kindU.S6.sons->data[(NI)(i0 + j_D9ahYVB9c9bUp2SRZ9bi5tvH0A)]); if (!!(LOC7)) goto LA8; { if (!!(((*c0).mapping == 0))) goto LA12; genericSeqAssign((&(*c0).mapping), NIM_NIL, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ)); } LA12: ; result0 = NIM_FALSE; goto BeforeRet; } LA8: ; res_4A5ojhzS4bLuDkjJQvFFOg += ((NI) 1); } LA4: ; } } result0 = NIM_TRUE; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, matchstmtlist_llKO9cuhE9atweXgNJPGkR9aA)(Tpatterncontext_ArP5wLemitHqyeu50ovXug* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n_yZlZaUvCPKzAenvOMbxmIg) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; NI LOC7; NI LOC8; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = ((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); if (!(LOC4)) goto LA5; LOC4 = ((*n_yZlZaUvCPKzAenvOMbxmIg).kind == (*p0).kind); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); LOC8 = (NI)0; LOC8 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n_yZlZaUvCPKzAenvOMbxmIg); LOC3 = (LOC7 < LOC8); LA6: ; if (!LOC3) goto LA9; n0 = flattenstmts_kDuk7Mp6Hb4CD2EwZbGQ3g(n_yZlZaUvCPKzAenvOMbxmIg); { NI i_VzzOlafwVAQAqZ9ct9aP9bpFw; NI HEX3Atmp_eI5O5vqNNX008HMqrSvZag; NI LOC12; NI LOC13; NI res_5waI3sVlzXnNav5C1oFH7A; i_VzzOlafwVAQAqZ9ct9aP9bpFw = (NI)0; HEX3Atmp_eI5O5vqNNX008HMqrSvZag = (NI)0; LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); HEX3Atmp_eI5O5vqNNX008HMqrSvZag = (NI)(LOC12 - LOC13); res_5waI3sVlzXnNav5C1oFH7A = ((NI) 0); { while (1) { if (!(res_5waI3sVlzXnNav5C1oFH7A <= HEX3Atmp_eI5O5vqNNX008HMqrSvZag)) goto LA15; i_VzzOlafwVAQAqZ9ct9aP9bpFw = res_5waI3sVlzXnNav5C1oFH7A; { NIM_BOOL LOC18; NI LOC21; NI LOC22; NI LOC23; LOC18 = (NIM_BOOL)0; LOC18 = matchrange_zDO9bXlOmRuaAEXEFbpxbUQ(c0, p0, n0, i_VzzOlafwVAQAqZ9ct9aP9bpFw); if (!LOC18) goto LA19; (*c0).submatch = NIM_TRUE; result0 = newnodei_jIQp9ciM8if1a6TX6toZelw(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n0).info, ((NI) 3)); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 0)]), extractrange_hXdHXhYIaWyizlIOoxd1YA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), n0, ((NI) 0), (NI)(i_VzzOlafwVAQAqZ9ct9aP9bpFw - ((NI) 1)))); LOC21 = (NI)0; LOC21 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 1)]), extractrange_hXdHXhYIaWyizlIOoxd1YA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), n0, i_VzzOlafwVAQAqZ9ct9aP9bpFw, (NI)((NI)(i_VzzOlafwVAQAqZ9ct9aP9bpFw + LOC21) - ((NI) 1)))); LOC22 = (NI)0; LOC22 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(p0); LOC23 = (NI)0; LOC23 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[((NI) 2)]), extractrange_hXdHXhYIaWyizlIOoxd1YA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115), n0, (NI)(i_VzzOlafwVAQAqZ9ct9aP9bpFw + LOC22), (NI)(LOC23 - ((NI) 1)))); goto LA11; } LA19: ; res_5waI3sVlzXnNav5C1oFH7A += ((NI) 1); } LA15: ; } } LA11: ; } goto LA1; LA9: ; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = matches_VCMdmeXpaOrMqkuJKekVZA(c0, p0, n_yZlZaUvCPKzAenvOMbxmIg); if (!LOC25) goto LA26; result0 = n_yZlZaUvCPKzAenvOMbxmIg; } goto LA1; LA26: ; LA1: ; return result0; } N_NIMCALL(NIM_BOOL, aliasanalysisrequested_EuxNDPUYNmvz9b4acjk8Piw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* params0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI LOC3; LOC3 = (NI)0; LOC3 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); if (!(((NI) 2) <= LOC3)) goto LA4; { NI i_YWz1MGusxVWDsnFy5FkADg; NI HEX3Atmp_5CUyT8BoZ7QtwJRCmaBO0A; NI LOC7; NI res_ISlSXMhAp50gH3k9bBljb4g; i_YWz1MGusxVWDsnFy5FkADg = (NI)0; HEX3Atmp_5CUyT8BoZ7QtwJRCmaBO0A = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); HEX3Atmp_5CUyT8BoZ7QtwJRCmaBO0A = (LOC7 - 1); res_ISlSXMhAp50gH3k9bBljb4g = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; if (!(res_ISlSXMhAp50gH3k9bBljb4g <= HEX3Atmp_5CUyT8BoZ7QtwJRCmaBO0A)) goto LA9; i_YWz1MGusxVWDsnFy5FkADg = res_ISlSXMhAp50gH3k9bBljb4g; param0 = (*(*params0).kindU.S6.sons->data[i_YWz1MGusxVWDsnFy5FkADg]).kindU.S4.sym; { Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw LOC12; LOC12 = (Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw)0; LOC12 = whichalias_7hky4mwJtv6cPhBQIKx4gg(param0); if (!!((LOC12 == ((Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw) 1)))) goto LA13; result0 = NIM_TRUE; goto BeforeRet; } LA13: ; res_ISlSXMhAp50gH3k9bBljb4g += ((NI) 1); } LA9: ; } } } LA4: ; }BeforeRet: ; return result0; } N_NIMCALL(void, addtoarglist_tw4INF0WNNbDFnXD6MGdHA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* result0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = !(((*n0).typ == NIM_NIL)); if (!(LOC3)) goto LA4; LOC3 = !(((*(*n0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7))); LA4: ; if (!LOC3) goto LA5; { if (!!(((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA9; add_gCCf68XrWL79bKes6htzFjQ_3(result0, n0); } goto LA7; LA9: ; { { NI i_3kunpKUbxRfFb9bhdoM2f9cQ; NI HEX3Atmp_W6dGuwgjXeBd49aSlv2Va6g; NI LOC13; NI res_WBxXHYrPDUZ4f1jQVyD12g; i_3kunpKUbxRfFb9bhdoM2f9cQ = (NI)0; HEX3Atmp_W6dGuwgjXeBd49aSlv2Va6g = (NI)0; LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_W6dGuwgjXeBd49aSlv2Va6g = (LOC13 - 1); res_WBxXHYrPDUZ4f1jQVyD12g = ((NI) 0); { while (1) { if (!(res_WBxXHYrPDUZ4f1jQVyD12g <= HEX3Atmp_W6dGuwgjXeBd49aSlv2Va6g)) goto LA15; i_3kunpKUbxRfFb9bhdoM2f9cQ = res_WBxXHYrPDUZ4f1jQVyD12g; add_gCCf68XrWL79bKes6htzFjQ_3(result0, (*n0).kindU.S6.sons->data[i_3kunpKUbxRfFb9bhdoM2f9cQ]); res_WBxXHYrPDUZ4f1jQVyD12g += ((NI) 1); } LA15: ; } } } LA7: ; } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, applyrule_v5cxwOMnA2zwCd20yxVqYA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tpatterncontext_ArP5wLemitHqyeu50ovXug ctx0; NI LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* m0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* params0; NIM_BOOL requiresaa0; Tnode_bROa11lyF5vxEN9aYNbHmhw* args0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; memset((void*)(&ctx0), 0, sizeof(ctx0)); ctx0.owner = s0; ctx0.c = c0; LOC1 = (NI)0; LOC1 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*s0).typ); ctx0.formals = (NI)(LOC1 - ((NI) 1)); m0 = matchstmtlist_llKO9cuhE9atweXgNJPGkR9aA((&ctx0), (*(*s0).ast).kindU.S6.sons->data[((NI) 1)], n0); { if (!(m0 == 0)) goto LA4; result0 = NIM_NIL; goto BeforeRet; } LA4: ; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n0).info); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(s0, (*n0).info); add_gCCf68XrWL79bKes6htzFjQ_3(result0, LOC6); params0 = (*(*s0).typ).n; requiresaa0 = aliasanalysisrequested_EuxNDPUYNmvz9b4acjk8Piw(params0); args0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!requiresaa0) goto LA9; args0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152), (*n0).info); } LA9: ; { NI i_zHPOSuTN9b0qdSucgaXLVTA; NI HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ; NI LOC12; NI res_ZHj34IpVuYP9clEuD9bNQMGw; i_zHPOSuTN9b0qdSucgaXLVTA = (NI)0; HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ = (NI)0; LOC12 = (NI)0; LOC12 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ = (LOC12 - 1); res_ZHj34IpVuYP9clEuD9bNQMGw = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!(res_ZHj34IpVuYP9clEuD9bNQMGw <= HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ)) goto LA14; i_zHPOSuTN9b0qdSucgaXLVTA = res_ZHj34IpVuYP9clEuD9bNQMGw; param0 = (*(*params0).kindU.S6.sons->data[i_zHPOSuTN9b0qdSucgaXLVTA]).kindU.S4.sym; x0 = getlazy_Et5fHepjdNzyLFlyqMqp6w((&ctx0), param0); { if (!(x0 == 0)) goto LA17; result0 = NIM_NIL; goto BeforeRet; } LA17: ; add_gCCf68XrWL79bKes6htzFjQ_3(result0, x0); { if (!requiresaa0) goto LA21; addtoarglist_tw4INF0WNNbDFnXD6MGdHA(args0, x0); } LA21: ; res_ZHj34IpVuYP9clEuD9bNQMGw += ((NI) 1); } LA14: ; } } { if (!requiresaa0) goto LA25; { NI i_zHPOSuTN9b0qdSucgaXLVTA_2; NI HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_2; NI LOC28; NI res_ZHj34IpVuYP9clEuD9bNQMGw_2; i_zHPOSuTN9b0qdSucgaXLVTA_2 = (NI)0; HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_2 = (NI)0; LOC28 = (NI)0; LOC28 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(params0); HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_2 = (LOC28 - 1); res_ZHj34IpVuYP9clEuD9bNQMGw_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* rs0; Tsym_AXG7xcvKqaxY6koRX1xkCw* param0; Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw LOC31; if (!(res_ZHj34IpVuYP9clEuD9bNQMGw_2 <= HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_2)) goto LA30; i_zHPOSuTN9b0qdSucgaXLVTA_2 = res_ZHj34IpVuYP9clEuD9bNQMGw_2; rs0 = (*result0).kindU.S6.sons->data[i_zHPOSuTN9b0qdSucgaXLVTA_2]; param0 = (*(*params0).kindU.S6.sons->data[i_zHPOSuTN9b0qdSucgaXLVTA_2]).kindU.S4.sym; LOC31 = (Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw)0; LOC31 = whichalias_7hky4mwJtv6cPhBQIKx4gg(param0); switch (LOC31) { case ((Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw) 1): { } break; case ((Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw) 2): { NIM_BOOL ok0; ok0 = NIM_FALSE; { Tnode_bROa11lyF5vxEN9aYNbHmhw* arg_7POqdGvdR9bm0zfKS1DE9asw; arg_7POqdGvdR9bm0zfKS1DE9asw = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_zHPOSuTN9b0qdSucgaXLVTA_3; NI HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_3; NI LOC36; NI res_ZHj34IpVuYP9clEuD9bNQMGw_3; i_zHPOSuTN9b0qdSucgaXLVTA_3 = (NI)0; HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_3 = (NI)0; LOC36 = (NI)0; LOC36 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(args0); HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_3 = (LOC36 - 1); res_ZHj34IpVuYP9clEuD9bNQMGw_3 = ((NI) 0); { while (1) { if (!(res_ZHj34IpVuYP9clEuD9bNQMGw_3 <= HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_3)) goto LA38; i_zHPOSuTN9b0qdSucgaXLVTA_3 = res_ZHj34IpVuYP9clEuD9bNQMGw_3; arg_7POqdGvdR9bm0zfKS1DE9asw = (*args0).kindU.S6.sons->data[i_zHPOSuTN9b0qdSucgaXLVTA_3]; { NIM_BOOL LOC41; Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w LOC43; LOC41 = (NIM_BOOL)0; LOC41 = !((arg_7POqdGvdR9bm0zfKS1DE9asw == rs0)); if (!(LOC41)) goto LA42; LOC43 = (Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w)0; LOC43 = ispartof_1otDDZAmvFsmbqPyFytXFg(rs0, arg_7POqdGvdR9bm0zfKS1DE9asw); LOC41 = (LOC43 == ((Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w) 2)); LA42: ; if (!LOC41) goto LA44; ok0 = NIM_TRUE; goto LA34; } LA44: ; res_ZHj34IpVuYP9clEuD9bNQMGw_3 += ((NI) 1); } LA38: ; } } } LA34: ; { if (!!(ok0)) goto LA48; result0 = NIM_NIL; goto BeforeRet; } LA48: ; } break; case ((Taliasrequest_BbWVl1Ad9ayM74eg8oBpAfw) 3): { NIM_BOOL ok0; ok0 = NIM_TRUE; { Tnode_bROa11lyF5vxEN9aYNbHmhw* arg_7POqdGvdR9bm0zfKS1DE9asw_2; arg_7POqdGvdR9bm0zfKS1DE9asw_2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_zHPOSuTN9b0qdSucgaXLVTA_4; NI HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_4; NI LOC53; NI res_ZHj34IpVuYP9clEuD9bNQMGw_4; i_zHPOSuTN9b0qdSucgaXLVTA_4 = (NI)0; HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_4 = (NI)0; LOC53 = (NI)0; LOC53 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(args0); HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_4 = (LOC53 - 1); res_ZHj34IpVuYP9clEuD9bNQMGw_4 = ((NI) 0); { while (1) { if (!(res_ZHj34IpVuYP9clEuD9bNQMGw_4 <= HEX3Atmp_09bnbbPs4BtjPaWpasx7fDQ_4)) goto LA55; i_zHPOSuTN9b0qdSucgaXLVTA_4 = res_ZHj34IpVuYP9clEuD9bNQMGw_4; arg_7POqdGvdR9bm0zfKS1DE9asw_2 = (*args0).kindU.S6.sons->data[i_zHPOSuTN9b0qdSucgaXLVTA_4]; { NIM_BOOL LOC58; Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w LOC60; LOC58 = (NIM_BOOL)0; LOC58 = !((arg_7POqdGvdR9bm0zfKS1DE9asw_2 == rs0)); if (!(LOC58)) goto LA59; LOC60 = (Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w)0; LOC60 = ispartof_1otDDZAmvFsmbqPyFytXFg(rs0, arg_7POqdGvdR9bm0zfKS1DE9asw_2); LOC58 = !((LOC60 == ((Tanalysisresult_p9a9bcrXoRmLT4eUuwrDq9b4w) 0))); LA59: ; if (!LOC58) goto LA61; ok0 = NIM_FALSE; goto LA51; } LA61: ; res_ZHj34IpVuYP9clEuD9bNQMGw_4 += ((NI) 1); } LA55: ; } } } LA51: ; { if (!!(ok0)) goto LA65; result0 = NIM_NIL; goto BeforeRet; } LA65: ; } break; } res_ZHj34IpVuYP9clEuD9bNQMGw_2 += ((NI) 1); } LA30: ; } } } LA25: ; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*n0).info, s0); { if (!ctx0.submatch) goto LA69; asgnRefNoCycle((void**) (&(*m0).kindU.S6.sons->data[((NI) 1)]), result0); result0 = m0; } LA69: ; }BeforeRet: ; return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_patternsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_patternsDatInit000)(void) { static TNimNode* T_1E9cVLQUjhbw81lEou89bC9bw_6[2]; static TNimNode T_1E9cVLQUjhbw81lEou89bC9bw_0[3]; NTI_7L00GU9brjWbq4ZtK5DxM4w.size = sizeof(EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w); NTI_7L00GU9brjWbq4ZtK5DxM4w.kind = 18; NTI_7L00GU9brjWbq4ZtK5DxM4w.base = 0; NTI_7L00GU9brjWbq4ZtK5DxM4w.flags = 2; T_1E9cVLQUjhbw81lEou89bC9bw_6[0] = &T_1E9cVLQUjhbw81lEou89bC9bw_0[1]; T_1E9cVLQUjhbw81lEou89bC9bw_0[1].kind = 1; T_1E9cVLQUjhbw81lEou89bC9bw_0[1].offset = offsetof(EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w, HEX3Astate); T_1E9cVLQUjhbw81lEou89bC9bw_0[1].typ = (&NTI_xHTZrq9aYs6boc9bCba0JbpQ); T_1E9cVLQUjhbw81lEou89bC9bw_0[1].name = ":state"; T_1E9cVLQUjhbw81lEou89bC9bw_6[1] = &T_1E9cVLQUjhbw81lEou89bC9bw_0[2]; T_1E9cVLQUjhbw81lEou89bC9bw_0[2].kind = 1; T_1E9cVLQUjhbw81lEou89bC9bw_0[2].offset = offsetof(EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w, p470374); T_1E9cVLQUjhbw81lEou89bC9bw_0[2].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q); T_1E9cVLQUjhbw81lEou89bC9bw_0[2].name = "p470374"; T_1E9cVLQUjhbw81lEou89bC9bw_0[0].len = 2; T_1E9cVLQUjhbw81lEou89bC9bw_0[0].kind = 2; T_1E9cVLQUjhbw81lEou89bC9bw_0[0].sons = &T_1E9cVLQUjhbw81lEou89bC9bw_6[0]; NTI_7L00GU9brjWbq4ZtK5DxM4w.node = &T_1E9cVLQUjhbw81lEou89bC9bw_0[0]; NTI_PdIwf9cL1wYHCUP02ijYSUg.size = sizeof(EnvpatternsHEX2Enim128_7L00GU9brjWbq4ZtK5DxM4w*); NTI_PdIwf9cL1wYHCUP02ijYSUg.kind = 22; NTI_PdIwf9cL1wYHCUP02ijYSUg.base = (&NTI_7L00GU9brjWbq4ZtK5DxM4w); NTI_PdIwf9cL1wYHCUP02ijYSUg.flags = 2; NTI_PdIwf9cL1wYHCUP02ijYSUg.marker = Marker_TY_PdIwf9cL1wYHCUP02ijYSUg; }