/* Generated by Nim Compiler v1.2.4 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <math.h>
#include <dirent.h>
#include <setjmp.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.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
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
typedef struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ tySequence__DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
typedef struct tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg;
typedef struct tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ;
typedef struct tySequence__9brg1xNurxcus33lU4IE1Dw tySequence__9brg1xNurxcus33lU4IE1Dw;
typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct RootObj RootObj;
typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tySequence__bWZXqEvLFwhLvAqSRoFNgQ tySequence__bWZXqEvLFwhLvAqSRoFNgQ;
typedef struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA;
typedef struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw tyObject_Table__IioUJGdqPI6xC7S7QF8MBw;
typedef struct tySequence__Qr6E8eH7btq79cFKGaJfGLw tySequence__Qr6E8eH7btq79cFKGaJfGLw;
typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tySequence__PzqTLBFNawCGiqTk0UORYw tySequence__PzqTLBFNawCGiqTk0UORYw;
typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q;
typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA;
typedef struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__Ef05srmQTDulnBdXR4Ja6Q tySequence__Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence__MvZmat48bhe9b6x9aUD58D5Q tySequence__MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA tySequence__DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
typedef struct tySequence__YdLNCDKYeipzJx3I8Xw82Q tySequence__YdLNCDKYeipzJx3I8Xw82Q;
typedef struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA tySequence__PJMRIt5QxCm6bRaVyQ5CGA;
typedef struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ;
typedef struct tySequence__RsxI3z4wK8jTuZiO0576gQ tySequence__RsxI3z4wK8jTuZiO0576gQ;
typedef struct tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g;
typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct TSafePoint TSafePoint;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag;
typedef struct tySequence__jlXqfsdfoRhiIfoVNWV0Vw tySequence__jlXqfsdfoRhiIfoVNWV0Vw;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
typedef struct tySequence__JokFGfUW6i9b6aeU7xu6xBw tySequence__JokFGfUW6i9b6aeU7xu6xBw;
typedef struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyTuple__SlmU1Ju0WFHUWkihyHMVYg;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw;
typedef struct tyTuple__nlLlqVveYUlcdyx2e2bPTw tyTuple__nlLlqVveYUlcdyx2e2bPTw;
typedef struct tyTuple__9cqHuynYNPU9avbszh3XtBAg tyTuple__9cqHuynYNPU9avbszh3XtBAg;
typedef struct tyTuple__UCrBsiykDha2x4hr9aWPwKA tyTuple__UCrBsiykDha2x4hr9aWPwKA;
typedef struct tyTuple__DcoP8zLFnBpow03kFN9cGhg tyTuple__DcoP8zLFnBpow03kFN9cGhg;
typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
typedef struct tyTuple__9aIi6GdTSD27YtPkWxMqNxA tyTuple__9aIi6GdTSD27YtPkWxMqNxA;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__quA39a2QdEQU9cSEIUSibApQ tyTuple__quA39a2QdEQU9cSEIUSibApQ;
typedef struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g;
typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyTuple__euPCXX9bc3XzndEhYlqNS7g tyTuple__euPCXX9bc3XzndEhYlqNS7g;
typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyTuple__zwpS6d6iewrdlBSTNFoyVA tyTuple__zwpS6d6iewrdlBSTNFoyVA;
typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
typedef struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ;
struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg {
NI elems;
NI counter;
NI max;
tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* head;
tySequence__9brg1xNurxcus33lU4IE1Dw* data;
tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence__kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__xdLb0cyzx3FuM6Q4NnRTpQ;
typedef tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray__OLX364rHC66WkzRbMp49aQg[64];
typedef tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray__6GDJmNRiFxkWAAdMgUie8g[70];
struct tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA {
char dummy;
};
struct tyObject_Table__IioUJGdqPI6xC7S7QF8MBw {
tySequence__Qr6E8eH7btq79cFKGaJfGLw* data;
NI counter;
};
struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, tyProc__c6vdo1yHyj19b9bS17tijS2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__d5yEkT9aXkAtHvVerr7IeCQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(void, tyProc__sP1I7TbCn358eLy9bX4IphA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence__23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
typedef N_NIMCALL_PTR(void, tyProc__gSRciuQJWoGdSES9cKZObDA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* assumptions, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toProve, tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q* Result);
typedef N_NIMCALL_PTR(void, tyProc__1WzpMcp9cPe19cAmEzHWVDNQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* assumptions, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* requirement, tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q* Result);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__3TeLOx1euAsRk3YCaQCuPg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* formal, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* actual);
struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* modules;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
tyObject_IntSet__PQrmFm4BXFkFSVOUl1ojSg deps;
tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
RootObj* vm;
tyProc__xdLb0cyzx3FuM6Q4NnRTpQ doStopCompile;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* usageSym;
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* owners;
tySequence__bWZXqEvLFwhLvAqSRoFNgQ* methods;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* systemModule;
tyArray__OLX364rHC66WkzRbMp49aQg sysTypes;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
tyArray__6GDJmNRiFxkWAAdMgUie8g intTypeCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* opContains;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* opNot;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
tyObject_IncrementalCtx__sdH7TnbKACuAzE7DBabnCA incr;
tyObject_Table__IioUJGdqPI6xC7S7QF8MBw canonTypes;
tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc__c6vdo1yHyj19b9bS17tijS2w importModuleCallback;
tyProc__d5yEkT9aXkAtHvVerr7IeCQ includeFileCallback;
tyProc__sP1I7TbCn358eLy9bX4IphA recordStmt;
tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
tySequence__PzqTLBFNawCGiqTk0UORYw* passes;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinition;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinitionResolveForward;
tyProc__R9aa9aO9cNhvWgTGK9bAAvuSRA onUsage;
tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
tyProc__gSRciuQJWoGdSES9cKZObDA proofEngine;
tyProc__1WzpMcp9cPe19cAmEzHWVDNQ requirementsCheck;
tyProc__3TeLOx1euAsRk3YCaQCuPg compatibleProps;
};
typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
typedef NU8 tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA[9];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__QYEVXrYc9beQ379crS3rzqRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__Q1W5D85O9cNu3iq9cZ9alS9aWA;
typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc__22mgIiTBBoqNe1T0FSw9ahQ;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
NimStringDesc* arguments;
tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA modifiedyNotes;
tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA cmdlineNotes;
tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA foreignPackageNotes;
tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA notes;
tySet_tyEnum_TMsgKind__9aTDTIqNJIW9bjpBdW7rixiA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
NI maxLoopIterationsVM;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NI32 projectMainIdx;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* cCompilerPath;
tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc__QYEVXrYc9beQ379crS3rzqRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__Q1W5D85O9cNu3iq9cZ9alS9aWA writelnHook;
tyProc__22mgIiTBBoqNe1T0FSw9ahQ structuredErrorHook;
NimStringDesc* cppCustomNamespace;
};
typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
} _kind_1;
struct {NF floatVal;
} _kind_2;
struct {NimStringDesc* strVal;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
} _kind_4;
struct {tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* ident;
} _kind_5;
struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
} _kind_6;
};
NimStringDesc* comment;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tyArray__PsPyPA45AAjHu4uDGHNjTg[6];
typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence__MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 paddingAtEnd;
NI16 lockLevel;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
struct tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence__Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
} _kind_1;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
} _kind_2;
struct {tySequence__DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab;
} _kind_3;
struct {tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
NI alignment;
} _kind_4;
};
tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
};
typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef NU8 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
  RootObj Sup;
};
typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw {
  tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
tySequence__YdLNCDKYeipzJx3I8Xw82Q* code;
tySequence__PJMRIt5QxCm6bRaVyQ5CGA* debug;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* globals;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constants;
tySequence__Ef05srmQTDulnBdXR4Ja6Q* types;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionA;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentExceptionB;
NI exceptionInstr;
tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ* prc;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callsite;
tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode;
tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A features;
NIM_BOOL traceActive;
NI loopIterations;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q comesFromHeuristic;
tySequence__RsxI3z4wK8jTuZiO0576gQ* callbacks;
NimStringDesc* errorFlag;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
NI oldErrorCount;
};
struct tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g {
  RootObj Sup;
NI colonstate_;
tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
void* ClE_0;
} tyProc__S09bPfanQx9bEvdh4862x8zw;
typedef NU8 tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ;
struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA {
tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ kind;
union{
NI64 intVal;
NF floatVal;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node;
tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* regAddr;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** nodeAddr;
};
};
struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
NI ra;
NI rb;
NI rc;
tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_19) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_21) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_23) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_25) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_27) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_29) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_31) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_33) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_35) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_37) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_39) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_41) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_43) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_45) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_47) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_49) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_51) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_53) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_55) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_57) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_59) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_71) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_73) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_75) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_78) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_80) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_82) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_84) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_87) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_97) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_99) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_101) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg;
struct Exception {
  RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NIM_CHAR tyArray__dTlC27m9c9aWd5dvuePYanug[256];
typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_106) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA;
typedef NU8 tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew;
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
NimStringDesc* Field0;
NI Field1;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_117) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ;
struct tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag {
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc;
tySequence__jlXqfsdfoRhiIfoVNWV0Vw* slots;
tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* next;
NI comesFrom;
tySequence__qwqHTkRvwhrRyENtudHQ7g* safePoints;
};
typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyFile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
struct tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj__iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
typedef NU8 tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ;
struct tyTuple__SlmU1Ju0WFHUWkihyHMVYg {
NIM_BOOL Field0;
tyEnum_TSlotKind__QOyrDzzey9cf6gDtSRPuZMQ Field1;
};
typedef tyTuple__SlmU1Ju0WFHUWkihyHMVYg tyArray__EYsuRBqqo81SUrCUzYSAKA[65536];
struct tyObject_PProccolonObjectType___VFEBuxrDHC6kHPzc1TWaRQ {
tySequence__JokFGfUW6i9b6aeU7xu6xBw* blocks;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray__EYsuRBqqo81SUrCUzYSAKA slots;
NI maxSlots;
};
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_151) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_152) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
struct tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw {
  RootObj Sup;
NI colonstate_;
NimStringDesc* error1;
NimStringDesc* error2;
};
typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
struct tyTuple__nlLlqVveYUlcdyx2e2bPTw {
NimStringDesc* Field0;
tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw Field1;
NimStringDesc* Field2;
NimStringDesc* Field3;
NimStringDesc* Field4;
NI Field5;
};
typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
struct tyTuple__9cqHuynYNPU9avbszh3XtBAg {
NimStringDesc* Field0;
tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag Field1;
};
typedef NU64 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
struct tyTuple__UCrBsiykDha2x4hr9aWPwKA {
NimStringDesc* Field0;
tyProc__S09bPfanQx9bEvdh4862x8zw Field1;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_256) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args);
typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
typedef NU8 tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA;
struct tyTuple__DcoP8zLFnBpow03kFN9cGhg {
tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA Field0;
NI Field1;
};
typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_340) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args);
typedef NU8 tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
void* ClE_0;
} tyProc__eADjAhqPI0ogAK7A2xrf0A;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* tyArray__o8KQyTFgNQGvsJZYtdEsgA[8192];
struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw {
tyArray__o8KQyTFgNQGvsJZYtdEsgA buckets;
NI wordCounter;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idAnon;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* idDelegator;
tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* emptyIdent;
};
typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple__9aIi6GdTSD27YtPkWxMqNxA {
NimStringDesc* Field0;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field1;
NI Field2;
};
typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyTuple__quA39a2QdEQU9cSEIUSibApQ {
tySequence__DfgJFJEYoj4YBAHLZPl5lQ* Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g {
NI Field0;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
};
typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__8ooe5vdoqmvpHnfXV29bP3w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
struct tyTuple__euPCXX9bc3XzndEhYlqNS7g {
tyProc__8ooe5vdoqmvpHnfXV29bP3w Field0;
tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
NIM_BOOL Field3;
};
struct tyTuple__ubXr9bFCXs9bc35NkwsYmx2Q {
NIM_BOOL Field0;
NimStringDesc* Field1;
};
struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
};
struct tyTuple__zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ {
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* label;
tySequence__qwqHTkRvwhrRyENtudHQ7g* fixups;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__jlXqfsdfoRhiIfoVNWV0Vw {
  TGenericSeq Sup;
  tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA data[SEQ_DECL_SIZE];
};
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
  TGenericSeq Sup;
  NU8 data[SEQ_DECL_SIZE];
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
  TGenericSeq Sup;
  NI data[SEQ_DECL_SIZE];
};
struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence__DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence__9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  tyObject_Trunk__ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence__bWZXqEvLFwhLvAqSRoFNgQ {
  TGenericSeq Sup;
  tyTuple__quA39a2QdEQU9cSEIUSibApQ data[SEQ_DECL_SIZE];
};
struct tySequence__Qr6E8eH7btq79cFKGaJfGLw {
  TGenericSeq Sup;
  tyTuple__EkGTYRWQ6y9cppXTlT8Xm5g data[SEQ_DECL_SIZE];
};
struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence__23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence__PzqTLBFNawCGiqTk0UORYw {
  TGenericSeq Sup;
  tyTuple__euPCXX9bc3XzndEhYlqNS7g data[SEQ_DECL_SIZE];
};
struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence__Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence__MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple__zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
struct tySequence__DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence__YdLNCDKYeipzJx3I8Xw82Q {
  TGenericSeq Sup;
  NU64 data[SEQ_DECL_SIZE];
};
struct tySequence__PJMRIt5QxCm6bRaVyQ5CGA {
  TGenericSeq Sup;
  tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q data[SEQ_DECL_SIZE];
};
struct tySequence__RsxI3z4wK8jTuZiO0576gQ {
  TGenericSeq Sup;
  tyTuple__UCrBsiykDha2x4hr9aWPwKA data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
  TGenericSeq Sup;
  tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
struct tySequence__JokFGfUW6i9b6aeU7xu6xBw {
  TGenericSeq Sup;
  tyObject_TBlock__2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, errorNode__9cqF4KDIxxYX55FGMDoxR4Q)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__vokyXY9cZDshCSxFKChhG9bg)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, newType__SNqpa06pdVCLFFBR28119aQ)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, globalError__NF6kBGchnhQYPbCedyefVA_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* arg);
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
static N_INLINE(NI, len__5mJADrRYkP3r9auuiuDZN9cQast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph);
N_LIB_PRIVATE N_NIMCALL(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*, newCtx__SnMRNFK9aeDXTXGWpZkzETw)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
N_LIB_PRIVATE N_NIMCALL(void, registerAdditionalOps__YCoJV0XHfn0P9cfljlakO1g)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__8Qi2Yy1dXWyP64byz4WwVw)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, registerCallback__KTccIggotbAQNUsQmikgMA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NimStringDesc* name, tyProc__S09bPfanQx9bEvdh4862x8zw callback);
N_LIB_PRIVATE N_NIMCALL(void, sqrtWrapper__YYz4trFdtBrqWRYoIzUH9aA)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__PlA9cyXmUSmFKkhh8sQETRg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NF v);
N_LIB_PRIVATE N_NIMCALL(void, ensureKind__hLEAmC34r1Yd9aCCcNP1pLA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* n, tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ kind);
N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NF, getFloat__Gb7N45iPByJjVcCcp9aU6eg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(void, lnWrapper__YYz4trFdtBrqWRYoIzUH9aA_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, log10Wrapper__YYz4trFdtBrqWRYoIzUH9aA_3)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, log2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, expWrapper__YYz4trFdtBrqWRYoIzUH9aA_5)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, roundWrapper__YYz4trFdtBrqWRYoIzUH9aA_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, arccosWrapper__YYz4trFdtBrqWRYoIzUH9aA_7)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, arcsinWrapper__YYz4trFdtBrqWRYoIzUH9aA_8)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, arctanWrapper__YYz4trFdtBrqWRYoIzUH9aA_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, arctan2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_10)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, cosWrapper__YYz4trFdtBrqWRYoIzUH9aA_11)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, coshWrapper__YYz4trFdtBrqWRYoIzUH9aA_12)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, hypotWrapper__YYz4trFdtBrqWRYoIzUH9aA_13)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, sinhWrapper__YYz4trFdtBrqWRYoIzUH9aA_14)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, sinWrapper__YYz4trFdtBrqWRYoIzUH9aA_15)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, tanWrapper__YYz4trFdtBrqWRYoIzUH9aA_16)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, tanhWrapper__YYz4trFdtBrqWRYoIzUH9aA_17)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, powWrapper__YYz4trFdtBrqWRYoIzUH9aA_18)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, truncWrapper__YYz4trFdtBrqWRYoIzUH9aA_19)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, floorWrapper__YYz4trFdtBrqWRYoIzUH9aA_20)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, ceilWrapper__YYz4trFdtBrqWRYoIzUH9aA_21)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, getMD5Wrapper__YYz4trFdtBrqWRYoIzUH9aA_22)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__g9crT9ba9c0OxETalTxR9cv1Sw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NimStringDesc* v);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__PMZ27S9ai4FB3gXOMDXvwsQ)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getMD5__kEzF9cC2zt4kZNszZVUnKEA)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getString__fqypzXhNY5rpF89ak7Q0GlQ)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(void, modWrapper__YYz4trFdtBrqWRYoIzUH9aA_23)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, getEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_24)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__hhED57tMl0Iaa5bOg9cJaig)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(void, existsEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_25)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__X7b1uTvNjENZoIKwHxPn9aA)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NIM_BOOL v);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__HhiDHRQxJ349a6FFxO51gqQ)(NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, putEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_26)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, putEnv__YVZCqlK3fKyVR367JpYgKA)(NimStringDesc* key, NimStringDesc* val);
N_LIB_PRIVATE N_NIMCALL(void, dirExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_27)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
static N_INLINE(NIM_BOOL, dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsDir)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(void, fileExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_28)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
static N_INLINE(NIM_BOOL, fileExists__2KLbGVKGy3qOdtJ4Bb1ADgos)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosexistsFile)(NimStringDesc* filename);
N_LIB_PRIVATE N_CLOSURE(void, writeFileWrapper__GmCA0MesRT5snvEtN8vOBw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__D6Pj9c29aCLEJP9beOWa08HYA)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(void, readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__4PGnM9bWmsH0Nu7dnr3XzgA)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__nH0psxYZ8gVURA1upHNltw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* v);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(void, add__P8dDSotTW25BkfbyspojGg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__zLcHGdlEbBYFtoCoan9agkg)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, readLines__SgtYKLMb9cNidg5iRn9aNDJA)(NimStringDesc* filename, NI n);
N_LIB_PRIVATE N_NIMCALL(NI64, getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipColon__6HTnbQSyt2cHxsWfF3vG0A)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__Adyk89aSgmLp9bDuSV0Va03A)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_33)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, staticWalkDirImpl__LMpMzadlvEqBMJiq3ClvHw)(NimStringDesc* path, NIM_BOOL relative);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__CWyPYlyH9a6rAuZckFyVxPA)(NI32 errorCode, NimStringDesc* additionalInfo);
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__9bUWNxbcGnToMWA9b79aTXLIw)(void);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, slash___gEyhbzZ1UcxyenWRLJRXNQ)(NimStringDesc* head, NimStringDesc* tail);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__FpOm4fidh9bWdkMa1BMRJkQ)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__zcNs9blLGYB6i9aGKob9bpzRw)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
N_LIB_PRIVATE N_NIMCALL(tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg, getSymlinkFileKind__wTnLPNAWjgwVnuiJ9ax0ZGQ)(NimStringDesc* path);
static N_INLINE(void, popSafePoint)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, getBool__EhqFCFCIHmFhBfWH28wGww)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, querySettingImpl__SyEba5dkmHov9a9b9blmDeAWQ)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_3)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, querySettingSeqImpl__BYoalXWk9cCPTcGwXapPa8A)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_CLOSURE(void, gorgeExWrapper__GmCA0MesRT5snvEtN8vOBw_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, opGorge__PHM9cEmzUJYj3PsIVbIPnxQ)(NimStringDesc* cmd, NimStringDesc* input, NimStringDesc* cache, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_CLOSURE(void, getProjectPathWrapper__GmCA0MesRT5snvEtN8vOBw_5)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_34)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNode__DuJnnnM0aSaXeDv118rkUw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
N_LIB_PRIVATE N_NIMCALL(void, stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos, NI pc, NimStringDesc* msg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineInfo);
N_LIB_PRIVATE N_NIMCALL(void, msgWriteln__PO49anyWCbe63GYNOs9cVuvg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* s, tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ flags);
N_LIB_PRIVATE N_NIMCALL(void, stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* x, NI pc, NI recursionLimit);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
static N_INLINE(NI, toLinenumber__6D4Rmpw7LpcRI1j7CMqEsAmsgs)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
static N_INLINE(NI, toColumn__6D4Rmpw7LpcRI1j7CMqEsA_2msgs)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, localError__NF6kBGchnhQYPbCedyefVA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* arg);
static N_NIMCALL(void, Marker_tySequence__jlXqfsdfoRhiIfoVNWV0Vw)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__2j7eyHO9axgCjjMG0moB6Ww)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___qX5C9b0n9bOP7jk69amC8dA7A)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___0A9bslyIJ49bWrftLGh13rvg)(tyArray__qtqsWM5aXmcpMIVmvq3kAA u);
N_LIB_PRIVATE N_NIMCALL(void, symBodyDigest__CuOAIgIy9afVyEqS9a6M9bEMA)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_7)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_CLOSURE(void, hashVmImpl__GmCA0MesRT5snvEtN8vOBw_8)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NI, hash__2f0mDKnzcXGyxkdkc7DbDw)(NimStringDesc* sBuf, NI sPos, NI ePos);
N_LIB_PRIVATE N_NIMCALL(void, setResult__TT9cdDQkh09c214lMSxKXTTg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI64 v);
N_LIB_PRIVATE N_CLOSURE(void, hashVmImplByte__GmCA0MesRT5snvEtN8vOBw_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, newSeq__DpCWN7DIBuAjgoeQ9c29blYQ)(NI len);
N_LIB_PRIVATE N_NIMCALL(NI, hash__GXEvKkoaUont1gpaAJabXg)(NU8* aBuf, NI aBufLen_0, NI sPos, NI ePos);
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_35)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__9aodCrWXscOGeNVh2cpuZkw_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_36)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__LlE3fKEVuGggl04AA4Ifyw)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
N_LIB_PRIVATE N_NOINLINE(void, raiseObjectConversionError)(void);
N_LIB_PRIVATE N_NIMCALL(void, refresh__VN2MrcCIq6xPNBFBZXkK1Q)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module);
N_LIB_PRIVATE N_NIMCALL(NI, genProc__82SK3f7Ee6e9aktSfHKYXUw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
N_LIB_PRIVATE N_NIMCALL(void, setupMacroParam__hXIlM54SMpXNBDQ04umODg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result);
N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__Dsjo9bte8vGxzhtcSrsTyiQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, canonValue__yXNCtNX5XyYFmGvoC2Ryfw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA x);
N_LIB_PRIVATE N_NIMCALL(void, rawExecute__hemGrN9b53Mp9aLYjv1tCS5g)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result);
static N_NIMCALL(void, Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NI, cleanUpOnReturn__ci9cFKwbo1EXWrDLm9ah4isA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f);
static N_INLINE(NI*, X5BX5D___Dsh9aMasGTu9cMWGRPlBctPgsystem)(NI* s, NI sLen_0, NI i);
static N_INLINE(NI, pop__OC36rCceCM1GklRaGE2Ipwsystem)(tySequence__qwqHTkRvwhrRyENtudHQ7g** s);
N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(void, asgnComplex__luZK66SNRzBExkuHaelzZA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyValue__UyDLGuBe1bDjMXME9b0kt3Q)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(void, fastAsgnComplex__luZK66SNRzBExkuHaelzZA_2)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y);
N_LIB_PRIVATE N_NIMCALL(void, moveConst__luZK66SNRzBExkuHaelzZA_3)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(void, writeField__GuWkkIoU9ccBLjbIJoyJPzw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___HBZb4pgGTJ0NuRxlEYFytw)(tyTuple__nlLlqVveYUlcdyx2e2bPTw* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__QlvraUan7WbHowhAbvDvdA)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, derefPtrToReg__rneu4wkryXcUJeguyyc5lw)(NI64 address, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* r, NIM_BOOL isAssign);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___XSFzZuEhhtAqOvJ5uRr9cuA)(tyTuple__9cqHuynYNPU9avbszh3XtBAg x);
static N_INLINE(NI64, pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem)(NI64 x, NI64 y);
static N_INLINE(NI64, minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system)(NI64 x, NI64 y);
static N_INLINE(NI, safeArrLen__P89cqdlERShb9alU3iC0yj8w_3ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inSet__b4nxsJCvqXRlyalSWskgNA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elem);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, diffSets__DJXyM0ZYUUgI9bAP6orixDA_3)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(void, discardSons__CndA7u9cT5evGd9a583WPNqQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father);
N_LIB_PRIVATE N_NIMCALL(NI64, cardSet__rIy8FkZfgdui9cmJlRrbtNA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
static N_INLINE(NI64, starpercent___diI9aRPc9bjx9bT39cDuabKh5A_3system)(NI64 x, NI64 y);
static N_INLINE(NF, toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem)(NI64 i);
static N_INLINE(NF, abs__BRaAqinz6OWTHkALb4oj6Qsystem)(NF x);
N_LIB_PRIVATE N_NOINLINE(void, raiseDivByZero)(void);
static N_INLINE(NIM_BOOL, nimDivInt64)(NI64 a, NI64 b, NI64* res);
static N_INLINE(NI64, slashpercent___diI9aRPc9bjx9bT39cDuabKh5A_4system)(NI64 x, NI64 y);
static N_INLINE(NI64, percentpercent___diI9aRPc9bjx9bT39cDuabKh5A_5system)(NI64 x, NI64 y);
static N_INLINE(NIM_BOOL, lteqpercent___m9aFrKvWqPsM3WKrwczIr9bA_2system)(NI64 x, NI64 y);
static N_INLINE(NIM_BOOL, ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem)(NI64 x, NI64 y);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ptrEquality__U2MMUdMR4785sgEWgMubXw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__E1mnSzj2NONtG7h9cR3AuFA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__3isNyHKb0U1OCnClmflXSg_2)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* a, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
static N_INLINE(NIM_BOOL, nimSubInt64)(NI64 a, NI64 b, NI64* res);
static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsSets__Jr5d2PbcnAZ0pFa4Ny88lg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, equalSets__Jr5d2PbcnAZ0pFa4Ny88lg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, intersectSets__DJXyM0ZYUUgI9bAP6orixDA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, unionSets__DJXyM0ZYUUgI9bAP6orixDA_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__Dsjo9bte8vGxzhtcSrsTyiQ_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformBody__ocxOgPRHWfivNZELIhOv7w)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc, NIM_BOOL cache);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__I2DV2TmmOysY1ZEGW19b9bRg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, skipGenericOwner__lIu8wX6Beq6dBJgESOFFjg_3)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s, NF* number, NI start);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValueConv__hutrgrWnBjOoG19cbpgmANA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
static N_INLINE(NIM_BOOL, importcCond__FdCkMWi1o9ccnUFjzZDi9aUg_2vmgen)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(NI, compile__wk4OXe22qII4FFHuYMKF5Q)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
static N_INLINE(NIM_BOOL, isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNullValue__MirnaGAtIj7Yo4Gl5MzUxA)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalTemplate__blgDLjRxVQtmjkznxBqIQA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tmpl, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* genSymOwner, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NIM_BOOL fromHlo);
N_LIB_PRIVATE N_NIMCALL(void, recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, overlap__tlIBRycg3YyKwtO2aPbGGg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
N_LIB_PRIVATE N_NIMCALL(void, pushSafePoint__9c3wdXJt9cBOX9cfwwm2N9cSCw)(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f, NI pc);
N_LIB_PRIVATE N_NIMCALL(void, popSafePoint__lyZ5BUI2R9aFaje5hbkhzkA)(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f);
N_LIB_PRIVATE N_NIMCALL(tyTuple__DcoP8zLFnBpow03kFN9cGhg, findExceptionHandler__aTTkijnIoaKOYRFxgylqeg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exc);
N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__1dM2iQB5qStJfnn3684ijQ_2)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* a, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* b);
N_LIB_PRIVATE N_NIMCALL(void, bailOut__vuzXeK4eFbZMGAAkgUbVwg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fitsRegister__NRltpJT49cakdDyz9a9cNr4Kw)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(void, reset__PQ29bzVEjUtJukXgkwDQPoQ)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* obj);
N_LIB_PRIVATE N_NIMCALL(void, message__mMj7lrOf3zBP9bl69amiKu5g)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(void, msgQuit__PlZXt6qHCDDk29c9ac4IuLGA)(NI8 x);
N_LIB_PRIVATE N_NIMCALL(NI, toInt__TIX0sFuRf3uBpOBltYp7bw)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__GvVg8kpCh7QA2PDTJnFJlQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__161i7kexvUAISxPtGBRWYw)(NI arg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__3isNyHKb0U1OCnClmflXSg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* a, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
N_LIB_PRIVATE N_NIMCALL(void, setLenSeq__KXA4RY1gNwE3eOYKOBnMZw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, NI newLen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
static N_INLINE(NIM_BOOL, lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeToAst__B7DYLotR9aw6o9cHZhrLIPGg)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg_2)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeImplToAst__B7DYLotR9aw6o9cHZhrLIPGg_3)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(NI64, getSize__vCG1GF2Iu043oALVyuJfOw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(NI64, getAlign__vCG1GF2Iu043oALVyuJfOw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(void, sigHash__mSn9a9aX0NBzWqerwPW0qRww_2)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s, tyArray__qtqsWM5aXmcpMIVmvq3kAA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, opSlurp__BZteCpC7yurCSeB8YcFcgg)(NimStringDesc* file, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, parseString__ZXKKi17aCgkDjL5WP5iEUQ)(NimStringDesc* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, NimStringDesc* filename, NI line, tyProc__eADjAhqPI0ogAK7A2xrf0A errorHandler);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___6EfduEPFujEgbQYzbi9aI3w)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMsg__1JLtPXtBEOA0aYSS8UEJDw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___6EfduEPFujEgbQYzbi9aI3w_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, internalError__5hPl6LjCYJxMYxh9af9b9bXzw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* errMsg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___r38WafKlW80RkvoZTcia4Q)(tyTuple__kN8up2W6YKc5YA9avn5mV5w x);
static N_INLINE(NIM_BOOL, eqeq___aqip9cmQIuefPKdd25wuEEwsystem)(NCSTRING x, NCSTRING y);
N_LIB_PRIVATE N_NIMCALL(NI, cmpIgnoreStyle__Jbw1CiaNJLYIkwEiKlU3qg_2)(NCSTRING a, NCSTRING b, NI blen);
N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*, getIdent__9coBOmdXN09be4rJvXK6fQGQ)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, opConv__Fsv5V3BiOZ6CCSNA7nIsSg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* dest, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA src, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___RkX9btpg5sQIaP8yYXB6tbA)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorU)(NU64 i, NU64 a, NU64 b);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___7c5Zw7H31uJfWmmhZe9aEqw_3)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__ZBiVpGjOydV7ZjeElrE9cFQ)(NI64 arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__hjogdnp59cMX1rwmjikBhqw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__hjogdnp59cMX1rwmjikBhqw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
static N_INLINE(NIM_BOOL, nimMulInt64)(NI64 a, NI64 b, NI64* res);
N_LIB_PRIVATE N_NIMCALL(void, internalError__yTu5SGHF0j0P9cQrqN7YylA)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg);
N_LIB_PRIVATE N_NIMCALL(void, delSon__oU9bKATaboy8iUhv0r9bMBPw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI idx);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*, newSym__IXbidcxhXTQGZY9abN63Cxg)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* name, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
N_LIB_PRIVATE N_NIMCALL(NI64, getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ)(tyObject_Table__NttoEzoiq5CiphZe81oadg t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___fM9b60sY7h9aUB763UQb3oXA)(tyObject_Table__NttoEzoiq5CiphZe81oadg* t, NimStringDesc* key, NI64 val);
static N_INLINE(NIM_BOOL, nimAddInt64)(NI64 a, NI64 b, NI64* res);
N_LIB_PRIVATE N_NIMCALL(void, recordInc__6C9a0PyLab6htjYoNOWYndA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* key, NI64 by);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__tNDb8HX4Pcd05E6w80ngeA)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___MfHxsDwfhxJEwdTZBgdTmg)(tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA* t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, recordAdd__bEOBCPqrt0LjPdnkWVuoXA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
N_LIB_PRIVATE N_NIMCALL(void, recordIncl__bEOBCPqrt0LjPdnkWVuoXA_2)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__HJN1GCNkXuSaKainyv8E2w)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___L2EahbjJPAlDipW4Omiq5g)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key, tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg val);
N_LIB_PRIVATE N_NIMCALL(void, initBTree__k5whnwDpZp6YeM19cX9ajL9aQ)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__R2s6PEbDP9biCUJnpsKoeYw)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*, X5BX5D___SsXWfuQKn5htR3WBdyM0mA)(tyObject_Table__nagDFX4QHx0s6Fvma9blmSg* t, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(void, add__oXWfa5DZ9ar9aQWG8k6z5P6Q)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* b, NimStringDesc* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
N_LIB_PRIVATE N_NIMCALL(void, recordPut__A0qATj50qXyqSMH9aW9b3gzQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* key, NimStringDesc* k, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
static N_INLINE(NI, len__8UGkwK9cZDAmWMyHxdOt9bsAbtrees)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getOrDefault__N7mBvvE4jWcEmzBA3UoB0A)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b, NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasNext__4Wt9aVmAb9agcjxA5gGDTJQw)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b, NI index);
N_LIB_PRIVATE N_NIMCALL(void, next__CqTK9bD6dhLiHbJZ5GMdxDQ)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b, NI index, tyTuple__9aIi6GdTSD27YtPkWxMqNxA* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__C1MQfgDmfXqO1v69aAZbuYA)(NimStringDesc* strVal, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, loadAny__Sr5ibxUUgGhmgltd4r9cYpg)(NimStringDesc* s, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(void, createStrKeepNode__LpB9aVgxJQWwIAx62EyhZoA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, NIM_BOOL keepNode);
N_LIB_PRIVATE N_NIMCALL(void, storeAny__OIEM18oCrQXxJj2UzbHuPA)(NimStringDesc** s, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cyclicTree__9cP6JNeOKqczaXCI4Zo4SBQ_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, transformExpr__o9bTtoSsaDmuiyVzV15dOyg)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, genExpr__iSa9ao3PEkzo8fCmeMa1Kvg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL requiresValue);
N_LIB_PRIVATE N_NIMCALL(void, evalStmt__3adyU8iOjrejcUotYJRmVQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, genStmt__PEuKCZcy9a56kIfBOLoHU5Q_3)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, execute__xH4DZUl51vOZwpwgQRlgnA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__Owg2e1qJ9cqcKRBQZVvmIWg)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_3, "macro instantiation too nested", 30);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_4 = {
0xec, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_5, "\'sons\' is not accessible using discriminant \'kind\' of type \'TNo"
"de\'", 66);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_6, "in call \'$#\' got $#, but expected $# argument(s)", 48);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__m9bElogmdcDLEy9czU5AZr6g_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
extern TNimType NTI__FD9cVFUpCDGxUmwW7TEZIFQ_;
N_LIB_PRIVATE TNimType NTI__8Qi2Yy1dXWyP64byz4WwVw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_10, "stdlib.math.sqrt", 16);
extern TNimType NTI__GJRDbRqzZnSsmt2gZMzKBA_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_11, "\'floatVal\' is not accessible using discriminant \'kind\' of type "
"\'TFullReg\'", 73);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_13, "vmhooks.nim(40, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_16, "vmhooks.nim(41, 12) `a.slots[i + a.rb + 1].kind == rkFloat` ", 60);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_20, "stdlib.math.ln", 14);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_22, "stdlib.math.log10", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_24, "stdlib.math.log2", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_26, "stdlib.math.exp", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_28, "stdlib.math.round", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_30, "stdlib.math.arccos", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_32, "stdlib.math.arcsin", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_34, "stdlib.math.arctan", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_36, "stdlib.math.arctan2", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_38, "stdlib.math.cos", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_40, "stdlib.math.cosh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_42, "stdlib.math.hypot", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_44, "stdlib.math.sinh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_46, "stdlib.math.sin", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_48, "stdlib.math.tan", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_50, "stdlib.math.tanh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_52, "stdlib.math.pow", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_54, "stdlib.math.trunc", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_56, "stdlib.math.floor", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_58, "stdlib.math.ceil", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_60, "stdlib.md5.getMD5", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_61, "\'node\' is not accessible using discriminant \'kind\' of type \'TFu"
"llReg\'", 69);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_62 = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_63, "\'strVal\' is not accessible using discriminant \'kind\' of type \'T"
"Node\'", 68);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_65, "vmhooks.nim(48, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_68, "vmhooks.nim(49, 12) `a.slots[i + a.rb + 1].kind == rkNode` ", 59);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_72, "stdlib.math.mod", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_74, "stdlib.os.getEnv", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_76, "stdlib.os.existsEnv", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_77, "\'intVal\' is not accessible using discriminant \'kind\' of type \'T"
"FullReg\'", 71);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_79, "stdlib.os.putEnv", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_81, "stdlib.os.dirExists", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_83, "stdlib.os.fileExists", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_85, "stdlib.io.writeFile", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_86, "stdlib.io.readFile", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_88, "stdlib.io.readLines", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_90, "iterators.nim(189, 11) `len(a) == L` the length of the seq chan"
"ged while iterating over it", 90);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_94, "vmhooks.nim(41, 12) `a.slots[i + a.rb + 1].kind == rkInt` ", 58);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_98, "stdlib.system.getCurrentExceptionMsg", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_100, "stdlib.system.getCurrentException", 33);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_102, "stdlib.*.staticWalkDir", 22);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_104, ".", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_105, "..", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_107, "stdlib.compilesettings.querySetting", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_108, "stdlib.compilesettings.querySettingSeq", 38);
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_114, "stdlib.system.gorgeEx", 21);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_115, "stdlib.macros.getProjectPath", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_116, "stdlib.os.getCurrentCompilerExe", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_118, "stdlib.macros.symBodyHash", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_120, "vmhooks.nim(53, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_123, "vmhooks.nim(54, 12) `a.slots[i + a.rb + 1].kind == rkNode` ", 59);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_126, "stack trace: (most recent call last)", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_128, " calls omitted\012", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_130, "command line", 12);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_131, "\?\?\?", 3);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_132, ", ", 2);
N_LIB_PRIVATE TNimType NTI__OxVDa9apUuwgHDTfXPZWc9ag_;
extern TNimType NTI__K9bspPztfoWajecnwjyHuYQ_;
N_LIB_PRIVATE TNimType NTI__jlXqfsdfoRhiIfoVNWV0Vw_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTI__2j7eyHO9axgCjjMG0moB6Ww_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_137, "symBodyHash() requires a symbol. \'", 34);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_138, "\' is of kind \'", 14);
extern TNimType NTI__G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_139, "\'", 1);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_140 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_141, "\'sym\' is not accessible using discriminant \'kind\' of type \'TNod"
"e\'", 65);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_142, "stdlib.macros.isExported", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_143, "isExported() requires a symbol. \'", 33);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_144, "stdlib.hashes.hashVmImpl", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_145, "stdlib.hashes.hashVmImplByte", 28);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_146 = {
0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_147, "\'intVal\' is not accessible using discriminant \'kind\' of type \'T"
"Node\'", 68);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_149, "stdlib.hashes.hashVmImplChar", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_150, "stdlib.times.cpuTime", 20);
extern TNimType NTI__S3Av1Ng7MBWGEZZBhfDYCw_;
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_153 = {
0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_154, "\'floatVal\' is not accessible using discriminant \'kind\' of type "
"\'TNode\'", 70);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_160, "expected ", 9);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_161, " generic parameter(s)", 21);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_163, "\'regAddr\' is not accessible using discriminant \'kind\' of type \'"
"TFullReg\'", 72);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_164, "\'nodeAddr\' is not accessible using discriminant \'kind\' of type "
"\'TFullReg\'", 73);
N_LIB_PRIVATE TNimType NTI__jd629aT6A2Mu9ci3rTLr9bzFw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTI__i0OKJxPqBBZH5nTqNgi3yQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_172, "vm.nim(567, 16) `c.code[pc].opcode in {opcIndCall, opcIndCallAs"
"gn}` ", 68);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_174, "vm.nim(575, 27) `false` ", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_175, "vm.nim(576, 26) `false` ", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_177, "opcCastPtrToInt: got ", 21);
extern TNimType NTI__BUH8cfx9botv2xAfmC8mnAQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_178, "vm.nim(613, 20) `false` ", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_179, "opcCastIntToPtr: regs[rb].node.typ: ", 36);
extern TNimType NTI__9a3YiReNVD0IJHWFKgXRe9ag_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_180, "opcCastIntToPtr: regs[rb].kind: ", 32);
static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__pyAIA9cUF0h9c4j2HfNQPfYw_181 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_182, "\'ident\' is not accessible using discriminant \'kind\' of type \'TN"
"ode\'", 67);
extern TNimType NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_184, "vm.nim(640, 16) `regs[rb].kind == rkNode` ", 42);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_185, "index out of bounds, the container is empty", 43);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_186, "index ", 6);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_187, " not in 0 .. 9223372036854775807", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_189, " not in 0 .. ", 13);
extern TNimType NTI__bROa11lyF5vxEN9aYNbHmhw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_201, "attempt to access a nil address ", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_202, "kind", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_203, "typ", 3);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_204, "rc", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_206, "attempt to access a nil address", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_209, "vm.nim(738, 14) `regs[ra].node != nil` ", 39);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_213, "limited VM support for \'addr\'", 29);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_214, "vm.nim(520, 12) `node`gensym59715007.kind == nkIntLit` ", 55);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_215, "vm.nim(521, 12) `typ`gensym59715008 != nil` ", 44);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_216, "deref unsupported ptr type: ", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_217, "attempt to access a nil address kind: ", 38);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_218, "vm.nim(520, 12) `node`gensym59800011.kind == nkIntLit` ", 55);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_219, "vm.nim(521, 12) `typ`gensym59800012 != nil` ", 44);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_220, "over- or underflow", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_227, "vm.nim(861, 14) `regs[rb].kind == rkNode` ", 42);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_230, "division by zero", 16);
extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__dLigiD0wrfdW59cejPpTktA;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_233, "vm.nim(1026, 14) `regs[rb].kind == rkInt` ", 42);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_235, "vm.nim(1030, 14) `regs[rb].kind == rkInt` ", 42);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_236, "vm.nim(1038, 14) `regs[rb].kind == rkFloat` ", 44);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_237, "vm.nim(1042, 14) `regs[rb].kind == rkInt` ", 42);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_242, "node is not a symbol", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_244, "node is not a proc symbol", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_249, "vm.nim(1156, 14) `c.code[pc].opcode == opcSubStr` ", 50);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_251, "vm.nim(1164, 14) `c.code[pc].opcode == opcParseFloat` ", 54);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_252, "illegal conversion from \'$1\' to \'$2\'", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_253, "[", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_254, "]", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_257, "VM not allowed to do FFI, see `compiletimeFFI`", 46);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_258, "VM not built with FFI support", 29);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_259, "interpretation requires too many iterations; if you are sure th"
"is is not a bug in your code, compile with `--maxLoopIterationsV"
"M:number` (current value: $1)", 156);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_287, "vm.nim(1277, 14) `c.code[pc + 1].opcode == opcFJmp` ", 52);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_295, "vm.nim(1288, 14) `c.code[pc + rbx].opcode in {opcExcept, opcFin"
"ally}` ", 70);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_296, "vm.nim(1292, 15) `false` ", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_297, "vm.nim(1297, 15) `savedPC < 0` ", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_308, "unhandled exception: ", 21);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_309, " [", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_323, "vm.nim(1414, 16) `node.kind == nkIntLit` ", 41);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_324, "opcLdDeref unsupported type: ", 29);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_329, "node lacks field: ", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_334, "unhandled exception: value out of range", 39);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_341, "cannot get child of node kind: n", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_344, "typechecked nodes may not be modified", 37);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_345, "cannot set child of node kind: n", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_348, "cannot add to node kind: n", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_350, "node lacks field: intVal", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_351, "node lacks field: floatVal", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_352, "node lacks field: symbol", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_353, "node lacks field: ident", 23);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_354, "node has no type", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_356, "symbol is not a field (nskField)", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_357, "node lacks field: strVal", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_359, "expected expression, but got multiple statements", 48);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_360, "node lacks field: callsite", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_363, "vm.nim", 6);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_362 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_363),
((NI) 1766),
((NI) 23)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_369, "opConv for enum", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_371, " ", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_372, "false", 5);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_373, "true", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_375, "cannot convert to string ", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_380, "invalid object-to-object conversion", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_385, "cannot evaluate cast", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_386, "`intVal` cannot be changed for an enum symbol.", 46);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_387 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_363),
((NI) 1899),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_388 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_363),
((NI) 1900),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_389, "request to create a NimNode of invalid kind", 43);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_391, ":tmp", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_392, "request to create symbol of invalid kind", 40);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_397, "key already exists: ", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_398, "key does not exist: ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_399 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_363),
((NI) 2062),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_405, "macro produced a cyclic tree", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_407, "vm.nim(2175, 10) `c.code[start].opcode != opcEof` ", 50);
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
	NI result;
	result = (NI)0;
	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
	return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
	NI T1_;
	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = (NI)0;
	T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system(((NI) (ptrdiff_t) (usr)), ((NI) 16));
	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
	return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
		if (!T3_) goto LA4_;
		rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA4_: ;
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef__AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, errorNode__9cqF4KDIxxYX55FGMDoxR4Q)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
	asgnRef((void**) (&(*result).typ), newType__SNqpa06pdVCLFFBR28119aQ(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), owner));
	(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) + (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len__P89cqdlERShb9alU3iC0yj8wast(n);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, len__5mJADrRYkP3r9auuiuDZN9cQast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(NIM_BOOL, nimSubInt)(NI a, NI b, NI* res) {
	NIM_BOOL result;
	NI r;
	result = (NIM_BOOL)0;
	r = ((NI) ((NU)((NU64)(((NU) (a))) - (NU64)(((NU) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(r ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_NIMCALL(void, Marker_tyRef__8Qi2Yy1dXWyP64byz4WwVw)(void* p, NI op) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* a;
	a = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*)p;
	nimGCvisit((void*)(*a).c1, op);
}
N_LIB_PRIVATE N_NIMCALL(void, ensureKind__hLEAmC34r1Yd9aCCcNP1pLA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* n, tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ kind) {
	{
		tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T5_;
		if (!!(((*n).kind == kind))) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		nimZeroMem((void*)(&T5_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		T5_.kind = kind;
		genericShallowAssign((void*)(&(*n)), (void*)(&T5_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__PlA9cyXmUSmFKkhh8sQETRg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NF v) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
	if (!(((8 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
	(*a).slots[(*a).ra].floatVal = v;
}
N_LIB_PRIVATE N_NIMCALL(NF, getFloat__Gb7N45iPByJjVcCcp9aU6eg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NF result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_17;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_18;
	result = (NF)0;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_12;
		if (nimSubInt(((NI) ((*a).rc)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_12)) { raiseOverflow(); };
		if (!!((((NI) (i)) < (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_12)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_13));
	}
	LA3_: ;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_14;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_15;
		if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_14)) { raiseOverflow(); };
		if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_14), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_15)) { raiseOverflow(); };
		if (!!(((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_15)].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_16));
	}
	LA7_: ;
	if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_17)) { raiseOverflow(); };
	if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_17), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_18)) { raiseOverflow(); };
	if (!(((8 &(1U<<((NU)((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_18)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
	result = (*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_18)].floatVal;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, sqrtWrapper__YYz4trFdtBrqWRYoIzUH9aA)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = sqrt(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, lnWrapper__YYz4trFdtBrqWRYoIzUH9aA_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = log(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, log10Wrapper__YYz4trFdtBrqWRYoIzUH9aA_3)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = log10(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, log2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = log2(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, expWrapper__YYz4trFdtBrqWRYoIzUH9aA_5)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = exp(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, roundWrapper__YYz4trFdtBrqWRYoIzUH9aA_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = round(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, arccosWrapper__YYz4trFdtBrqWRYoIzUH9aA_7)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = acos(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, arcsinWrapper__YYz4trFdtBrqWRYoIzUH9aA_8)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = asin(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, arctanWrapper__YYz4trFdtBrqWRYoIzUH9aA_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = atan(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, arctan2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_10)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	NF T3_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 1));
	T3_ = (NF)0;
	T3_ = atan2(T1_, T2_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, cosWrapper__YYz4trFdtBrqWRYoIzUH9aA_11)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = cos(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, coshWrapper__YYz4trFdtBrqWRYoIzUH9aA_12)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = cosh(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, hypotWrapper__YYz4trFdtBrqWRYoIzUH9aA_13)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	NF T3_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 1));
	T3_ = (NF)0;
	T3_ = hypot(T1_, T2_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, sinhWrapper__YYz4trFdtBrqWRYoIzUH9aA_14)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = sinh(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, sinWrapper__YYz4trFdtBrqWRYoIzUH9aA_15)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = sin(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, tanWrapper__YYz4trFdtBrqWRYoIzUH9aA_16)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = tan(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, tanhWrapper__YYz4trFdtBrqWRYoIzUH9aA_17)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = tanh(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, powWrapper__YYz4trFdtBrqWRYoIzUH9aA_18)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	NF T3_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 1));
	T3_ = (NF)0;
	T3_ = pow(T1_, T2_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, truncWrapper__YYz4trFdtBrqWRYoIzUH9aA_19)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = trunc(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, floorWrapper__YYz4trFdtBrqWRYoIzUH9aA_20)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = floor(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, ceilWrapper__YYz4trFdtBrqWRYoIzUH9aA_21)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = ceil(T1_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T2_);
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef__AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__g9crT9ba9c0OxETalTxR9cv1Sw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NimStringDesc* v) {
	NimStringDesc* T1_;
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
	if (!(((2 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	if (!(((2 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*a).slots[(*a).ra].node).kind)>>3] &(1U<<((NU)((*(*a).slots[(*a).ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
	T1_ = (NimStringDesc*)0;
	T1_ = (*(*a).slots[(*a).ra].node)._kind_3.strVal; (*(*a).slots[(*a).ra].node)._kind_3.strVal = copyStringRC1(v);
	if (T1_) nimGCunrefNoCycle(T1_);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getString__fqypzXhNY5rpF89ak7Q0GlQ)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NimStringDesc* result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_69;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_70;
	result = (NimStringDesc*)0;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_64;
		if (nimSubInt(((NI) ((*a).rc)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_64)) { raiseOverflow(); };
		if (!!((((NI) (i)) < (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_64)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_65));
	}
	LA3_: ;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_66;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_67;
		if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_66)) { raiseOverflow(); };
		if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_66), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_67)) { raiseOverflow(); };
		if (!!(((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_67)].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_68));
	}
	LA7_: ;
	if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_69)) { raiseOverflow(); };
	if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_69), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_70)) { raiseOverflow(); };
	if (!(((2 &(1U<<((NU)((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_70)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_70)].node).kind)>>3] &(1U<<((NU)((*(*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_70)].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
	result = copyString((*(*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_70)].node)._kind_3.strVal);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, getMD5Wrapper__YYz4trFdtBrqWRYoIzUH9aA_22)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = getMD5__kEzF9cC2zt4kZNszZVUnKEA(T1_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, modWrapper__YYz4trFdtBrqWRYoIzUH9aA_23)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	NF T2_;
	NF T3_;
	T1_ = (NF)0;
	T1_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 0));
	T2_ = (NF)0;
	T2_ = getFloat__Gb7N45iPByJjVcCcp9aU6eg(a, ((NI) 1));
	T3_ = (NF)0;
	T3_ = fmod(T1_, T2_);
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, getEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_24)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 1));
	T3_ = (NimStringDesc*)0;
	T3_ = getEnv__hhED57tMl0Iaa5bOg9cJaig(T1_, T2_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__X7b1uTvNjENZoIKwHxPn9aA)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NIM_BOOL v) {
	NI v_2;
	v_2 = v;
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
	if (!(((4 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
	(*a).slots[(*a).ra].intVal = ((NI64) (v_2));
}
N_LIB_PRIVATE N_NIMCALL(void, existsEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_25)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NIM_BOOL T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NIM_BOOL)0;
	T2_ = existsEnv__HhiDHRQxJ349a6FFxO51gqQ(T1_);
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, putEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_26)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 1));
	putEnv__YVZCqlK3fKyVR367JpYgKA(T1_, T2_);
}
static N_INLINE(NIM_BOOL, dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos)(NimStringDesc* dir) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = nosexistsDir(dir);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, dirExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_27)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NIM_BOOL T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NIM_BOOL)0;
	T2_ = dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos(T1_);
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T2_);
}
static N_INLINE(NIM_BOOL, fileExists__2KLbGVKGy3qOdtJ4Bb1ADgos)(NimStringDesc* filename) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = nosexistsFile(filename);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, fileExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_28)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NIM_BOOL T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NIM_BOOL)0;
	T2_ = fileExists__2KLbGVKGy3qOdtJ4Bb1ADgos(T1_);
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T2_);
}
N_LIB_PRIVATE N_CLOSURE(void, writeFileWrapper__GmCA0MesRT5snvEtN8vOBw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = NIM_FALSE;
		if (T3_) goto LA4_;
		T3_ = ((*(*(*colonenvP_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
		LA4_: ;
		if (!T3_) goto LA5_;
	}
	goto LA1_;
	LA5_: ;
	{
		NimStringDesc* T8_;
		NimStringDesc* T9_;
		T8_ = (NimStringDesc*)0;
		T8_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
		T9_ = (NimStringDesc*)0;
		T9_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 1));
		writeFile__D6Pj9c29aCLEJP9beOWa08HYA(T8_, T9_);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = readFile__4PGnM9bWmsH0Nu7dnr3XzgA(T1_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__nH0psxYZ8gVURA1upHNltw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* v) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
	n = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
	{
		NimStringDesc* x;
		NI i;
		NI L;
		NI T2_;
		x = (NimStringDesc*)0;
		i = ((NI) 0);
		T2_ = (v ? v->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_89;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(v ? v->Sup.len : 0)){ raiseIndexError2(i,(v ? v->Sup.len : 0)-1); }
				x = v->data[i];
				T5_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T5_ = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), x);
				add__P8dDSotTW25BkfbyspojGg(n, T5_);
				if (nimAddInt(i, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_89)) { raiseOverflow(); };
				i = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_89);
				{
					NI T8_;
					T8_ = (v ? v->Sup.len : 0);
					if (!!((T8_ == L))) goto LA9_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
				}
				LA9_: ;
			} LA4: ;
		}
	}
	if (!(((2 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), n);
}
N_LIB_PRIVATE N_NIMCALL(NI64, getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NI64 result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_95;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_96;
	result = (NI64)0;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_91;
		if (nimSubInt(((NI) ((*a).rc)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_91)) { raiseOverflow(); };
		if (!!((((NI) (i)) < (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_91)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_13));
	}
	LA3_: ;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_92;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_93;
		if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_92)) { raiseOverflow(); };
		if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_92), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_93)) { raiseOverflow(); };
		if (!!(((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_93)].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_94));
	}
	LA7_: ;
	if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_95)) { raiseOverflow(); };
	if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_95), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_96)) { raiseOverflow(); };
	if (!(((4 &(1U<<((NU)((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_96)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
	result = (*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_96)].intVal;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NI64 T2_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T3_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NI64)0;
	T2_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 1));
	if ((T2_) < ((NI) 0) || (T2_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T2_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	T3_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	T3_ = readLines__SgtYKLMb9cNidg5iRn9aNDJA(T1_, ((NI) (T2_)));
	setResult__nH0psxYZ8gVURA1upHNltw(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	{
		if (!((*a).currentException == 0)) goto LA4_;
		T1_ = ((NimStringDesc*) NIM_NIL);
	}
	goto LA2_;
	LA4_: ;
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
		if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*a).currentException).kind)>>3] &(1U<<((NU)((*(*a).currentException).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
		if ((NU)(((NI) 3)) >= (NU)((*(*a).currentException)._kind_6.sons ? (*(*a).currentException)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 3),((*(*a).currentException)._kind_6.sons ? (*(*a).currentException)._kind_6.sons->Sup.len : 0)-1); }
		T7_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T7_ = skipColon__6HTnbQSyt2cHxsWfF3vG0A((*(*a).currentException)._kind_6.sons->data[((NI) 3)]);
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*T7_).kind)>>3] &(1U<<((NU)((*T7_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
		T1_ = copyString((*T7_)._kind_3.strVal);
	}
	LA2_: ;
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__Adyk89aSgmLp9bDuSV0Va03A)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
	if (!(((2 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), n);
}
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, (*a).currentException);
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
	NCSTRING result;
	result = (NCSTRING)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (s == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = ((*s).Sup.len == ((NI) 0));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = "";
	}
	goto LA1_;
	LA5_: ;
	{
		result = ((NCSTRING) ((*s).data));
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
	(*s).prev = excHandler__rqLlY5bs9atDw2OXYqJEn5g;
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = s;
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, popSafePoint)(void) {
	excHandler__rqLlY5bs9atDw2OXYqJEn5g = (*excHandler__rqLlY5bs9atDw2OXYqJEn5g).prev;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, staticWalkDirImpl__LMpMzadlvEqBMJiq3ClvHw)(NimStringDesc* path, NIM_BOOL relative) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
	{
		tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k;
		NimStringDesc* f;
		DIR* d;
		k = (tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg)0;
		f = (NimStringDesc*)0;
		d = opendir(nimToCStringConv(path));
		{
			if (!(d == NIM_NIL)) goto LA4_;
			{
				NI32 T10_;
				if (!NIM_FALSE) goto LA8_;
				T10_ = (NI32)0;
				T10_ = osLastError__9bUWNxbcGnToMWA9b79aTXLIw();
				raiseOSError__CWyPYlyH9a6rAuZckFyVxPA(T10_, path);
			}
			LA8_: ;
		}
		goto LA2_;
		LA4_: ;
		{
			TSafePoint TM__pyAIA9cUF0h9c4j2HfNQPfYw_103;
			pushSafePoint(&TM__pyAIA9cUF0h9c4j2HfNQPfYw_103);
			TM__pyAIA9cUF0h9c4j2HfNQPfYw_103.status = setjmp(TM__pyAIA9cUF0h9c4j2HfNQPfYw_103.context);
			if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_103.status == 0) {
				{
					while (1) {
						{
							struct dirent* x;
							NimStringDesc* y;
							x = readdir(d);
							{
								if (!(x == NIM_NIL)) goto LA18_;
								goto LA13;
							}
							LA18_: ;
							y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
							{
								NIM_BOOL T22_;
								struct stat s;
								NimStringDesc* path_2;
								tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k_2;
								tyArray__AB6yfoUgfWM2NtGe9bzkCmw T64_;
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T65_;
								T22_ = (NIM_BOOL)0;
								T22_ = !(eqStrings(y, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_104)));
								if (!(T22_)) goto LA23_;
								T22_ = !(eqStrings(y, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_105)));
								LA23_: ;
								if (!T22_) goto LA24_;
								nimZeroMem((void*)(&s), sizeof(struct stat));
								path_2 = slash___gEyhbzZ1UcxyenWRLJRXNQ(path, y);
								{
									if (!!(relative)) goto LA28_;
									y = copyString(path_2);
								}
								LA28_: ;
								k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
								{
									tyArray__AB6yfoUgfWM2NtGe9bzkCmw T48_;
									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
									if (!!(((*x).d_type == ((NI8) 0)))) goto LA32_;
									{
										if (!((*x).d_type == ((NI8) 4))) goto LA36_;
										k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
									}
									LA36_: ;
									{
										if (!((*x).d_type == ((NI8) 10))) goto LA40_;
										{
											NIM_BOOL T44_;
											T44_ = (NIM_BOOL)0;
											T44_ = dirExists__AWUc3v8Mlad7tvNYF3Ak8Qos(path_2);
											if (!T44_) goto LA45_;
											k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
										}
										goto LA42_;
										LA45_: ;
										{
											k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
										}
										LA42_: ;
									}
									LA40_: ;
									k = k_2;
									f = y;
									nimZeroMem((void*)T48_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
									T48_[0] = newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (k)));
									T48_[1] = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), f);
									T49_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
									T49_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T48_, 2);
									add__P8dDSotTW25BkfbyspojGg(result, T49_);
									goto LA15;
								}
								LA32_: ;
								{
									int T52_;
									T52_ = (int)0;
									T52_ = lstat(nimToCStringConv(path_2), (&s));
									if (!(T52_ < ((NI32) 0))) goto LA53_;
									goto LA13;
								}
								LA53_: ;
								{
									NIM_BOOL T57_;
									T57_ = (NIM_BOOL)0;
									T57_ = S_ISDIR(s.st_mode);
									if (!T57_) goto LA58_;
									k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
								}
								goto LA55_;
								LA58_: ;
								{
									NIM_BOOL T61_;
									T61_ = (NIM_BOOL)0;
									T61_ = S_ISLNK(s.st_mode);
									if (!T61_) goto LA62_;
									k_2 = getSymlinkFileKind__wTnLPNAWjgwVnuiJ9ax0ZGQ(path_2);
								}
								goto LA55_;
								LA62_: ;
								LA55_: ;
								k = k_2;
								f = y;
								nimZeroMem((void*)T64_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
								T64_[0] = newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (k)));
								T64_[1] = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), f);
								T65_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
								T65_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T64_, 2);
								add__P8dDSotTW25BkfbyspojGg(result, T65_);
							}
							LA24_: ;
						} LA15: ;
					}
				} LA13: ;
				popSafePoint();
			}
			else {
				popSafePoint();
			}
			{
				int T68_;
				T68_ = (int)0;
				T68_ = closedir(d);
				(void)(T68_);
				if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_103.status != 0) nimLeaveFinally();
			}
			if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_103.status != 0) reraiseException();
		}
		LA2_: ;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, getBool__EhqFCFCIHmFhBfWH28wGww)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NIM_BOOL result;
	NI64 T1_;
	result = (NIM_BOOL)0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, i);
	result = !((T1_ == IL64(0)));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_33)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	NIM_BOOL T2_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NIM_BOOL)0;
	T2_ = getBool__EhqFCFCIHmFhBfWH28wGww(a, ((NI) 1));
	T3_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T3_ = staticWalkDirImpl__LMpMzadlvEqBMJiq3ClvHw(T1_, T2_);
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, querySettingImpl__SyEba5dkmHov9a9b9blmDeAWQ)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	if ((switch_0) < ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 0) || (switch_0) > ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 11)){ raiseRangeErrorI(switch_0, ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 0), ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 11)); }
	switch (((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) (switch_0))) {
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 0):
	{
		result = copyString((*conf).arguments);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 1):
	{
		result = copyString((*conf).outFile);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 2):
	{
		result = copyString((*conf).outDir);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 3):
	{
		result = getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2(conf);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 4):
	{
		result = copyString((*conf).projectName);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 5):
	{
		result = copyString((*conf).projectPath);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 6):
	{
		result = copyString((*conf).projectFull);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 7):
	{
		result = copyString((*conf).command);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 8):
	{
		result = copyString((*conf).commandLine);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 9):
	{
		result = copyString((*conf).linkOptions);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 10):
	{
		result = copyString((*conf).compileOptions);
	}
	break;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 11):
	{
		result = copyString((*conf).cCompilerPath);
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI64 T1_;
	NimStringDesc* T2_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = querySettingImpl__SyEba5dkmHov9a9b9blmDeAWQ(a, (*(*colonenvP_).c1).config, T1_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, querySettingSeqImpl__BYoalXWk9cCPTcGwXapPa8A)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	if ((switch_0) < ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 0) || (switch_0) > ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 5)){ raiseRangeErrorI(switch_0, ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 0), ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 5)); }
	switch (((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) (switch_0))) {
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 0):
	{
		{
			NimStringDesc* iX60gensym63946048_;
			NI i;
			NI L;
			NI T3_;
			iX60gensym63946048_ = (NimStringDesc*)0;
			i = ((NI) 0);
			T3_ = ((*conf).nimblePaths ? (*conf).nimblePaths->Sup.len : 0);
			L = T3_;
			{
				while (1) {
					NI T6_;
					NimStringDesc* T7_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_109;
					if (!(i < L)) goto LA5;
					if ((NU)(i) >= (NU)((*conf).nimblePaths ? (*conf).nimblePaths->Sup.len : 0)){ raiseIndexError2(i,((*conf).nimblePaths ? (*conf).nimblePaths->Sup.len : 0)-1); }
					iX60gensym63946048_ = (*conf).nimblePaths->data[i];
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T6_ = result->Sup.len++;
					T7_ = (NimStringDesc*)0;
					T7_ = result->data[T6_]; result->data[T6_] = copyStringRC1(iX60gensym63946048_);
					if (T7_) nimGCunrefNoCycle(T7_);
					if (nimAddInt(i, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_109)) { raiseOverflow(); };
					i = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_109);
					{
						NI T10_;
						T10_ = ((*conf).nimblePaths ? (*conf).nimblePaths->Sup.len : 0);
						if (!!((T10_ == L))) goto LA11_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
					}
					LA11_: ;
				} LA5: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 1):
	{
		{
			NimStringDesc* iX60gensym63950015_;
			NI i_2;
			NI L_2;
			NI T15_;
			iX60gensym63950015_ = (NimStringDesc*)0;
			i_2 = ((NI) 0);
			T15_ = ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0);
			L_2 = T15_;
			{
				while (1) {
					NI T18_;
					NimStringDesc* T19_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_110;
					if (!(i_2 < L_2)) goto LA17;
					if ((NU)(i_2) >= (NU)((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0)){ raiseIndexError2(i_2,((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0)-1); }
					iX60gensym63950015_ = (*conf).searchPaths->data[i_2];
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T18_ = result->Sup.len++;
					T19_ = (NimStringDesc*)0;
					T19_ = result->data[T18_]; result->data[T18_] = copyStringRC1(iX60gensym63950015_);
					if (T19_) nimGCunrefNoCycle(T19_);
					if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_110)) { raiseOverflow(); };
					i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_110);
					{
						NI T22_;
						T22_ = ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0);
						if (!!((T22_ == L_2))) goto LA23_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
					}
					LA23_: ;
				} LA17: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 2):
	{
		{
			NimStringDesc* iX60gensym63955015_;
			NI i_3;
			NI L_3;
			NI T27_;
			iX60gensym63955015_ = (NimStringDesc*)0;
			i_3 = ((NI) 0);
			T27_ = ((*conf).lazyPaths ? (*conf).lazyPaths->Sup.len : 0);
			L_3 = T27_;
			{
				while (1) {
					NI T30_;
					NimStringDesc* T31_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_111;
					if (!(i_3 < L_3)) goto LA29;
					if ((NU)(i_3) >= (NU)((*conf).lazyPaths ? (*conf).lazyPaths->Sup.len : 0)){ raiseIndexError2(i_3,((*conf).lazyPaths ? (*conf).lazyPaths->Sup.len : 0)-1); }
					iX60gensym63955015_ = (*conf).lazyPaths->data[i_3];
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T30_ = result->Sup.len++;
					T31_ = (NimStringDesc*)0;
					T31_ = result->data[T30_]; result->data[T30_] = copyStringRC1(iX60gensym63955015_);
					if (T31_) nimGCunrefNoCycle(T31_);
					if (nimAddInt(i_3, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_111)) { raiseOverflow(); };
					i_3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_111);
					{
						NI T34_;
						T34_ = ((*conf).lazyPaths ? (*conf).lazyPaths->Sup.len : 0);
						if (!!((T34_ == L_3))) goto LA35_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
					}
					LA35_: ;
				} LA29: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 3):
	{
		genericSeqAssign((&result), (*conf).commandArgs, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 4):
	{
		{
			NimStringDesc* iX60gensym63960015_;
			NI i_4;
			NI L_4;
			NI T40_;
			iX60gensym63960015_ = (NimStringDesc*)0;
			i_4 = ((NI) 0);
			T40_ = ((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0);
			L_4 = T40_;
			{
				while (1) {
					NI T43_;
					NimStringDesc* T44_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_112;
					if (!(i_4 < L_4)) goto LA42;
					if ((NU)(i_4) >= (NU)((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0)){ raiseIndexError2(i_4,((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0)-1); }
					iX60gensym63960015_ = (*conf).cIncludes->data[i_4];
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T43_ = result->Sup.len++;
					T44_ = (NimStringDesc*)0;
					T44_ = result->data[T43_]; result->data[T43_] = copyStringRC1(iX60gensym63960015_);
					if (T44_) nimGCunrefNoCycle(T44_);
					if (nimAddInt(i_4, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_112)) { raiseOverflow(); };
					i_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_112);
					{
						NI T47_;
						T47_ = ((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0);
						if (!!((T47_ == L_4))) goto LA48_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
					}
					LA48_: ;
				} LA42: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 5):
	{
		{
			NimStringDesc* iX60gensym63965015_;
			NI i_5;
			NI L_5;
			NI T52_;
			iX60gensym63965015_ = (NimStringDesc*)0;
			i_5 = ((NI) 0);
			T52_ = ((*conf).cLibs ? (*conf).cLibs->Sup.len : 0);
			L_5 = T52_;
			{
				while (1) {
					NI T55_;
					NimStringDesc* T56_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_113;
					if (!(i_5 < L_5)) goto LA54;
					if ((NU)(i_5) >= (NU)((*conf).cLibs ? (*conf).cLibs->Sup.len : 0)){ raiseIndexError2(i_5,((*conf).cLibs ? (*conf).cLibs->Sup.len : 0)-1); }
					iX60gensym63965015_ = (*conf).cLibs->data[i_5];
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T55_ = result->Sup.len++;
					T56_ = (NimStringDesc*)0;
					T56_ = result->data[T55_]; result->data[T55_] = copyStringRC1(iX60gensym63965015_);
					if (T56_) nimGCunrefNoCycle(T56_);
					if (nimAddInt(i_5, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_113)) { raiseOverflow(); };
					i_5 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_113);
					{
						NI T59_;
						T59_ = ((*conf).cLibs ? (*conf).cLibs->Sup.len : 0);
						if (!!((T59_ == L_5))) goto LA60_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
					}
					LA60_: ;
				} LA54: ;
			}
		}
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_3)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI64 T1_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T2_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 0));
	T2_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	T2_ = querySettingSeqImpl__BYoalXWk9cCPTcGwXapPa8A(a, (*(*colonenvP_).c1).config, T1_);
	setResult__nH0psxYZ8gVURA1upHNltw(a, T2_);
}
N_LIB_PRIVATE N_CLOSURE(void, gorgeExWrapper__GmCA0MesRT5snvEtN8vOBw_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	tyTuple__XOVT24GHXwqiEj5GCsEGCA T4_;
	NimStringDesc* s;
	NI e;
	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T5_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 1));
	T3_ = (NimStringDesc*)0;
	T3_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 2));
	nimZeroMem((void*)(&T4_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
	opGorge__PHM9cEmzUJYj3PsIVbIPnxQ(T1_, T2_, T3_, (*a).currentLineInfo, (*(*colonenvP_).c1).config, (&T4_));
	s = (NimStringDesc*)0;
	s = T4_.Field0;
	e = (NI)0;
	e = T4_.Field1;
	nimZeroMem((void*)T5_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
	T5_[0] = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), s);
	T5_[1] = newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (e)));
	T6_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T6_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T5_, 2);
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, T6_);
}
N_LIB_PRIVATE N_CLOSURE(void, getProjectPathWrapper__GmCA0MesRT5snvEtN8vOBw_5)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, (*(*(*colonenvP_).c1).config).projectPath);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_34)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = nosgetAppFilename();
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNode__DuJnnnM0aSaXeDv118rkUw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_124;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_125;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_119;
		if (nimSubInt(((NI) ((*a).rc)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_119)) { raiseOverflow(); };
		if (!!((((NI) (i)) < (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_119)))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_120));
	}
	LA3_: ;
	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_121;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_122;
		if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_121)) { raiseOverflow(); };
		if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_121), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_122)) { raiseOverflow(); };
		if (!!(((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_122)].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_123));
	}
	LA7_: ;
	if (nimAddInt(((NI) (i)), ((NI) ((*a).rb)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_124)) { raiseOverflow(); };
	if (nimAddInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_124), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_125)) { raiseOverflow(); };
	if (!(((2 &(1U<<((NU)((*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_125)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
	result = (*a).slots[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_125)].node;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
static N_INLINE(NI, toLinenumber__6D4Rmpw7LpcRI1j7CMqEsAmsgs)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI result;
	result = (NI)0;
	result = ((NI) (info.line));
	return result;
}
static N_INLINE(NI, toColumn__6D4Rmpw7LpcRI1j7CMqEsA_2msgs)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	NI result;
	result = (NI)0;
	result = ((NI) (info.col));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* x, NI pc, NI recursionLimit) {
{	{
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_129;
		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
		NimStringDesc* s;
		NI line;
		NI col;
		if (!!((x == NIM_NIL))) goto LA3_;
		{
			NI calls;
			tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* x_2;
			NimStringDesc* T11_;
			NimStringDesc* T12_;
			if (!(recursionLimit == ((NI) 0))) goto LA7_;
			calls = ((NI) 0);
			x_2 = x;
			{
				while (1) {
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_127;
					if (!!((x_2 == NIM_NIL))) goto LA10;
					if (nimAddInt(calls, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_127)) { raiseOverflow(); };
					calls = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_127);
					x_2 = (*x_2).next;
				} LA10: ;
			}
			T11_ = (NimStringDesc*)0;
			T12_ = (NimStringDesc*)0;
			T12_ = nimIntToStr(calls);
			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + 15);
appendString(T11_, T12_);
appendString(T11_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_128));
			msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, T11_, 0);
			goto BeforeRet_;
		}
		LA7_: ;
		if (nimSubInt(recursionLimit, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_129)) { raiseOverflow(); };
		stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ(c, (*x).next, (*x).comesFrom, (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_129));
		if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
		info = (*c).debug->data[pc];
		s = ((NimStringDesc*) NIM_NIL);
		{
			if (!(((*(*c).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0)) goto LA15_;
			s = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, info.fileIndex);
		}
		goto LA13_;
		LA15_: ;
		{
			{
				NIM_BOOL T20_;
				T20_ = (NIM_BOOL)0;
				T20_ = (info.fileIndex < ((NI32) 0));
				if (T20_) goto LA21_;
				T20_ = ((*c).config == NIM_NIL);
				LA21_: ;
				if (!T20_) goto LA22_;
				{
					if (!(info.fileIndex == ((NI32) -3))) goto LA26_;
					s = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
				}
				goto LA24_;
				LA26_: ;
				{
					s = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
				}
				LA24_: ;
			}
			goto LA18_;
			LA22_: ;
			{
				if ((NU)(info.fileIndex) >= (NU)((*(*c).config).m.fileInfos ? (*(*c).config).m.fileInfos->Sup.len : 0)){ raiseIndexError2(info.fileIndex,((*(*c).config).m.fileInfos ? (*(*c).config).m.fileInfos->Sup.len : 0)-1); }
				s = copyString((*(*c).config).m.fileInfos->data[info.fileIndex].shortName);
			}
			LA18_: ;
		}
		LA13_: ;
		line = toLinenumber__6D4Rmpw7LpcRI1j7CMqEsAmsgs(info);
		col = toColumn__6D4Rmpw7LpcRI1j7CMqEsA_2msgs(info);
		{
			NimStringDesc* T34_;
			NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_133;
			NimStringDesc* T35_;
			if (!(((NI) 0) < line)) goto LA32_;
			s = addChar(s, 40);
			T34_ = (NimStringDesc*)0;
			T34_ = nimIntToStr(line);
			s = resizeString(s, (T34_ ? T34_->Sup.len : 0) + 0);
appendString(s, T34_);
			s = resizeString(s, 2);
appendString(s, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_132));
			if (nimAddInt(col, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133)) { raiseOverflow(); };
			T35_ = (NimStringDesc*)0;
			T35_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
			s = resizeString(s, (T35_ ? T35_->Sup.len : 0) + 0);
appendString(s, T35_);
			s = addChar(s, 41);
		}
		LA32_: ;
		{
			if (!!(((*x).prc == NIM_NIL))) goto LA38_;
			{
				NI k;
				NI colontmp_;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_134;
				NI res;
				k = (NI)0;
				colontmp_ = (NI)0;
				if (nimSubInt(((NI) 25), (s ? s->Sup.len : 0), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_134)) { raiseOverflow(); };
				colontmp_ = ((((NI) 1) >= (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_134)) ? ((NI) 1) : (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_134));
				res = ((NI) 1);
				{
					while (1) {
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_135;
						if (!(res <= colontmp_)) goto LA42;
						k = res;
						s = addChar(s, 32);
						if (nimAddInt(res, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_135)) { raiseOverflow(); };
						res = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_135);
					} LA42: ;
				}
			}
			s = resizeString(s, ((*(*(*x).prc).name).s ? (*(*(*x).prc).name).s->Sup.len : 0) + 0);
appendString(s, (*(*(*x).prc).name).s);
		}
		LA38_: ;
		msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, s, 0);
	}
	LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos, NI pc, NimStringDesc* msg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineInfo) {
	msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_126), 0);
	stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ(c, tos, pc, ((NI) 100));
	{
		if (!((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0))) goto LA3_;
		globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, lineInfo, msg);
	}
	goto LA1_;
	LA3_: ;
	{
		localError__NF6kBGchnhQYPbCedyefVA((*c).config, lineInfo, msg);
	}
	LA1_: ;
}
static N_NIMCALL(void, Marker_tySequence__jlXqfsdfoRhiIfoVNWV0Vw)(void* p, NI op) {
	tySequence__jlXqfsdfoRhiIfoVNWV0Vw* a;
	NI T1_;
	a = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	switch (a->data[T1_].kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	nimGCvisit((void*)a->data[T1_].node, op);
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	break;
	} 
	}
}
static N_NIMCALL(void, Marker_tyRef__2j7eyHO9axgCjjMG0moB6Ww)(void* p, NI op) {
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* a;
	a = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)p;
	nimGCvisit((void*)(*a).prc, op);
	nimGCvisit((void*)(*a).slots, op);
	nimGCvisit((void*)(*a).next, op);
	nimGCvisit((void*)(*a).safePoints, op);
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA T8_;
	NimStringDesc* T9_;
{	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	n = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	{
		tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
		T5_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
		T5_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
		asgnRef((void**) (&(*T5_).prc), (*(*(*colonenvP_).c1).prc).sym);
		(*T5_).comesFrom = ((NI) 0);
		asgnRef((void**) (&(*T5_).next), NIM_NIL);
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(n);
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 49);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_137));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138));
appendString(T6_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_139));
		stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ((*colonenvP_).c1, T5_, (*(*colonenvP_).c1).exceptionInstr, T6_, (*n).info);
		goto BeforeRet_;
	}
	LA3_: ;
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
	nimZeroMem((void*)T8_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
	symBodyDigest__CuOAIgIy9afVyEqS9a6M9bEMA((*(*colonenvP_).c1).graph, (*n)._kind_4.sym, T8_);
	T9_ = (NimStringDesc*)0;
	T9_ = dollar___0A9bslyIJ49bWrftLGh13rvg(T8_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T9_);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___GmCA0MesRT5snvEtN8vOBw_7)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
{	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	n = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	{
		tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
		T5_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
		T5_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
		asgnRef((void**) (&(*T5_).prc), (*(*(*colonenvP_).c1).prc).sym);
		(*T5_).comesFrom = ((NI) 0);
		asgnRef((void**) (&(*T5_).next), NIM_NIL);
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(n);
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 48);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_143));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138));
appendString(T6_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_139));
		stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ((*colonenvP_).c1, T5_, (*(*colonenvP_).c1).exceptionInstr, T6_, (*n).info);
		goto BeforeRet_;
	}
	LA3_: ;
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setResult__TT9cdDQkh09c214lMSxKXTTg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI64 v) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&(*a).slots[(*a).ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
	if (!(((4 &(1U<<((NU)((*a).slots[(*a).ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
	(*a).slots[(*a).ra].intVal = v;
}
N_LIB_PRIVATE N_CLOSURE(void, hashVmImpl__GmCA0MesRT5snvEtN8vOBw_8)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI res;
	NimStringDesc* T1_;
	NI64 T2_;
	NI64 T3_;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NimStringDesc*)0;
	T1_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	T2_ = (NI64)0;
	T2_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 1));
	T3_ = (NI64)0;
	T3_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 2));
	res = hash__2f0mDKnzcXGyxkdkc7DbDw(T1_, ((NI) (T2_)), ((NI) (T3_)));
	{
		if (!((*(*(*colonenvP_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 4))) goto LA6_;
		res = ((NI) (((NI32) (res))));
	}
	LA6_: ;
	setResult__TT9cdDQkh09c214lMSxKXTTg(a, ((NI64) (res)));
}
N_LIB_PRIVATE N_CLOSURE(void, hashVmImplByte__GmCA0MesRT5snvEtN8vOBw_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI sPos;
	NI64 T1_;
	NI ePos;
	NI64 T2_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr;
	tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* bytes;
	NI T3_;
	NI res;
	colonenvP_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 1));
	sPos = ((NI) (T1_));
	T2_ = (NI64)0;
	T2_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 2));
	ePos = ((NI) (T2_));
	arr = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	T3_ = (NI)0;
	T3_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
	if ((T3_) < ((NI) 0) || (T3_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T3_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	bytes = newSeq__DpCWN7DIBuAjgoeQ9c29blYQ(((NI) (T3_)));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_148;
				if (!(i_2 < colontmp_)) goto LA6;
				i = i_2;
				if ((NU)(i) >= (NU)(bytes ? bytes->Sup.len : 0)){ raiseIndexError2(i,(bytes ? bytes->Sup.len : 0)-1); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(i) >= (NU)((*arr)._kind_6.sons ? (*arr)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*arr)._kind_6.sons ? (*arr)._kind_6.sons->Sup.len : 0)-1); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*(*arr)._kind_6.sons->data[i]).kind)>>3] &(1U<<((NU)((*(*arr)._kind_6.sons->data[i]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
				bytes->data[i] = ((NU8) ((NI64)((*(*arr)._kind_6.sons->data[i])._kind_1.intVal & IL64(255))));
				if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_148)) { raiseOverflow(); };
				i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_148);
			} LA6: ;
		}
	}
	res = hash__GXEvKkoaUont1gpaAJabXg(bytes->data, (bytes ? bytes->Sup.len : 0), sPos, ePos);
	{
		if (!((*(*(*colonenvP_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 4))) goto LA9_;
		res = ((NI) (((NI32) (res))));
	}
	LA9_: ;
	setResult__TT9cdDQkh09c214lMSxKXTTg(a, ((NI64) (res)));
}
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_35)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	T1_ = (NF)0;
	T1_ = cpuTime__9aodCrWXscOGeNVh2cpuZkw_2();
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__LlE3fKEVuGggl04AA4Ifyw)(void) {
	NF result;
	result = (NF)0;
	result = 5.3912450000000005e-44;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_36)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	T1_ = (NF)0;
	T1_ = cpuTime__LlE3fKEVuGggl04AA4Ifyw();
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, registerAdditionalOps__YCoJV0XHfn0P9cfljlakO1g)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
	tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g* colonenv_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T1_;
	NI T2_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T3_;
	NI T4_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T5_;
	NI T6_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T7_;
	NI T8_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T9_;
	NI T10_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T11_;
	NI T12_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T13_;
	NI T14_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T15_;
	NI T16_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T17_;
	NI T18_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T19_;
	NI T20_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T21_;
	NI T22_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T23_;
	NI T24_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T25_;
	NI T26_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T27_;
	NI T28_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T29_;
	NI T30_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T31_;
	NI T32_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T33_;
	NI T34_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T35_;
	NI T36_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T37_;
	NI T38_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T39_;
	NI T40_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T41_;
	NI T42_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T43_;
	NI T44_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T45_;
	NI T46_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T47_;
	NI T48_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T49_;
	NI T50_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T51_;
	NI T52_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T53_;
	NI T54_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T55_;
	NI T56_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T57_;
	NI T58_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T59_;
	NI T60_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T61_;
	NI T62_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T63_;
	NI T64_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T65_;
	NI T66_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T67_;
	NI T68_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T69_;
	NI T70_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T71_;
	NI T72_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T82_;
	NI T83_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T84_;
	NI T85_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T86_;
	NI T87_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T88_;
	NI T89_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T90_;
	NI T91_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T92_;
	NI T93_;
	tyProc__S09bPfanQx9bEvdh4862x8zw T94_;
	NI T95_;
	NI T96_;
	colonenv_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*)0;
	colonenv_ = (tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*) newObj((&NTI__8Qi2Yy1dXWyP64byz4WwVw_), sizeof(tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g));
	(*colonenv_).Sup.m_type = (&NTI__m9bElogmdcDLEy9czU5AZr6g_);
	asgnRef((void**) (&(*colonenv_).c1), c);
	nimZeroMem((void*)(&T1_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T1_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_19) (sqrtWrapper__YYz4trFdtBrqWRYoIzUH9aA)); T1_.ClE_0 = NIM_NIL;
	T2_ = (NI)0;
	T2_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_10), T1_);
	nimZeroMem((void*)(&T3_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T3_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_21) (lnWrapper__YYz4trFdtBrqWRYoIzUH9aA_2)); T3_.ClE_0 = NIM_NIL;
	T4_ = (NI)0;
	T4_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_20), T3_);
	nimZeroMem((void*)(&T5_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T5_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_23) (log10Wrapper__YYz4trFdtBrqWRYoIzUH9aA_3)); T5_.ClE_0 = NIM_NIL;
	T6_ = (NI)0;
	T6_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_22), T5_);
	nimZeroMem((void*)(&T7_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T7_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_25) (log2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_4)); T7_.ClE_0 = NIM_NIL;
	T8_ = (NI)0;
	T8_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_24), T7_);
	nimZeroMem((void*)(&T9_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T9_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_27) (expWrapper__YYz4trFdtBrqWRYoIzUH9aA_5)); T9_.ClE_0 = NIM_NIL;
	T10_ = (NI)0;
	T10_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_26), T9_);
	nimZeroMem((void*)(&T11_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T11_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_29) (roundWrapper__YYz4trFdtBrqWRYoIzUH9aA_6)); T11_.ClE_0 = NIM_NIL;
	T12_ = (NI)0;
	T12_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_28), T11_);
	nimZeroMem((void*)(&T13_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T13_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_31) (arccosWrapper__YYz4trFdtBrqWRYoIzUH9aA_7)); T13_.ClE_0 = NIM_NIL;
	T14_ = (NI)0;
	T14_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_30), T13_);
	nimZeroMem((void*)(&T15_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T15_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_33) (arcsinWrapper__YYz4trFdtBrqWRYoIzUH9aA_8)); T15_.ClE_0 = NIM_NIL;
	T16_ = (NI)0;
	T16_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_32), T15_);
	nimZeroMem((void*)(&T17_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T17_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_35) (arctanWrapper__YYz4trFdtBrqWRYoIzUH9aA_9)); T17_.ClE_0 = NIM_NIL;
	T18_ = (NI)0;
	T18_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_34), T17_);
	nimZeroMem((void*)(&T19_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T19_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_37) (arctan2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_10)); T19_.ClE_0 = NIM_NIL;
	T20_ = (NI)0;
	T20_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_36), T19_);
	nimZeroMem((void*)(&T21_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T21_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_39) (cosWrapper__YYz4trFdtBrqWRYoIzUH9aA_11)); T21_.ClE_0 = NIM_NIL;
	T22_ = (NI)0;
	T22_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_38), T21_);
	nimZeroMem((void*)(&T23_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T23_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_41) (coshWrapper__YYz4trFdtBrqWRYoIzUH9aA_12)); T23_.ClE_0 = NIM_NIL;
	T24_ = (NI)0;
	T24_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_40), T23_);
	nimZeroMem((void*)(&T25_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T25_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_43) (hypotWrapper__YYz4trFdtBrqWRYoIzUH9aA_13)); T25_.ClE_0 = NIM_NIL;
	T26_ = (NI)0;
	T26_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_42), T25_);
	nimZeroMem((void*)(&T27_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T27_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_45) (sinhWrapper__YYz4trFdtBrqWRYoIzUH9aA_14)); T27_.ClE_0 = NIM_NIL;
	T28_ = (NI)0;
	T28_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_44), T27_);
	nimZeroMem((void*)(&T29_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T29_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_47) (sinWrapper__YYz4trFdtBrqWRYoIzUH9aA_15)); T29_.ClE_0 = NIM_NIL;
	T30_ = (NI)0;
	T30_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_46), T29_);
	nimZeroMem((void*)(&T31_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T31_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_49) (tanWrapper__YYz4trFdtBrqWRYoIzUH9aA_16)); T31_.ClE_0 = NIM_NIL;
	T32_ = (NI)0;
	T32_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_48), T31_);
	nimZeroMem((void*)(&T33_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T33_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_51) (tanhWrapper__YYz4trFdtBrqWRYoIzUH9aA_17)); T33_.ClE_0 = NIM_NIL;
	T34_ = (NI)0;
	T34_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_50), T33_);
	nimZeroMem((void*)(&T35_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T35_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_53) (powWrapper__YYz4trFdtBrqWRYoIzUH9aA_18)); T35_.ClE_0 = NIM_NIL;
	T36_ = (NI)0;
	T36_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_52), T35_);
	nimZeroMem((void*)(&T37_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T37_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_55) (truncWrapper__YYz4trFdtBrqWRYoIzUH9aA_19)); T37_.ClE_0 = NIM_NIL;
	T38_ = (NI)0;
	T38_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_54), T37_);
	nimZeroMem((void*)(&T39_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T39_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_57) (floorWrapper__YYz4trFdtBrqWRYoIzUH9aA_20)); T39_.ClE_0 = NIM_NIL;
	T40_ = (NI)0;
	T40_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_56), T39_);
	nimZeroMem((void*)(&T41_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T41_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_59) (ceilWrapper__YYz4trFdtBrqWRYoIzUH9aA_21)); T41_.ClE_0 = NIM_NIL;
	T42_ = (NI)0;
	T42_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_58), T41_);
	nimZeroMem((void*)(&T43_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T43_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_71) (getMD5Wrapper__YYz4trFdtBrqWRYoIzUH9aA_22)); T43_.ClE_0 = NIM_NIL;
	T44_ = (NI)0;
	T44_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_60), T43_);
	nimZeroMem((void*)(&T45_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T45_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_73) (modWrapper__YYz4trFdtBrqWRYoIzUH9aA_23)); T45_.ClE_0 = NIM_NIL;
	T46_ = (NI)0;
	T46_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_72), T45_);
	nimZeroMem((void*)(&T47_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T47_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_75) (getEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_24)); T47_.ClE_0 = NIM_NIL;
	T48_ = (NI)0;
	T48_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_74), T47_);
	nimZeroMem((void*)(&T49_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T49_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_78) (existsEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_25)); T49_.ClE_0 = NIM_NIL;
	T50_ = (NI)0;
	T50_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_76), T49_);
	nimZeroMem((void*)(&T51_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T51_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_80) (putEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_26)); T51_.ClE_0 = NIM_NIL;
	T52_ = (NI)0;
	T52_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_79), T51_);
	nimZeroMem((void*)(&T53_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T53_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_82) (dirExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_27)); T53_.ClE_0 = NIM_NIL;
	T54_ = (NI)0;
	T54_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_81), T53_);
	nimZeroMem((void*)(&T55_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T55_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_84) (fileExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_28)); T55_.ClE_0 = NIM_NIL;
	T56_ = (NI)0;
	T56_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_83), T55_);
	nimZeroMem((void*)(&T57_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T57_.ClP_0 = writeFileWrapper__GmCA0MesRT5snvEtN8vOBw; T57_.ClE_0 = colonenv_;
	T58_ = (NI)0;
	T58_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_85), T57_);
	nimZeroMem((void*)(&T59_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T59_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_87) (readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)); T59_.ClE_0 = NIM_NIL;
	T60_ = (NI)0;
	T60_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_86), T59_);
	nimZeroMem((void*)(&T61_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T61_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_97) (readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)); T61_.ClE_0 = NIM_NIL;
	T62_ = (NI)0;
	T62_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_88), T61_);
	nimZeroMem((void*)(&T63_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T63_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_99) (getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)); T63_.ClE_0 = NIM_NIL;
	T64_ = (NI)0;
	T64_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_98), T63_);
	nimZeroMem((void*)(&T65_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T65_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_101) (getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)); T65_.ClE_0 = NIM_NIL;
	T66_ = (NI)0;
	T66_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_100), T65_);
	nimZeroMem((void*)(&T67_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T67_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_106) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_33)); T67_.ClE_0 = NIM_NIL;
	T68_ = (NI)0;
	T68_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_102), T67_);
	nimZeroMem((void*)(&T69_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T69_.ClP_0 = colonanonymous___GmCA0MesRT5snvEtN8vOBw_2; T69_.ClE_0 = colonenv_;
	T70_ = (NI)0;
	T70_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_107), T69_);
	nimZeroMem((void*)(&T71_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T71_.ClP_0 = colonanonymous___GmCA0MesRT5snvEtN8vOBw_3; T71_.ClE_0 = colonenv_;
	T72_ = (NI)0;
	T72_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_108), T71_);
	{
		NIM_BOOL T75_;
		T75_ = (NIM_BOOL)0;
		T75_ = NIM_FALSE;
		if (T75_) goto LA76_;
		T75_ = ((*(*(*colonenv_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
		LA76_: ;
		if (!T75_) goto LA77_;
	}
	goto LA73_;
	LA77_: ;
	{
		tyProc__S09bPfanQx9bEvdh4862x8zw T80_;
		NI T81_;
		nimZeroMem((void*)(&T80_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
		T80_.ClP_0 = gorgeExWrapper__GmCA0MesRT5snvEtN8vOBw_4; T80_.ClE_0 = colonenv_;
		T81_ = (NI)0;
		T81_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_114), T80_);
	}
	LA73_: ;
	nimZeroMem((void*)(&T82_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T82_.ClP_0 = getProjectPathWrapper__GmCA0MesRT5snvEtN8vOBw_5; T82_.ClE_0 = colonenv_;
	T83_ = (NI)0;
	T83_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_115), T82_);
	nimZeroMem((void*)(&T84_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T84_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_117) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_34)); T84_.ClE_0 = NIM_NIL;
	T85_ = (NI)0;
	T85_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_116), T84_);
	nimZeroMem((void*)(&T86_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T86_.ClP_0 = colonanonymous___GmCA0MesRT5snvEtN8vOBw_6; T86_.ClE_0 = colonenv_;
	T87_ = (NI)0;
	T87_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_118), T86_);
	nimZeroMem((void*)(&T88_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T88_.ClP_0 = colonanonymous___GmCA0MesRT5snvEtN8vOBw_7; T88_.ClE_0 = colonenv_;
	T89_ = (NI)0;
	T89_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_142), T88_);
	nimZeroMem((void*)(&T90_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T90_.ClP_0 = hashVmImpl__GmCA0MesRT5snvEtN8vOBw_8; T90_.ClE_0 = colonenv_;
	T91_ = (NI)0;
	T91_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T90_);
	nimZeroMem((void*)(&T92_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T92_.ClP_0 = hashVmImplByte__GmCA0MesRT5snvEtN8vOBw_9; T92_.ClE_0 = colonenv_;
	T93_ = (NI)0;
	T93_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_145), T92_);
	nimZeroMem((void*)(&T94_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
	T94_.ClP_0 = hashVmImplByte__GmCA0MesRT5snvEtN8vOBw_9; T94_.ClE_0 = colonenv_;
	T95_ = (NI)0;
	T95_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_149), T94_);
	T96_ = (NI)0;
	{
		tyProc__S09bPfanQx9bEvdh4862x8zw T101_;
		if (!(((*(*(*colonenv_).c1).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 44))&63U)))!=0)) goto LA99_;
		nimZeroMem((void*)(&T101_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
		T101_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_151) (cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_35)); T101_.ClE_0 = NIM_NIL;
		T96_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_150), T101_);
	}
	goto LA97_;
	LA99_: ;
	{
		tyProc__S09bPfanQx9bEvdh4862x8zw T103_;
		nimZeroMem((void*)(&T103_), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
		T103_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_152) (cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_36)); T103_.ClE_0 = NIM_NIL;
		T96_ = registerCallback__KTccIggotbAQNUsQmikgMA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_150), T103_);
	}
	LA97_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph) {
	{
		tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* T5_;
		if (!((*graph).vm == 0)) goto LA3_;
		T5_ = (tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*)0;
		T5_ = newCtx__SnMRNFK9aeDXTXGWpZkzETw(module, (*graph).cache, graph);
		asgnRef((void**) (&(*graph).vm), &T5_->Sup.Sup);
		if ((*graph).vm && !isObj((*(*graph).vm).m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
		registerAdditionalOps__YCoJV0XHfn0P9cfljlakO1g(((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) ((*graph).vm)));
	}
	goto LA1_;
	LA3_: ;
	{
		if ((*graph).vm && !isObj((*(*graph).vm).m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
		refresh__VN2MrcCIq6xPNBFBZXkK1Q(((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) ((*graph).vm)), module);
	}
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* dest, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T2_;
		nimZeroMem((void*)(&T2_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		nimZeroMem((void*)(&T2_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		T2_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
		T2_.node = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n)._kind_3.strVal);
		genericShallowAssign((void*)(&(*dest)), (void*)(&T2_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		{
			if (!((*dest).kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA6_;
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			unsureAsgnRef((void**) (&(*dest).node), n);
		}
		goto LA4_;
		LA6_: ;
		{
			NIM_BOOL T9_;
			tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T13_;
			T9_ = (NIM_BOOL)0;
			T9_ = !(((*n).typ == NIM_NIL));
			if (!(T9_)) goto LA10_;
			T9_ = ((69206016 &((NU64)1<<((NU)((*(*n).typ).kind)&63U)))!=0);
			LA10_: ;
			if (!T9_) goto LA11_;
			nimZeroMem((void*)(&T13_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
			nimZeroMem((void*)(&T13_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
			T13_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
			T13_.node = n;
			genericShallowAssign((void*)(&(*dest)), (void*)(&T13_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
		}
		goto LA4_;
		LA11_: ;
		{
			tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T15_;
			nimZeroMem((void*)(&T15_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
			nimZeroMem((void*)(&T15_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
			T15_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2);
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
			T15_.intVal = (*n)._kind_1.intVal;
			genericShallowAssign((void*)(&(*dest)), (void*)(&T15_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
		}
		LA4_: ;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T17_;
		nimZeroMem((void*)(&T17_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		nimZeroMem((void*)(&T17_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		T17_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2);
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		T17_.intVal = (*n)._kind_1.intVal;
		genericShallowAssign((void*)(&(*dest)), (void*)(&T17_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T19_;
		nimZeroMem((void*)(&T19_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		nimZeroMem((void*)(&T19_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		T19_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3);
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
		T19_.floatVal = (*n)._kind_2.floatVal;
		genericShallowAssign((void*)(&(*dest)), (void*)(&T19_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	}
	break;
	default:
	{
		tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T21_;
		nimZeroMem((void*)(&T21_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		nimZeroMem((void*)(&T21_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
		T21_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
		T21_.node = n;
		genericShallowAssign((void*)(&(*dest)), (void*)(&T21_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3_;
		result = arg;
		goto BeforeRet_;
	}
	LA3_: ;
	result = copyNode__Dsjo9bte8vGxzhtcSrsTyiQ(arg);
	{
		if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA7_;
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
			child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(arg);
				i_2 = ((NI) 0);
				{
					while (1) {
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_155;
						if (!(i_2 < colontmp_)) goto LA12;
						i = i_2;
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*arg).kind)>>3] &(1U<<((NU)((*arg).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(i) >= (NU)((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)-1); }
						child = (*arg)._kind_6.sons->data[i];
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
							if (!((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA15_;
							if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*child).kind)>>3] &(1U<<((NU)((*child).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
							if ((NU)(((NI) 1)) >= (NU)((*child)._kind_6.sons ? (*child)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*child)._kind_6.sons ? (*child)._kind_6.sons->Sup.len : 0)-1); }
							T17_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							T17_ = prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA((*child)._kind_6.sons->data[((NI) 1)]);
							add__P8dDSotTW25BkfbyspojGg(result, T17_);
						}
						goto LA13_;
						LA15_: ;
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
							T19_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							T19_ = prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA(child);
							add__P8dDSotTW25BkfbyspojGg(result, T19_);
						}
						LA13_: ;
						if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_155)) { raiseOverflow(); };
						i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_155);
					} LA12: ;
				}
			}
		}
	}
	goto LA5_;
	LA7_: ;
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
			child_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i_3;
				NI colontmp__2;
				NI i_4;
				i_3 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(arg);
				i_4 = ((NI) 0);
				{
					while (1) {
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_156;
						if (!(i_4 < colontmp__2)) goto LA24;
						i_3 = i_4;
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*arg).kind)>>3] &(1U<<((NU)((*arg).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(i_3) >= (NU)((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_3,((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)-1); }
						child_2 = (*arg)._kind_6.sons->data[i_3];
						T25_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T25_ = prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA(child_2);
						add__P8dDSotTW25BkfbyspojGg(result, T25_);
						if (nimAddInt(i_4, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_156)) { raiseOverflow(); };
						i_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_156);
					} LA24: ;
				}
			}
		}
	}
	LA5_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setupMacroParam__hXIlM54SMpXNBDQ04umODg)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result) {
	chckNil((void*)Result);
	switch ((*Result).kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	(*Result).intVal = 0;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	(*Result).floatVal = 0;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	unsureAsgnRef((void**)&(*Result).node, NIM_NIL);
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	(*Result).regAddr = NIM_NIL;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	(*Result).nodeAddr = NIM_NIL;
	break;
	} 
	(*Result).kind = 0;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
		T2_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T2_ = prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA(x);
		putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ(Result, T2_);
	}
	break;
	default:
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
		n = x;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA6_;
			if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
			if ((NU)(((NI) 1)) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
			n = (*n)._kind_6.sons->data[((NI) 1)];
		}
		LA6_: ;
		n = canonValue__yXNCtNX5XyYFmGvoC2Ryfw(n);
		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
		asgnRef((void**) (&(*n).typ), (*x).typ);
		chckNil((void*)Result);
		switch ((*Result).kind) {
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
		break;
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
		(*Result).intVal = 0;
		break;
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
		(*Result).floatVal = 0;
		break;
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
		unsureAsgnRef((void**)&(*Result).node, NIM_NIL);
		break;
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
		(*Result).regAddr = NIM_NIL;
		break;
		case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
		(*Result).nodeAddr = NIM_NIL;
		break;
		} 
		(*Result).kind = 0;
		(*Result).kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
		unsureAsgnRef((void**) (&(*Result).node), n);
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA x) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	switch (x.kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	{
		result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	{
		result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		if (!(((4 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		(*result)._kind_1.intVal = x.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16));
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
		if (!(((8 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		(*result)._kind_2.floatVal = x.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		if (!(((2 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		result = x.node;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		if (!(((16 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA((*x.regAddr));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		if (!(((32 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		result = (*x.nodeAddr);
	}
	break;
	}
	return result;
}
static N_NIMCALL(void, Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ)(void* p, NI op) {
	tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw* a;
	a = (tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*)p;
	nimGCvisit((void*)(*a).error1, op);
	nimGCvisit((void*)(*a).error2, op);
}
static N_INLINE(NI*, X5BX5D___Dsh9aMasGTu9cMWGRPlBctPgsystem)(NI* s, NI sLen_0, NI i) {
	NI* result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_166;
	result = (NI*)0;
	if (nimSubInt(sLen_0, i, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_166)) { raiseOverflow(); };
	if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_166)) >= (NU)(sLen_0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_166),sLen_0-1); }
	result = (&s[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_166)]);
	return result;
}
static N_INLINE(NI, pop__OC36rCceCM1GklRaGE2Ipwsystem)(tySequence__qwqHTkRvwhrRyENtudHQ7g** s) {
	NI result;
	NI L;
	NI T1_;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_169;
	result = (NI)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	if (nimSubInt(T1_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_169)) { raiseOverflow(); };
	L = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_169);
	if ((NU)(L) >= (NU)((*s) ? (*s)->Sup.len : 0)){ raiseIndexError2(L,((*s) ? (*s)->Sup.len : 0)-1); }
	result = (*s)->data[L];
	if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	unsureAsgnRef((void**) (&(*s)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*s))->Sup, (&NTI__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (L))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, cleanUpOnReturn__ci9cFKwbo1EXWrDLm9ah4isA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f) {
	NI result;
{	result = (NI)0;
	result = ((NI) -1);
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*f).safePoints ? (*f).safePoints->Sup.len : 0);
		colontmp_ = T2_;
		res = ((NI) 1);
		{
			while (1) {
				NI pc;
				NI* T5_;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_171;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI*)0;
				T5_ = X5BX5D___Dsh9aMasGTu9cMWGRPlBctPgsystem((*f).safePoints->data, ((*f).safePoints ? (*f).safePoints->Sup.len : 0), i);
				pc = (*T5_);
				{
					while (1) {
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_167;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_168;
						if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
						if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA7;
						if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
						if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
						if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_167)) { raiseOverflow(); };
						if (nimAddInt(pc, (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_167), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_168)) { raiseOverflow(); };
						pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_168);
					} LA7: ;
				}
				{
					NI T12_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_170;
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166))) goto LA10_;
					T12_ = (NI)0;
					T12_ = pop__OC36rCceCM1GklRaGE2Ipwsystem((&(*f).safePoints));
					(void)(T12_);
					if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_170)) { raiseOverflow(); };
					result = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_170);
					goto BeforeRet_;
				}
				LA10_: ;
				if (nimAddInt(res, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_171)) { raiseOverflow(); };
				res = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_171);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyValue__UyDLGuBe1bDjMXME9b0kt3Q)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NimStringDesc* T7_;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (src == NIM_NIL);
		if (T3_) goto LA4_;
		T3_ = (((*src).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = src;
		goto BeforeRet_;
	}
	LA5_: ;
	result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ((*src).kind);
	(*result).info = (*src).info;
	asgnRef((void**) (&(*result).typ), (*src).typ);
	(*result).flags = ((*src).flags & 1763086);
	T7_ = (NimStringDesc*)0;
	T7_ = (*result).comment; (*result).comment = copyStringRC1((*src).comment);
	if (T7_) nimGCunrefNoCycle(T7_);
	switch ((*src).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		(*result)._kind_1.intVal = (*src)._kind_1.intVal;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
		(*result)._kind_2.floatVal = (*src)._kind_2.floatVal;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
		asgnRef((void**) (&(*result)._kind_4.sym), (*src)._kind_4.sym);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
		asgnRef((void**) (&(*result)._kind_5.ident), (*src)._kind_5.ident);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T13_;
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
		T13_ = (NimStringDesc*)0;
		T13_ = (*result)._kind_3.strVal; (*result)._kind_3.strVal = copyStringRC1((*src)._kind_3.strVal);
		if (T13_) nimGCunrefNoCycle(T13_);
	}
	break;
	default:
	{
		NI T15_;
		if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
		T15_ = (NI)0;
		T15_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
		if ((T15_) < ((NI) 0) || (T15_) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(T15_, ((NI) 0), ((NI) IL64(9223372036854775807))); }
		if ((*result)._kind_6.sons) { nimGCunrefNoCycle((*result)._kind_6.sons); (*result)._kind_6.sons = NIM_NIL; }
		(*result)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (T15_)));
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_183;
					if (!(i_2 < colontmp_)) goto LA18;
					i = i_2;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(i) >= (NU)((*result)._kind_6.sons ? (*result)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*result)._kind_6.sons ? (*result)._kind_6.sons->Sup.len : 0)-1); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(i) >= (NU)((*src)._kind_6.sons ? (*src)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*src)._kind_6.sons ? (*src)._kind_6.sons->Sup.len : 0)-1); }
					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), copyValue__UyDLGuBe1bDjMXME9b0kt3Q((*src)._kind_6.sons->data[i]));
					if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_183)) { raiseOverflow(); };
					i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_183);
				} LA18: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, asgnComplex__luZK66SNRzBExkuHaelzZA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(x, y.kind);
	switch ((*x).kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	{
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	{
		if (!(((4 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		if (!(((4 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		if (!(((8 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		if (!(((8 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		if (!(((2 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*x).node), copyValue__UyDLGuBe1bDjMXME9b0kt3Q(y.node));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		if (!(((16 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		if (!(((16 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		if (!(((32 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		if (!(((32 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		(*x).nodeAddr = y.nodeAddr;
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, fastAsgnComplex__luZK66SNRzBExkuHaelzZA_2)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(x, y.kind);
	switch ((*x).kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	{
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	{
		if (!(((4 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		if (!(((4 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		if (!(((8 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		if (!(((8 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		if (!(((2 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*x).node), y.node);
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		if (!(((16 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		if (!(((16 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		if (!(((32 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		if (!(((32 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		(*x).nodeAddr = y.nodeAddr;
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, moveConst__luZK66SNRzBExkuHaelzZA_3)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA y) {
	ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(x, y.kind);
	switch ((*x).kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	{
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	{
		if (!(((4 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		if (!(((4 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		if (!(((8 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		if (!(((8 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		if (!(((2 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*x).node), y.node);
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		if (!(((16 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		if (!(((16 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		if (!(((32 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		if (!(((32 &(1U<<((NU)(y.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		(*x).nodeAddr = y.nodeAddr;
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(void, writeField__GuWkkIoU9ccBLjbIJoyJPzw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA x) {
	switch (x.kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	{
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	{
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw T7_;
			if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA5_;
			nimZeroMem((void*)(&T7_), sizeof(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw));
			nimZeroMem((void*)(&T7_), sizeof(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw));
			T7_.kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6);
			genericShallowAssign((void*)(&(*(*n))), (void*)(&T7_), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
		}
		LA5_: ;
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*(*n)).kind)>>3] &(1U<<((NU)((*(*n)).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		if (!(((4 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
		(*(*n))._kind_1.intVal = x.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*(*n)).kind)>>3] &(1U<<((NU)((*(*n)).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
		if (!(((8 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
		(*(*n))._kind_2.floatVal = x.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		if (!(((2 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*n)), copyValue__UyDLGuBe1bDjMXME9b0kt3Q(x.node));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		if (!(((16 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
		writeField__GuWkkIoU9ccBLjbIJoyJPzw(n, (*x.regAddr));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		if (!(((32 &(1U<<((NU)(x.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
		unsureAsgnRef((void**) (&(*n)), (*x.nodeAddr));
	}
	break;
	}
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, derefPtrToReg__rneu4wkryXcUJeguyyc5lw)(NI64 address, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* r, NIM_BOOL isAssign) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
	{
		{
			if (!isAssign) goto LA4_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NI*) (address))) = ((NI) ((*r).intVal));
		}
		goto LA2_;
		LA4_: ;
		{
			NI valX60gensym58670092_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58670092_ = (*((NI*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58670092_));
		}
		LA2_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
	{
		{
			if (!isAssign) goto LA10_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if (((*r).intVal) < ((NI8) -128) || ((*r).intVal) > ((NI8) 127)){ raiseRangeErrorI((*r).intVal, ((NI8) -128), ((NI8) 127)); }
			(*((NI8*) (address))) = ((NI8) ((*r).intVal));
		}
		goto LA8_;
		LA10_: ;
		{
			NI8 valX60gensym58675202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58675202_ = (*((NI8*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58675202_));
		}
		LA8_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
	{
		{
			if (!isAssign) goto LA16_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if (((*r).intVal) < ((NI16) -32768) || ((*r).intVal) > ((NI16) 32767)){ raiseRangeErrorI((*r).intVal, ((NI16) -32768), ((NI16) 32767)); }
			(*((NI16*) (address))) = ((NI16) ((*r).intVal));
		}
		goto LA14_;
		LA16_: ;
		{
			NI16 valX60gensym58680202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58680202_ = (*((NI16*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58680202_));
		}
		LA14_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
	{
		{
			if (!isAssign) goto LA22_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if (((*r).intVal) < ((NI32) (-2147483647 -1)) || ((*r).intVal) > ((NI32) 2147483647)){ raiseRangeErrorI((*r).intVal, ((NI32) (-2147483647 -1)), ((NI32) 2147483647)); }
			(*((NI32*) (address))) = ((NI32) ((*r).intVal));
		}
		goto LA20_;
		LA22_: ;
		{
			NI32 valX60gensym58685202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58685202_ = (*((NI32*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58685202_));
		}
		LA20_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
	{
		{
			if (!isAssign) goto LA28_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NI64*) (address))) = (*r).intVal;
		}
		goto LA26_;
		LA28_: ;
		{
			NI64 valX60gensym58690202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58690202_ = (*((NI64*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = valX60gensym58690202_;
		}
		LA26_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
	{
		{
			if (!isAssign) goto LA34_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NU*) (address))) = ((NU) ((*r).intVal));
		}
		goto LA32_;
		LA34_: ;
		{
			NU valX60gensym58695202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58695202_ = (*((NU*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if ((NI64)(valX60gensym58695202_) < (IL64(-9223372036854775807) - IL64(1)) || (NI64)(valX60gensym58695202_) > IL64(9223372036854775807)){ raiseRangeErrorI(valX60gensym58695202_, (IL64(-9223372036854775807) - IL64(1)), IL64(9223372036854775807)); }
			(*r).intVal = ((NI64) (valX60gensym58695202_));
		}
		LA32_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
	{
		{
			if (!isAssign) goto LA40_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NU8*) (address))) = ((NU8) ((*r).intVal));
		}
		goto LA38_;
		LA40_: ;
		{
			NU8 valX60gensym58700202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58700202_ = (*((NU8*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58700202_));
		}
		LA38_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
	{
		{
			if (!isAssign) goto LA46_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NU16*) (address))) = ((NU16) ((*r).intVal));
		}
		goto LA44_;
		LA46_: ;
		{
			NU16 valX60gensym58705202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58705202_ = (*((NU16*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58705202_));
		}
		LA44_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
	{
		{
			if (!isAssign) goto LA52_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NU32*) (address))) = ((NU32) ((*r).intVal));
		}
		goto LA50_;
		LA52_: ;
		{
			NU32 valX60gensym58710202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58710202_ = (*((NU32*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*r).intVal = ((NI64) (valX60gensym58710202_));
		}
		LA50_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		{
			if (!isAssign) goto LA58_;
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			(*((NU64*) (address))) = ((NU64) ((*r).intVal));
		}
		goto LA56_;
		LA58_: ;
		{
			NU64 valX60gensym58715202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym58715202_ = (*((NU64*) (address)));
			if (!(((4 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if ((NI64)(valX60gensym58715202_) < (IL64(-9223372036854775807) - IL64(1)) || (NI64)(valX60gensym58715202_) > IL64(9223372036854775807)){ raiseRangeErrorI(valX60gensym58715202_, (IL64(-9223372036854775807) - IL64(1)), IL64(9223372036854775807)); }
			(*r).intVal = ((NI64) (valX60gensym58715202_));
		}
		LA56_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
	{
		{
			if (!isAssign) goto LA64_;
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*((NF*) (address))) = (*r).floatVal;
		}
		goto LA62_;
		LA64_: ;
		{
			NF valX60gensym58720202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym58720202_ = (*((NF*) (address)));
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*r).floatVal = valX60gensym58720202_;
		}
		LA62_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
	{
		{
			if (!isAssign) goto LA70_;
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*((NF32*) (address))) = ((NF32) ((*r).floatVal));
		}
		goto LA68_;
		LA70_: ;
		{
			NF32 valX60gensym58725202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym58725202_ = (*((NF32*) (address)));
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*r).floatVal = ((NF) (valX60gensym58725202_));
		}
		LA68_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
	{
		{
			if (!isAssign) goto LA76_;
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*((NF*) (address))) = (*r).floatVal;
		}
		goto LA74_;
		LA76_: ;
		{
			NF valX60gensym58730202_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym58730202_ = (*((NF*) (address)));
			if (!(((8 &(1U<<((NU)((*r).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			(*r).floatVal = valX60gensym58730202_;
		}
		LA74_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI64, pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem)(NI64 x, NI64 y) {
	NI64 result;
	result = (NI64)0;
	result = ((NI64) ((NU64)((NU64)(((NU64) (x))) + (NU64)(((NU64) (y))))));
	return result;
}
static N_INLINE(NI64, minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system)(NI64 x, NI64 y) {
	NI64 result;
	result = (NI64)0;
	result = ((NI64) ((NU64)((NU64)(((NU64) (x))) - (NU64)(((NU64) (y))))));
	return result;
}
static N_INLINE(NI, safeArrLen__P89cqdlERShb9alU3iC0yj8w_3ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3_;
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
		result = ((*n)._kind_3.strVal ? (*n)._kind_3.strVal->Sup.len : 0);
	}
	goto LA1_;
	LA3_: ;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19))) goto LA6_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA6_: ;
	{
		result = len__P89cqdlERShb9alU3iC0yj8wast(n);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI64, starpercent___diI9aRPc9bjx9bT39cDuabKh5A_3system)(NI64 x, NI64 y) {
	NI64 result;
	result = (NI64)0;
	result = ((NI64) ((NU64)((NU64)(((NU64) (x))) * (NU64)(((NU64) (y))))));
	return result;
}
static N_INLINE(NF, toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem)(NI64 i) {
	NF result;
	result = (NF)0;
	result = ((NF) (i));
	return result;
}
static N_INLINE(NF, abs__BRaAqinz6OWTHkALb4oj6Qsystem)(NF x) {
	NF result;
	result = (NF)0;
	{
		if (!(x < 0.0)) goto LA3_;
		result = -(x);
	}
	goto LA1_;
	LA3_: ;
	{
		result = x;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimDivInt64)(NI64 a, NI64 b, NI64* res) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a == (IL64(-9223372036854775807) - IL64(1)));
		if (!(T3_)) goto LA4_;
		T3_ = (b == IL64(-1));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA5_: ;
	{
		(*res) = (NI64)(a / b);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI64, slashpercent___diI9aRPc9bjx9bT39cDuabKh5A_4system)(NI64 x, NI64 y) {
	NI64 result;
	result = (NI64)0;
	result = ((NI64) ((NU64)((NU64)(((NU64) (x))) / (NU64)(((NU64) (y))))));
	return result;
}
static N_INLINE(NI64, percentpercent___diI9aRPc9bjx9bT39cDuabKh5A_5system)(NI64 x, NI64 y) {
	NI64 result;
	result = (NI64)0;
	result = ((NI64) ((NU64)((NU64)(((NU64) (x))) % (NU64)(((NU64) (y))))));
	return result;
}
static N_INLINE(NIM_BOOL, lteqpercent___m9aFrKvWqPsM3WKrwczIr9bA_2system)(NI64 x, NI64 y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU64) (x))) <= (NU64)(((NU64) (y))));
	return result;
}
static N_INLINE(NIM_BOOL, ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem)(NI64 x, NI64 y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU64) (x))) < (NU64)(((NU64) (y))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ptrEquality__U2MMUdMR4785sgEWgMubXw)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n1, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2) {
	NIM_BOOL result;
	NI p1;
{	result = (NIM_BOOL)0;
	p1 = ((NI) (ptrdiff_t) (n1));
	switch ((*n2).kind) {
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = (p1 == ((NI) 0));
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t2;
		NIM_BOOL T3_;
		t2 = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*n2).typ, abstractInst__dLigiD0wrfdW59cejPpTktA);
		T3_ = (NIM_BOOL)0;
		T3_ = ((69206016 &((NU64)1<<((NU)((*t2).kind)&63U)))!=0);
		if (!(T3_)) goto LA4_;
		if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*n2).kind)>>3] &(1U<<((NU)((*n2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
		T3_ = ((*n2)._kind_1.intVal == ((NI64) (p1)));
		LA4_: ;
		result = T3_;
		goto BeforeRet_;
	}
	break;
	default:
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt64)(NI64 a, NI64 b, NI64* res) {
	NIM_BOOL result;
	NI64 r;
	result = (NIM_BOOL)0;
	r = ((NI64) ((NU64)((NU64)(((NU64) (a))) - (NU64)(((NU64) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (IL64(0) <= (NI64)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (IL64(0) <= (NI64)(r ^ (NI64)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b) {
	NI result;
	NI alen;
	NI blen;
	NI minlen;
	result = (NI)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	minlen = ((alen <= blen) ? alen : blen);
	{
		int T5_;
		if (!(((NI) 0) < minlen)) goto LA3_;
		T5_ = (int)0;
		T5_ = memcmp(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((size_t) (minlen)));
		result = ((NI) (T5_));
		{
			if (!(result == ((NI) 0))) goto LA8_;
			result = (NI)(alen - blen);
		}
		LA8_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		result = (NI)(alen - blen);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, importcCond__FdCkMWi1o9ccnUFjzZDi9aUg_2vmgen)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA3_;
		{
			if (!((520192 &(1U<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
			if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*s).ast).kind)>>3] &(1U<<((NU)((*(*s).ast).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
			if ((NU)(((NI) 6)) >= (NU)((*(*s).ast)._kind_6.sons ? (*(*s).ast)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 6),((*(*s).ast)._kind_6.sons ? (*(*s).ast)._kind_6.sons->Sup.len : 0)-1); }
			result = ((*(*(*s).ast)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
			goto BeforeRet_;
		}
		LA7_: ;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, compile__wk4OXe22qII4FFHuYMKF5Q)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* s) {
	NI result;
	result = (NI)0;
	result = genProc__82SK3f7Ee6e9aktSfHKYXUw(c, s);
	return result;
}
static N_INLINE(NIM_BOOL, isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (t == NIM_NIL);
	if (T1_) goto LA2_;
	T1_ = ((IL64(-9223372036854775680) &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
	{
		if (!!(((*arg).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*arg).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA3_;
		(*arg).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
	}
	LA3_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(arg);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_269;
				if (!(i_2 < colontmp_)) goto LA7;
				i = i_2;
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*arg).kind)>>3] &(1U<<((NU)((*arg).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(i) >= (NU)((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*arg)._kind_6.sons ? (*arg)._kind_6.sons->Sup.len : 0)-1); }
				recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA((*arg)._kind_6.sons->data[i]);
				if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_269)) { raiseOverflow(); };
				i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_269);
			} LA7: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, pushSafePoint__9c3wdXJt9cBOX9cfwwm2N9cSCw)(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f, NI pc) {
	NI T1_;
	asgnRef((void**) (&(*f).safePoints), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*f).safePoints), (&NTI__qwqHTkRvwhrRyENtudHQ7g_)));
	T1_ = (*f).safePoints->Sup.len++;
	(*f).safePoints->data[T1_] = pc;
}
N_LIB_PRIVATE N_NIMCALL(void, popSafePoint__lyZ5BUI2R9aFaje5hbkhzkA)(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f) {
	NI T1_;
	T1_ = (NI)0;
	T1_ = pop__OC36rCceCM1GklRaGE2Ipwsystem((&(*f).safePoints));
	(void)(T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__DcoP8zLFnBpow03kFN9cGhg, findExceptionHandler__aTTkijnIoaKOYRFxgylqeg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* f, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exc) {
	tyTuple__DcoP8zLFnBpow03kFN9cGhg result;
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* raisedType;
	tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA colontmp__5;
	NI colontmp__6;
{	nimZeroMem((void*)(&result), sizeof(tyTuple__DcoP8zLFnBpow03kFN9cGhg));
	raisedType = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*exc).typ, IL64(36275087638309136));
	{
		while (1) {
			NI T3_;
			NI pc;
			NIM_BOOL matched;
			NI pcEndExcept;
			NI pcBody;
			T3_ = ((*f).safePoints ? (*f).safePoints->Sup.len : 0);
			if (!(((NI) 0) < T3_)) goto LA2;
			pc = pop__OC36rCceCM1GklRaGE2Ipwsystem((&(*f).safePoints));
			matched = NIM_FALSE;
			pcEndExcept = pc;
			{
				while (1) {
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_299;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_300;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_301;
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA5;
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
					if (nimAddInt(pc, ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_299)) { raiseOverflow(); };
					if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_299), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_300)) { raiseOverflow(); };
					pcEndExcept = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_300);
					if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_301)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_301);
					{
						while (1) {
							NI excIndex;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_302;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* exceptType;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_303;
							if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
							if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
							if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA7;
							if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
							if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
							if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_302)) { raiseOverflow(); };
							excIndex = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_302);
							{
								if (!(((NI) 0) < excIndex)) goto LA10_;
								if ((NU)(excIndex) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2(excIndex,((*c).types ? (*c).types->Sup.len : 0)-1); }
								exceptType = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*c).types->data[excIndex], IL64(36275087638309136));
							}
							goto LA8_;
							LA10_: ;
							{
								exceptType = NIM_NIL;
							}
							LA8_: ;
							{
								NIM_BOOL T15_;
								NI T17_;
								T15_ = (NIM_BOOL)0;
								T15_ = (exceptType == 0);
								if (T15_) goto LA16_;
								T17_ = (NI)0;
								T17_ = inheritanceDiff__1dM2iQB5qStJfnn3684ijQ_2(raisedType, exceptType);
								T15_ = (T17_ <= ((NI) 0));
								LA16_: ;
								if (!T15_) goto LA18_;
								matched = NIM_TRUE;
								goto LA6;
							}
							LA18_: ;
							if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_303)) { raiseOverflow(); };
							pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_303);
						} LA7: ;
					} LA6: ;
					{
						while (1) {
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_304;
							if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
							if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
							if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA21;
							if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_304)) { raiseOverflow(); };
							pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_304);
						} LA21: ;
					}
					{
						if (!matched) goto LA24_;
						goto LA4;
					}
					LA24_: ;
					pc = pcEndExcept;
				} LA5: ;
			} LA4: ;
			pcBody = pc;
			{
				tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA colontmp_;
				NI colontmp__2;
				if (!matched) goto LA28_;
				colontmp_ = ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 0);
				colontmp__2 = pcBody;
				result.Field0 = colontmp_;
				result.Field1 = colontmp__2;
				goto BeforeRet_;
			}
			goto LA26_;
			LA28_: ;
			{
				tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA colontmp__3;
				NI colontmp__4;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_305;
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
				if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166))) goto LA31_;
				colontmp__3 = ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 1);
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_305)) { raiseOverflow(); };
				colontmp__4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_305);
				result.Field0 = colontmp__3;
				result.Field1 = colontmp__4;
				goto BeforeRet_;
			}
			goto LA26_;
			LA31_: ;
			LA26_: ;
		} LA2: ;
	}
	colontmp__5 = ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 2);
	colontmp__6 = ((NI) 0);
	result.Field0 = colontmp__5;
	result.Field1 = colontmp__6;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, bailOut__vuzXeK4eFbZMGAAkgUbVwg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos) {
	NimStringDesc* T1_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
{	T1_ = (NimStringDesc*)0;
	if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).currentExceptionA).kind)>>3] &(1U<<((NU)((*(*c).currentExceptionA).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
	if ((NU)(((NI) 3)) >= (NU)((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 3),((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)-1); }
	T2_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T2_ = skipColon__6HTnbQSyt2cHxsWfF3vG0A((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 3)]);
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*T2_).kind)>>3] &(1U<<((NU)((*T2_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
	if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).currentExceptionA).kind)>>3] &(1U<<((NU)((*(*c).currentExceptionA).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
	if ((NU)(((NI) 2)) >= (NU)((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 2),((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)-1); }
	T3_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T3_ = skipColon__6HTnbQSyt2cHxsWfF3vG0A((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 2)]);
	if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*T3_).kind)>>3] &(1U<<((NU)((*T3_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
	T1_ = rawNewString(((*T2_)._kind_3.strVal ? (*T2_)._kind_3.strVal->Sup.len : 0) + ((*T3_)._kind_3.strVal ? (*T3_)._kind_3.strVal->Sup.len : 0) + 24);
appendString(T1_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_308));
appendString(T1_, (*T2_)._kind_3.strVal);
appendString(T1_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_309));
appendString(T1_, (*T3_)._kind_3.strVal);
appendString(T1_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_254));
	if ((NU)((*c).exceptionInstr) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2((*c).exceptionInstr,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
	stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos, (*c).exceptionInstr, T1_, (*c).debug->data[(*c).exceptionInstr]);
	goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, setLenSeq__KXA4RY1gNwE3eOYKOBnMZw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, NI newLen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
	tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
	NI oldLen;
	typ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*node).typ, IL64(36134350136322064));
	oldLen = len__P89cqdlERShb9alU3iC0yj8wast(node);
	if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*node).kind)>>3] &(1U<<((NU)((*node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
	if ((newLen) < ((NI) 0) || (newLen) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(newLen, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	asgnRef((void**) (&(*node)._kind_6.sons), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*node)._kind_6.sons)->Sup, (&NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (newLen))));
	{
		if (!(oldLen < newLen)) goto LA3_;
		{
			NI i;
			NI i_2;
			i = (NI)0;
			i_2 = oldLen;
			{
				while (1) {
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_330;
					if (!(i_2 < newLen)) goto LA7;
					i = i_2;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*node).kind)>>3] &(1U<<((NU)((*node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(i) >= (NU)((*node)._kind_6.sons ? (*node)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*node)._kind_6.sons ? (*node)._kind_6.sons->Sup.len : 0)-1); }
					if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1); }
					asgnRef((void**) (&(*node)._kind_6.sons->data[i]), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA((*typ).sons->data[((NI) 0)], info, (*c).config));
					if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_330)) { raiseOverflow(); };
					i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_330);
				} LA7: ;
			}
		}
	}
	LA3_: ;
}
static N_INLINE(NIM_BOOL, lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system)(NI x, NI y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((NU64)(((NU) (x))) <= (NU64)(((NU) (y))));
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___6EfduEPFujEgbQYzbi9aI3w)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0) {
	tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw* colonenvP_;
	colonenvP_ = (tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*) ClE_0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*colonenvP_).error1 ? (*colonenvP_).error1->Sup.len : 0) == ((NI) 0));
		if (!(T3_)) goto LA4_;
		T3_ = (msg <= ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 11));
		LA4_: ;
		if (!T3_) goto LA5_;
		asgnRef((void**) (&(*colonenvP_).error1), formatMsg__1JLtPXtBEOA0aYSS8UEJDw(conf, info, msg, arg));
	}
	LA5_: ;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___6EfduEPFujEgbQYzbi9aI3w_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0) {
	tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw* colonenvP_;
	colonenvP_ = (tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*) ClE_0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((*colonenvP_).error2 ? (*colonenvP_).error2->Sup.len : 0) == ((NI) 0));
		if (!(T3_)) goto LA4_;
		T3_ = (msg <= ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 11));
		LA4_: ;
		if (!T3_) goto LA5_;
		asgnRef((void**) (&(*colonenvP_).error2), formatMsg__1JLtPXtBEOA0aYSS8UEJDw(conf, info, msg, arg));
	}
	LA5_: ;
}
static N_INLINE(NIM_BOOL, eqeq___aqip9cmQIuefPKdd25wuEEwsystem)(NCSTRING x, NCSTRING y) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = (x == 0);
		if (T6_) goto LA7_;
		T6_ = (y == 0);
		LA7_: ;
		if (!T6_) goto LA8_;
		result = NIM_FALSE;
	}
	goto LA1_;
	LA8_: ;
	{
		int T11_;
		T11_ = (int)0;
		T11_ = strcmp(x, y);
		result = (T11_ == ((NI32) 0));
	}
	LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimMulInt64)(NI64 a, NI64 b, NI64* res) {
	NIM_BOOL result;
	NI64 r;
	NF floatProd;
	NF T1_;
	NF T2_;
	NF resAsFloat;
	result = (NIM_BOOL)0;
	r = ((NI64) ((NU64)((NU64)(((NU64) (a))) * (NU64)(((NU64) (b))))));
	T1_ = (NF)0;
	T1_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(a);
	T2_ = (NF)0;
	T2_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(b);
	floatProd = ((NF)(T1_) * (NF)(T2_));
	resAsFloat = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(r);
	{
		if (!(resAsFloat == floatProd)) goto LA5_;
		(*res) = r;
	}
	goto LA3_;
	LA5_: ;
	{
		{
			NF T10_;
			NF T11_;
			T10_ = (NF)0;
			T10_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(((NF)(resAsFloat) - (NF)(floatProd)));
			T11_ = (NF)0;
			T11_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(floatProd);
			if (!(((NF)(3.2000000000000000e+01) * (NF)(T10_)) <= T11_)) goto LA12_;
			(*res) = r;
		}
		goto LA8_;
		LA12_: ;
		{
			result = NIM_TRUE;
		}
		LA8_: ;
	}
	LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, opConv__Fsv5V3BiOZ6CCSNA7nIsSg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* dest, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA src, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* styp;
		if (!((*desttyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA3_;
		ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
		if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*dest).node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
		styp = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
		switch ((*styp).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
			NI x;
			n = (*styp).n;
			if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			x = ((NI) (src.intVal));
			{
				NIM_BOOL T8_;
				NI T9_;
				tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* f;
				T8_ = (NIM_BOOL)0;
				T9_ = (NI)0;
				T9_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
				T8_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(x, T9_);
				if (!(T8_)) goto LA10_;
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(x) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(x,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*n)._kind_6.sons->data[x]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[x]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
				f = (*(*n)._kind_6.sons->data[x])._kind_4.sym;
				T8_ = ((*f).position == x);
				LA10_: ;
				if (!T8_) goto LA11_;
				if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				{
					NimStringDesc* T17_;
					if (!((*f).ast == 0)) goto LA15_;
					T17_ = (NimStringDesc*)0;
					T17_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*(*f).name).s);
					if (T17_) nimGCunrefNoCycle(T17_);
				}
				goto LA13_;
				LA15_: ;
				{
					NimStringDesc* T19_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*f).ast).kind)>>3] &(1U<<((NU)((*(*f).ast).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T19_ = (NimStringDesc*)0;
					T19_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*(*f).ast)._kind_3.strVal);
					if (T19_) nimGCunrefNoCycle(T19_);
				}
				LA13_: ;
			}
			goto LA6_;
			LA11_: ;
			{
				NimStringDesc* T39_;
				NimStringDesc* T40_;
				{
					NI i;
					NI colontmp_;
					NI i_2;
					i = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
					i_2 = ((NI) 0);
					{
						while (1) {
							tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* f_2;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_370;
							if (!(i_2 < colontmp_)) goto LA23;
							i = i_2;
							{
								if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
								if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
								if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA26_;
								internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_369));
							}
							LA26_: ;
							if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
							if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*n)._kind_6.sons->data[i]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[i]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
							f_2 = (*(*n)._kind_6.sons->data[i])._kind_4.sym;
							{
								if (!((*f_2).position == x)) goto LA30_;
								if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
								if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
								{
									NimStringDesc* T36_;
									if (!((*f_2).ast == 0)) goto LA34_;
									T36_ = (NimStringDesc*)0;
									T36_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*(*f_2).name).s);
									if (T36_) nimGCunrefNoCycle(T36_);
								}
								goto LA32_;
								LA34_: ;
								{
									NimStringDesc* T38_;
									if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*f_2).ast).kind)>>3] &(1U<<((NU)((*(*f_2).ast).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
									T38_ = (NimStringDesc*)0;
									T38_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*(*f_2).ast)._kind_3.strVal);
									if (T38_) nimGCunrefNoCycle(T38_);
								}
								LA32_: ;
								goto BeforeRet_;
							}
							LA30_: ;
							if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_370)) { raiseOverflow(); };
							i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_370);
						} LA23: ;
					}
				}
				if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T39_ = (NimStringDesc*)0;
				T40_ = (NimStringDesc*)0;
				T40_ = nimIntToStr(x);
				T39_ = rawNewString(((*(*(*styp).sym).name).s ? (*(*(*styp).sym).name).s->Sup.len : 0) + (T40_ ? T40_->Sup.len : 0) + 1);
appendString(T39_, (*(*(*styp).sym).name).s);
appendString(T39_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_371));
appendString(T39_, T40_);
				asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), T39_);
			}
			LA6_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
		{
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimInt64ToStr(src.intVal));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
		{
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), dollar___RkX9btpg5sQIaP8yYXB6tbA(((NU64) (src.intVal))));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
		{
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			{
				NimStringDesc* T48_;
				if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (!(src.intVal == IL64(0))) goto LA46_;
				T48_ = (NimStringDesc*)0;
				T48_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_372));
				if (T48_) nimGCunrefNoCycle(T48_);
			}
			goto LA44_;
			LA46_: ;
			{
				NimStringDesc* T50_;
				T50_ = (NimStringDesc*)0;
				T50_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_373));
				if (T50_) nimGCunrefNoCycle(T50_);
			}
			LA44_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
		{
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			if (!(((8 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimFloatToStr(src.floatVal));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		{
			NimStringDesc* T53_;
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			if (!(((2 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src.node).kind)>>3] &(1U<<((NU)((*src.node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			T53_ = (NimStringDesc*)0;
			T53_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*src.node)._kind_3.strVal);
			if (T53_) nimGCunrefNoCycle(T53_);
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
		{
			{
				NimStringDesc* strVal;
				NimStringDesc* T72_;
				if (!(((2 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!((*src.node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA57_;
				strVal = ((NimStringDesc*) NIM_NIL);
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son;
					tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
					NI i_3;
					NI L;
					NI T60_;
					son = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					colontmp__2 = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
					if (!(((2 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src.node).kind)>>3] &(1U<<((NU)((*src.node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					colontmp__2 = (*src.node)._kind_6.sons;
					i_3 = ((NI) 0);
					T60_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
					L = T60_;
					{
						while (1) {
							NIM_CHAR c_2;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_374;
							if (!(i_3 < L)) goto LA62;
							if ((NU)(i_3) >= (NU)(colontmp__2 ? colontmp__2->Sup.len : 0)){ raiseIndexError2(i_3,(colontmp__2 ? colontmp__2->Sup.len : 0)-1); }
							son = colontmp__2->data[i_3];
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*son).kind)>>3] &(1U<<((NU)((*son).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
							if (((*son)._kind_1.intVal) < 0 || ((*son)._kind_1.intVal) > 255){ raiseRangeErrorU((*son)._kind_1.intVal, 0, 255); }
							c_2 = ((NIM_CHAR) ((*son)._kind_1.intVal));
							{
								if (!((NU8)(c_2) == (NU8)(0))) goto LA65_;
								goto LA59;
							}
							LA65_: ;
							strVal = addChar(strVal, c_2);
							if (nimAddInt(i_3, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_374)) { raiseOverflow(); };
							i_3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_374);
							{
								NI T69_;
								T69_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
								if (!!((T69_ == L))) goto LA70_;
								failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_90));
							}
							LA70_: ;
						} LA62: ;
					}
				} LA59: ;
				if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T72_ = (NimStringDesc*)0;
				T72_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1(strVal);
				if (T72_) nimGCunrefNoCycle(T72_);
			}
			goto LA55_;
			LA57_: ;
			{
				NimStringDesc* T74_;
				if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if (!(((2 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src.node).kind)>>3] &(1U<<((NU)((*src.node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T74_ = (NimStringDesc*)0;
				T74_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*src.node)._kind_3.strVal);
				if (T74_) nimGCunrefNoCycle(T74_);
			}
			LA55_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
		{
			if (!(((2 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
			if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*(*dest).node).kind)>>3] &(1U<<((NU)((*(*dest).node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
			if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			if ((src.intVal) < ((NI) 0) || (src.intVal) > ((NI) 255)){ raiseRangeErrorI(src.intVal, ((NI) 0), ((NI) 255)); }
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimCharToStr(((NIM_CHAR) (((NI) (src.intVal))))));
		}
		break;
		default:
		{
			NimStringDesc* T77_;
			NimStringDesc* T78_;
			T77_ = (NimStringDesc*)0;
			T78_ = (NimStringDesc*)0;
			T78_ = typeToString__QlvraUan7WbHowhAbvDvdA(desttyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T77_ = rawNewString((T78_ ? T78_->Sup.len : 0) + 25);
appendString(T77_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_375));
appendString(T77_, T78_);
			internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, T77_);
		}
		break;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T80_;
		T80_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T80_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(desttyp, IL64(36134350144710928));
		switch ((*T80_).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T82_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			T82_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T82_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T82_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (!(((8 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				(*dest).intVal = ((NI64) (((NI) (src.floatVal))));
			}
			break;
			default:
			{
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				(*dest).intVal = src.intVal;
			}
			break;
			}
			{
				NIM_BOOL T87_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T89_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T91_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T92_;
				T87_ = (NIM_BOOL)0;
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T88_ = toInt128__ZBiVpGjOydV7ZjeElrE9cFQ((*dest).intVal);
				T89_ = firstOrd__hjogdnp59cMX1rwmjikBhqw((*c).config, desttyp);
				T87_ = lt___7c5Zw7H31uJfWmmhZe9aEqw_3(T88_, T89_);
				if (T87_) goto LA90_;
				T91_ = lastOrd__hjogdnp59cMX1rwmjikBhqw_2((*c).config, desttyp);
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T92_ = toInt128__ZBiVpGjOydV7ZjeElrE9cFQ((*dest).intVal);
				T87_ = lt___7c5Zw7H31uJfWmmhZe9aEqw_3(T91_, T92_);
				LA90_: ;
				if (!T87_) goto LA93_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			LA93_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T96_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			T96_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T96_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T96_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (!(((8 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				(*dest).intVal = ((NI64) (((NI) (src.floatVal))));
			}
			break;
			default:
			{
				NI64 srcDist;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_376;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_377;
				NI64 destDist;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_378;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_379;
				NU64 value;
				if (nimSubInt64(IL64(8), (*srctyp).size, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_376)) { raiseOverflow(); };
				if (nimMulInt64((NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_376), IL64(8), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_377)) { raiseOverflow(); };
				srcDist = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_377);
				if (nimSubInt64(IL64(8), (*desttyp).size, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_378)) { raiseOverflow(); };
				if (nimMulInt64((NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_378), IL64(8), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_379)) { raiseOverflow(); };
				destDist = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_379);
				if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				value = ((NU64) (src.intVal));
				value = (NU64)((NU64)((NU64)((NU64)(value) << (NU64)(srcDist))) >> (NU64)(srcDist));
				value = (NU64)((NU64)((NU64)((NU64)(value) << (NU64)(destDist))) >> (NU64)(destDist));
				if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				(*dest).intVal = ((NI64) (value));
			}
			break;
			}
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
		{
			NI T100_;
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T101_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			if (!(((4 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
			T100_ = (NI)0;
			T101_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T101_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T101_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				if (!(((8 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				T100_ = ((NI) (!((src.floatVal == 0.0))));
			}
			break;
			default:
			{
				if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T100_ = ((NI) (!((src.intVal == IL64(0)))));
			}
			break;
			}
			(*dest).intVal = ((NI64) (T100_));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T105_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			T105_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T105_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T105_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
			{
				if (!(((8 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if (!(((4 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				(*dest).floatVal = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(src.intVal);
			}
			break;
			default:
			{
				if (!(((8 &(1U<<((NU)((*dest).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if (!(((8 &(1U<<((NU)(src.kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				(*dest).floatVal = src.floatVal;
			}
			break;
			}
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
		{
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T111_;
				T111_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
				T111_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350144710928));
				if (!!(((*T111_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA112_;
				internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_380));
			}
			LA112_: ;
			moveConst__luZK66SNRzBExkuHaelzZA_3(dest, src);
		}
		break;
		default:
		{
			asgnComplex__luZK66SNRzBExkuHaelzZA(dest, src);
		}
		break;
		}
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt64)(NI64 a, NI64 b, NI64* res) {
	NIM_BOOL result;
	NI64 r;
	result = (NIM_BOOL)0;
	r = ((NI64) ((NU64)((NU64)(((NU64) (a))) + (NU64)(((NU64) (b))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (IL64(0) <= (NI64)(r ^ a));
		if (T3_) goto LA4_;
		T3_ = (IL64(0) <= (NI64)(r ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		(*res) = r;
	}
	goto LA1_;
	LA5_: ;
	{
		result = NIM_TRUE;
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, len__8UGkwK9cZDAmWMyHxdOt9bsAbtrees)(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg b) {
	NI result;
	result = (NI)0;
	result = b.entries;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createStrKeepNode__LpB9aVgxJQWwIAx62EyhZoA)(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* x, NIM_BOOL keepNode) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		T3_ = ((*x).node == 0);
		if (T3_) goto LA4_;
		T3_ = !(keepNode);
		LA4_: ;
		if (!T3_) goto LA5_;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*x).node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw T12_;
		T8_ = (NIM_BOOL)0;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		T8_ = ((*(*x).node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
		if (!(T8_)) goto LA9_;
		T8_ = keepNode;
		LA9_: ;
		if (!T8_) goto LA10_;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		nimZeroMem((void*)(&T12_), sizeof(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw));
		nimZeroMem((void*)(&T12_), sizeof(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw));
		T12_.kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20);
		genericShallowAssign((void*)(&(*(*x).node)), (void*)(&T12_), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
	}
	goto LA1_;
	LA10_: ;
	{
		NIM_BOOL T14_;
		T14_ = (NIM_BOOL)0;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		T14_ = !(((*(*x).node).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*x).node).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
		if (T14_) goto LA15_;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		T14_ = (((*(*x).node).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4))&31U)))!=0);
		LA15_: ;
		if (!T14_) goto LA16_;
		if (!(((2 &(1U<<((NU)((*x).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
		unsureAsgnRef((void**) (&(*x).node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	}
	goto LA1_;
	LA16_: ;
	LA1_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawExecute__hemGrN9b53Mp9aLYjv1tCS5g)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result) {
	tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw* colonenv_;
	NI pc;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos_2;
	NI savedPC;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* savedFrame;
	tySequence__jlXqfsdfoRhiIfoVNWV0Vw* regs;
{	chckNil((void*)Result);
	switch ((*Result).kind) {
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
	(*Result).intVal = 0;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	(*Result).floatVal = 0;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	unsureAsgnRef((void**)&(*Result).node, NIM_NIL);
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	(*Result).regAddr = NIM_NIL;
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	(*Result).nodeAddr = NIM_NIL;
	break;
	} 
	(*Result).kind = 0;
	colonenv_ = (tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*)0;
	colonenv_ = (tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*) newObj((&NTI__i0OKJxPqBBZH5nTqNgi3yQ_), sizeof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw));
	(*colonenv_).Sup.m_type = (&NTI__jd629aT6A2Mu9ci3rTLr9bzFw_);
	pc = start;
	tos_2 = tos;
	savedPC = ((NI) -1);
	savedFrame = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
	regs = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*)0;
	regs = (*tos_2).slots;
	{
		while (1) {
			NU64 instr;
			NI ra;
			NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_404;
			if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
			instr = (*c).code->data[pc];
			if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
			ra = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
			if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
			switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)))) {
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0):
			{
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				genericAssign((void*)Result, (void*)(&regs->data[ra]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1):
			{
				NI newPc;
				newPc = cleanUpOnReturn__ci9cFKwbo1EXWrDLm9ah4isA(c, tos_2);
				{
					tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA retVal;
					if (!(newPc < ((NI) 0))) goto LA7_;
					pc = (*tos_2).comesFrom;
					tos_2 = (*tos_2).next;
					nimZeroMem((void*)(&retVal), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
					if ((NU)(((NI) 0)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(((NI) 0),(regs ? regs->Sup.len : 0)-1); }
					nimCopyMem((void*)(&retVal), (NIM_CONST void*)(&regs->data[((NI) 0)]), sizeof(retVal));
					{
						if (!(tos_2 == 0)) goto LA11_;
						genericAssign((void*)Result, (void*)(&retVal), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
						goto BeforeRet_;
					}
					LA11_: ;
					regs = (*tos_2).slots;
					{
						if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
						if (!!(((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152) || (NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153)))) goto LA15_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_172));
					}
					LA15_: ;
					{
						if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
						if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153))) goto LA19_;
						if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
						if ((NU)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
						genericAssign((void*)(&regs->data[(NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)]), (void*)(&retVal), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
					}
					LA19_: ;
				}
				goto LA5_;
				LA7_: ;
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_173;
					savedPC = pc;
					savedFrame = tos_2;
					if (nimSubInt(newPc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_173)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_173);
				}
				LA5_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 2):
			{
				{
					if (!NIM_TRUE) goto LA25_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_174));
				}
				LA25_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 3):
			{
				{
					if (!NIM_TRUE) goto LA30_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_175));
				}
				LA30_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4):
			{
				NI rb;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = regs->data[rb].intVal;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5):
			{
				NI rb_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_2,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = regs->data[rb_2].floatVal;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10):
			{
				NI rb_3;
				union { NF32 source; NI32 dest; } LOC35;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_3,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				LOC35.source = ((NF32) (regs->data[rb_3].floatVal));
				regs->data[ra].intVal = ((NI64) (LOC35.dest));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11):
			{
				NI rb_4;
				union { NF source; NI64 dest; } LOC37;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_4,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				LOC37.source = regs->data[rb_4].floatVal;
				regs->data[ra].intVal = LOC37.dest;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8):
			{
				NI rb_5;
				union { NI64 source; NF32 dest; } LOC39;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_5) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_5,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_5].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				LOC39.source = regs->data[rb_5].intVal;
				regs->data[ra].floatVal = ((NF) (LOC39.dest));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9):
			{
				NI rb_6;
				union { NI64 source; NF dest; } LOC41;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_6 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_6) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_6,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_6].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				LOC41.source = regs->data[rb_6].intVal;
				regs->data[ra].floatVal = LOC41.dest;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12):
			{
				NI rb_7;
				NI imm;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_176;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_7 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176)) { raiseOverflow(); };
				imm = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_176);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				switch (imm) {
				case ((NI) 1):
				{
					if ((NU)(rb_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_7,(regs ? regs->Sup.len : 0)-1); }
					switch (regs->data[rb_7].kind) {
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
					{
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if ((NU)(rb_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_7,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_7].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*regs->data[rb_7].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_7].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
						regs->data[ra].intVal = ((NI64) (((NI) ((*regs->data[rb_7].node)._kind_1.intVal))));
					}
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
					{
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if ((NU)(rb_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_7,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[rb_7].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						regs->data[ra].intVal = ((NI64) (((NI) (ptrdiff_t) (regs->data[rb_7].nodeAddr))));
					}
					break;
					default:
					{
						NimStringDesc* T47_;
						T47_ = (NimStringDesc*)0;
						if ((NU)(rb_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_7,(regs ? regs->Sup.len : 0)-1); }
						T47_ = rawNewString((reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 21);
appendString(T47_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_177));
appendString(T47_, reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T47_, (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					break;
					}
				}
				break;
				case ((NI) 2):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rb_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_7,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_7].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					regs->data[ra].intVal = ((NI64) (((NI) (regs->data[rb_7].node))));
				}
				break;
				default:
				{
					{
						NimStringDesc* T54_;
						NimStringDesc* T55_;
						if (!NIM_TRUE) goto LA52_;
						T54_ = (NimStringDesc*)0;
						T55_ = (NimStringDesc*)0;
						T55_ = nimIntToStr(imm);
						T54_ = rawNewString((T55_ ? T55_->Sup.len : 0) + 24);
appendString(T54_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_178));
appendString(T54_, T55_);
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T54_);
					}
					LA52_: ;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13):
			{
				NI rb_8;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_8 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				typ = (*regs->data[ra].node).typ;
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				node2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*c).debug->data[pc], typ);
				if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
				switch (regs->data[rb_8].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node2).kind)>>3] &(1U<<((NU)((*node2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rb_8].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					(*node2)._kind_1.intVal = regs->data[rb_8].intVal;
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						NimStringDesc* T63_;
						if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_8].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!!(((69206016 &((NU64)1<<((NU)((*(*regs->data[rb_8].node).typ).kind)&63U)))!=0))) goto LA61_;
						T63_ = (NimStringDesc*)0;
						if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_8].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T63_ = rawNewString((reprEnum((NI)(*(*regs->data[rb_8].node).typ).kind, (&NTI__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*(*regs->data[rb_8].node).typ).kind, (&NTI__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 36);
appendString(T63_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_179));
appendString(T63_, reprEnum((NI)(*(*regs->data[rb_8].node).typ).kind, (&NTI__9a3YiReNVD0IJHWFKgXRe9ag_)));
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T63_, (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA61_: ;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node2).kind)>>3] &(1U<<((NU)((*node2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_8].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*regs->data[rb_8].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_8].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					(*node2)._kind_1.intVal = (*regs->data[rb_8].node)._kind_1.intVal;
				}
				break;
				default:
				{
					NimStringDesc* T65_;
					T65_ = (NimStringDesc*)0;
					if ((NU)(rb_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_8,(regs ? regs->Sup.len : 0)-1); }
					T65_ = rawNewString((reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 32);
appendString(T65_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_180));
appendString(T65_, reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T65_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				}
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), node2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7):
			{
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if ((NU)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				asgnComplex__luZK66SNRzBExkuHaelzZA((&regs->data[ra]), regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14):
			{
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if ((NU)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				fastAsgnComplex__luZK66SNRzBExkuHaelzZA_2((&regs->data[ra]), regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6):
			{
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if ((NU)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				moveConst__luZK66SNRzBExkuHaelzZA_3((&regs->data[ra]), regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 15):
			{
				NI ra_2;
				NI rb_9;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				ra_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_9 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				{
					if ((NU)(rb_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_9,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_9].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA72_;
					if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
					if ((NU)(rb_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_9,(regs ? regs->Sup.len : 0)-1); }
					genericAssign((void*)(&regs->data[ra_2]), (void*)(&regs->data[rb_9]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				goto LA70_;
				LA72_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nb;
					{
						if ((NU)(rb_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_9,(regs ? regs->Sup.len : 0)-1); }
						if (!!((regs->data[rb_9].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA77_;
						failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_184));
					}
					LA77_: ;
					if ((NU)(rb_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_9,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_9].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					nb = regs->data[rb_9].node;
					switch ((*nb).kind) {
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
					{
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*nb).kind)>>3] &(1U<<((NU)((*nb).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
						regs->data[ra_2].intVal = (*nb)._kind_1.intVal;
					}
					break;
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
					{
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						if (!(((8 &(1U<<((NU)(regs->data[ra_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*nb).kind)>>3] &(1U<<((NU)((*nb).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
						regs->data[ra_2].floatVal = (*nb)._kind_2.floatVal;
					}
					break;
					default:
					{
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if ((NU)(ra_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_2,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						asgnRef((void**) (&regs->data[ra_2].node), nb);
					}
					break;
					}
				}
				LA70_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16):
			{
				NI rb_10;
				NI rc;
				NI idx;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_10 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					NimStringDesc* T87_;
					if ((NU)(rc) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(IL64(9223372036854775807) < regs->data[rc].intVal)) goto LA85_;
					T87_ = (NimStringDesc*)0;
					{
						if (!NIM_FALSE) goto LA90_;
						T87_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA88_;
					LA90_: ;
					{
						NimStringDesc* T93_;
						NimStringDesc* T94_;
						T93_ = (NimStringDesc*)0;
						if ((NU)(rc) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[rc].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						T94_ = (NimStringDesc*)0;
						T94_ = nimInt64ToStr(regs->data[rc].intVal);
						T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 38);
appendString(T93_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T93_, T94_);
appendString(T93_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_187));
						T87_ = T93_;
					}
					LA88_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T87_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA85_: ;
				if ((NU)(rc) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx = ((NI) (regs->data[rc].intVal));
				if ((NU)(rb_10) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_10,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_10].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				src = regs->data[rb_10].node;
				{
					if (!((*src).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*src).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA97_;
					{
						NIM_BOOL T101_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						T101_ = (NIM_BOOL)0;
						T101_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx, ((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0));
						if (!T101_) goto LA102_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), (*c).debug->data[pc]));
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						if ((NU)(idx) >= (NU)((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0)){ raiseIndexError2(idx,((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0)-1); }
						(*regs->data[ra].node)._kind_1.intVal = ((NI64) (((NU8)((*src)._kind_3.strVal->data[idx]))));
					}
					goto LA99_;
					LA102_: ;
					{
						NimStringDesc* T105_;
						T105_ = (NimStringDesc*)0;
						{
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_188;
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
							if (nimSubInt(((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_188)) { raiseOverflow(); };
							if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_188) < ((NI) 0))) goto LA108_;
							T105_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
						}
						goto LA106_;
						LA108_: ;
						{
							NimStringDesc* T111_;
							NimStringDesc* T112_;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_190;
							NimStringDesc* T113_;
							T111_ = (NimStringDesc*)0;
							T112_ = (NimStringDesc*)0;
							T112_ = nimIntToStr(idx);
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
							if (nimSubInt(((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_190)) { raiseOverflow(); };
							T113_ = (NimStringDesc*)0;
							T113_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_190));
							T111_ = rawNewString((T112_ ? T112_->Sup.len : 0) + (T113_ ? T113_->Sup.len : 0) + 19);
appendString(T111_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T111_, T112_);
appendString(T111_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T111_, T113_);
							T105_ = T111_;
						}
						LA106_: ;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T105_, (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA99_: ;
				}
				goto LA95_;
				LA97_: ;
				{
					NIM_BOOL T115_;
					NI T117_;
					T115_ = (NIM_BOOL)0;
					T115_ = !(((*src).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19)));
					if (!(T115_)) goto LA116_;
					T117_ = (NI)0;
					T117_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
					T115_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx, T117_);
					LA116_: ;
					if (!T115_) goto LA118_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src).kind)>>3] &(1U<<((NU)((*src).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx) >= (NU)((*src)._kind_6.sons ? (*src)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx,((*src)._kind_6.sons ? (*src)._kind_6.sons->Sup.len : 0)-1); }
					asgnRef((void**) (&regs->data[ra].node), (*src)._kind_6.sons->data[idx]);
				}
				goto LA95_;
				LA118_: ;
				{
					NimStringDesc* T121_;
					T121_ = (NimStringDesc*)0;
					{
						NI T124_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_191;
						T124_ = (NI)0;
						T124_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
						if (nimSubInt(T124_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_191)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_191) < ((NI) 0))) goto LA125_;
						T121_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA122_;
					LA125_: ;
					{
						NimStringDesc* T128_;
						NimStringDesc* T129_;
						NI T130_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_192;
						NimStringDesc* T131_;
						T128_ = (NimStringDesc*)0;
						T129_ = (NimStringDesc*)0;
						T129_ = nimIntToStr(idx);
						T130_ = (NI)0;
						T130_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
						if (nimSubInt(T130_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_192)) { raiseOverflow(); };
						T131_ = (NimStringDesc*)0;
						T131_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_192));
						T128_ = rawNewString((T129_ ? T129_->Sup.len : 0) + (T131_ ? T131_->Sup.len : 0) + 19);
appendString(T128_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T128_, T129_);
appendString(T128_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T128_, T131_);
						T121_ = T128_;
					}
					LA122_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T121_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA95_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17):
			{
				NI rb_11;
				NI rc_2;
				NI idx_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_11 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					NimStringDesc* T137_;
					if ((NU)(rc_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_2,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(IL64(9223372036854775807) < regs->data[rc_2].intVal)) goto LA135_;
					T137_ = (NimStringDesc*)0;
					{
						if (!NIM_FALSE) goto LA140_;
						T137_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA138_;
					LA140_: ;
					{
						NimStringDesc* T143_;
						NimStringDesc* T144_;
						T143_ = (NimStringDesc*)0;
						if ((NU)(rc_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_2,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[rc_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						T144_ = (NimStringDesc*)0;
						T144_ = nimInt64ToStr(regs->data[rc_2].intVal);
						T143_ = rawNewString((T144_ ? T144_->Sup.len : 0) + 38);
appendString(T143_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T143_, T144_);
appendString(T143_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_187));
						T137_ = T143_;
					}
					LA138_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T137_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA135_: ;
				if ((NU)(rc_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_2,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_2 = ((NI) (regs->data[rc_2].intVal));
				{
					if ((NU)(rb_11) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_11,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rb_11].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA147_;
					if ((NU)(rb_11) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_11,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_11].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					src_2 = regs->data[rb_11].node;
				}
				goto LA145_;
				LA147_: ;
				{
					if ((NU)(rb_11) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_11,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[rb_11].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					src_2 = (*regs->data[rb_11].nodeAddr);
				}
				LA145_: ;
				{
					NIM_BOOL T152_;
					NI T154_;
					T152_ = (NIM_BOOL)0;
					T152_ = !(((*src_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
					if (!(T152_)) goto LA153_;
					T154_ = (NI)0;
					T154_ = len__P89cqdlERShb9alU3iC0yj8wast(src_2);
					T152_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_2, T154_);
					LA153_: ;
					if (!T152_) goto LA155_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_2).kind)>>3] &(1U<<((NU)((*src_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx_2) >= (NU)((*src_2)._kind_6.sons ? (*src_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx_2,((*src_2)._kind_6.sons ? (*src_2)._kind_6.sons->Sup.len : 0)-1); }
					regs->data[ra].nodeAddr = &(*src_2)._kind_6.sons->data[idx_2];
				}
				goto LA150_;
				LA155_: ;
				{
					NimStringDesc* T158_;
					T158_ = (NimStringDesc*)0;
					{
						NI T161_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_193;
						T161_ = (NI)0;
						T161_ = len__P89cqdlERShb9alU3iC0yj8wast(src_2);
						if (nimSubInt(T161_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_193)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_193) < ((NI) 0))) goto LA162_;
						T158_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA159_;
					LA162_: ;
					{
						NimStringDesc* T165_;
						NimStringDesc* T166_;
						NI T167_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_194;
						NimStringDesc* T168_;
						T165_ = (NimStringDesc*)0;
						T166_ = (NimStringDesc*)0;
						T166_ = nimIntToStr(idx_2);
						T167_ = (NI)0;
						T167_ = len__P89cqdlERShb9alU3iC0yj8wast(src_2);
						if (nimSubInt(T167_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_194)) { raiseOverflow(); };
						T168_ = (NimStringDesc*)0;
						T168_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_194));
						T165_ = rawNewString((T166_ ? T166_->Sup.len : 0) + (T168_ ? T168_->Sup.len : 0) + 19);
appendString(T165_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T165_, T166_);
appendString(T165_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T165_, T168_);
						T158_ = T165_;
					}
					LA159_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T158_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA150_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27):
			{
				NI rb_12;
				NI rc_3;
				NI idx_3;
				NimStringDesc* s;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_12 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rc_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_3,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_3 = ((NI) (regs->data[rc_3].intVal));
				if ((NU)(rb_12) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_12,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_12].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_12].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_12].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				s = (*regs->data[rb_12].node)._kind_3.strVal;
				{
					NIM_BOOL T172_;
					T172_ = (NIM_BOOL)0;
					T172_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_3, (s ? s->Sup.len : 0));
					if (!T172_) goto LA173_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(idx_3) >= (NU)(s ? s->Sup.len : 0)){ raiseIndexError2(idx_3,(s ? s->Sup.len : 0)-1); }
					regs->data[ra].intVal = ((NI64) (((NU8)(s->data[idx_3]))));
				}
				goto LA170_;
				LA173_: ;
				{
					NIM_BOOL T176_;
					T176_ = (NIM_BOOL)0;
					T176_ = (idx_3 == (s ? s->Sup.len : 0));
					if (!(T176_)) goto LA177_;
					T176_ = (((*(*c).config).options &(1U<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 26))&31U)))!=0);
					LA177_: ;
					if (!T176_) goto LA178_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = IL64(0);
				}
				goto LA170_;
				LA178_: ;
				{
					NimStringDesc* T181_;
					T181_ = (NimStringDesc*)0;
					{
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_195;
						if (nimSubInt((s ? s->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_195)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_195) < ((NI) 0))) goto LA184_;
						T181_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA182_;
					LA184_: ;
					{
						NimStringDesc* T187_;
						NimStringDesc* T188_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_196;
						NimStringDesc* T189_;
						T187_ = (NimStringDesc*)0;
						T188_ = (NimStringDesc*)0;
						T188_ = nimIntToStr(idx_3);
						if (nimSubInt((s ? s->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_196)) { raiseOverflow(); };
						T189_ = (NimStringDesc*)0;
						T189_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_196));
						T187_ = rawNewString((T188_ ? T188_->Sup.len : 0) + (T189_ ? T189_->Sup.len : 0) + 19);
appendString(T187_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T187_, T188_);
appendString(T187_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T187_, T189_);
						T181_ = T187_;
					}
					LA182_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T181_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA170_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18):
			{
				NI rb_13;
				NI rc_4;
				NI idx_4;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_13 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_13) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_13,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_13].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_4 = ((NI) (regs->data[rb_13].intVal));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				arr = regs->data[ra].node;
				{
					if (!((*arr).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*arr).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA193_;
					{
						NIM_BOOL T197_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						T197_ = (NIM_BOOL)0;
						T197_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_4, ((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0));
						if (!T197_) goto LA198_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						if ((NU)(idx_4) >= (NU)((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0)){ raiseIndexError2(idx_4,((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0)-1); }
						if ((NU)(rc_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[rc_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if ((regs->data[rc_4].intVal) < ((NI) 0) || (regs->data[rc_4].intVal) > ((NI) 255)){ raiseRangeErrorI(regs->data[rc_4].intVal, ((NI) 0), ((NI) 255)); }
						(*arr)._kind_3.strVal->data[idx_4] = ((NIM_CHAR) (((NI) (regs->data[rc_4].intVal))));
					}
					goto LA195_;
					LA198_: ;
					{
						NimStringDesc* T201_;
						T201_ = (NimStringDesc*)0;
						{
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_197;
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
							if (nimSubInt(((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_197)) { raiseOverflow(); };
							if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_197) < ((NI) 0))) goto LA204_;
							T201_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
						}
						goto LA202_;
						LA204_: ;
						{
							NimStringDesc* T207_;
							NimStringDesc* T208_;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_198;
							NimStringDesc* T209_;
							T207_ = (NimStringDesc*)0;
							T208_ = (NimStringDesc*)0;
							T208_ = nimIntToStr(idx_4);
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
							if (nimSubInt(((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_198)) { raiseOverflow(); };
							T209_ = (NimStringDesc*)0;
							T209_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_198));
							T207_ = rawNewString((T208_ ? T208_->Sup.len : 0) + (T209_ ? T209_->Sup.len : 0) + 19);
appendString(T207_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T207_, T208_);
appendString(T207_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T207_, T209_);
							T201_ = T207_;
						}
						LA202_: ;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T201_, (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA195_: ;
				}
				goto LA191_;
				LA193_: ;
				{
					NI T211_;
					NIM_BOOL T212_;
					T211_ = (NI)0;
					T211_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
					T212_ = (NIM_BOOL)0;
					T212_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_4, T211_);
					if (!T212_) goto LA213_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*arr).kind)>>3] &(1U<<((NU)((*arr).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx_4) >= (NU)((*arr)._kind_6.sons ? (*arr)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx_4,((*arr)._kind_6.sons ? (*arr)._kind_6.sons->Sup.len : 0)-1); }
					if ((NU)(rc_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_4,(regs ? regs->Sup.len : 0)-1); }
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*arr)._kind_6.sons->data[idx_4], regs->data[rc_4]);
				}
				goto LA191_;
				LA213_: ;
				{
					NimStringDesc* T216_;
					T216_ = (NimStringDesc*)0;
					{
						NI T219_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_199;
						T219_ = (NI)0;
						T219_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
						if (nimSubInt(T219_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_199)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_199) < ((NI) 0))) goto LA220_;
						T216_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA217_;
					LA220_: ;
					{
						NimStringDesc* T223_;
						NimStringDesc* T224_;
						NI T225_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_200;
						NimStringDesc* T226_;
						T223_ = (NimStringDesc*)0;
						T224_ = (NimStringDesc*)0;
						T224_ = nimIntToStr(idx_4);
						T225_ = (NI)0;
						T225_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
						if (nimSubInt(T225_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_200)) { raiseOverflow(); };
						T226_ = (NimStringDesc*)0;
						T226_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_200));
						T223_ = rawNewString((T224_ ? T224_->Sup.len : 0) + (T226_ ? T226_->Sup.len : 0) + 19);
appendString(T223_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T223_, T224_);
appendString(T223_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T223_, T226_);
						T216_ = T223_;
					}
					LA217_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T216_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA191_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19):
			{
				NI rb_14;
				NI rc_5;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_3;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_14 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_14) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_14,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_14].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				src_3 = regs->data[rb_14].node;
				switch ((*src_3).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
				{
					NimStringDesc* T229_;
					tyTuple__nlLlqVveYUlcdyx2e2bPTw T230_;
					NimStringDesc* T231_;
					T229_ = (NimStringDesc*)0;
					nimZeroMem((void*)(&T230_), sizeof(tyTuple__nlLlqVveYUlcdyx2e2bPTw));
					T230_.Field0 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_202));
					T230_.Field1 = (*src_3).kind;
					T230_.Field2 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_203));
					T230_.Field3 = typeToString__QlvraUan7WbHowhAbvDvdA((*src_3).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T230_.Field4 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_204));
					T230_.Field5 = rc_5;
					T231_ = (NimStringDesc*)0;
					T231_ = dollar___HBZb4pgGTJ0NuRxlEYFytw((&T230_));
					T229_ = rawNewString((T231_ ? T231_->Sup.len : 0) + 32);
appendString(T229_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_201));
appendString(T229_, T231_);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T229_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_205;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_3).kind)>>3] &(1U<<((NU)((*src_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if (nimAddInt(((NI) (rc_5)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_205)) { raiseOverflow(); };
					if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_205)) >= (NU)((*src_3)._kind_6.sons ? (*src_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_205),((*src_3)._kind_6.sons ? (*src_3)._kind_6.sons->Sup.len : 0)-1); }
					n = skipColon__6HTnbQSyt2cHxsWfF3vG0A((*src_3)._kind_6.sons->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_205)]);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), n);
				}
				break;
				default:
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_3).kind)>>3] &(1U<<((NU)((*src_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(rc_5) >= (NU)((*src_3)._kind_6.sons ? (*src_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rc_5,((*src_3)._kind_6.sons ? (*src_3)._kind_6.sons->Sup.len : 0)-1); }
					n_2 = (*src_3)._kind_6.sons->data[rc_5];
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), n_2);
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 20):
			{
				NI rb_15;
				NI rc_6;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_4;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_15 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_6 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					if ((NU)(rb_15) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_15,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rb_15].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA237_;
					if ((NU)(rb_15) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_15,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_15].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					src_4 = regs->data[rb_15].node;
				}
				goto LA235_;
				LA237_: ;
				{
					if ((NU)(rb_15) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_15,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[rb_15].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					src_4 = (*regs->data[rb_15].nodeAddr);
				}
				LA235_: ;
				switch ((*src_4).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_3;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_207;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_4).kind)>>3] &(1U<<((NU)((*src_4).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if (nimAddInt(((NI) (rc_6)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_207)) { raiseOverflow(); };
					if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_207)) >= (NU)((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_207),((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)-1); }
					n_3 = (*src_4)._kind_6.sons->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_207)];
					{
						if (!((*n_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA244_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n_3).kind)>>3] &(1U<<((NU)((*n_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(((NI) 1)) >= (NU)((*n_3)._kind_6.sons ? (*n_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*n_3)._kind_6.sons ? (*n_3)._kind_6.sons->Sup.len : 0)-1); }
						regs->data[ra].nodeAddr = &(*n_3)._kind_6.sons->data[((NI) 1)];
					}
					goto LA242_;
					LA244_: ;
					{
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_208;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_4).kind)>>3] &(1U<<((NU)((*src_4).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if (nimAddInt(((NI) (rc_6)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_208)) { raiseOverflow(); };
						if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_208)) >= (NU)((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_208),((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)-1); }
						regs->data[ra].nodeAddr = &(*src_4)._kind_6.sons->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_208)];
					}
					LA242_: ;
				}
				break;
				default:
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_4).kind)>>3] &(1U<<((NU)((*src_4).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(rc_6) >= (NU)((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rc_6,((*src_4)._kind_6.sons ? (*src_4)._kind_6.sons->Sup.len : 0)-1); }
					regs->data[ra].nodeAddr = &(*src_4)._kind_6.sons->data[rc_6];
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 21):
			{
				NI rb_16;
				NI rc_7;
				NI shiftedRb;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_210;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_16 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_7 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!!(!((regs->data[ra].node == NIM_NIL)))) goto LA251_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_209));
				}
				LA251_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (nimAddInt(((NI) (rb_16)), ((*regs->data[ra].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_210)) { raiseOverflow(); };
				shiftedRb = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_210);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest = regs->data[ra].node;
				{
					if (!((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA255_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA253_;
				LA255_: ;
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*dest).kind)>>3] &(1U<<((NU)((*dest).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(shiftedRb) >= (NU)((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(shiftedRb,((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)-1); }
					if (!((*(*dest)._kind_6.sons->data[shiftedRb]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA258_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*dest).kind)>>3] &(1U<<((NU)((*dest).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(shiftedRb) >= (NU)((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(shiftedRb,((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)-1); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*dest)._kind_6.sons->data[shiftedRb]).kind)>>3] &(1U<<((NU)((*(*dest)._kind_6.sons->data[shiftedRb]).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 1)) >= (NU)((*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons ? (*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons ? (*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons->Sup.len : 0)-1); }
					if ((NU)(rc_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_7,(regs ? regs->Sup.len : 0)-1); }
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons->data[((NI) 1)], regs->data[rc_7]);
				}
				goto LA253_;
				LA258_: ;
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*dest).kind)>>3] &(1U<<((NU)((*dest).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(shiftedRb) >= (NU)((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(shiftedRb,((*dest)._kind_6.sons ? (*dest)._kind_6.sons->Sup.len : 0)-1); }
					if ((NU)(rc_7) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_7,(regs ? regs->Sup.len : 0)-1); }
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*dest)._kind_6.sons->data[shiftedRb], regs->data[rc_7]);
				}
				LA253_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26):
			{
				NI rb_17;
				NI rc_8;
				NI idx_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_17 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_8 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_17) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_17,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_17].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_5 = ((NI) (regs->data[rb_17].intVal));
				{
					NIM_BOOL T264_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T264_ = (NIM_BOOL)0;
					T264_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_5, ((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0));
					if (!T264_) goto LA265_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(idx_5) >= (NU)((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0)){ raiseIndexError2(idx_5,((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0)-1); }
					if ((NU)(rc_8) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_8,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_8].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((regs->data[rc_8].intVal) < ((NI) 0) || (regs->data[rc_8].intVal) > ((NI) 255)){ raiseRangeErrorI(regs->data[rc_8].intVal, ((NI) 0), ((NI) 255)); }
					(*regs->data[ra].node)._kind_3.strVal->data[idx_5] = ((NIM_CHAR) (((NI) (regs->data[rc_8].intVal))));
				}
				goto LA262_;
				LA265_: ;
				{
					NimStringDesc* T268_;
					T268_ = (NimStringDesc*)0;
					{
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_211;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						if (nimSubInt(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_211)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_211) < ((NI) 0))) goto LA271_;
						T268_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA269_;
					LA271_: ;
					{
						NimStringDesc* T274_;
						NimStringDesc* T275_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_212;
						NimStringDesc* T276_;
						T274_ = (NimStringDesc*)0;
						T275_ = (NimStringDesc*)0;
						T275_ = nimIntToStr(idx_5);
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
						if (nimSubInt(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_212)) { raiseOverflow(); };
						T276_ = (NimStringDesc*)0;
						T276_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_212));
						T274_ = rawNewString((T275_ ? T275_->Sup.len : 0) + (T276_ ? T276_->Sup.len : 0) + 19);
appendString(T274_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T274_, T275_);
appendString(T274_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T274_, T276_);
						T268_ = T274_;
					}
					LA269_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T268_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA262_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22):
			{
				NI rb_18;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_18 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((16 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
				if ((NU)(rb_18) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_18,(regs ? regs->Sup.len : 0)-1); }
				regs->data[ra].regAddr = (&regs->data[rb_18]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23):
			{
				NI rb_19;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_19 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					if ((NU)(rb_19) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_19,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rb_19].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA281_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					if ((NU)(rb_19) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_19,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_19].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					regs->data[ra].nodeAddr = &regs->data[rb_19].node;
				}
				goto LA279_;
				LA281_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_213), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA279_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24):
			{
				NI ra_3;
				NI rb_20;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				ra_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_20 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
				switch (regs->data[rb_20].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
				{
					if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					asgnRef((void**) (&regs->data[ra_3].node), (*regs->data[rb_20].nodeAddr));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
				{
					if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
					if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
					if (!(((16 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), (*regs->data[rb_20].regAddr).kind);
					if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
					if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
					if (!(((16 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
					genericAssign((void*)(&regs->data[ra_3]), (void*)(&(*regs->data[rb_20].regAddr)), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!((*regs->data[rb_20].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141))) goto LA290_;
						if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[rb_20].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_20].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(((NI) 0)) >= (NU)((*regs->data[rb_20].node)._kind_6.sons ? (*regs->data[rb_20].node)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*regs->data[rb_20].node)._kind_6.sons ? (*regs->data[rb_20].node)._kind_6.sons->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra_3].node), (*regs->data[rb_20].node)._kind_6.sons->data[((NI) 0)]);
					}
					goto LA288_;
					LA290_: ;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym59715007_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typX60gensym59715008_;
						NIM_BOOL T297_;
						if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						nodeX60gensym59715007_ = regs->data[rb_20].node;
						{
							if (!((*nodeX60gensym59715007_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA295_;
							if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
							stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
							goto BeforeRet_;
						}
						LA295_: ;
						typX60gensym59715008_ = (*nodeX60gensym59715007_).typ;
						T297_ = (NIM_BOOL)0;
						{
							NIM_BOOL T300_;
							NIM_BOOL T302_;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ2X60gensym59715009_;
							T300_ = (NIM_BOOL)0;
							T300_ = (((*nodeX60gensym59715007_).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14))&31U)))!=0);
							if (T300_) goto LA301_;
							T302_ = (NIM_BOOL)0;
							T302_ = !((typX60gensym59715008_ == NIM_NIL));
							if (!(T302_)) goto LA303_;
							T302_ = ((*typX60gensym59715008_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
							LA303_: ;
							T300_ = T302_;
							LA301_: ;
							if (!T300_) goto LA304_;
							{
								NimStringDesc* T310_;
								if (!!(((*nodeX60gensym59715007_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA308_;
								T310_ = (NimStringDesc*)0;
								T310_ = rawNewString((reprEnum((NI)(*nodeX60gensym59715007_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*nodeX60gensym59715007_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 55);
appendString(T310_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_214));
appendString(T310_, reprEnum((NI)(*nodeX60gensym59715007_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
								failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T310_);
							}
							LA308_: ;
							{
								if (!!(!((typX60gensym59715008_ == NIM_NIL)))) goto LA313_;
								failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_215));
							}
							LA313_: ;
							{
								if (!((*typX60gensym59715008_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA317_;
								if ((NU)(((NI) 0)) >= (NU)((*typX60gensym59715008_).sons ? (*typX60gensym59715008_).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typX60gensym59715008_).sons ? (*typX60gensym59715008_).sons->Sup.len : 0)-1); }
								typ2X60gensym59715009_ = (*typX60gensym59715008_).sons->data[((NI) 0)];
							}
							goto LA315_;
							LA317_: ;
							{
								typ2X60gensym59715009_ = typX60gensym59715008_;
							}
							LA315_: ;
							{
								NIM_BOOL T322_;
								NimStringDesc* T325_;
								tyTuple__9cqHuynYNPU9avbszh3XtBAg T326_;
								NimStringDesc* T327_;
								if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*nodeX60gensym59715007_).kind)>>3] &(1U<<((NU)((*nodeX60gensym59715007_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
								if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
								T322_ = (NIM_BOOL)0;
								T322_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*nodeX60gensym59715007_)._kind_1.intVal, typ2X60gensym59715009_, (&regs->data[ra_3]), NIM_FALSE);
								if (!!(T322_)) goto LA323_;
								T325_ = (NimStringDesc*)0;
								nimZeroMem((void*)(&T326_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
								T326_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typX60gensym59715008_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
								T326_.Field1 = (*typX60gensym59715008_).kind;
								T327_ = (NimStringDesc*)0;
								T327_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T326_);
								T325_ = rawNewString((T327_ ? T327_->Sup.len : 0) + 28);
appendString(T325_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_216));
appendString(T325_, T327_);
								if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
								stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T325_, (*c).debug->data[pc]);
								goto BeforeRet_;
							}
							LA323_: ;
							T297_ = NIM_TRUE;
						}
						goto LA298_;
						LA304_: ;
						{
							T297_ = NIM_FALSE;
						}
						LA298_: ;
						if (!!(T297_)) goto LA329_;
						if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if ((NU)(ra_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_3,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						asgnRef((void**) (&regs->data[ra_3].node), regs->data[rb_20].node);
					}
					goto LA288_;
					LA329_: ;
					LA288_: ;
				}
				break;
				default:
				{
					NimStringDesc* T332_;
					T332_ = (NimStringDesc*)0;
					if ((NU)(rb_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_20,(regs ? regs->Sup.len : 0)-1); }
					T332_ = rawNewString((reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 38);
appendString(T332_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_217));
appendString(T332_, reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T332_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25):
			{
				NI ra_4;
				NI rc_9;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				ra_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_9 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
				switch (regs->data[ra_4].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_4;
					if ((NU)(rc_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_9,(regs ? regs->Sup.len : 0)-1); }
					n_4 = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_9]);
					{
						NIM_BOOL T337_;
						T337_ = (NIM_BOOL)0;
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						T337_ = !((((*(*regs->data[ra_4].nodeAddr)).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
						if (!(T337_)) goto LA338_;
						T337_ = !((((*n_4).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
						LA338_: ;
						if (!T337_) goto LA339_;
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						genericAssign((void*)(&(*(*regs->data[ra_4].nodeAddr))), (void*)(&(*n_4)), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
					}
					goto LA335_;
					LA339_: ;
					{
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						unsureAsgnRef((void**) (&(*regs->data[ra_4].nodeAddr)), n_4);
					}
					LA335_: ;
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
				{
					if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
					if (!(((16 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
					if ((NU)(rc_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_9,(regs ? regs->Sup.len : 0)-1); }
					genericAssign((void*)(&(*regs->data[ra_4].regAddr)), (void*)(&regs->data[rc_9]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym59800011_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typX60gensym59800012_;
						NIM_BOOL T350_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T384_;
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						nodeX60gensym59800011_ = regs->data[ra_4].node;
						{
							if (!((*nodeX60gensym59800011_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA348_;
							if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
							stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
							goto BeforeRet_;
						}
						LA348_: ;
						typX60gensym59800012_ = (*nodeX60gensym59800011_).typ;
						T350_ = (NIM_BOOL)0;
						{
							NIM_BOOL T353_;
							NIM_BOOL T355_;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ2X60gensym59800013_;
							T353_ = (NIM_BOOL)0;
							T353_ = (((*nodeX60gensym59800011_).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14))&31U)))!=0);
							if (T353_) goto LA354_;
							T355_ = (NIM_BOOL)0;
							T355_ = !((typX60gensym59800012_ == NIM_NIL));
							if (!(T355_)) goto LA356_;
							T355_ = ((*typX60gensym59800012_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
							LA356_: ;
							T353_ = T355_;
							LA354_: ;
							if (!T353_) goto LA357_;
							{
								NimStringDesc* T363_;
								if (!!(((*nodeX60gensym59800011_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA361_;
								T363_ = (NimStringDesc*)0;
								T363_ = rawNewString((reprEnum((NI)(*nodeX60gensym59800011_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*nodeX60gensym59800011_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 55);
appendString(T363_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_218));
appendString(T363_, reprEnum((NI)(*nodeX60gensym59800011_).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
								failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T363_);
							}
							LA361_: ;
							{
								if (!!(!((typX60gensym59800012_ == NIM_NIL)))) goto LA366_;
								failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_219));
							}
							LA366_: ;
							{
								if (!((*typX60gensym59800012_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA370_;
								if ((NU)(((NI) 0)) >= (NU)((*typX60gensym59800012_).sons ? (*typX60gensym59800012_).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typX60gensym59800012_).sons ? (*typX60gensym59800012_).sons->Sup.len : 0)-1); }
								typ2X60gensym59800013_ = (*typX60gensym59800012_).sons->data[((NI) 0)];
							}
							goto LA368_;
							LA370_: ;
							{
								typ2X60gensym59800013_ = typX60gensym59800012_;
							}
							LA368_: ;
							{
								NIM_BOOL T375_;
								NimStringDesc* T378_;
								tyTuple__9cqHuynYNPU9avbszh3XtBAg T379_;
								NimStringDesc* T380_;
								if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*nodeX60gensym59800011_).kind)>>3] &(1U<<((NU)((*nodeX60gensym59800011_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
								if ((NU)(rc_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_9,(regs ? regs->Sup.len : 0)-1); }
								T375_ = (NIM_BOOL)0;
								T375_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*nodeX60gensym59800011_)._kind_1.intVal, typ2X60gensym59800013_, (&regs->data[rc_9]), NIM_TRUE);
								if (!!(T375_)) goto LA376_;
								T378_ = (NimStringDesc*)0;
								nimZeroMem((void*)(&T379_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
								T379_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typX60gensym59800012_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
								T379_.Field1 = (*typX60gensym59800012_).kind;
								T380_ = (NimStringDesc*)0;
								T380_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T379_);
								T378_ = rawNewString((T380_ ? T380_->Sup.len : 0) + 28);
appendString(T378_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_216));
appendString(T378_, T380_);
								if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
								stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T378_, (*c).debug->data[pc]);
								goto BeforeRet_;
							}
							LA376_: ;
							T350_ = NIM_TRUE;
						}
						goto LA351_;
						LA357_: ;
						{
							T350_ = NIM_FALSE;
						}
						LA351_: ;
						if (!!(T350_)) goto LA382_;
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rc_9) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_9,(regs ? regs->Sup.len : 0)-1); }
						T384_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T384_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_9]);
						genericAssign((void*)(&(*regs->data[ra_4].node)), (void*)(&(*T384_)), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
						if ((NU)(ra_4) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_4,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra_4].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						(*regs->data[ra_4].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
					}
					LA382_: ;
				}
				break;
				default:
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28):
			{
				NI rb_21;
				NI rc_10;
				NI64 bVal;
				NI64 cVal;
				NI64 sum;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_21 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_10 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_21) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_21,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_21].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bVal = regs->data[rb_21].intVal;
				if ((NU)(rc_10) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_10,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_10].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				cVal = regs->data[rc_10].intVal;
				sum = pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem(bVal, cVal);
				{
					NIM_BOOL T389_;
					T389_ = (NIM_BOOL)0;
					T389_ = (IL64(0) <= (NI64)(sum ^ bVal));
					if (T389_) goto LA390_;
					T389_ = (IL64(0) <= (NI64)(sum ^ cVal));
					LA390_: ;
					if (!T389_) goto LA391_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = sum;
				}
				goto LA387_;
				LA391_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA387_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29):
			{
				NI rb_22;
				NI imm_2;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_221;
				NI64 bVal_2;
				NI cVal_2;
				NI64 sum_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_22 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_221)) { raiseOverflow(); };
				imm_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_221);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_22) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_22,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_22].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bVal_2 = regs->data[rb_22].intVal;
				cVal_2 = imm_2;
				sum_2 = pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem(bVal_2, ((NI64) (cVal_2)));
				{
					NIM_BOOL T397_;
					T397_ = (NIM_BOOL)0;
					T397_ = (IL64(0) <= (NI64)(sum_2 ^ bVal_2));
					if (T397_) goto LA398_;
					T397_ = (IL64(0) <= (NI64)(sum_2 ^ ((NI64) (cVal_2))));
					LA398_: ;
					if (!T397_) goto LA399_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = sum_2;
				}
				goto LA395_;
				LA399_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA395_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30):
			{
				NI rb_23;
				NI rc_11;
				NI64 bVal_3;
				NI64 cVal_3;
				NI64 diff;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_23 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_11 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_23) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_23,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_23].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bVal_3 = regs->data[rb_23].intVal;
				if ((NU)(rc_11) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_11,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_11].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				cVal_3 = regs->data[rc_11].intVal;
				diff = minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system(bVal_3, cVal_3);
				{
					NIM_BOOL T405_;
					T405_ = (NIM_BOOL)0;
					T405_ = (IL64(0) <= (NI64)(diff ^ bVal_3));
					if (T405_) goto LA406_;
					T405_ = (IL64(0) <= (NI64)(diff ^ (NI64)((NU64) ~(cVal_3))));
					LA406_: ;
					if (!T405_) goto LA407_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = diff;
				}
				goto LA403_;
				LA407_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA403_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31):
			{
				NI rb_24;
				NI imm_3;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_222;
				NI64 bVal_4;
				NI cVal_4;
				NI64 diff_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_24 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_222)) { raiseOverflow(); };
				imm_3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_222);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_24) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_24,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_24].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bVal_4 = regs->data[rb_24].intVal;
				cVal_4 = imm_3;
				diff_2 = minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system(bVal_4, ((NI64) (cVal_4)));
				{
					NIM_BOOL T413_;
					T413_ = (NIM_BOOL)0;
					T413_ = (IL64(0) <= (NI64)(diff_2 ^ bVal_4));
					if (T413_) goto LA414_;
					T413_ = (IL64(0) <= (NI64)(diff_2 ^ ((NI64) ((NI)((NU64) ~(cVal_4))))));
					LA414_: ;
					if (!T413_) goto LA415_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = diff_2;
				}
				goto LA411_;
				LA415_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA411_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32):
			{
				NI rb_25;
				NI imm_4;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_223;
				NI high;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_25 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_223)) { raiseOverflow(); };
				imm_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_223);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				high = (NI)(imm_4 & ((NI) 1));
				{
					NI T423_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_224;
					if (!!(((NI)(imm_4 & ((NI) 16)) == ((NI) 0)))) goto LA421_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rb_25) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_25,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_25].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T423_ = (NI)0;
					T423_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(regs->data[rb_25].node);
					if (nimSubInt(T423_, high, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_224)) { raiseOverflow(); };
					regs->data[ra].intVal = ((NI64) ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_224)));
				}
				goto LA419_;
				LA421_: ;
				{
					NI T425_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_225;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rb_25) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_25,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_25].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T425_ = (NI)0;
					T425_ = safeArrLen__P89cqdlERShb9alU3iC0yj8w_3ast(regs->data[rb_25].node);
					if (nimSubInt(T425_, high, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_225)) { raiseOverflow(); };
					regs->data[ra].intVal = ((NI64) ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_225)));
				}
				LA419_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33):
			{
				NI rb_26;
				NI imm_5;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_226;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_228;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_26 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_226)) { raiseOverflow(); };
				imm_5 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_226);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rb_26) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_26,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_26].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA429_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_227));
				}
				LA429_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_26) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_26,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_26].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_26].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_26].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if (nimSubInt(((*regs->data[rb_26].node)._kind_3.strVal ? (*regs->data[rb_26].node)._kind_3.strVal->Sup.len : 0), imm_5, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_228)) { raiseOverflow(); };
				regs->data[ra].intVal = ((NI64) ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_228)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34):
			{
				NI rb_27;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_27 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_27) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_27,(regs ? regs->Sup.len : 0)-1); }
				b = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_27]);
				{
					NIM_BOOL T434_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T437_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T434_ = (NIM_BOOL)0;
					T434_ = inSet__b4nxsJCvqXRlyalSWskgNA(regs->data[ra].node, b);
					if (!!(T434_)) goto LA435_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T437_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T437_ = copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2(b);
					add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T437_);
				}
				LA435_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35):
			{
				NI rb_28;
				NI rc_12;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T439_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T440_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T441_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_28 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_12 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				r = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44));
				if ((NU)(rb_28) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_28,(regs ? regs->Sup.len : 0)-1); }
				T439_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T439_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_28]);
				add__P8dDSotTW25BkfbyspojGg(r, T439_);
				if ((NU)(rc_12) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_12,(regs ? regs->Sup.len : 0)-1); }
				T440_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T440_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_12]);
				add__P8dDSotTW25BkfbyspojGg(r, T440_);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T441_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T441_ = copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2(r);
				add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T441_);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36):
			{
				NI rb_29;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T443_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_29 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				b_2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*regs->data[ra].node).info, (*regs->data[ra].node).typ);
				if ((NU)(rb_29) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_29,(regs ? regs->Sup.len : 0)-1); }
				T443_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T443_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_29]);
				add__P8dDSotTW25BkfbyspojGg(b_2, T443_);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				r_2 = diffSets__DJXyM0ZYUUgI9bAP6orixDA_3((*c).config, regs->data[ra].node, b_2);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				discardSons__CndA7u9cT5evGd9a583WPNqQ(regs->data[ra].node);
				{
					NI i;
					NI colontmp_;
					NI i_2;
					i = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len__P89cqdlERShb9alU3iC0yj8wast(r_2);
					i_2 = ((NI) 0);
					{
						while (1) {
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_229;
							if (!(i_2 < colontmp_)) goto LA446;
							i = i_2;
							if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
							if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
							if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*r_2).kind)>>3] &(1U<<((NU)((*r_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
							if ((NU)(i) >= (NU)((*r_2)._kind_6.sons ? (*r_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*r_2)._kind_6.sons ? (*r_2)._kind_6.sons->Sup.len : 0)-1); }
							add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, (*r_2)._kind_6.sons->data[i]);
							if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_229)) { raiseOverflow(); };
							i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_229);
						} LA446: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37):
			{
				NI rb_30;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_30 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_30) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_30,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_30].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				regs->data[ra].intVal = cardSet__rIy8FkZfgdui9cmJlRrbtNA((*c).config, regs->data[rb_30].node);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 38):
			{
				NI rb_31;
				NI rc_13;
				NI64 bVal_5;
				NI64 cVal_5;
				NI64 product;
				NF floatProd;
				NF T449_;
				NF T450_;
				NF resAsFloat;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_31 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_13 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_31) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_31,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_31].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bVal_5 = regs->data[rb_31].intVal;
				if ((NU)(rc_13) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_13,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_13].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				cVal_5 = regs->data[rc_13].intVal;
				product = starpercent___diI9aRPc9bjx9bT39cDuabKh5A_3system(bVal_5, cVal_5);
				T449_ = (NF)0;
				T449_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(bVal_5);
				T450_ = (NF)0;
				T450_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(cVal_5);
				floatProd = ((NF)(T449_) * (NF)(T450_));
				resAsFloat = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(product);
				{
					if (!(resAsFloat == floatProd)) goto LA453_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = product;
				}
				goto LA451_;
				LA453_: ;
				{
					NF T456_;
					NF T457_;
					T456_ = (NF)0;
					T456_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(((NF)(resAsFloat) - (NF)(floatProd)));
					T457_ = (NF)0;
					T457_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(floatProd);
					if (!(((NF)(3.2000000000000000e+01) * (NF)(T456_)) <= T457_)) goto LA458_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = product;
				}
				goto LA451_;
				LA458_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA451_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39):
			{
				NI rb_32;
				NI rc_14;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_32 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_14 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rc_14) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_14,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_14].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(regs->data[rc_14].intVal == IL64(0))) goto LA464_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_230), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA462_;
				LA464_: ;
				{
					NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_231;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rb_32) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_32,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rb_32].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rc_14) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_14,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_14].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (regs->data[rc_14].intVal == 0){ raiseDivByZero(); }
					if (nimDivInt64(regs->data[rb_32].intVal, regs->data[rc_14].intVal, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_231)) { raiseOverflow(); };
					regs->data[ra].intVal = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_231);
				}
				LA462_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40):
			{
				NI rb_33;
				NI rc_15;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_33 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_15 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rc_15) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_15,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_15].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(regs->data[rc_15].intVal == IL64(0))) goto LA470_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_230), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA468_;
				LA470_: ;
				{
					NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_232;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rb_33) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_33,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rb_33].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((NU)(rc_15) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_15,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_15].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (regs->data[rc_15].intVal == 0){ raiseDivByZero(); }
					if (nimModInt64(regs->data[rb_33].intVal, regs->data[rc_15].intVal, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_232)) { raiseOverflow(); };
					regs->data[ra].intVal = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_232);
				}
				LA468_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41):
			{
				NI rb_34;
				NI rc_16;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_34 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_16 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_34) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_34,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_34].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_16) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_16,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_16].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = ((NF)(regs->data[rb_34].floatVal) + (NF)(regs->data[rc_16].floatVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 42):
			{
				NI rb_35;
				NI rc_17;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_35 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_17 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_35) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_35,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_35].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_17) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_17,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_17].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = ((NF)(regs->data[rb_35].floatVal) - (NF)(regs->data[rc_17].floatVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 43):
			{
				NI rb_36;
				NI rc_18;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_36 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_18 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_36) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_36,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_36].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_18) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_18,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_18].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = ((NF)(regs->data[rb_36].floatVal) * (NF)(regs->data[rc_18].floatVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 44):
			{
				NI rb_37;
				NI rc_19;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_37 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_19 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_37) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_37,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_37].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_19) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_19,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_19].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = ((NF)(regs->data[rb_37].floatVal) / (NF)(regs->data[rc_19].floatVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 45):
			{
				NI rb_38;
				NI rc_20;
				NU64 b_3;
				NU64 c_2;
				NI64 a;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_38 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_20 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_38) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_38,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_38].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				b_3 = ((NU64) (regs->data[rb_38].intVal));
				if ((NU)(rc_20) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_20,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_20].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				c_2 = ((NU64) (regs->data[rc_20].intVal));
				a = ((NI64) ((NU64)((NU64)(b_3) >> (NU64)(c_2))));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = a;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46):
			{
				NI rb_39;
				NI rc_21;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_39 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_21 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_39,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_39].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_21) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_21,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_21].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)((NU64)(regs->data[rb_39].intVal) << (NU64)(regs->data[rc_21].intVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 47):
			{
				NI rb_40;
				NI rc_22;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_40 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_22 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_40) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_40,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_40].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_22) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_22,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_22].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)((NI64)(regs->data[rb_40].intVal) >> (NU64)(regs->data[rc_22].intVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 48):
			{
				NI rb_41;
				NI rc_23;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_41 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_23 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_41) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_41,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_41].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_23) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_23,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_23].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)(regs->data[rb_41].intVal & regs->data[rc_23].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 49):
			{
				NI rb_42;
				NI rc_24;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_42 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_24 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_42) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_42,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_42].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_24) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_24,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_24].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)(regs->data[rb_42].intVal | regs->data[rc_24].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 50):
			{
				NI rb_43;
				NI rc_25;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_43 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_25 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_43) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_43,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_43].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_25) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_25,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_25].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)(regs->data[rb_43].intVal ^ regs->data[rc_25].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 51):
			{
				NI rb_44;
				NI rc_26;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_44 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_26 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_44) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_44,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_44].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_26) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_26,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_26].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem(regs->data[rb_44].intVal, regs->data[rc_26].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 52):
			{
				NI rb_45;
				NI rc_27;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_45 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_27 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_45) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_45,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_45].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_27) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_27,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_27].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system(regs->data[rb_45].intVal, regs->data[rc_27].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 53):
			{
				NI rb_46;
				NI rc_28;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_46 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_28 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_46) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_46,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_46].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_28) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_28,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_28].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = starpercent___diI9aRPc9bjx9bT39cDuabKh5A_3system(regs->data[rb_46].intVal, regs->data[rc_28].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 54):
			{
				NI rb_47;
				NI rc_29;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_47 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_29 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_47) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_47,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_47].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_29) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_29,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_29].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = slashpercent___diI9aRPc9bjx9bT39cDuabKh5A_4system(regs->data[rb_47].intVal, regs->data[rc_29].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 55):
			{
				NI rb_48;
				NI rc_30;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_48 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_30 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_48) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_48,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_48].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_30) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_30,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_30].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = percentpercent___diI9aRPc9bjx9bT39cDuabKh5A_5system(regs->data[rb_48].intVal, regs->data[rc_30].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 56):
			{
				NI rb_49;
				NI rc_31;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_49 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_31 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_49) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_49,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_49].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_31) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_31,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_31].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_49].intVal == regs->data[rc_31].intVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 57):
			{
				NI rb_50;
				NI rc_32;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_50 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_32 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_50) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_50,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_50].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_32) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_32,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_32].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_50].intVal <= regs->data[rc_32].intVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 58):
			{
				NI rb_51;
				NI rc_33;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_51 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_33 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_51) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_51,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_51].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_33) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_33,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_33].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_51].intVal < regs->data[rc_33].intVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 59):
			{
				NI rb_52;
				NI rc_34;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_52 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_34 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_52) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_52,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_52].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_34) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_34,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_34].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_52].floatVal == regs->data[rc_34].floatVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 60):
			{
				NI rb_53;
				NI rc_35;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_53 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_35 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_53) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_53,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_53].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_35) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_35,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_35].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_53].floatVal <= regs->data[rc_35].floatVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 61):
			{
				NI rb_54;
				NI rc_36;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_54 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_36 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_54) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_54,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_54].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rc_36) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_36,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rc_36].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].intVal = ((NI64) ((regs->data[rb_54].floatVal < regs->data[rc_36].floatVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 62):
			{
				NI rb_55;
				NI rc_37;
				NIM_BOOL T495_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_55 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_37 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_55) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_55,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_55].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_37) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_37,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_37].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T495_ = (NIM_BOOL)0;
				T495_ = lteqpercent___m9aFrKvWqPsM3WKrwczIr9bA_2system(regs->data[rb_55].intVal, regs->data[rc_37].intVal);
				regs->data[ra].intVal = ((NI64) (T495_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63):
			{
				NI rb_56;
				NI rc_38;
				NIM_BOOL T497_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_56 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_38 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_56) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_56,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_56].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_38) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_38,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_38].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T497_ = (NIM_BOOL)0;
				T497_ = ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem(regs->data[rb_56].intVal, regs->data[rc_38].intVal);
				regs->data[ra].intVal = ((NI64) (T497_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64):
			{
				NIM_BOOL ret;
				NI rb_57;
				NI rc_39;
				ret = NIM_FALSE;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_57 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_39 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rb_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_57,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rb_57].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA501_;
					{
						if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
						if (!(regs->data[rc_39].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA505_;
						if ((NU)(rb_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_57,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[rb_57].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[rc_39].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						ret = (regs->data[rb_57].nodeAddr == regs->data[rc_39].nodeAddr);
					}
					goto LA503_;
					LA505_: ;
					{
						if ((NU)(rb_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_57,(regs ? regs->Sup.len : 0)-1); }
						if (!(((32 &(1U<<((NU)(regs->data[rb_57].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
						if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rc_39].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						ret = ptrEquality__U2MMUdMR4785sgEWgMubXw(regs->data[rb_57].nodeAddr, regs->data[rc_39].node);
					}
					LA503_: ;
				}
				goto LA499_;
				LA501_: ;
				{
					if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rc_39].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA509_;
					if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
					if (!(((32 &(1U<<((NU)(regs->data[rc_39].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
					if ((NU)(rb_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_57,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_57].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					ret = ptrEquality__U2MMUdMR4785sgEWgMubXw(regs->data[rc_39].nodeAddr, regs->data[rb_57].node);
				}
				goto LA499_;
				LA509_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nb_2;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nc;
					if ((NU)(rb_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_57,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_57].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					nb_2 = regs->data[rb_57].node;
					if ((NU)(rc_39) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_39,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_39].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					nc = regs->data[rc_39].node;
					{
						if (!!(((*nb_2).kind == (*nc).kind))) goto LA514_;
					}
					goto LA512_;
					LA514_: ;
					{
						NIM_BOOL T517_;
						T517_ = (NIM_BOOL)0;
						T517_ = (nb_2 == nc);
						if (T517_) goto LA518_;
						T517_ = ((*nb_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
						LA518_: ;
						if (!T517_) goto LA519_;
						ret = NIM_TRUE;
					}
					goto LA512_;
					LA519_: ;
					{
						NIM_BOOL T522_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tb;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tc;
						NIM_BOOL T526_;
						T522_ = (NIM_BOOL)0;
						T522_ = ((*nb_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
						if (!(T522_)) goto LA523_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*nb_2).kind)>>3] &(1U<<((NU)((*nb_2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*nc).kind)>>3] &(1U<<((NU)((*nc).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
						T522_ = ((*nb_2)._kind_1.intVal == (*nc)._kind_1.intVal);
						LA523_: ;
						if (!T522_) goto LA524_;
						tb = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*nb_2).typ, abstractInst__dLigiD0wrfdW59cejPpTktA);
						tc = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*nc).typ, abstractInst__dLigiD0wrfdW59cejPpTktA);
						T526_ = (NIM_BOOL)0;
						T526_ = ((69206016 &((NU64)1<<((NU)((*tb).kind)&63U)))!=0);
						if (!(T526_)) goto LA527_;
						T526_ = ((*tc).kind == (*tb).kind);
						LA527_: ;
						ret = T526_;
					}
					goto LA512_;
					LA524_: ;
					LA512_: ;
				}
				LA499_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) (ret));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65):
			{
				NI rb_58;
				NI rc_40;
				NIM_BOOL T529_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_58 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_40 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_58) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_58,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_58].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_40) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_40,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_40].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T529_ = (NIM_BOOL)0;
				T529_ = exprStructuralEquivalent__E1mnSzj2NONtG7h9cR3AuFA(regs->data[rb_58].node, regs->data[rc_40].node, NIM_TRUE);
				regs->data[ra].intVal = ((NI64) (T529_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66):
			{
				NI rb_59;
				NI rc_41;
				NIM_BOOL T531_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_59 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_41 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_59) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_59,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_59].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_41) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_41,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_41].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T531_ = (NIM_BOOL)0;
				T531_ = sameTypeOrNil__3isNyHKb0U1OCnClmflXSg_2((*regs->data[rb_59].node).typ, (*regs->data[rc_41].node).typ, 0);
				regs->data[ra].intVal = ((NI64) (T531_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67):
			{
				NI rb_60;
				NI rc_42;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_60 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_42 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_60) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_60,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_60].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rc_42) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_42,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_42].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) (!((regs->data[rb_60].intVal == regs->data[rc_42].intVal))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68):
			{
				NI rb_61;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_234;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_61 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rb_61) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_61,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_61].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2)))) goto LA536_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_233));
				}
				LA536_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_61) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_61,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_61].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (nimSubInt64(IL64(1), regs->data[rb_61].intVal, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_234)) { raiseOverflow(); };
				regs->data[ra].intVal = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_234);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69):
			{
				NI rb_62;
				NI64 val;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_62 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rb_62) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_62,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_62].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2)))) goto LA541_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_235));
				}
				LA541_: ;
				if ((NU)(rb_62) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_62,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_62].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				val = regs->data[rb_62].intVal;
				{
					if (!!((val == (IL64(-9223372036854775807) - IL64(1))))) goto LA545_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (val == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); }
					regs->data[ra].intVal = -(val);
				}
				goto LA543_;
				LA545_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_220), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA543_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70):
			{
				NI rb_63;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_63 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				{
					if ((NU)(rb_63) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_63,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_63].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3)))) goto LA551_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_236));
				}
				LA551_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rb_63) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_63,(regs ? regs->Sup.len : 0)-1); }
				if (!(((8 &(1U<<((NU)(regs->data[rb_63].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				regs->data[ra].floatVal = -(regs->data[rb_63].floatVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71):
			{
				NI rb_64;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_64 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if ((NU)(rb_64) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_64,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rb_64].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2)))) goto LA556_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_237));
				}
				LA556_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_64) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_64,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_64].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)((NU64) ~(regs->data[rb_64].intVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72):
			{
				NI rb_65;
				NI rc_43;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_65 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_43 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_65) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_65,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_65].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_65].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_65].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rc_43) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_43,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_43].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_43].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_43].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				regs->data[ra].intVal = ((NI64) (eqStrings((*regs->data[rb_65].node)._kind_3.strVal, (*regs->data[rc_43].node)._kind_3.strVal)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 73):
			{
				NI rb_66;
				NI rc_44;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_66 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_44 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_66) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_66,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_66].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_66].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_66].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rc_44) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_44,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_44].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_44].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_44].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				regs->data[ra].intVal = ((NI64) ((cmpStrings((*regs->data[rb_66].node)._kind_3.strVal, (*regs->data[rc_44].node)._kind_3.strVal) <= 0)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 74):
			{
				NI rb_67;
				NI rc_45;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_67 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_45 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_67) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_67,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_67].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_67].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_67].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rc_45) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_45,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_45].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_45].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_45].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				regs->data[ra].intVal = ((NI64) ((cmpStrings((*regs->data[rb_67].node)._kind_3.strVal, (*regs->data[rc_45].node)._kind_3.strVal) < 0)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 76):
			{
				NI rb_68;
				NI rc_46;
				NIM_BOOL T562_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_68 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_46 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_68) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_68,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_68].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_46) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_46,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_46].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T562_ = (NIM_BOOL)0;
				T562_ = containsSets__Jr5d2PbcnAZ0pFa4Ny88lg((*c).config, regs->data[rb_68].node, regs->data[rc_46].node);
				regs->data[ra].intVal = ((NI64) (T562_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75):
			{
				NI rb_69;
				NI rc_47;
				NIM_BOOL T564_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_69 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_47 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_69) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_69,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_69].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_47) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_47,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_47].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T564_ = (NIM_BOOL)0;
				T564_ = equalSets__Jr5d2PbcnAZ0pFa4Ny88lg_2((*c).config, regs->data[rb_69].node, regs->data[rc_47].node);
				regs->data[ra].intVal = ((NI64) (T564_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77):
			{
				NI rb_70;
				NI rc_48;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_4;
				NIM_BOOL T566_;
				NIM_BOOL T568_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_70 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_48 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_70) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_70,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_70].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_2 = regs->data[rb_70].node;
				if ((NU)(rc_48) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_48,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_48].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				b_4 = regs->data[rc_48].node;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T566_ = (NIM_BOOL)0;
				T566_ = containsSets__Jr5d2PbcnAZ0pFa4Ny88lg((*c).config, a_2, b_4);
				if (!(T566_)) goto LA567_;
				T568_ = (NIM_BOOL)0;
				T568_ = equalSets__Jr5d2PbcnAZ0pFa4Ny88lg_2((*c).config, a_2, b_4);
				T566_ = !(T568_);
				LA567_: ;
				regs->data[ra].intVal = ((NI64) (T566_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78):
			{
				NI rb_71;
				NI rc_49;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T570_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_71 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_49 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_71) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_71,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_71].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_49) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_49,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_49].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T570_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T570_ = intersectSets__DJXyM0ZYUUgI9bAP6orixDA((*c).config, regs->data[rb_71].node, regs->data[rc_49].node);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*T570_).kind)>>3] &(1U<<((NU)((*T570_).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T570_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79):
			{
				NI rb_72;
				NI rc_50;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T572_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_72 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_50 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_72) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_72,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_72].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_50) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_50,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_50].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T572_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T572_ = unionSets__DJXyM0ZYUUgI9bAP6orixDA_2((*c).config, regs->data[rb_72].node, regs->data[rc_50].node);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*T572_).kind)>>3] &(1U<<((NU)((*T572_).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T572_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80):
			{
				NI rb_73;
				NI rc_51;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T574_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_73 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_51 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_73) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_73,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_73].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_51) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_51,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_51].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T574_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T574_ = diffSets__DJXyM0ZYUUgI9bAP6orixDA_3((*c).config, regs->data[rb_73].node, regs->data[rc_51].node);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*T574_).kind)>>3] &(1U<<((NU)((*T574_).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T574_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81):
			{
				NI rb_74;
				NI rc_52;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_74 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_52 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				{
					NimStringDesc* T580_;
					if ((NU)(rb_74) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_74,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[rb_74].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA578_;
					if ((NU)(rb_74) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_74,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_74].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_74].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_74].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T580_ = (NimStringDesc*)0;
					T580_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*regs->data[rb_74].node)._kind_3.strVal);
					if (T580_) nimGCunrefNoCycle(T580_);
				}
				goto LA576_;
				LA578_: ;
				{
					if ((NU)(rb_74) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_74,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rb_74].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if ((((NI) (regs->data[rb_74].intVal))) < ((NI) 0) || (((NI) (regs->data[rb_74].intVal))) > ((NI) 255)){ raiseRangeErrorI(((NI) (regs->data[rb_74].intVal)), ((NI) 0), ((NI) 255)); }
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs->data[rb_74].intVal))))))));
				}
				LA576_: ;
				{
					NI i_3;
					NI colontmp__2;
					NI colontmp__3;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_238;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_239;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_240;
					NI res;
					i_3 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__3 = (NI)0;
					if (nimAddInt(((NI) (rb_74)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_238)) { raiseOverflow(); };
					colontmp__2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_238);
					if (nimAddInt(((NI) (rb_74)), ((NI) (rc_52)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_239)) { raiseOverflow(); };
					if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_239), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_240)) { raiseOverflow(); };
					colontmp__3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_240);
					res = colontmp__2;
					{
						while (1) {
							NimStringDesc* T585_;
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_241;
							if (!(res <= colontmp__3)) goto LA584;
							i_3 = res;
							if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
							if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
							T585_ = (NimStringDesc*)0;
							{
								if ((NU)(i_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(i_3,(regs ? regs->Sup.len : 0)-1); }
								if (!(regs->data[i_3].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA588_;
								if ((NU)(i_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(i_3,(regs ? regs->Sup.len : 0)-1); }
								if (!(((2 &(1U<<((NU)(regs->data[i_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
								if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[i_3].node).kind)>>3] &(1U<<((NU)((*regs->data[i_3].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
								T585_ = copyString((*regs->data[i_3].node)._kind_3.strVal);
							}
							goto LA586_;
							LA588_: ;
							{
								if ((NU)(i_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(i_3,(regs ? regs->Sup.len : 0)-1); }
								if (!(((4 &(1U<<((NU)(regs->data[i_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
								if ((((NI) (regs->data[i_3].intVal))) < ((NI) 0) || (((NI) (regs->data[i_3].intVal))) > ((NI) 255)){ raiseRangeErrorI(((NI) (regs->data[i_3].intVal)), ((NI) 0), ((NI) 255)); }
								T585_ = nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs->data[i_3].intVal)))))));
							}
							LA586_: ;
							asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), resizeString((*regs->data[ra].node)._kind_3.strVal, (T585_ ? T585_->Sup.len : 0) + 0));
appendString((*regs->data[ra].node)._kind_3.strVal, T585_);
							if (nimAddInt(res, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_241)) { raiseOverflow(); };
							res = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_241);
						} LA584: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98):
			{
				NI rb_75;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_75 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_75) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_75,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_75].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((regs->data[rb_75].intVal) < ((NI) 0) || (regs->data[rb_75].intVal) > ((NI) 255)){ raiseRangeErrorI(regs->data[rb_75].intVal, ((NI) 0), ((NI) 255)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), addChar((*regs->data[ra].node)._kind_3.strVal, ((NIM_CHAR) (((NI) (regs->data[rb_75].intVal))))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 99):
			{
				NI rb_76;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_76 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_76) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_76,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_76].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_76].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_76].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), resizeString((*regs->data[ra].node)._kind_3.strVal, ((*regs->data[rb_76].node)._kind_3.strVal ? (*regs->data[rb_76].node)._kind_3.strVal->Sup.len : 0) + 0));
appendString((*regs->data[ra].node)._kind_3.strVal, (*regs->data[rb_76].node)._kind_3.strVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 100):
			{
				NI rb_77;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_77 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T598_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T599_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!((*regs->data[ra].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA596_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if ((NU)(rb_77) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_77,(regs ? regs->Sup.len : 0)-1); }
					T598_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T598_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_77]);
					T599_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T599_ = copyValue__UyDLGuBe1bDjMXME9b0kt3Q(T598_);
					add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T599_);
				}
				goto LA594_;
				LA596_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA594_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149):
			{
				NI rb_78;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_78 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_78) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_78,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_78].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_3 = regs->data[rb_78].node;
				{
					if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143))) goto LA604_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a_3)._kind_6.sons ? (*a_3)._kind_6.sons->Sup.len : 0)-1); }
					a_3 = (*a_3)._kind_6.sons->data[((NI) 0)];
				}
				LA604_: ;
				{
					if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA608_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					{
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if (!((*(*a_3)._kind_4.sym).ast == 0)) goto LA612_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA610_;
					LA612_: ;
					{
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_3).kind)>>3] &(1U<<((NU)((*a_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2((*(*a_3)._kind_4.sym).ast));
					}
					LA610_: ;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				goto LA606_;
				LA608_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_242), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA606_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150):
			{
				NI rb_79;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_79 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_79) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_79,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_79].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_4 = regs->data[rb_79].node;
				{
					if (!((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA619_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					{
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_4).kind)>>3] &(1U<<((NU)((*a_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if (!((*(*a_4)._kind_4.sym).ast == 0)) goto LA623_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA621_;
					LA623_: ;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_4).kind)>>3] &(1U<<((NU)((*a_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						ast = shallowCopy__Dsjo9bte8vGxzhtcSrsTyiQ_3((*(*a_4)._kind_4.sym).ast);
						{
							NI i_4;
							NI colontmp__4;
							NI i_5;
							i_4 = (NI)0;
							colontmp__4 = (NI)0;
							if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_4).kind)>>3] &(1U<<((NU)((*a_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
							colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast((*(*a_4)._kind_4.sym).ast);
							i_5 = ((NI) 0);
							{
								while (1) {
									NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_243;
									if (!(i_5 < colontmp__4)) goto LA628;
									i_4 = i_5;
									if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*ast).kind)>>3] &(1U<<((NU)((*ast).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
									if ((NU)(i_4) >= (NU)((*ast)._kind_6.sons ? (*ast)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_4,((*ast)._kind_6.sons ? (*ast)._kind_6.sons->Sup.len : 0)-1); }
									if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_4).kind)>>3] &(1U<<((NU)((*a_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
									if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*(*a_4)._kind_4.sym).ast).kind)>>3] &(1U<<((NU)((*(*(*a_4)._kind_4.sym).ast).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
									if ((NU)(i_4) >= (NU)((*(*(*a_4)._kind_4.sym).ast)._kind_6.sons ? (*(*(*a_4)._kind_4.sym).ast)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_4,((*(*(*a_4)._kind_4.sym).ast)._kind_6.sons ? (*(*(*a_4)._kind_4.sym).ast)._kind_6.sons->Sup.len : 0)-1); }
									asgnRef((void**) (&(*ast)._kind_6.sons->data[i_4]), (*(*(*a_4)._kind_4.sym).ast)._kind_6.sons->data[i_4]);
									if (nimAddInt(i_5, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_243)) { raiseOverflow(); };
									i_5 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_243);
								} LA628: ;
							}
						}
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*ast).kind)>>3] &(1U<<((NU)((*ast).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(((NI) 6)) >= (NU)((*ast)._kind_6.sons ? (*ast)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 6),((*ast)._kind_6.sons ? (*ast)._kind_6.sons->Sup.len : 0)-1); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_4).kind)>>3] &(1U<<((NU)((*a_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						asgnRef((void**) (&(*ast)._kind_6.sons->data[((NI) 6)]), transformBody__ocxOgPRHWfivNZELIhOv7w((*c).graph, (*a_4)._kind_4.sym, NIM_TRUE));
						asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2(ast));
					}
					LA621_: ;
				}
				LA619_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185):
			{
				NI rb_80;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_80 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_80) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_80,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_80].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_5 = regs->data[rb_80].node;
				{
					if (!((*a_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA632_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					{
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_5).kind)>>3] &(1U<<((NU)((*a_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if (!((*(*a_5)._kind_4.sym).owner == 0)) goto LA636_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA634_;
					LA636_: ;
					{
						tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* T639_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_5).kind)>>3] &(1U<<((NU)((*a_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T639_ = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
						T639_ = skipGenericOwner__lIu8wX6Beq6dBJgESOFFjg_3((*a_5)._kind_4.sym);
						asgnRef((void**) (&regs->data[ra].node), newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(T639_));
					}
					LA634_: ;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				goto LA630_;
				LA632_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_242), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA630_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186):
			{
				NI rb_81;
				NI rc_53;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_6;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_81 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_53 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_81) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_81,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_81].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_6 = regs->data[rb_81].node;
				if ((NU)(rc_53) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_53,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_53].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				b_5 = regs->data[rc_53].node;
				{
					NIM_BOOL T644_;
					NIM_BOOL T645_;
					NIM_BOOL T646_;
					NI T652_;
					T644_ = (NIM_BOOL)0;
					T645_ = (NIM_BOOL)0;
					T646_ = (NIM_BOOL)0;
					T646_ = ((*a_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T646_)) goto LA647_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_6).kind)>>3] &(1U<<((NU)((*a_6).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T646_ = ((520192 &(1U<<((NU)((*(*a_6)._kind_4.sym).kind)&31U)))!=0);
					LA647_: ;
					T645_ = T646_;
					if (!(T645_)) goto LA648_;
					T645_ = ((*b_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					LA648_: ;
					T644_ = T645_;
					if (!(T644_)) goto LA649_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*b_5).kind)>>3] &(1U<<((NU)((*b_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T644_ = ((520192 &(1U<<((NU)((*(*b_5)._kind_4.sym).kind)&31U)))!=0);
					LA649_: ;
					if (!T644_) goto LA650_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					T652_ = (NI)0;
					{
						NIM_BOOL T655_;
						T655_ = (NIM_BOOL)0;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_6).kind)>>3] &(1U<<((NU)((*a_6).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T655_ = (((*(*a_6)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
						if (!(T655_)) goto LA656_;
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_6).kind)>>3] &(1U<<((NU)((*a_6).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*b_5).kind)>>3] &(1U<<((NU)((*b_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T655_ = ((*(*a_6)._kind_4.sym).owner == (*b_5)._kind_4.sym);
						LA656_: ;
						if (!T655_) goto LA657_;
						T652_ = ((NI) 1);
					}
					goto LA653_;
					LA657_: ;
					{
						T652_ = ((NI) 0);
					}
					LA653_: ;
					regs->data[ra].intVal = ((NI64) (T652_));
				}
				goto LA642_;
				LA650_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_244), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA642_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151):
			{
				NI rb_82;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_82 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				{
					if (!(((NI) (rb_82)) == ((NI) 1))) goto LA664_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, (*regs->data[ra].node)._kind_3.strVal, 1);
				}
				goto LA662_;
				LA664_: ;
				{
					NimStringDesc* outp;
					outp = ((NimStringDesc*) NIM_NIL);
					{
						NI i_6;
						NI colontmp__5;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_245;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_246;
						NI res_2;
						i_6 = (NI)0;
						colontmp__5 = (NI)0;
						if (nimAddInt(((NI) (ra)), ((NI) (rb_82)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_245)) { raiseOverflow(); };
						if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_245), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_246)) { raiseOverflow(); };
						if (((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_246)) < ((NI) 0) || ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_246)) > ((NI) 65535)){ raiseRangeErrorI((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_246), ((NI) 0), ((NI) 65535)); }
						colontmp__5 = ((NI) ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_246)));
						res_2 = ((NI) (ra));
						{
							while (1) {
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_247;
								if (!(res_2 <= ((NI) (colontmp__5)))) goto LA669;
								if ((res_2) < ((NI) 0) || (res_2) > ((NI) 65535)){ raiseRangeErrorI(res_2, ((NI) 0), ((NI) 65535)); }
								i_6 = ((NI) (res_2));
								if ((NU)(i_6) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(i_6,(regs ? regs->Sup.len : 0)-1); }
								if (!(((2 &(1U<<((NU)(regs->data[i_6].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
								if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[i_6].node).kind)>>3] &(1U<<((NU)((*regs->data[i_6].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
								outp = resizeString(outp, ((*regs->data[i_6].node)._kind_3.strVal ? (*regs->data[i_6].node)._kind_3.strVal->Sup.len : 0) + 0);
appendString(outp, (*regs->data[i_6].node)._kind_3.strVal);
								if (nimAddInt(res_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_247)) { raiseOverflow(); };
								res_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_247);
							} LA669: ;
						}
					}
					msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, outp, 1);
				}
				LA662_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82):
			{
				NI rb_83;
				NI rc_54;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T671_;
				NIM_BOOL T672_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_83 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_54 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_83) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_83,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_83].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rc_54) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_54,(regs ? regs->Sup.len : 0)-1); }
				T671_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T671_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_54]);
				T672_ = (NIM_BOOL)0;
				T672_ = inSet__b4nxsJCvqXRlyalSWskgNA(regs->data[rb_83].node, T671_);
				regs->data[ra].intVal = ((NI64) (T672_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89):
			{
				NI rb_84;
				NI rc_55;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_248;
				NI rd;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_84 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_55 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_248)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_248);
				{
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!!((((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89)))) goto LA676_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_249));
				}
				LA676_: ;
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rd = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_84) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_84,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_84].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_84].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_84].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rc_55) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_55,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_55].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rd) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rd,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rd].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), substr__2yh9cer0ymNRHlOOg8P7IuA((*regs->data[rb_84].node)._kind_3.strVal, ((NI) (regs->data[rc_55].intVal)), ((NI) (regs->data[rd].intVal))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90):
			{
				NI rb_85;
				NI rc_56;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_250;
				NI rd_2;
				tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* rcAddr;
				NI T691_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_85 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_56 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_250)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_250);
				{
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!!((((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 90)))) goto LA681_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_251));
				}
				LA681_: ;
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rd_2 = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NU)(rc_56) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_56,(regs ? regs->Sup.len : 0)-1); }
				rcAddr = (&regs->data[rc_56]);
				{
					if (!((*rcAddr).kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4))) goto LA685_;
					if (!(((16 &(1U<<((NU)((*rcAddr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163)); }
					rcAddr = (*rcAddr).regAddr;
				}
				goto LA683_;
				LA685_: ;
				{
					tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T690_;
					if ((NU)(rc_56) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_56,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[rc_56].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3)))) goto LA688_;
					if ((NU)(rc_56) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_56,(regs ? regs->Sup.len : 0)-1); }
					nimZeroMem((void*)(&T690_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
					nimZeroMem((void*)(&T690_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
					T690_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3);
					genericShallowAssign((void*)(&regs->data[rc_56]), (void*)(&T690_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				goto LA683_;
				LA688_: ;
				LA683_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_85) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_85,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_85].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_85].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_85].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if (!(((8 &(1U<<((NU)((*rcAddr).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
				if ((NU)(rd_2) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rd_2,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rd_2].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T691_ = (NI)0;
				T691_ = nimParseBiggestFloat((*regs->data[rb_85].node)._kind_3.strVal, (&(*rcAddr).floatVal), ((NI) (regs->data[rd_2].intVal)));
				regs->data[ra].intVal = ((NI64) (T691_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101):
			{
				NI rb_86;
				NI rc_57;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_86 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_57 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				{
					NIM_BOOL T695_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T696_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T697_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T699_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T700_;
					tyArray__Re75IspeoxXy2oCZHwcRrA T703_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T704_;
					NimStringDesc* T705_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T706_;
					NimStringDesc* T707_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T708_;
					NimStringDesc* T709_;
					NimStringDesc* T710_;
					T695_ = (NIM_BOOL)0;
					if ((NU)(rb_86) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_86,(regs ? regs->Sup.len : 0)-1); }
					T696_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T696_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_86]);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					T697_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T697_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T695_ = leValueConv__hutrgrWnBjOoG19cbpgmANA(T696_, T697_);
					if (!(T695_)) goto LA698_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					T699_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T699_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					if ((NU)(rc_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_57,(regs ? regs->Sup.len : 0)-1); }
					T700_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T700_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_57]);
					T695_ = leValueConv__hutrgrWnBjOoG19cbpgmANA(T699_, T700_);
					LA698_: ;
					if (!!(T695_)) goto LA701_;
					nimZeroMem((void*)T703_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					T704_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T704_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T703_[0] = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T704_);
					T705_ = (NimStringDesc*)0;
					if ((NU)(rb_86) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_86,(regs ? regs->Sup.len : 0)-1); }
					T706_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T706_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_86]);
					T707_ = (NimStringDesc*)0;
					T707_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T706_);
					if ((NU)(rc_57) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_57,(regs ? regs->Sup.len : 0)-1); }
					T708_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T708_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_57]);
					T709_ = (NimStringDesc*)0;
					T709_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T708_);
					T705_ = rawNewString((T707_ ? T707_->Sup.len : 0) + (T709_ ? T709_->Sup.len : 0) + 4);
appendString(T705_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_253));
appendString(T705_, T707_);
appendString(T705_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_105));
appendString(T705_, T709_);
appendString(T705_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_254));
					T703_[1] = T705_;
					T710_ = (NimStringDesc*)0;
					T710_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_252), T703_, 2);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T710_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA701_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 152):
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153):
			{
				NI rb_87;
				NI rc_58;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb;
				NIM_BOOL isClosure;
				tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_87 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_58 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(rb_87) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_87,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_87].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				bb = regs->data[rb_87].node;
				isClosure = ((*bb).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
				{
					if (!!(isClosure)) goto LA714_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*bb).kind)>>3] &(1U<<((NU)((*bb).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					prc = (*bb)._kind_4.sym;
				}
				goto LA712_;
				LA714_: ;
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*bb).kind)>>3] &(1U<<((NU)((*bb).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*bb)._kind_6.sons ? (*bb)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*bb)._kind_6.sons ? (*bb)._kind_6.sons->Sup.len : 0)-1); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*bb)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*bb)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					prc = (*(*bb)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
				}
				LA712_: ;
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_255;
					tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA T721_;
					if (!((*prc).offset < ((NI) -1))) goto LA719_;
					if ((*prc).offset == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); }
					if (nimSubInt(((NI64)-((*prc).offset)), ((NI) 2), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)) { raiseOverflow(); };
					if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)) >= (NU)((*c).callbacks ? (*c).callbacks->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255),((*c).callbacks ? (*c).callbacks->Sup.len : 0)-1); }
					nimZeroMem((void*)(&T721_), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
					nimZeroMem((void*)(&T721_), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
					T721_.ra = ((NI) (ra));
					T721_.rb = ((NI) (rb_87));
					T721_.rc = ((NI) (rc_58));
					if ((NU)(((NI) 0)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(((NI) 0),(regs ? regs->Sup.len : 0)-1); }
					T721_.slots = ((tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA*) ((&regs->data[((NI) 0)])));
					T721_.currentException = (*c).currentExceptionA;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					T721_.currentLineInfo = (*c).debug->data[pc];
					(*c).callbacks->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)].Field1.ClE_0? (*c).callbacks->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)].Field1.ClP_0((&T721_), (*c).callbacks->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)].Field1.ClE_0):((TM__pyAIA9cUF0h9c4j2HfNQPfYw_256)((*c).callbacks->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_255)].Field1.ClP_0))((&T721_));
				}
				goto LA717_;
				LA719_: ;
				{
					NIM_BOOL T723_;
					T723_ = (NIM_BOOL)0;
					T723_ = importcCond__FdCkMWi1o9ccnUFjzZDi9aUg_2vmgen(prc);
					if (!T723_) goto LA724_;
					{
						if (!!((((*(*c).config).features &(1U<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 10))&15U)))!=0))) goto LA728_;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_257));
					}
					LA728_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_258));
				}
				goto LA717_;
				LA724_: ;
				{
					NI newPc_2;
					tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* newFrame;
					tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T748_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_261;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_265;
					if (!!(((*prc).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18)))) goto LA731_;
					newPc_2 = compile__wk4OXe22qII4FFHuYMKF5Q(c, prc);
					{
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_260;
						if (!(newPc_2 < pc)) goto LA735_;
						{
							if (!((*c).loopIterations <= ((NI) 0))) goto LA739_;
							{
								if (!(((*c).features &(1U<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 1))&7U)))!=0)) goto LA743_;
								(*c).loopIterations = (*(*c).config).maxLoopIterationsVM;
							}
							goto LA741_;
							LA743_: ;
							{
								NimStringDesc* T746_;
								NimStringDesc* T747_;
								msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_126), 0);
								stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ(c, tos_2, pc, ((NI) 100));
								if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
								T746_ = (NimStringDesc*)0;
								T746_ = nimIntToStr((*(*c).config).maxLoopIterationsVM);
								T747_ = (NimStringDesc*)0;
								T747_ = nsuFormatSingleElem(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_259), T746_);
								globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*c).debug->data[pc], T747_);
							}
							LA741_: ;
						}
						LA739_: ;
						if (nimSubInt((*c).loopIterations, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_260)) { raiseOverflow(); };
						(*c).loopIterations = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_260);
					}
					LA735_: ;
					T748_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
					T748_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
					asgnRef((void**) (&(*T748_).prc), prc);
					(*T748_).comesFrom = pc;
					asgnRef((void**) (&(*T748_).next), tos_2);
					newFrame = T748_;
					if (nimAddInt((*prc).offset, isClosure, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_261)) { raiseOverflow(); };
					if (((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_261)) < ((NI) 0) || ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_261)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_261), ((NI) 0), ((NI) IL64(9223372036854775807))); }
					if ((*newFrame).slots) { nimGCunrefNoCycle((*newFrame).slots); (*newFrame).slots = NIM_NIL; }
					(*newFrame).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) ((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_261))));
					{
						NIM_BOOL T751_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T754_;
						if ((NU)(((NI) 0)) >= (NU)((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)-1); }
						T751_ = (NIM_BOOL)0;
						T751_ = isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast((*(*prc).typ).sons->data[((NI) 0)]);
						if (!!(T751_)) goto LA752_;
						if ((NU)(((NI) 0)) >= (NU)((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)-1); }
						if ((NU)(((NI) 0)) >= (NU)((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)-1); }
						T754_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T754_ = getNullValue__MirnaGAtIj7Yo4Gl5MzUxA((*(*prc).typ).sons->data[((NI) 0)], (*prc).info, (*c).config);
						putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&(*newFrame).slots->data[((NI) 0)]), T754_);
					}
					LA752_: ;
					{
						NI i_7;
						NI colontmp__6;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_262;
						NI res_3;
						i_7 = (NI)0;
						colontmp__6 = (NI)0;
						if (nimSubInt(((NI) (rc_58)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_262)) { raiseOverflow(); };
						colontmp__6 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_262);
						res_3 = ((NI) 1);
						{
							while (1) {
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_263;
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_264;
								if (!(res_3 <= colontmp__6)) goto LA757;
								i_7 = res_3;
								if ((NU)(i_7) >= (NU)((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)){ raiseIndexError2(i_7,((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)-1); }
								if (nimAddInt(((NI) (rb_87)), i_7, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_263)) { raiseOverflow(); };
								if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_263)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_263),(regs ? regs->Sup.len : 0)-1); }
								genericAssign((void*)(&(*newFrame).slots->data[i_7]), (void*)(&regs->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_263)]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
								if (nimAddInt(res_3, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_264)) { raiseOverflow(); };
								res_3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_264);
							} LA757: ;
						}
					}
					{
						tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T762_;
						if (!isClosure) goto LA760_;
						if ((NU)(rc_58) >= (NU)((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)){ raiseIndexError2(rc_58,((*newFrame).slots ? (*newFrame).slots->Sup.len : 0)-1); }
						nimZeroMem((void*)(&T762_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
						nimZeroMem((void*)(&T762_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
						T762_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
						if ((NU)(rb_87) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_87,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_87].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[rb_87].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_87].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(((NI) 1)) >= (NU)((*regs->data[rb_87].node)._kind_6.sons ? (*regs->data[rb_87].node)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*regs->data[rb_87].node)._kind_6.sons ? (*regs->data[rb_87].node)._kind_6.sons->Sup.len : 0)-1); }
						T762_.node = (*regs->data[rb_87].node)._kind_6.sons->data[((NI) 1)];
						genericShallowAssign((void*)(&(*newFrame).slots->data[rc_58]), (void*)(&T762_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
					}
					LA760_: ;
					tos_2 = newFrame;
					regs = (*newFrame).slots;
					if (nimSubInt(newPc_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_265)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_265);
				}
				goto LA717_;
				LA731_: ;
				{
					tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* genSymOwner;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroCall;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T771_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_7;
					{
						NIM_BOOL T766_;
						T766_ = (NIM_BOOL)0;
						T766_ = !(((*tos_2).next == NIM_NIL));
						if (!(T766_)) goto LA767_;
						T766_ = !(((*(*tos_2).next).prc == NIM_NIL));
						LA767_: ;
						if (!T766_) goto LA768_;
						genSymOwner = (*(*tos_2).next).prc;
					}
					goto LA764_;
					LA768_: ;
					{
						genSymOwner = (*c).module;
					}
					LA764_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					macroCall = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*c).debug->data[pc]);
					T771_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T771_ = newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(prc);
					add__P8dDSotTW25BkfbyspojGg(macroCall, T771_);
					{
						NI i_8;
						NI colontmp__7;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_266;
						NI res_4;
						i_8 = (NI)0;
						colontmp__7 = (NI)0;
						if (nimSubInt(((NI) (rc_58)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_266)) { raiseOverflow(); };
						colontmp__7 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_266);
						res_4 = ((NI) 1);
						{
							while (1) {
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node;
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_267;
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_268;
								if (!(res_4 <= colontmp__7)) goto LA774;
								i_8 = res_4;
								if (nimAddInt(((NI) (rb_87)), i_8, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_267)) { raiseOverflow(); };
								if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_267)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_267),(regs ? regs->Sup.len : 0)-1); }
								node = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_267)]);
								if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
								(*node).info = (*c).debug->data[pc];
								add__P8dDSotTW25BkfbyspojGg(macroCall, node);
								if (nimAddInt(res_4, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_268)) { raiseOverflow(); };
								res_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_268);
							} LA774: ;
						}
					}
					a_7 = evalTemplate__blgDLjRxVQtmjkznxBqIQA(macroCall, prc, genSymOwner, (*c).config, (*c).cache, NIM_FALSE);
					{
						NIM_BOOL T777_;
						NI T779_;
						T777_ = (NIM_BOOL)0;
						T777_ = ((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
						if (!(T777_)) goto LA778_;
						T779_ = (NI)0;
						T779_ = len__P89cqdlERShb9alU3iC0yj8wast(a_7);
						T777_ = (T779_ == ((NI) 1));
						LA778_: ;
						if (!T777_) goto LA780_;
						if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*a_7).kind)>>3] &(1U<<((NU)((*a_7).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
						if ((NU)(((NI) 0)) >= (NU)((*a_7)._kind_6.sons ? (*a_7)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*a_7)._kind_6.sons ? (*a_7)._kind_6.sons->Sup.len : 0)-1); }
						a_7 = (*a_7)._kind_6.sons->data[((NI) 0)];
					}
					LA780_: ;
					recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA(a_7);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), a_7);
				}
				LA717_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159):
			{
				NI rbx;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_270;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_271;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_270)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_270), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_271)) { raiseOverflow(); };
				rbx = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_271);
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_272;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!!((regs->data[ra].intVal == IL64(0)))) goto LA785_;
					if (nimAddInt(pc, rbx, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_272)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_272);
				}
				LA785_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160):
			{
				NI rbx_2;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_273;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_274;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_273)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_273), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_274)) { raiseOverflow(); };
				rbx_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_274);
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_275;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(regs->data[ra].intVal == IL64(0))) goto LA790_;
					if (nimAddInt(pc, rbx_2, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_275)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_275);
				}
				LA790_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
			{
				NI rbx_3;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_276;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_277;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_278;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_276)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_276), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_277)) { raiseOverflow(); };
				rbx_3 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_277);
				if (nimAddInt(pc, rbx_3, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_278)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_278);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
			{
				NI rbx_4;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_279;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_280;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_281;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_282;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_279)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_279), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_280)) { raiseOverflow(); };
				rbx_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_280);
				if (nimAddInt(pc, rbx_4, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_281)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_281);
				{
					if (!((*c).loopIterations <= ((NI) 0))) goto LA796_;
					{
						if (!(((*c).features &(1U<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 1))&7U)))!=0)) goto LA800_;
						(*c).loopIterations = (*(*c).config).maxLoopIterationsVM;
					}
					goto LA798_;
					LA800_: ;
					{
						NimStringDesc* T803_;
						NimStringDesc* T804_;
						msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_126), 0);
						stackTraceAux__PkuG7RZkhBGOYYiRl9aVcTQ(c, tos_2, pc, ((NI) 100));
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						T803_ = (NimStringDesc*)0;
						T803_ = nimIntToStr((*(*c).config).maxLoopIterationsVM);
						T804_ = (NimStringDesc*)0;
						T804_ = nsuFormatSingleElem(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_259), T803_);
						globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*c).debug->data[pc], T804_);
					}
					LA798_: ;
				}
				LA796_: ;
				if (nimSubInt((*c).loopIterations, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_282)) { raiseOverflow(); };
				(*c).loopIterations = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_282);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_283;
				NIM_BOOL cond;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_288;
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).constants).kind)>>3] &(1U<<((NU)((*(*c).constants).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_283)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_283)) >= (NU)((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_283),((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)-1); }
				branch = (*(*c).constants)._kind_6.sons->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_283)];
				cond = NIM_FALSE;
				{
					NI j;
					NI colontmp__8;
					NI T807_;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_284;
					NI i_9;
					j = (NI)0;
					colontmp__8 = (NI)0;
					T807_ = (NI)0;
					T807_ = len__P89cqdlERShb9alU3iC0yj8wast(branch);
					if (nimSubInt(T807_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_284)) { raiseOverflow(); };
					colontmp__8 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_284);
					i_9 = ((NI) 0);
					{
						while (1) {
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_285;
							if (!(i_9 < colontmp__8)) goto LA809;
							j = i_9;
							{
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T812_;
								NIM_BOOL T813_;
								if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
								T812_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
								T812_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
								if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*branch).kind)>>3] &(1U<<((NU)((*branch).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
								if ((NU)(j) >= (NU)((*branch)._kind_6.sons ? (*branch)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(j,((*branch)._kind_6.sons ? (*branch)._kind_6.sons->Sup.len : 0)-1); }
								T813_ = (NIM_BOOL)0;
								T813_ = overlap__tlIBRycg3YyKwtO2aPbGGg(T812_, (*branch)._kind_6.sons->data[j]);
								if (!T813_) goto LA814_;
								cond = NIM_TRUE;
								goto LA806;
							}
							LA814_: ;
							if (nimAddInt(i_9, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_285)) { raiseOverflow(); };
							i_9 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_285);
						} LA809: ;
					}
				} LA806: ;
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_286;
					if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)) { raiseOverflow(); };
					if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286),((*c).code ? (*c).code->Sup.len : 0)-1); }
					if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!!((((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_286)]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160)))) goto LA818_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_287));
				}
				LA818_: ;
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_288)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_288);
				{
					NU64 instr2;
					NI rbx_5;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_289;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_290;
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_291;
					if (!!(cond)) goto LA822_;
					if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
					instr2 = (*c).code->data[pc];
					if ((NI64)((NU64)((NU64)((NU64)(instr2) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr2) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr2) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
					if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr2) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_289)) { raiseOverflow(); };
					if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_289), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_290)) { raiseOverflow(); };
					rbx_5 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_290);
					if (nimAddInt(pc, rbx_5, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_291)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_291);
				}
				LA822_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
			{
				NI rbx_6;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_292;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_293;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_292)) { raiseOverflow(); };
				rbx_6 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_292);
				if (nimAddInt(pc, rbx_6, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_293)) { raiseOverflow(); };
				pushSafePoint__9c3wdXJt9cBOX9cfwwm2N9cSCw(tos_2, (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_293));
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_294;
					if (nimAddInt(pc, rbx_6, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_294)) { raiseOverflow(); };
					if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_294)) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_294),((*c).code ? (*c).code->Sup.len : 0)-1); }
					if (!!(((NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_294)]) >> (NU64)(0ULL)) & 255ULL) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165) || (NU64)((NU64)((NU64)((*c).code->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_294)]) >> (NU64)(0ULL)) & 255ULL) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166)))) goto LA827_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_295));
				}
				LA827_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165):
			{
				{
					if (!NIM_TRUE) goto LA832_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_296));
				}
				LA832_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166):
			{
				{
					if (!!((savedPC < ((NI) 0)))) goto LA837_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_297));
				}
				LA837_: ;
				popSafePoint__lyZ5BUI2R9aFaje5hbkhzkA(tos_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167):
			{
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_298;
					if (!(((NI) 0) <= savedPC)) goto LA842_;
					if (nimSubInt(savedPC, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_298)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_298);
					savedPC = ((NI) -1);
					{
						if (!!((tos_2 == savedFrame))) goto LA846_;
						tos_2 = savedFrame;
						regs = (*tos_2).slots;
					}
					LA846_: ;
				}
				LA842_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raised;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T854_;
				NimStringDesc* T855_;
				tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* frame;
				tyTuple__DcoP8zLFnBpow03kFN9cGhg jumpTo;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(regs->data[ra].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0))) goto LA851_;
					raised = (*c).currentExceptionA;
				}
				goto LA849_;
				LA851_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					raised = regs->data[ra].node;
				}
				LA849_: ;
				asgnRef((void**) (&(*c).currentExceptionA), raised);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).currentExceptionA).kind)>>3] &(1U<<((NU)((*(*c).currentExceptionA).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(((NI) 2)) >= (NU)((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 2),((*(*c).currentExceptionA)._kind_6.sons ? (*(*c).currentExceptionA)._kind_6.sons->Sup.len : 0)-1); }
				T854_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T854_ = skipColon__6HTnbQSyt2cHxsWfF3vG0A((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 2)]);
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*T854_).kind)>>3] &(1U<<((NU)((*T854_).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T855_ = (NimStringDesc*)0;
				T855_ = (*T854_)._kind_3.strVal; (*T854_)._kind_3.strVal = copyStringRC1((*(*(*(*(*c).currentExceptionA).typ).sym).name).s);
				if (T855_) nimGCunrefNoCycle(T855_);
				(*c).exceptionInstr = pc;
				frame = tos_2;
				jumpTo = findExceptionHandler__aTTkijnIoaKOYRFxgylqeg(c, frame, raised);
				{
					while (1) {
						NIM_BOOL T858_;
						T858_ = (NIM_BOOL)0;
						T858_ = (jumpTo.Field0 == ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 2));
						if (!(T858_)) goto LA859_;
						T858_ = !(((*frame).next == 0));
						LA859_: ;
						if (!T858_) goto LA857;
						frame = (*frame).next;
						jumpTo = findExceptionHandler__aTTkijnIoaKOYRFxgylqeg(c, frame, raised);
					} LA857: ;
				}
				switch (jumpTo.Field0) {
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 0):
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_306;
					savedPC = ((NI) -1);
					if (nimSubInt(jumpTo.Field1, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_306)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_306);
					{
						if (!!((tos_2 == frame))) goto LA863_;
						tos_2 = frame;
						regs = (*tos_2).slots;
					}
					LA863_: ;
				}
				break;
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 1):
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_307;
					savedPC = pc;
					savedFrame = tos_2;
					if (nimSubInt(jumpTo.Field1, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_307)) { raiseOverflow(); };
					pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_307);
					{
						if (!!((tos_2 == frame))) goto LA868_;
						tos_2 = frame;
						regs = (*tos_2).slots;
					}
					LA868_: ;
				}
				break;
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 2):
				{
					bailOut__vuzXeK4eFbZMGAAkgUbVwg(c, tos_2);
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_2;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_310;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_310)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_310)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_310),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_2 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_310)];
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA(typ_2, (*c).debug->data[pc], (*c).config));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_3;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_311;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_312;
				NU64 instr2_2;
				NI count;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_311)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_311)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_311),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_3 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_311)];
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_312)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_312);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				instr2_2 = (*c).code->data[pc];
				if ((NU)((NU64)((NU64)((NU64)(instr2_2) >> (NU64)(8ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr2_2) >> (NU64)(8ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[(NU64)((NU64)((NU64)(instr2_2) >> (NU64)(8ULL)) & 65535ULL)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				count = ((NI) (regs->data[(NU64)((NU64)((NU64)(instr2_2) >> (NU64)(8ULL)) & 65535ULL)].intVal));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*c).debug->data[pc]));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&(*regs->data[ra].node).typ), typ_3);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((count) < ((NI) 0) || (count) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(count, ((NI) 0), ((NI) IL64(9223372036854775807))); }
				if ((*regs->data[ra].node)._kind_6.sons) { nimGCunrefNoCycle((*regs->data[ra].node)._kind_6.sons); (*regs->data[ra].node)._kind_6.sons = NIM_NIL; }
				(*regs->data[ra].node)._kind_6.sons = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) (count)));
				{
					NI i_10;
					NI i_11;
					i_10 = (NI)0;
					i_11 = ((NI) 0);
					{
						while (1) {
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_313;
							if (!(i_11 < count)) goto LA875;
							i_10 = i_11;
							if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
							if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
							if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
							if ((NU)(i_10) >= (NU)((*regs->data[ra].node)._kind_6.sons ? (*regs->data[ra].node)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_10,((*regs->data[ra].node)._kind_6.sons ? (*regs->data[ra].node)._kind_6.sons->Sup.len : 0)-1); }
							if ((NU)(((NI) 0)) >= (NU)((*typ_3).sons ? (*typ_3).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typ_3).sons ? (*typ_3).sons->Sup.len : 0)-1); }
							if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
							asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons->data[i_10]), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA((*typ_3).sons->data[((NI) 0)], (*c).debug->data[pc], (*c).config));
							if (nimAddInt(i_11, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_313)) { raiseOverflow(); };
							i_11 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_313);
						} LA875: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158):
			{
				NI rb_88;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_88 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*c).debug->data[pc]));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_88) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_88,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_88].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((((NI) (regs->data[rb_88].intVal))) < ((NI) 0) || (((NI) (regs->data[rb_88].intVal))) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(((NI) (regs->data[rb_88].intVal)), ((NI) 0), ((NI) IL64(9223372036854775807))); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), mnewString(((NI) (((NI) (regs->data[rb_88].intVal))))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 178):
			{
				NI rbx_7;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_314;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_314)) { raiseOverflow(); };
				rbx_7 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_314);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) (rbx_7));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_4;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_315;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_315)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_315)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_315),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_4 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_315)];
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA(typ_4, (*c).debug->data[pc], (*c).config));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 171):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_5;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_316;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_316)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_316)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_316),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_5 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_316)];
				{
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T882_;
					T882_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T882_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(typ_5, IL64(36134350136322064));
					if (!((IL64(1030792151040) &((NU64)1<<((NU)((*T882_).kind)&63U)))!=0)) goto LA883_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
					regs->data[ra].floatVal = 0.0;
				}
				goto LA880_;
				LA883_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					regs->data[ra].intVal = IL64(0);
				}
				LA880_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172):
			{
				NI rb_89;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_317;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cnst;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_317)) { raiseOverflow(); };
				rb_89 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_317);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).constants).kind)>>3] &(1U<<((NU)((*(*c).constants).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_89) >= (NU)((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_89,((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)-1); }
				cnst = (*(*c).constants)._kind_6.sons->data[rb_89];
				{
					NIM_BOOL T889_;
					T889_ = (NIM_BOOL)0;
					T889_ = fitsRegister__NRltpJT49cakdDyz9a9cNr4Kw((*cnst).typ);
					if (!T889_) goto LA890_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					reset__PQ29bzVEjUtJukXgkwDQPoQ((&regs->data[ra]));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra]), cnst);
				}
				goto LA887_;
				LA890_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), cnst);
				}
				LA887_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173):
			{
				NI rb_90;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_318;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cnst_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_318)) { raiseOverflow(); };
				rb_90 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_318);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).constants).kind)>>3] &(1U<<((NU)((*(*c).constants).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_90) >= (NU)((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_90,((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)-1); }
				cnst_2 = (*(*c).constants)._kind_6.sons->data[rb_90];
				{
					NIM_BOOL T896_;
					T896_ = (NIM_BOOL)0;
					T896_ = fitsRegister__NRltpJT49cakdDyz9a9cNr4Kw((*cnst_2).typ);
					if (!T896_) goto LA897_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra]), cnst_2);
				}
				goto LA894_;
				LA897_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2(cnst_2));
				}
				LA894_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174):
			{
				NI rb_91;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_319;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_320;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_319)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_319), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_320)) { raiseOverflow(); };
				rb_91 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_320);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).globals).kind)>>3] &(1U<<((NU)((*(*c).globals).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_91) >= (NU)((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_91,((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), (*(*c).globals)._kind_6.sons->data[rb_91]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176):
			{
				NI rb_92;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_321;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_322;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_2;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_6;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_321)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_321), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_322)) { raiseOverflow(); };
				rb_92 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_322);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).globals).kind)>>3] &(1U<<((NU)((*(*c).globals).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_92) >= (NU)((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_92,((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)-1); }
				node_2 = (*(*c).globals)._kind_6.sons->data[rb_92];
				typ_6 = (*node_2).typ;
				{
					NimStringDesc* T906_;
					if (!!(((*node_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA904_;
					T906_ = (NimStringDesc*)0;
					T906_ = rawNewString((reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 41);
appendString(T906_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_323));
appendString(T906_, reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T906_);
				}
				LA904_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2_2;
					if (!((*typ_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA909_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					node2_2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*c).debug->data[pc], typ_6);
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node2_2).kind)>>3] &(1U<<((NU)((*node2_2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node_2).kind)>>3] &(1U<<((NU)((*node_2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					(*node2_2)._kind_1.intVal = ((NI64) ((*((NI*) ((*node_2)._kind_1.intVal)))));
					(*node2_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14)) & 31);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), node2_2);
				}
				goto LA907_;
				LA909_: ;
				{
					NIM_BOOL T912_;
					NimStringDesc* T915_;
					tyTuple__9cqHuynYNPU9avbszh3XtBAg T916_;
					NimStringDesc* T917_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node_2).kind)>>3] &(1U<<((NU)((*node_2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					T912_ = (NIM_BOOL)0;
					T912_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*node_2)._kind_1.intVal, typ_6, (&regs->data[ra]), NIM_FALSE);
					if (!!(T912_)) goto LA913_;
					T915_ = (NimStringDesc*)0;
					nimZeroMem((void*)(&T916_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
					T916_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typ_6, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					if ((NU)(((NI) 0)) >= (NU)((*typ_6).sons ? (*typ_6).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typ_6).sons ? (*typ_6).sons->Sup.len : 0)-1); }
					T916_.Field1 = (*(*typ_6).sons->data[((NI) 0)]).kind;
					T917_ = (NimStringDesc*)0;
					T917_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T916_);
					T915_ = rawNewString((T917_ ? T917_->Sup.len : 0) + 29);
appendString(T915_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_324));
appendString(T915_, T917_);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T915_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA907_;
				LA913_: ;
				LA907_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177):
			{
				NI rb_93;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_325;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_326;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_3;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_7;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2_3;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_325)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_325), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_326)) { raiseOverflow(); };
				rb_93 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_326);
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).globals).kind)>>3] &(1U<<((NU)((*(*c).globals).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_93) >= (NU)((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_93,((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)-1); }
				node_3 = (*(*c).globals)._kind_6.sons->data[rb_93];
				typ_7 = (*node_3).typ;
				node2_3 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*node_3).info, typ_7);
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node2_3).kind)>>3] &(1U<<((NU)((*node2_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*node_3).kind)>>3] &(1U<<((NU)((*node_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
				(*node2_3)._kind_1.intVal = (*node_3)._kind_1.intVal;
				(*node2_3).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14)) & 31);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), node2_3);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 175):
			{
				NI rb_94;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_327;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_328;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_327)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_327), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_328)) { raiseOverflow(); };
				rb_94 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_328);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((32 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_164)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).globals).kind)>>3] &(1U<<((NU)((*(*c).globals).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rb_94) >= (NU)((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rb_94,((*(*c).globals)._kind_6.sons ? (*(*c).globals)._kind_6.sons->Sup.len : 0)-1); }
				regs->data[ra].nodeAddr = &(*(*c).globals)._kind_6.sons->data[rb_94];
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83):
			{
				NI rb_95;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T921_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_95 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_95) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_95,(regs ? regs->Sup.len : 0)-1); }
				T921_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T921_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_95]);
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA(T921_, 12));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93):
			{
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T927_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T928_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T929_;
					NI T930_;
					if (!((25 &(1U<<((NU)((*c).mode)&7U)))!=0)) goto LA925_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					message__mMj7lrOf3zBP9bl69amiKu5g((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 58), ((NimStringDesc*) NIM_NIL));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					T927_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T927_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T928_ = toInt128__161i7kexvUAISxPtGBRWYw(((NI) 1));
					T929_ = getOrdValue__GvVg8kpCh7QA2PDTJnFJlQ(T927_, T928_);
					T930_ = (NI)0;
					T930_ = toInt__TIX0sFuRf3uBpOBltYp7bw(T929_);
					if ((T930_) < ((NI8) -128) || (T930_) > ((NI8) 127)){ raiseRangeErrorI(T930_, ((NI8) -128), ((NI8) 127)); }
					msgQuit__PlZXt6qHCDDk29c9ac4IuLGA(((NI8) (T930_)));
				}
				goto LA923_;
				LA925_: ;
				{
					chckNil((void*)Result);
					switch ((*Result).kind) {
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0):
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
					(*Result).intVal = 0;
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
					(*Result).floatVal = 0;
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
					unsureAsgnRef((void**)&(*Result).node, NIM_NIL);
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
					(*Result).regAddr = NIM_NIL;
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
					(*Result).nodeAddr = NIM_NIL;
					break;
					} 
					(*Result).kind = 0;
					(*Result).kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0);
					goto BeforeRet_;
				}
				LA923_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94):
			{
				NimStringDesc* T933_;
				T933_ = (NimStringDesc*)0;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T933_ = rawNewString(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0) + 18);
appendString(T933_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_329));
appendString(T933_, (*regs->data[ra].node)._kind_3.strVal);
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T933_, (*c).debug->data[pc]);
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84):
			{
				NI rb_96;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_96 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_96) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_96,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_96].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((((NI) (regs->data[rb_96].intVal))) < ((NI) 0) || (((NI) (regs->data[rb_96].intVal))) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(((NI) (regs->data[rb_96].intVal)), ((NI) 0), ((NI) IL64(9223372036854775807))); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), setLengthStr((*regs->data[ra].node)._kind_3.strVal, ((NI) (((NI) (regs->data[rb_96].intVal))))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 87):
			{
				NI rb_97;
				NI rc_59;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_8;
				NI T936_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_97 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_59 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rc_59) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_59,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_59].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(regs->data[rc_59].intVal) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2(regs->data[rc_59].intVal,((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_8 = (*c).types->data[regs->data[rc_59].intVal];
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_97) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_97,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_97].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				T936_ = (NI)0;
				T936_ = inheritanceDiff__1dM2iQB5qStJfnn3684ijQ_2((*regs->data[rb_97].node).typ, typ_8);
				regs->data[ra].intVal = ((NI64) ((T936_ <= ((NI) 0))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 88):
			{
				NI rb_98;
				NI rc_60;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t1;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t2;
				NIM_BOOL match;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_98 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_60 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_98) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_98,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_98].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				t1 = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*regs->data[rb_98].node).typ, 256);
				if ((NU)(rc_60) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_60,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_60].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(regs->data[rc_60].intVal) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2(regs->data[rc_60].intVal,((*c).types ? (*c).types->Sup.len : 0)-1); }
				t2 = (*c).types->data[regs->data[rc_60].intVal];
				{
					if (!((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA940_;
					match = NIM_TRUE;
				}
				goto LA938_;
				LA940_: ;
				{
					match = sameType__3isNyHKb0U1OCnClmflXSg(t1, t2, 0);
				}
				LA938_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = ((NI64) (match));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85):
			{
				NI rb_99;
				NI newLen;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_99 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_99) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_99,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_99].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				newLen = ((NI) (regs->data[rb_99].intVal));
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(regs->data[ra].node == 0)) goto LA946_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA944_;
				LA946_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					setLenSeq__KXA4RY1gNwE3eOYKOBnMZw(c, regs->data[ra].node, newLen, (*c).debug->data[pc]);
				}
				LA944_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95):
			{
				NI rb_100;
				NI64 min;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_331;
				NI64 max;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_332;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_333;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_100 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if (nimSubInt(((NI) (rb_100)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_331)) { raiseOverflow(); };
				if ((NI64)((NU64)(IL64(1)) << (NU64)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_331))) == (IL64(-9223372036854775807) - IL64(1))){ raiseOverflow(); }
				min = -((NI64)((NU64)(IL64(1)) << (NU64)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_331))));
				if (nimSubInt(((NI) (rb_100)), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_332)) { raiseOverflow(); };
				if (nimSubInt64((NI64)((NU64)(IL64(1)) << (NU64)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_332))), IL64(1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_333)) { raiseOverflow(); };
				max = (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_333);
				{
					NIM_BOOL T952_;
					T952_ = (NIM_BOOL)0;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					T952_ = (regs->data[ra].intVal < min);
					if (T952_) goto LA953_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					T952_ = (max < regs->data[ra].intVal);
					LA953_: ;
					if (!T952_) goto LA954_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_334), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA954_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96):
			{
				NI rb_101;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_335;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_101 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if (nimSubInt64((NI64)((NU64)(IL64(1)) << (NU64)(((NI) (rb_101)))), IL64(1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_335)) { raiseOverflow(); };
				regs->data[ra].intVal = (NI64)(regs->data[ra].intVal & (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_335));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97):
			{
				NI rb_102;
				NI imm_6;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_336;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_102 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if (nimSubInt(((NI) 64), ((NI) (rb_102)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_336)) { raiseOverflow(); };
				imm_6 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_336);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = (NI64)((NI64)((NI64)((NU64)(regs->data[ra].intVal) << (NU64)(imm_6))) >> (NU64)(imm_6));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 86):
			{
				NI rb_103;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_4;
				NIM_BOOL T959_;
				NIM_BOOL T960_;
				NIM_BOOL T963_;
				NIM_BOOL T964_;
				NIM_BOOL T965_;
				NIM_BOOL T966_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_103 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_103) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_103,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_103].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				node_4 = regs->data[rb_103].node;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T959_ = (NIM_BOOL)0;
				T960_ = (NIM_BOOL)0;
				T960_ = ((*node_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				if (!(T960_)) goto LA961_;
				T960_ = !((((*node_4).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
				LA961_: ;
				T959_ = T960_;
				if (T959_) goto LA962_;
				T963_ = (NIM_BOOL)0;
				T964_ = (NIM_BOOL)0;
				T965_ = (NIM_BOOL)0;
				T966_ = (NIM_BOOL)0;
				T966_ = !(((*node_4).typ == 0));
				if (!(T966_)) goto LA967_;
				T966_ = ((*(*node_4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
				LA967_: ;
				T965_ = T966_;
				if (!(T965_)) goto LA968_;
				T965_ = ((*(*node_4).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 8));
				LA968_: ;
				T964_ = T965_;
				if (!(T964_)) goto LA969_;
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*node_4).kind)>>3] &(1U<<((NU)((*node_4).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(((NI) 0)) >= (NU)((*node_4)._kind_6.sons ? (*node_4)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*node_4)._kind_6.sons ? (*node_4)._kind_6.sons->Sup.len : 0)-1); }
				T964_ = ((*(*node_4)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				LA969_: ;
				T963_ = T964_;
				if (!(T963_)) goto LA970_;
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*node_4).kind)>>3] &(1U<<((NU)((*node_4).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(((NI) 1)) >= (NU)((*node_4)._kind_6.sons ? (*node_4)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*node_4)._kind_6.sons ? (*node_4)._kind_6.sons->Sup.len : 0)-1); }
				T963_ = ((*(*node_4)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				LA970_: ;
				T959_ = T963_;
				LA962_: ;
				regs->data[ra].intVal = ((NI64) (T959_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179):
			{
				NI rbx_8;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_337;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_337)) { raiseOverflow(); };
				rbx_8 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_337);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).constants).kind)>>3] &(1U<<((NU)((*(*c).constants).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(rbx_8) >= (NU)((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(rbx_8,((*(*c).constants)._kind_6.sons ? (*(*c).constants)._kind_6.sons->Sup.len : 0)-1); }
				asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2((*(*c).constants)._kind_6.sons->data[rbx_8]));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 180):
			{
				NI rb_104;
				NI rc_61;
				NI idx_6;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_338;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_339;
				tyProc__S09bPfanQx9bEvdh4862x8zw callback;
				tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA args;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_104 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_61 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if (nimAddInt(((NI) (rb_104)), ((NI) (rc_61)), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_338)) { raiseOverflow(); };
				if (nimSubInt((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_338), ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_339)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_339)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_339),(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_339)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_6 = ((NI) (regs->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_339)].intVal));
				nimZeroMem((void*)(&callback), sizeof(tyProc__S09bPfanQx9bEvdh4862x8zw));
				if ((NU)(idx_6) >= (NU)((*c).callbacks ? (*c).callbacks->Sup.len : 0)){ raiseIndexError2(idx_6,((*c).callbacks ? (*c).callbacks->Sup.len : 0)-1); }
				callback.ClE_0 = (*c).callbacks->data[idx_6].Field1.ClE_0;
				callback.ClP_0 = (*c).callbacks->data[idx_6].Field1.ClP_0;
				nimZeroMem((void*)(&args), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
				chckNil((void*)(&args));
				nimZeroMem((void*)(&args), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
				args.ra = ((NI) (ra));
				args.rb = ((NI) (rb_104));
				args.rc = ((NI) (rc_61));
				if ((NU)(((NI) 0)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(((NI) 0),(regs ? regs->Sup.len : 0)-1); }
				args.slots = ((tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA*) ((&regs->data[((NI) 0)])));
				args.currentException = (*c).currentExceptionA;
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				args.currentLineInfo = (*c).debug->data[pc];
				callback.ClE_0? callback.ClP_0((&args), callback.ClE_0):((TM__pyAIA9cUF0h9c4j2HfNQPfYw_340)(callback.ClP_0))((&args));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 155):
			{
				NI rb_105;
				NI rc_62;
				NI idx_7;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_105 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_62 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rc_62) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_62,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_62].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_7 = ((NI) (regs->data[rc_62].intVal));
				if ((NU)(rb_105) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_105,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_105].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				src_5 = regs->data[rb_105].node;
				{
					NimStringDesc* T978_;
					if (!((*src_5).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src_5).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA976_;
					T978_ = (NimStringDesc*)0;
					T978_ = rawNewString((reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 32);
appendString(T978_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_341));
appendString(T978_, reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T978_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA974_;
				LA976_: ;
				{
					NI T980_;
					NIM_BOOL T981_;
					NimStringDesc* T984_;
					T980_ = (NI)0;
					T980_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
					T981_ = (NIM_BOOL)0;
					T981_ = lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system(T980_, idx_7);
					if (!T981_) goto LA982_;
					T984_ = (NimStringDesc*)0;
					{
						NI T987_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_342;
						T987_ = (NI)0;
						T987_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
						if (nimSubInt(T987_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_342)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_342) < ((NI) 0))) goto LA988_;
						T984_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA985_;
					LA988_: ;
					{
						NimStringDesc* T991_;
						NimStringDesc* T992_;
						NI T993_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_343;
						NimStringDesc* T994_;
						T991_ = (NimStringDesc*)0;
						T992_ = (NimStringDesc*)0;
						T992_ = nimIntToStr(idx_7);
						T993_ = (NI)0;
						T993_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
						if (nimSubInt(T993_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_343)) { raiseOverflow(); };
						T994_ = (NimStringDesc*)0;
						T994_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_343));
						T991_ = rawNewString((T992_ ? T992_->Sup.len : 0) + (T994_ ? T994_->Sup.len : 0) + 19);
appendString(T991_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T991_, T992_);
appendString(T991_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T991_, T994_);
						T984_ = T991_;
					}
					LA985_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T984_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA974_;
				LA982_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*src_5).kind)>>3] &(1U<<((NU)((*src_5).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx_7) >= (NU)((*src_5)._kind_6.sons ? (*src_5)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx_7,((*src_5)._kind_6.sons ? (*src_5)._kind_6.sons->Sup.len : 0)-1); }
					asgnRef((void**) (&regs->data[ra].node), (*src_5)._kind_6.sons->data[idx_7]);
				}
				LA974_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156):
			{
				NI rb_106;
				NI rc_63;
				NI idx_8;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_106 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_63 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_106) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_106,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_106].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_8 = ((NI) (regs->data[rb_106].intVal));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_2 = regs->data[ra].node;
				{
					NIM_BOOL T999_;
					T999_ = (NIM_BOOL)0;
					T999_ = (((*dest_2).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T999_)) goto LA1000_;
					T999_ = !((((*(*c).config).legacyFeatures &(1U<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA1000_: ;
					if (!T999_) goto LA1001_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_344), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA997_;
				LA1001_: ;
				{
					NimStringDesc* T1006_;
					if (!((*dest_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*dest_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1004_;
					T1006_ = (NimStringDesc*)0;
					T1006_ = rawNewString((reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 32);
appendString(T1006_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_345));
appendString(T1006_, reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1006_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA997_;
				LA1004_: ;
				{
					NI T1008_;
					NIM_BOOL T1009_;
					NimStringDesc* T1012_;
					T1008_ = (NI)0;
					T1008_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
					T1009_ = (NIM_BOOL)0;
					T1009_ = lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system(T1008_, idx_8);
					if (!T1009_) goto LA1010_;
					T1012_ = (NimStringDesc*)0;
					{
						NI T1015_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_346;
						T1015_ = (NI)0;
						T1015_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
						if (nimSubInt(T1015_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_346)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_346) < ((NI) 0))) goto LA1016_;
						T1012_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA1013_;
					LA1016_: ;
					{
						NimStringDesc* T1019_;
						NimStringDesc* T1020_;
						NI T1021_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_347;
						NimStringDesc* T1022_;
						T1019_ = (NimStringDesc*)0;
						T1020_ = (NimStringDesc*)0;
						T1020_ = nimIntToStr(idx_8);
						T1021_ = (NI)0;
						T1021_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
						if (nimSubInt(T1021_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_347)) { raiseOverflow(); };
						T1022_ = (NimStringDesc*)0;
						T1022_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_347));
						T1019_ = rawNewString((T1020_ ? T1020_->Sup.len : 0) + (T1022_ ? T1022_->Sup.len : 0) + 19);
appendString(T1019_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T1019_, T1020_);
appendString(T1019_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T1019_, T1022_);
						T1012_ = T1019_;
					}
					LA1013_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1012_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA997_;
				LA1010_: ;
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*dest_2).kind)>>3] &(1U<<((NU)((*dest_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx_8) >= (NU)((*dest_2)._kind_6.sons ? (*dest_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx_8,((*dest_2)._kind_6.sons ? (*dest_2)._kind_6.sons->Sup.len : 0)-1); }
					if ((NU)(rc_63) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_63,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_63].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&(*dest_2)._kind_6.sons->data[idx_8]), regs->data[rc_63].node);
				}
				LA997_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102):
			{
				NI rb_107;
				NI rc_64;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* u;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_107 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_64 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_107) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_107,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_107].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				u = regs->data[rb_107].node;
				{
					NIM_BOOL T1027_;
					T1027_ = (NIM_BOOL)0;
					T1027_ = (((*u).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T1027_)) goto LA1028_;
					T1027_ = !((((*(*c).config).legacyFeatures &(1U<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA1028_: ;
					if (!T1027_) goto LA1029_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_344), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1025_;
				LA1029_: ;
				{
					NimStringDesc* T1034_;
					if (!((*u).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*u).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1032_;
					T1034_ = (NimStringDesc*)0;
					T1034_ = rawNewString((reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T1034_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_348));
appendString(T1034_, reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1034_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1025_;
				LA1032_: ;
				{
					if ((NU)(rc_64) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_64,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_64].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					add__P8dDSotTW25BkfbyspojGg(u, regs->data[rc_64].node);
				}
				LA1025_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), u);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 103):
			{
				NI rb_108;
				NI rc_65;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* u_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_108 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_65 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rc_65) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_65,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_65].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				x = regs->data[rc_65].node;
				if ((NU)(rb_108) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_108,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_108].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				u_2 = regs->data[rb_108].node;
				{
					NIM_BOOL T1039_;
					T1039_ = (NIM_BOOL)0;
					T1039_ = (((*u_2).flags &(1U<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T1039_)) goto LA1040_;
					T1039_ = !((((*(*c).config).legacyFeatures &(1U<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA1040_: ;
					if (!T1039_) goto LA1041_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_344), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1037_;
				LA1041_: ;
				{
					NimStringDesc* T1046_;
					if (!((*u_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*u_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1044_;
					T1046_ = (NimStringDesc*)0;
					T1046_ = rawNewString((reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T1046_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_348));
appendString(T1046_, reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1046_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1037_;
				LA1044_: ;
				{
					{
						NI i_12;
						NI colontmp__9;
						NI i_13;
						i_12 = (NI)0;
						colontmp__9 = (NI)0;
						colontmp__9 = len__P89cqdlERShb9alU3iC0yj8wast(x);
						i_13 = ((NI) 0);
						{
							while (1) {
								NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_349;
								if (!(i_13 < colontmp__9)) goto LA1050;
								i_12 = i_13;
								if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*x).kind)>>3] &(1U<<((NU)((*x).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
								if ((NU)(i_12) >= (NU)((*x)._kind_6.sons ? (*x)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_12,((*x)._kind_6.sons ? (*x)._kind_6.sons->Sup.len : 0)-1); }
								add__P8dDSotTW25BkfbyspojGg(u_2, (*x)._kind_6.sons->data[i_12]);
								if (nimAddInt(i_13, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_349)) { raiseOverflow(); };
								i_13 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_349);
							} LA1050: ;
						}
					}
				}
				LA1037_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), u_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104):
			{
				NI rb_109;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_109 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				if ((NU)(rb_109) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_109,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_109].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				regs->data[ra].intVal = ((NI64) ((*regs->data[rb_109].node).kind));
				if ((NU)(rb_109) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_109,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_109].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*c).comesFromHeuristic = (*regs->data[rb_109].node).info;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105):
			{
				NI rb_110;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_8;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_110 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_110) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_110,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_110].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_8 = regs->data[rb_110].node;
				{
					if (!((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA1055_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_8).kind)>>3] &(1U<<((NU)((*a_8).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					regs->data[ra].intVal = ((NI64) ((*(*a_8)._kind_4.sym).kind));
				}
				goto LA1053_;
				LA1055_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_242), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1053_: ;
				if ((NU)(rb_110) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_110,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_110].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*c).comesFromHeuristic = (*regs->data[rb_110].node).info;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106):
			{
				NI rb_111;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_9;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_111 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_111) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_111,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_111].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_9 = regs->data[rb_111].node;
				{
					if (!((*a_9).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a_9).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA1061_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*a_9).kind)>>3] &(1U<<((NU)((*a_9).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					regs->data[ra].intVal = (*a_9)._kind_1.intVal;
				}
				goto LA1059_;
				LA1061_: ;
				{
					NIM_BOOL T1064_;
					T1064_ = (NIM_BOOL)0;
					T1064_ = ((*a_9).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1064_)) goto LA1065_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_9).kind)>>3] &(1U<<((NU)((*a_9).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T1064_ = ((*(*a_9)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
					LA1065_: ;
					if (!T1064_) goto LA1066_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_9).kind)>>3] &(1U<<((NU)((*a_9).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					regs->data[ra].intVal = ((NI64) ((*(*a_9)._kind_4.sym).position));
				}
				goto LA1059_;
				LA1066_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_350), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1059_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107):
			{
				NI rb_112;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_10;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_112 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				if ((NU)(rb_112) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_112,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_112].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_10 = regs->data[rb_112].node;
				switch ((*a_10).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((8 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*a_10).kind)>>3] &(1U<<((NU)((*a_10).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
					regs->data[ra].floatVal = (*a_10)._kind_2.floatVal;
				}
				break;
				default:
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_351), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108):
			{
				NI rb_113;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_11;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_113 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_113) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_113,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_113].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_11 = regs->data[rb_113].node;
				{
					if (!((*a_11).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA1075_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ(a_11));
				}
				goto LA1073_;
				LA1075_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_352), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1073_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109):
			{
				NI rb_114;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_12;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_114 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_114) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_114,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_114].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_12 = regs->data[rb_114].node;
				{
					if (!((*a_12).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA1081_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ(a_12));
				}
				goto LA1079_;
				LA1081_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_353), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1079_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136):
			{
				NI rb_115;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_115 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = IL64(-1);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110):
			{
				NI rb_116;
				NI rc_66;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_116 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_66 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				switch (rc_66) {
				case ((NI) 0):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1089_;
						T1089_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1089_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1089_)) goto LA1090_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1089_ = !(((*regs->data[rb_116].node).typ == NIM_NIL));
						LA1090_: ;
						if (!T1089_) goto LA1091_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeToAst__B7DYLotR9aw6o9cHZhrLIPGg((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1087_;
					LA1091_: ;
					{
						NIM_BOOL T1094_;
						NIM_BOOL T1095_;
						T1094_ = (NIM_BOOL)0;
						T1095_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1095_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1095_)) goto LA1096_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1095_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1096_: ;
						T1094_ = T1095_;
						if (!(T1094_)) goto LA1097_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T1094_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == NIM_NIL));
						LA1097_: ;
						if (!T1094_) goto LA1098_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeToAst__B7DYLotR9aw6o9cHZhrLIPGg((*c).cache, (*(*regs->data[rb_116].node)._kind_4.sym).typ, (*c).debug->data[pc]));
					}
					goto LA1087_;
					LA1098_: ;
					{
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_354), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA1087_: ;
				}
				break;
				case ((NI) 1):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
					{
						NIM_BOOL T1104_;
						T1104_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1104_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1104_)) goto LA1105_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1104_ = !(((*regs->data[rb_116].node).typ == NIM_NIL));
						LA1105_: ;
						if (!T1104_) goto LA1106_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						regs->data[ra].intVal = ((NI64) ((*(*regs->data[rb_116].node).typ).kind));
					}
					goto LA1102_;
					LA1106_: ;
					{
						NIM_BOOL T1109_;
						NIM_BOOL T1110_;
						T1109_ = (NIM_BOOL)0;
						T1110_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1110_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1110_)) goto LA1111_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1110_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1111_: ;
						T1109_ = T1110_;
						if (!(T1109_)) goto LA1112_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T1109_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == NIM_NIL));
						LA1112_: ;
						if (!T1109_) goto LA1113_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						regs->data[ra].intVal = ((NI64) ((*(*(*regs->data[rb_116].node)._kind_4.sym).typ).kind));
					}
					goto LA1102_;
					LA1113_: ;
					LA1102_: ;
				}
				break;
				case ((NI) 2):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1118_;
						T1118_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1118_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1118_)) goto LA1119_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1118_ = !(((*regs->data[rb_116].node).typ == NIM_NIL));
						LA1119_: ;
						if (!T1118_) goto LA1120_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg_2((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1116_;
					LA1120_: ;
					{
						NIM_BOOL T1123_;
						NIM_BOOL T1124_;
						T1123_ = (NIM_BOOL)0;
						T1124_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1124_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1124_)) goto LA1125_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1124_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1125_: ;
						T1123_ = T1124_;
						if (!(T1123_)) goto LA1126_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T1123_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == NIM_NIL));
						LA1126_: ;
						if (!T1123_) goto LA1127_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg_2((*c).cache, (*(*regs->data[rb_116].node)._kind_4.sym).typ, (*c).debug->data[pc]));
					}
					goto LA1116_;
					LA1127_: ;
					{
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_354), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA1116_: ;
				}
				break;
				default:
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1133_;
						T1133_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1133_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1133_)) goto LA1134_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1133_ = !(((*regs->data[rb_116].node).typ == NIM_NIL));
						LA1134_: ;
						if (!T1133_) goto LA1135_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeImplToAst__B7DYLotR9aw6o9cHZhrLIPGg_3((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1131_;
					LA1135_: ;
					{
						NIM_BOOL T1138_;
						NIM_BOOL T1139_;
						T1138_ = (NIM_BOOL)0;
						T1139_ = (NIM_BOOL)0;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						T1139_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1139_)) goto LA1140_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1139_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1140_: ;
						T1138_ = T1139_;
						if (!(T1138_)) goto LA1141_;
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						T1138_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == NIM_NIL));
						LA1141_: ;
						if (!T1138_) goto LA1142_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if ((NU)(rb_116) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_116,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[rb_116].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_116].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_116].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						asgnRef((void**) (&regs->data[ra].node), opMapTypeImplToAst__B7DYLotR9aw6o9cHZhrLIPGg_3((*c).cache, (*(*regs->data[rb_116].node)._kind_4.sym).typ, (*c).debug->data[pc]));
					}
					goto LA1131_;
					LA1142_: ;
					{
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_354), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA1131_: ;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113):
			{
				NI rb_117;
				NI imm_7;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_355;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_117 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_355)) { raiseOverflow(); };
				imm_7 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_355);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_117) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_117,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_117].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				n_5 = regs->data[rb_117].node;
				switch (imm_7) {
				case ((NI) 0):
				{
					{
						if (!((*n_5).typ == NIM_NIL)) goto LA1149_;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_354), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					goto LA1147_;
					LA1149_: ;
					{
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						regs->data[ra].intVal = getSize__vCG1GF2Iu043oALVyuJfOw((*c).config, (*n_5).typ);
					}
					LA1147_: ;
				}
				break;
				case ((NI) 1):
				{
					{
						if (!((*n_5).typ == NIM_NIL)) goto LA1155_;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_354), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					goto LA1153_;
					LA1155_: ;
					{
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						regs->data[ra].intVal = getAlign__vCG1GF2Iu043oALVyuJfOw_2((*c).config, (*n_5).typ);
					}
					LA1153_: ;
				}
				break;
				default:
				{
					{
						if (!!(((*n_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA1161_;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_242), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					goto LA1159_;
					LA1161_: ;
					{
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*n_5).kind)>>3] &(1U<<((NU)((*n_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						if (!!(((*(*n_5)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA1164_;
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_356), (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					goto LA1159_;
					LA1164_: ;
					{
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
						if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*n_5).kind)>>3] &(1U<<((NU)((*n_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
						regs->data[ra].intVal = ((NI64) ((*(*n_5)._kind_4.sym).offset));
					}
					LA1159_: ;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111):
			{
				NI rb_118;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_13;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_118 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(rb_118) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_118,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_118].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_13 = regs->data[rb_118].node;
				switch ((*a_13).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					NimStringDesc* T1169_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*a_13).kind)>>3] &(1U<<((NU)((*a_13).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T1169_ = (NimStringDesc*)0;
					T1169_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*a_13)._kind_3.strVal);
					if (T1169_) nimGCunrefNoCycle(T1169_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
				{
					NimStringDesc* T1171_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T1171_ = (NimStringDesc*)0;
					T1171_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*a_13).comment);
					if (T1171_) nimGCunrefNoCycle(T1171_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					NimStringDesc* T1173_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*a_13).kind)>>3] &(1U<<((NU)((*a_13).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					T1173_ = (NimStringDesc*)0;
					T1173_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*(*a_13)._kind_5.ident).s);
					if (T1173_) nimGCunrefNoCycle(T1173_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					NimStringDesc* T1175_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*a_13).kind)>>3] &(1U<<((NU)((*a_13).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T1175_ = (NimStringDesc*)0;
					T1175_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*(*(*a_13)._kind_4.sym).name).s);
					if (T1175_) nimGCunrefNoCycle(T1175_);
				}
				break;
				default:
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_357), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112):
			{
				NI rb_119;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_119 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				{
					if ((NU)(rb_119) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_119,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_119].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!!(((*regs->data[rb_119].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA1180_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_242), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1178_;
				LA1180_: ;
				{
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T1183_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(rb_119) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_119,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_119].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_119].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_119].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					nimZeroMem((void*)T1183_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					sigHash__mSn9a9aX0NBzWqerwPW0qRww_2((*regs->data[rb_119].node)._kind_4.sym, T1183_);
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), dollar___0A9bslyIJ49bWrftLGh13rvg(T1183_));
				}
				LA1178_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137):
			{
				NI rb_120;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_120 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_120) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_120,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_120].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_120].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_120].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), opSlurp__BZteCpC7yurCSeB8YcFcgg((*regs->data[rb_120].node)._kind_3.strVal, (*c).debug->data[pc], (*c).module, (*c).config));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 138):
			{
				NI rb_121;
				NI rc_67;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_358;
				NI rd_3;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_121 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_67 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_358)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_358);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rd_3 = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				{
					NIM_BOOL T1188_;
					T1188_ = (NIM_BOOL)0;
					T1188_ = NIM_FALSE;
					if (T1188_) goto LA1189_;
					T1188_ = ((*(*c).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
					LA1189_: ;
					if (!T1188_) goto LA1190_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
				}
				goto LA1186_;
				LA1190_: ;
				{
					tyTuple__XOVT24GHXwqiEj5GCsEGCA T1193_;
					NimStringDesc* T1194_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(rb_121) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_121,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_121].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_121].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_121].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(rc_67) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_67,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_67].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_67].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_67].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(rd_3) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rd_3,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rd_3].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rd_3].node).kind)>>3] &(1U<<((NU)((*regs->data[rd_3].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					nimZeroMem((void*)(&T1193_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
					opGorge__PHM9cEmzUJYj3PsIVbIPnxQ((*regs->data[rb_121].node)._kind_3.strVal, (*regs->data[rc_67].node)._kind_3.strVal, (*regs->data[rd_3].node)._kind_3.strVal, (*c).debug->data[pc], (*c).config, (&T1193_));
					T1194_ = (NimStringDesc*)0;
					T1194_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1(T1193_.Field0);
					if (T1194_) nimGCunrefNoCycle(T1194_);
				}
				LA1186_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142):
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143):
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144):
			{
				NI rb_122;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_14;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_6;
				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_122 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				a_14 = regs->data[ra].node;
				if ((NU)(rb_122) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_122,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_122].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				b_6 = regs->data[rb_122].node;
				{
					if (!((*b_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1198_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					info = (*c).debug->data[pc];
				}
				goto LA1196_;
				LA1198_: ;
				{
					info = (*b_6).info;
				}
				LA1196_: ;
				{
					if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142))) goto LA1203_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*a_14).kind)>>3] &(1U<<((NU)((*a_14).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, (*a_14)._kind_3.strVal, info);
					goto BeforeRet_;
				}
				goto LA1201_;
				LA1203_: ;
				{
					if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143))) goto LA1206_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*a_14).kind)>>3] &(1U<<((NU)((*a_14).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					message__mMj7lrOf3zBP9bl69amiKu5g((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 49), (*a_14)._kind_3.strVal);
				}
				goto LA1201_;
				LA1206_: ;
				{
					if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144))) goto LA1209_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*a_14).kind)>>3] &(1U<<((NU)((*a_14).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					message__mMj7lrOf3zBP9bl69amiKu5g((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 77), (*a_14)._kind_3.strVal);
				}
				goto LA1201_;
				LA1209_: ;
				LA1201_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139):
			{
				NI rb_123;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast_2;
				NimStringDesc* T1212_;
				tyProc__eADjAhqPI0ogAK7A2xrf0A T1213_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_123 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				(*colonenv_).error1 = (NimStringDesc*)0;
				if ((NU)(rb_123) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_123,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_123].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_123].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_123].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				T1212_ = (NimStringDesc*)0;
				T1212_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*c).debug->data[pc].fileIndex);
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				nimZeroMem((void*)(&T1213_), sizeof(tyProc__eADjAhqPI0ogAK7A2xrf0A));
				T1213_.ClP_0 = colonanonymous___6EfduEPFujEgbQYzbi9aI3w; T1213_.ClE_0 = colonenv_;
				ast_2 = parseString__ZXKKi17aCgkDjL5WP5iEUQ((*regs->data[rb_123].node)._kind_3.strVal, (*c).cache, (*c).config, T1212_, ((NI) ((*c).debug->data[pc].line)), T1213_);
				{
					NimStringDesc* T1218_;
					if (!(((NI) 0) < ((*colonenv_).error1 ? (*colonenv_).error1->Sup.len : 0))) goto LA1216_;
					T1218_ = (NimStringDesc*)0;
					T1218_ = (*c).errorFlag; (*c).errorFlag = copyStringRC1((*colonenv_).error1);
					if (T1218_) nimGCunrefNoCycle(T1218_);
				}
				goto LA1214_;
				LA1216_: ;
				{
					NI T1220_;
					T1220_ = (NI)0;
					T1220_ = len__P89cqdlERShb9alU3iC0yj8wast(ast_2);
					if (!!((T1220_ == ((NI) 1)))) goto LA1221_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					asgnRef((void**) (&(*c).errorFlag), formatMsg__1JLtPXtBEOA0aYSS8UEJDw((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_359)));
				}
				goto LA1214_;
				LA1221_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*ast_2).kind)>>3] &(1U<<((NU)((*ast_2).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*ast_2)._kind_6.sons ? (*ast_2)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*ast_2)._kind_6.sons ? (*ast_2)._kind_6.sons->Sup.len : 0)-1); }
					asgnRef((void**) (&regs->data[ra].node), (*ast_2)._kind_6.sons->data[((NI) 0)]);
				}
				LA1214_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140):
			{
				NI rb_124;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast_3;
				NimStringDesc* T1225_;
				tyProc__eADjAhqPI0ogAK7A2xrf0A T1226_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_124 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				(*colonenv_).error2 = (NimStringDesc*)0;
				if ((NU)(rb_124) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_124,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_124].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_124].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_124].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				T1225_ = (NimStringDesc*)0;
				T1225_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*c).debug->data[pc].fileIndex);
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				nimZeroMem((void*)(&T1226_), sizeof(tyProc__eADjAhqPI0ogAK7A2xrf0A));
				T1226_.ClP_0 = colonanonymous___6EfduEPFujEgbQYzbi9aI3w_2; T1226_.ClE_0 = colonenv_;
				ast_3 = parseString__ZXKKi17aCgkDjL5WP5iEUQ((*regs->data[rb_124].node)._kind_3.strVal, (*c).cache, (*c).config, T1225_, ((NI) ((*c).debug->data[pc].line)), T1226_);
				{
					NimStringDesc* T1231_;
					if (!(((NI) 0) < ((*colonenv_).error2 ? (*colonenv_).error2->Sup.len : 0))) goto LA1229_;
					T1231_ = (NimStringDesc*)0;
					T1231_ = (*c).errorFlag; (*c).errorFlag = copyStringRC1((*colonenv_).error2);
					if (T1231_) nimGCunrefNoCycle(T1231_);
				}
				goto LA1227_;
				LA1229_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), ast_3);
				}
				LA1227_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141):
			{
				NimStringDesc* T1234_;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T1234_ = (NimStringDesc*)0;
				T1234_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*c).errorFlag);
				if (T1234_) nimGCunrefNoCycle(T1234_);
				asgnRef((void**) (&(*c).errorFlag), setLengthStr((*c).errorFlag, ((NI) 0)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157):
			{
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					if (!!(((*c).callsite == NIM_NIL))) goto LA1238_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), (*c).callsite);
				}
				goto LA1236_;
				LA1238_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_360), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1236_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145):
			{
				NI rb_125;
				NI imm_8;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_361;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_6;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_125 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				if (nimSubInt(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))), ((NI) 128), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_361)) { raiseOverflow(); };
				imm_8 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_361);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_125) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_125,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_125].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				n_6 = regs->data[rb_125].node;
				switch (imm_8) {
				case ((NI) 0):
				{
					NimStringDesc* T1243_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T1243_ = (NimStringDesc*)0;
					T1243_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*n_6).info.fileIndex);
					asgnRef((void**) (&regs->data[ra].node), newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T1243_));
				}
				break;
				case ((NI) 1):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (((NI) ((*n_6).info.line))))));
				}
				break;
				case ((NI) 2):
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*n_6).info.col))));
				}
				break;
				default:
				{
					{
						NimStringDesc* T1251_;
						if (!NIM_TRUE) goto LA1249_;
						T1251_ = (NimStringDesc*)0;
						T1251_ = dollar___r38WafKlW80RkvoZTcia4Q(TM__pyAIA9cUF0h9c4j2HfNQPfYw_362);
						internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, T1251_);
					}
					LA1249_: ;
				}
				break;
				}
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).info = (*n_6).info;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&(*regs->data[ra].node).typ), (*n_6).typ);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146):
			{
				NI rb_126;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_126 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rb_126) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_126,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_126].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).info = (*regs->data[rb_126].node).info;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 147):
			{
				NI rb_127;
				NI rc_68;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aNode;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bNode;
				NCSTRING aStrVal;
				NCSTRING bStrVal;
				NI T1280_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_127 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_68 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_127) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_127,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_127].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				aNode = regs->data[rb_127].node;
				if ((NU)(rc_68) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_68,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_68].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				bNode = regs->data[rc_68].node;
				{
					if (!((*aNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA1256_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 1)) >= (NU)((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)-1); }
					aNode = (*aNode)._kind_6.sons->data[((NI) 1)];
				}
				LA1256_: ;
				{
					if (!((*aNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA1260_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)-1); }
					aNode = (*aNode)._kind_6.sons->data[((NI) 0)];
				}
				LA1260_: ;
				{
					if (!((*bNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA1264_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 1)) >= (NU)((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)-1); }
					bNode = (*bNode)._kind_6.sons->data[((NI) 1)];
				}
				LA1264_: ;
				{
					if (!((*bNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA1268_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)-1); }
					bNode = (*bNode)._kind_6.sons->data[((NI) 0)];
				}
				LA1268_: ;
				aStrVal = NIM_NIL;
				bStrVal = NIM_NIL;
				switch ((*aNode).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					aStrVal = nimToCStringConv((*aNode)._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					aStrVal = nimToCStringConv((*(*aNode)._kind_5.ident).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					aStrVal = nimToCStringConv((*(*(*aNode)._kind_4.sym).name).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*aNode).kind)>>3] &(1U<<((NU)((*aNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*aNode)._kind_6.sons ? (*aNode)._kind_6.sons->Sup.len : 0)-1); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*aNode)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*aNode)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					aStrVal = nimToCStringConv((*(*(*(*aNode)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
				}
				break;
				default:
				{
				}
				break;
				}
				switch ((*bNode).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					bStrVal = nimToCStringConv((*bNode)._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					bStrVal = nimToCStringConv((*(*bNode)._kind_5.ident).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					bStrVal = nimToCStringConv((*(*(*bNode)._kind_4.sym).name).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
				{
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*bNode).kind)>>3] &(1U<<((NU)((*bNode).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 0)) >= (NU)((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*bNode)._kind_6.sons ? (*bNode)._kind_6.sons->Sup.len : 0)-1); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*bNode)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*bNode)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					bStrVal = nimToCStringConv((*(*(*(*bNode)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
				}
				break;
				default:
				{
				}
				break;
				}
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T1280_ = (NI)0;
				{
					NIM_BOOL T1283_;
					NIM_BOOL T1284_;
					NIM_BOOL T1286_;
					NI T1289_;
					T1283_ = (NIM_BOOL)0;
					T1284_ = (NIM_BOOL)0;
					T1284_ = eqeq___aqip9cmQIuefPKdd25wuEEwsystem(aStrVal, NIM_NIL);
					T1283_ = !(T1284_);
					if (!(T1283_)) goto LA1285_;
					T1286_ = (NIM_BOOL)0;
					T1286_ = eqeq___aqip9cmQIuefPKdd25wuEEwsystem(bStrVal, NIM_NIL);
					T1283_ = !(T1286_);
					LA1285_: ;
					if (!T1283_) goto LA1287_;
					T1289_ = (NI)0;
					T1289_ = cmpIgnoreStyle__Jbw1CiaNJLYIkwEiKlU3qg_2(aStrVal, bStrVal, ((NI) IL64(9223372036854775807)));
					T1280_ = (T1289_ == ((NI) 0));
				}
				goto LA1281_;
				LA1287_: ;
				{
					T1280_ = ((NI) 0);
				}
				LA1281_: ;
				regs->data[ra].intVal = ((NI64) (T1280_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148):
			{
				NI rb_128;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_128 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					if ((NU)(rb_128) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_128,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_128].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!!(((*regs->data[rb_128].node).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*regs->data[rb_128].node).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA1294_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_357), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1292_;
				LA1294_: ;
				{
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2), (*c).debug->data[pc]));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					if ((NU)(rb_128) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_128,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_128].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_128].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_128].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					asgnRef((void**) (&(*regs->data[ra].node)._kind_5.ident), getIdent__9coBOmdXN09be4rJvXK6fQGQ((*c).cache, (*regs->data[rb_128].node)._kind_3.strVal));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				LA1292_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_9;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_364;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_364)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_364)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_364),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_9 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_364)];
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* temp;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!!((regs->data[ra].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA1300_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					temp = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					asgnRef((void**) (&regs->data[ra].node), temp);
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					(*regs->data[ra].node).info = (*c).debug->data[pc];
				}
				LA1300_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&(*regs->data[ra].node).typ), typ_9);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 91):
			{
				NI rb_129;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_365;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_366;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_367;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_368;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_129 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_365)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_365);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_366)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_366)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_366),((*c).types ? (*c).types->Sup.len : 0)-1); }
				desttyp = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_366)];
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_367)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_367);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_368)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_368)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_368),((*c).types ? (*c).types->Sup.len : 0)-1); }
				srctyp = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_368)];
				{
					NIM_BOOL T1305_;
					tyArray__Re75IspeoxXy2oCZHwcRrA T1308_;
					NimStringDesc* T1309_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if ((NU)(rb_129) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_129,(regs ? regs->Sup.len : 0)-1); }
					T1305_ = (NIM_BOOL)0;
					T1305_ = opConv__Fsv5V3BiOZ6CCSNA7nIsSg(c, (&regs->data[ra]), regs->data[rb_129], desttyp, srctyp);
					if (!T1305_) goto LA1306_;
					nimZeroMem((void*)T1308_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					T1308_[0] = typeToString__QlvraUan7WbHowhAbvDvdA(srctyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T1308_[1] = typeToString__QlvraUan7WbHowhAbvDvdA(desttyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T1309_ = (NimStringDesc*)0;
					T1309_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_252), T1308_, 2);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1309_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1306_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92):
			{
				NI rb_130;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_381;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp_2;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_382;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_383;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp_2;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_384;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_130 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_381)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_381);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_382)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_382)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_382),((*c).types ? (*c).types->Sup.len : 0)-1); }
				desttyp_2 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_382)];
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_383)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_383);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_384)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_384)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_384),((*c).types ? (*c).types->Sup.len : 0)-1); }
				srctyp_2 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_384)];
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_385));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114):
			{
				NI rb_131;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_3;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_131 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_3 = regs->data[ra].node;
				{
					NIM_BOOL T1314_;
					T1314_ = (NIM_BOOL)0;
					T1314_ = ((*dest_3).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*dest_3).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
					if (!(T1314_)) goto LA1315_;
					if ((NU)(rb_131) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_131,(regs ? regs->Sup.len : 0)-1); }
					T1314_ = ((4 &(1U<<((NU)(regs->data[rb_131].kind)&7U)))!=0);
					LA1315_: ;
					if (!T1314_) goto LA1316_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_146[(NU)((*dest_3).kind)>>3] &(1U<<((NU)((*dest_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147)); }
					if ((NU)(rb_131) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_131,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rb_131].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					(*dest_3)._kind_1.intVal = regs->data[rb_131].intVal;
				}
				goto LA1312_;
				LA1316_: ;
				{
					NIM_BOOL T1319_;
					T1319_ = (NIM_BOOL)0;
					T1319_ = ((*dest_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1319_)) goto LA1320_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*dest_3).kind)>>3] &(1U<<((NU)((*dest_3).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T1319_ = ((*(*dest_3)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
					LA1320_: ;
					if (!T1319_) goto LA1321_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_386), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				goto LA1312_;
				LA1321_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_350), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1312_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115):
			{
				NI rb_132;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_4;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_132 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_4 = regs->data[ra].node;
				{
					NIM_BOOL T1327_;
					T1327_ = (NIM_BOOL)0;
					T1327_ = ((*dest_4).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*dest_4).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
					if (!(T1327_)) goto LA1328_;
					if ((NU)(rb_132) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_132,(regs ? regs->Sup.len : 0)-1); }
					T1327_ = ((8 &(1U<<((NU)(regs->data[rb_132].kind)&7U)))!=0);
					LA1328_: ;
					if (!T1327_) goto LA1329_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_153[(NU)((*dest_4).kind)>>3] &(1U<<((NU)((*dest_4).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154)); }
					if ((NU)(rb_132) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_132,(regs ? regs->Sup.len : 0)-1); }
					if (!(((8 &(1U<<((NU)(regs->data[rb_132].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_11)); }
					(*dest_4)._kind_2.floatVal = regs->data[rb_132].floatVal;
				}
				goto LA1325_;
				LA1329_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_351), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1325_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116):
			{
				NI rb_133;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_5;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_133 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_5 = regs->data[ra].node;
				{
					NIM_BOOL T1335_;
					T1335_ = (NIM_BOOL)0;
					T1335_ = ((*dest_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1335_)) goto LA1336_;
					if ((NU)(rb_133) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_133,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_133].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T1335_ = ((*regs->data[rb_133].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					LA1336_: ;
					if (!T1335_) goto LA1337_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*dest_5).kind)>>3] &(1U<<((NU)((*dest_5).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					if ((NU)(rb_133) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_133,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_133].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*regs->data[rb_133].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_133].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					asgnRef((void**) (&(*dest_5)._kind_4.sym), (*regs->data[rb_133].node)._kind_4.sym);
				}
				goto LA1333_;
				LA1337_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_352), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1333_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117):
			{
				NI rb_134;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_6;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_134 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_6 = regs->data[ra].node;
				{
					NIM_BOOL T1343_;
					T1343_ = (NIM_BOOL)0;
					T1343_ = ((*dest_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
					if (!(T1343_)) goto LA1344_;
					if ((NU)(rb_134) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_134,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_134].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T1343_ = ((*regs->data[rb_134].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
					LA1344_: ;
					if (!T1343_) goto LA1345_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*dest_6).kind)>>3] &(1U<<((NU)((*dest_6).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					if ((NU)(rb_134) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_134,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_134].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*regs->data[rb_134].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_134].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					asgnRef((void**) (&(*dest_6)._kind_5.ident), (*regs->data[rb_134].node)._kind_5.ident);
				}
				goto LA1341_;
				LA1345_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_353), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1341_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118):
			{
				NI rb_135;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_7;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_135 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_135) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_135,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_135].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				b_7 = regs->data[rb_135].node;
				{
					NIM_BOOL T1351_;
					NimStringDesc* T1355_;
					T1351_ = (NIM_BOOL)0;
					T1351_ = ((*b_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1351_)) goto LA1352_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*b_7).kind)>>3] &(1U<<((NU)((*b_7).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					T1351_ = ((*(*b_7)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
					LA1352_: ;
					if (!!(T1351_)) goto LA1353_;
					T1355_ = (NimStringDesc*)0;
					T1355_ = dollar___r38WafKlW80RkvoZTcia4Q(TM__pyAIA9cUF0h9c4j2HfNQPfYw_387);
					internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, T1355_);
				}
				LA1353_: ;
				{
					NimStringDesc* T1360_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!!(!((regs->data[ra].node == NIM_NIL)))) goto LA1358_;
					T1360_ = (NimStringDesc*)0;
					T1360_ = dollar___r38WafKlW80RkvoZTcia4Q(TM__pyAIA9cUF0h9c4j2HfNQPfYw_388);
					internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, T1360_);
				}
				LA1358_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*b_7).kind)>>3] &(1U<<((NU)((*b_7).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
				asgnRef((void**) (&(*regs->data[ra].node).typ), (*(*b_7)._kind_4.sym).typ);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 119):
			{
				NI rb_136;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_7;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_136 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				dest_7 = regs->data[ra].node;
				{
					NIM_BOOL T1364_;
					NimStringDesc* T1368_;
					T1364_ = (NIM_BOOL)0;
					T1364_ = ((*dest_7).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*dest_7).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
					if (!(T1364_)) goto LA1365_;
					if ((NU)(rb_136) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_136,(regs ? regs->Sup.len : 0)-1); }
					T1364_ = ((2 &(1U<<((NU)(regs->data[rb_136].kind)&7U)))!=0);
					LA1365_: ;
					if (!T1364_) goto LA1366_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*dest_7).kind)>>3] &(1U<<((NU)((*dest_7).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if ((NU)(rb_136) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_136,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_136].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_136].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_136].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T1368_ = (NimStringDesc*)0;
					T1368_ = (*dest_7)._kind_3.strVal; (*dest_7)._kind_3.strVal = copyStringRC1((*regs->data[rb_136].node)._kind_3.strVal);
					if (T1368_) nimGCunrefNoCycle(T1368_);
				}
				goto LA1362_;
				LA1366_: ;
				{
					NIM_BOOL T1370_;
					NimStringDesc* T1374_;
					T1370_ = (NIM_BOOL)0;
					T1370_ = ((*dest_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125));
					if (!(T1370_)) goto LA1371_;
					if ((NU)(rb_136) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_136,(regs ? regs->Sup.len : 0)-1); }
					T1370_ = ((2 &(1U<<((NU)(regs->data[rb_136].kind)&7U)))!=0);
					LA1371_: ;
					if (!T1370_) goto LA1372_;
					if ((NU)(rb_136) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_136,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rb_136].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_136].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_136].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					T1374_ = (NimStringDesc*)0;
					T1374_ = (*dest_7).comment; (*dest_7).comment = copyStringRC1((*regs->data[rb_136].node)._kind_3.strVal);
					if (T1374_) nimGCunrefNoCycle(T1374_);
				}
				goto LA1362_;
				LA1372_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_357), (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1362_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 120):
			{
				NI rb_137;
				NI rc_69;
				NI64 k;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cc;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x_2;
				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1383_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_137 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_69 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_137) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_137,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_137].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				k = regs->data[rb_137].intVal;
				{
					NIM_BOOL T1379_;
					T1379_ = (NIM_BOOL)0;
					T1379_ = (k < IL64(0));
					if (T1379_) goto LA1380_;
					T1379_ = (IL64(160) < k);
					LA1380_: ;
					if (!T1379_) goto LA1381_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					internalError__yTu5SGHF0j0P9cQrqN7YylA((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_389));
				}
				LA1381_: ;
				if ((NU)(rc_69) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_69,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_69].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				cc = regs->data[rc_69].node;
				if ((((NI) (k))) < ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) || (((NI) (k))) > ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160)){ raiseRangeErrorI(((NI) (k)), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160)); }
				{
					if (!!(((*cc).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA1386_;
					T1383_ = (*cc).info;
				}
				goto LA1384_;
				LA1386_: ;
				{
					if (!!(((*c).comesFromHeuristic.line == ((NU16) 0)))) goto LA1389_;
					T1383_ = (*c).comesFromHeuristic;
				}
				goto LA1384_;
				LA1389_: ;
				{
					NIM_BOOL T1392_;
					NI T1394_;
					T1392_ = (NIM_BOOL)0;
					T1392_ = !(((*c).callsite == NIM_NIL));
					if (!(T1392_)) goto LA1393_;
					T1394_ = (NI)0;
					T1394_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast((*c).callsite);
					T1392_ = (((NI) 1) < T1394_);
					LA1393_: ;
					if (!T1392_) goto LA1395_;
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*c).callsite).kind)>>3] &(1U<<((NU)((*(*c).callsite).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(((NI) 1)) >= (NU)((*(*c).callsite)._kind_6.sons ? (*(*c).callsite)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 1),((*(*c).callsite)._kind_6.sons ? (*(*c).callsite)._kind_6.sons->Sup.len : 0)-1); }
					T1383_ = (*(*(*c).callsite)._kind_6.sons->data[((NI) 1)]).info;
				}
				goto LA1384_;
				LA1395_: ;
				{
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					T1383_ = (*c).debug->data[pc];
				}
				LA1384_: ;
				x_2 = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) (((NI) (k)))), T1383_);
				(*x_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				{
					if (!((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA1400_;
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_181[(NU)((*x_2).kind)>>3] &(1U<<((NU)((*x_2).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182)); }
					asgnRef((void**) (&(*x_2)._kind_5.ident), (*(*c).cache).emptyIdent);
				}
				LA1400_: ;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), x_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121):
			{
				NI rb_138;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_138 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rb_138) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_138,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_138].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ(regs->data[rb_138].node));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122):
			{
				NI rb_139;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_139 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if ((NU)(rb_139) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_139,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_139].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ_2(regs->data[rb_139].node));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123):
			{
				NI rb_140;
				NI rc_70;
				NI bb_2;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_140 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_70 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_140) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_140,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_140].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				bb_2 = ((NI) (regs->data[rb_140].intVal));
				{
					NI i_14;
					NI colontmp__10;
					NI i_15;
					i_14 = (NI)0;
					colontmp__10 = (NI)0;
					if ((NU)(rc_70) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_70,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_70].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					colontmp__10 = ((NI) (regs->data[rc_70].intVal));
					i_15 = ((NI) 0);
					{
						while (1) {
							NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_390;
							if (!(i_15 < colontmp__10)) goto LA1407;
							i_14 = i_15;
							if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
							if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
							delSon__oU9bKATaboy8iUhv0r9bMBPw(regs->data[ra].node, bb_2);
							if (nimAddInt(i_15, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_390)) { raiseOverflow(); };
							i_15 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_390);
						} LA1407: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124):
			{
				NI rb_141;
				NI rc_71;
				NI64 k_2;
				NimStringDesc* name;
				tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
				tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* T1420_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_141 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_71 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_141) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_141,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rb_141].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				k_2 = regs->data[rb_141].intVal;
				{
					if ((NU)(rc_71) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_71,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_71].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_71].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_71].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					if (!(((*regs->data[rc_71].node)._kind_3.strVal ? (*regs->data[rc_71].node)._kind_3.strVal->Sup.len : 0) == ((NI) 0))) goto LA1411_;
					name = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_391));
				}
				goto LA1409_;
				LA1411_: ;
				{
					if ((NU)(rc_71) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_71,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[rc_71].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_71].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_71].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
					name = (*regs->data[rc_71].node)._kind_3.strVal;
				}
				LA1409_: ;
				{
					NIM_BOOL T1416_;
					T1416_ = (NIM_BOOL)0;
					T1416_ = (k_2 < IL64(0));
					if (T1416_) goto LA1417_;
					T1416_ = (IL64(25) < k_2);
					LA1417_: ;
					if (!T1416_) goto LA1418_;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					internalError__yTu5SGHF0j0P9cQrqN7YylA((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_392));
				}
				LA1418_: ;
				if ((k_2) < ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0) || (k_2) > ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 25)){ raiseRangeErrorI(k_2, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 25)); }
				T1420_ = (tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*)0;
				T1420_ = getIdent__9coBOmdXN09be4rJvXK6fQGQ((*c).cache, name);
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				sym = newSym__IXbidcxhXTQGZY9abN63Cxg(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) (k_2)), T1420_, (*(*c).module).owner, (*c).debug->data[pc], 0);
				(*sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36)) & 63);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(sym));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125):
			{
				NI rb_142;
				NimStringDesc* destKey;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_142 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_142) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_142,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_142].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_142].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_142].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey = (*regs->data[rb_142].node)._kind_3.strVal;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				regs->data[ra].intVal = getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ((*(*c).graph).cacheCounters, destKey);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 126):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g;
				NI rb_143;
				NI rc_72;
				NimStringDesc* destKey_2;
				NI64 by;
				NI64 v;
				NI64 TM__pyAIA9cUF0h9c4j2HfNQPfYw_393;
				g = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_143 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_72 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(rb_143) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_143,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_143].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_143].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_143].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_2 = (*regs->data[rb_143].node)._kind_3.strVal;
				if ((NU)(rc_72) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_72,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_72].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				by = regs->data[rc_72].intVal;
				v = getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ((*g).cacheCounters, destKey_2);
				if (nimAddInt64(v, by, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_393)) { raiseOverflow(); };
				X5BX5Deq___fM9b60sY7h9aUB763UQb3oXA((&(*g).cacheCounters), destKey_2, (NI64)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_393));
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				recordInc__6C9a0PyLab6htjYoNOWYndA(c, (*c).debug->data[pc], destKey_2, by);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 127):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_2;
				NI rb_144;
				NI rc_73;
				NimStringDesc* destKey_3;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val_2;
				g_2 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_144 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_73 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(rb_144) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_144,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_144].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_144].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_144].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_3 = (*regs->data[rb_144].node)._kind_3.strVal;
				if ((NU)(rc_73) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_73,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_73].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				val_2 = regs->data[rc_73].node;
				{
					NIM_BOOL T1426_;
					tyArray__jlWPjgtbdjE069arIWHC9c9bg T1429_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1430_;
					T1426_ = (NIM_BOOL)0;
					T1426_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_2).cacheSeqs, destKey_3);
					if (!!(T1426_)) goto LA1427_;
					nimZeroMem((void*)T1429_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
					T1429_[0] = val_2;
					T1430_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T1430_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1429_, 1);
					X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ((&(*g_2).cacheSeqs), destKey_3, T1430_);
				}
				goto LA1424_;
				LA1427_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1432_;
					T1432_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1432_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_2).cacheSeqs), destKey_3);
					add__P8dDSotTW25BkfbyspojGg((*T1432_), val_2);
				}
				LA1424_: ;
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				recordAdd__bEOBCPqrt0LjPdnkWVuoXA(c, (*c).debug->data[pc], destKey_3, val_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 128):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_3;
				NI rb_145;
				NI rc_74;
				NimStringDesc* destKey_4;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val_3;
				g_3 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_145 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_74 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(rb_145) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_145,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_145].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_145].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_145].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_4 = (*regs->data[rb_145].node)._kind_3.strVal;
				if ((NU)(rc_74) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_74,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_74].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				val_3 = regs->data[rc_74].node;
				{
					NIM_BOOL T1436_;
					tyArray__jlWPjgtbdjE069arIWHC9c9bg T1439_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1440_;
					T1436_ = (NIM_BOOL)0;
					T1436_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_3).cacheSeqs, destKey_4);
					if (!!(T1436_)) goto LA1437_;
					nimZeroMem((void*)T1439_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
					T1439_[0] = val_3;
					T1440_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T1440_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1439_, 1);
					X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ((&(*g_3).cacheSeqs), destKey_4, T1440_);
				}
				goto LA1434_;
				LA1437_: ;
				{
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1453_;
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* existing;
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__11;
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1444_;
							existing = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							colontmp__11 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							T1444_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
							T1444_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_3).cacheSeqs), destKey_4);
							colontmp__11 = (*T1444_);
							{
								NI i_16;
								NI colontmp__12;
								NI i_17;
								i_16 = (NI)0;
								colontmp__12 = (NI)0;
								colontmp__12 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(colontmp__11);
								i_17 = ((NI) 0);
								{
									while (1) {
										NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_394;
										if (!(i_17 < colontmp__12)) goto LA1447;
										i_16 = i_17;
										if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*colontmp__11).kind)>>3] &(1U<<((NU)((*colontmp__11).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
										if ((NU)(i_16) >= (NU)((*colontmp__11)._kind_6.sons ? (*colontmp__11)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_16,((*colontmp__11)._kind_6.sons ? (*colontmp__11)._kind_6.sons->Sup.len : 0)-1); }
										existing = (*colontmp__11)._kind_6.sons->data[i_16];
										{
											NIM_BOOL T1450_;
											T1450_ = (NIM_BOOL)0;
											T1450_ = exprStructuralEquivalent__E1mnSzj2NONtG7h9cR3AuFA(existing, val_3, NIM_TRUE);
											if (!T1450_) goto LA1451_;
											goto LA1442;
										}
										LA1451_: ;
										if (nimAddInt(i_17, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_394)) { raiseOverflow(); };
										i_17 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_394);
									} LA1447: ;
								}
							}
						}
						T1453_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1453_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_3).cacheSeqs), destKey_4);
						add__P8dDSotTW25BkfbyspojGg((*T1453_), val_3);
					} LA1442: ;
				}
				LA1434_: ;
				if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
				recordIncl__bEOBCPqrt0LjPdnkWVuoXA_2(c, (*c).debug->data[pc], destKey_4, val_3);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 129):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_4;
				NI rb_146;
				NimStringDesc* destKey_5;
				NI T1455_;
				g_4 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_146 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_146) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_146,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_146].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_146].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_146].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_5 = (*regs->data[rb_146].node)._kind_3.strVal;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T1455_ = (NI)0;
				{
					NIM_BOOL T1458_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1461_;
					T1458_ = (NIM_BOOL)0;
					T1458_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_4).cacheSeqs, destKey_5);
					if (!T1458_) goto LA1459_;
					T1461_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1461_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_4).cacheSeqs), destKey_5);
					T1455_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1461_));
				}
				goto LA1456_;
				LA1459_: ;
				{
					T1455_ = ((NI) 0);
				}
				LA1456_: ;
				regs->data[ra].intVal = ((NI64) (T1455_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 130):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_5;
				NI rb_147;
				NI rc_75;
				NI64 idx_9;
				NimStringDesc* destKey_6;
				g_5 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_147 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_75 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rc_75) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_75,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_75].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				idx_9 = regs->data[rc_75].intVal;
				if ((NU)(rb_147) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_147,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_147].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_147].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_147].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_6 = (*regs->data[rb_147].node)._kind_3.strVal;
				{
					NIM_BOOL T1466_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1468_;
					NI T1469_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1472_;
					T1466_ = (NIM_BOOL)0;
					T1466_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_5).cacheSeqs, destKey_6);
					if (!(T1466_)) goto LA1467_;
					T1468_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1468_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
					T1469_ = (NI)0;
					T1469_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1468_));
					T1466_ = ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem(idx_9, ((NI64) (T1469_)));
					LA1467_: ;
					if (!T1466_) goto LA1470_;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					T1472_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1472_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*T1472_)).kind)>>3] &(1U<<((NU)((*(*T1472_)).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx_9) >= (NU)((*(*T1472_))._kind_6.sons ? (*(*T1472_))._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx_9,((*(*T1472_))._kind_6.sons ? (*(*T1472_))._kind_6.sons->Sup.len : 0)-1); }
					asgnRef((void**) (&regs->data[ra].node), (*(*T1472_))._kind_6.sons->data[idx_9]);
				}
				goto LA1464_;
				LA1470_: ;
				{
					NimStringDesc* T1474_;
					T1474_ = (NimStringDesc*)0;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1477_;
						NI T1478_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_395;
						T1477_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1477_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
						T1478_ = (NI)0;
						T1478_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1477_));
						if (nimSubInt(T1478_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_395)) { raiseOverflow(); };
						if (!((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_395) < ((NI) 0))) goto LA1479_;
						T1474_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_185));
					}
					goto LA1475_;
					LA1479_: ;
					{
						NimStringDesc* T1482_;
						NimStringDesc* T1483_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1484_;
						NI T1485_;
						NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_396;
						NimStringDesc* T1486_;
						T1482_ = (NimStringDesc*)0;
						T1483_ = (NimStringDesc*)0;
						T1483_ = nimInt64ToStr(idx_9);
						T1484_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1484_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
						T1485_ = (NI)0;
						T1485_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1484_));
						if (nimSubInt(T1485_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_396)) { raiseOverflow(); };
						T1486_ = (NimStringDesc*)0;
						T1486_ = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_396));
						T1482_ = rawNewString((T1483_ ? T1483_->Sup.len : 0) + (T1486_ ? T1486_->Sup.len : 0) + 19);
appendString(T1482_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186));
appendString(T1482_, T1483_);
appendString(T1482_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_189));
appendString(T1482_, T1486_);
						T1474_ = T1482_;
					}
					LA1475_: ;
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1474_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1464_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 131):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_6;
				NimStringDesc* destKey_7;
				NimStringDesc* key;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val_4;
				g_6 = (*c).graph;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_7 = (*regs->data[ra].node)._kind_3.strVal;
				if ((NU)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)].node).kind)>>3] &(1U<<((NU)((*regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				key = (*regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)].node)._kind_3.strVal;
				if ((NU)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL),(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				val_4 = regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)].node;
				{
					NIM_BOOL T1490_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg T1493_;
					T1490_ = (NIM_BOOL)0;
					T1490_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_6).cacheTables, destKey_7);
					if (!!(T1490_)) goto LA1491_;
					nimZeroMem((void*)(&T1493_), sizeof(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg));
					initBTree__k5whnwDpZp6YeM19cX9ajL9aQ((&T1493_));
					X5BX5Deq___L2EahbjJPAlDipW4Omiq5g((&(*g_6).cacheTables), destKey_7, T1493_);
				}
				LA1491_: ;
				{
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1496_;
					NIM_BOOL T1497_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1500_;
					T1496_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1496_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_6).cacheTables), destKey_7);
					T1497_ = (NIM_BOOL)0;
					T1497_ = contains__R2s6PEbDP9biCUJnpsKoeYw((*T1496_), key);
					if (!!(T1497_)) goto LA1498_;
					T1500_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1500_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_6).cacheTables), destKey_7);
					add__oXWfa5DZ9ar9aQWG8k6z5P6Q(T1500_, key, val_4);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					recordPut__A0qATj50qXyqSMH9aW9b3gzQ(c, (*c).debug->data[pc], destKey_7, key, val_4);
				}
				goto LA1494_;
				LA1498_: ;
				{
					NimStringDesc* T1502_;
					T1502_ = (NimStringDesc*)0;
					T1502_ = rawNewString((key ? key->Sup.len : 0) + 20);
appendString(T1502_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_397));
appendString(T1502_, key);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1502_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1494_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_7;
				NI rb_148;
				NimStringDesc* destKey_8;
				NI T1504_;
				g_7 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_148 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_148) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_148,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_148].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_148].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_148].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_8 = (*regs->data[rb_148].node)._kind_3.strVal;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T1504_ = (NI)0;
				{
					NIM_BOOL T1507_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1510_;
					T1507_ = (NIM_BOOL)0;
					T1507_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_7).cacheTables, destKey_8);
					if (!T1507_) goto LA1508_;
					T1510_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1510_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_7).cacheTables), destKey_8);
					T1504_ = len__8UGkwK9cZDAmWMyHxdOt9bsAbtrees((*T1510_));
				}
				goto LA1505_;
				LA1508_: ;
				{
					T1504_ = ((NI) 0);
				}
				LA1505_: ;
				regs->data[ra].intVal = ((NI64) (T1504_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 133):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_8;
				NI rb_149;
				NI rc_76;
				NimStringDesc* destKey_9;
				NimStringDesc* key_2;
				g_8 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_149 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_76 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_149) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_149,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_149].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_149].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_149].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_9 = (*regs->data[rb_149].node)._kind_3.strVal;
				if ((NU)(rc_76) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_76,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rc_76].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rc_76].node).kind)>>3] &(1U<<((NU)((*regs->data[rc_76].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				key_2 = (*regs->data[rc_76].node)._kind_3.strVal;
				{
					NIM_BOOL T1515_;
					T1515_ = (NIM_BOOL)0;
					T1515_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_8).cacheTables, destKey_9);
					if (!T1515_) goto LA1516_;
					{
						tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1520_;
						NIM_BOOL T1521_;
						tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1524_;
						T1520_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
						T1520_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_8).cacheTables), destKey_9);
						T1521_ = (NIM_BOOL)0;
						T1521_ = contains__R2s6PEbDP9biCUJnpsKoeYw((*T1520_), key_2);
						if (!T1521_) goto LA1522_;
						if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
						if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
						T1524_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
						T1524_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_8).cacheTables), destKey_9);
						asgnRef((void**) (&regs->data[ra].node), getOrDefault__N7mBvvE4jWcEmzBA3UoB0A((*T1524_), key_2));
					}
					goto LA1518_;
					LA1522_: ;
					{
						NimStringDesc* T1526_;
						T1526_ = (NimStringDesc*)0;
						T1526_ = rawNewString((key_2 ? key_2->Sup.len : 0) + 20);
appendString(T1526_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_398));
appendString(T1526_, key_2);
						if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
						stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1526_, (*c).debug->data[pc]);
						goto BeforeRet_;
					}
					LA1518_: ;
				}
				goto LA1513_;
				LA1516_: ;
				{
					NimStringDesc* T1528_;
					T1528_ = (NimStringDesc*)0;
					T1528_ = rawNewString((destKey_9 ? destKey_9->Sup.len : 0) + 20);
appendString(T1528_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_398));
appendString(T1528_, destKey_9);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1528_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1513_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_9;
				NI rb_150;
				NI rc_77;
				NimStringDesc* destKey_10;
				NI T1530_;
				g_9 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_150 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_77 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				if ((NU)(rb_150) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_150,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_150].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_150].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_150].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_10 = (*regs->data[rb_150].node)._kind_3.strVal;
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				T1530_ = (NI)0;
				{
					NIM_BOOL T1533_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1536_;
					NIM_BOOL T1537_;
					T1533_ = (NIM_BOOL)0;
					T1533_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_9).cacheTables, destKey_10);
					if (!T1533_) goto LA1534_;
					T1536_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1536_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_9).cacheTables), destKey_10);
					if ((NU)(rc_77) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_77,(regs ? regs->Sup.len : 0)-1); }
					if (!(((4 &(1U<<((NU)(regs->data[rc_77].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
					T1537_ = (NIM_BOOL)0;
					T1537_ = hasNext__4Wt9aVmAb9agcjxA5gGDTJQw((*T1536_), ((NI) (regs->data[rc_77].intVal)));
					T1530_ = T1537_;
				}
				goto LA1531_;
				LA1534_: ;
				{
					T1530_ = ((NI) 0);
				}
				LA1531_: ;
				regs->data[ra].intVal = ((NI64) (T1530_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 135):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_10;
				NI rb_151;
				NI rc_78;
				NimStringDesc* destKey_11;
				NI64 index;
				g_10 = (*c).graph;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_151 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rc_78 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_151) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_151,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_151].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_151].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_151].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				destKey_11 = (*regs->data[rb_151].node)._kind_3.strVal;
				if ((NU)(rc_78) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rc_78,(regs ? regs->Sup.len : 0)-1); }
				if (!(((4 &(1U<<((NU)(regs->data[rc_78].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_77)); }
				index = regs->data[rc_78].intVal;
				{
					NIM_BOOL T1542_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1545_;
					tyTuple__9aIi6GdTSD27YtPkWxMqNxA T1546_;
					NimStringDesc* k_3;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v_2;
					NI nextIndex;
					tyArray__T6RKPw8xfAeNaoei9aZGzXg T1547_;
					T1542_ = (NIM_BOOL)0;
					T1542_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_10).cacheTables, destKey_11);
					if (!T1542_) goto LA1543_;
					T1545_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1545_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_10).cacheTables), destKey_11);
					nimZeroMem((void*)(&T1546_), sizeof(tyTuple__9aIi6GdTSD27YtPkWxMqNxA));
					next__CqTK9bD6dhLiHbJZ5GMdxDQ((*T1545_), ((NI) (index)), (&T1546_));
					k_3 = (NimStringDesc*)0;
					k_3 = T1546_.Field0;
					v_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					v_2 = T1546_.Field1;
					nextIndex = (NI)0;
					nextIndex = T1546_.Field2;
					if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
					if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
					nimZeroMem((void*)T1547_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					T1547_[0] = newStrNode__C1MQfgDmfXqO1v69aAZbuYA(k_3, (*c).debug->data[pc]);
					T1547_[1] = v_2;
					T1547_[2] = newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (nextIndex)));
					asgnRef((void**) (&regs->data[ra].node), newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T1547_, 3));
				}
				goto LA1540_;
				LA1543_: ;
				{
					NimStringDesc* T1549_;
					T1549_ = (NimStringDesc*)0;
					T1549_ = rawNewString((destKey_11 ? destKey_11->Sup.len : 0) + 20);
appendString(T1549_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_398));
appendString(T1549_, destKey_11);
					if ((NU)(pc) >= (NU)((*c).debug ? (*c).debug->Sup.len : 0)){ raiseIndexError2(pc,((*c).debug ? (*c).debug->Sup.len : 0)-1); }
					stackTraceImpl__qV29cOW2Yvcxwt1xD32gOFQ(c, tos_2, pc, T1549_, (*c).debug->data[pc]);
					goto BeforeRet_;
				}
				LA1540_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182):
			{
				NI rb_152;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_10;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_152 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if ((NU)(rb_152) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_152,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_152].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				typ_10 = (*regs->data[rb_152].node).typ;
				{
					NimStringDesc* T1555_;
					if (!!(!((typ_10 == NIM_NIL)))) goto LA1553_;
					T1555_ = (NimStringDesc*)0;
					T1555_ = dollar___r38WafKlW80RkvoZTcia4Q(TM__pyAIA9cUF0h9c4j2HfNQPfYw_399);
					internalError__5hPl6LjCYJxMYxh9af9b9bXzw((*c).config, T1555_);
				}
				LA1553_: ;
				{
					while (1) {
						NIM_BOOL T1558_;
						NI T1560_;
						T1558_ = (NIM_BOOL)0;
						T1558_ = ((*typ_10).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
						if (!(T1558_)) goto LA1559_;
						T1560_ = (NI)0;
						T1560_ = len__5mJADrRYkP3r9auuiuDZN9cQast(typ_10);
						T1558_ = (((NI) 0) < T1560_);
						LA1559_: ;
						if (!T1558_) goto LA1557;
						if ((NU)(((NI) 0)) >= (NU)((*typ_10).sons ? (*typ_10).sons->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*typ_10).sons ? (*typ_10).sons->Sup.len : 0)-1); }
						typ_10 = (*typ_10).sons->data[((NI) 0)];
					} LA1557: ;
				}
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), typeToString__QlvraUan7WbHowhAbvDvdA(typ_10, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 2)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 183):
			{
				NI ra_5;
				NI rb_153;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_400;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_11;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_401;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1562_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				ra_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_153 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_400)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_400);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_401)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_401)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_401),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_11 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_401)];
				if ((NU)(ra_5) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra_5,(regs ? regs->Sup.len : 0)-1); }
				if ((NU)(rb_153) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_153,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[rb_153].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[rb_153].node).kind)>>3] &(1U<<((NU)((*regs->data[rb_153].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				T1562_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T1562_ = loadAny__Sr5ibxUUgGhmgltd4r9cYpg((*regs->data[rb_153].node)._kind_3.strVal, typ_11, (*c).cache, (*c).config);
				putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra_5]), T1562_);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184):
			{
				NI rb_154;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_402;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_12;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_403;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1564_;
				if ((NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) < ((NI) 0) || (NI64)((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)) > ((NI) 65535)){ raiseRangeErrorI((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL), ((NI) 0), ((NI) 65535)); }
				rb_154 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_402)) { raiseOverflow(); };
				pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_402);
				if ((NU)(pc) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(pc,((*c).code ? (*c).code->Sup.len : 0)-1); }
				if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL), ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); }
				if (nimSubInt(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))), ((NI) 8388608), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_403)) { raiseOverflow(); };
				if ((NU)((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_403)) >= (NU)((*c).types ? (*c).types->Sup.len : 0)){ raiseIndexError2((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_403),((*c).types ? (*c).types->Sup.len : 0)-1); }
				typ_12 = (*c).types->data[(NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_403)];
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				createStrKeepNode__LpB9aVgxJQWwIAx62EyhZoA((&regs->data[ra]), NIM_TRUE);
				if ((NU)(ra) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(ra,(regs ? regs->Sup.len : 0)-1); }
				if (!(((2 &(1U<<((NU)(regs->data[ra].kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_61)); }
				if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_62[(NU)((*regs->data[ra].node).kind)>>3] &(1U<<((NU)((*regs->data[ra].node).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_63)); }
				if ((NU)(rb_154) >= (NU)(regs ? regs->Sup.len : 0)){ raiseIndexError2(rb_154,(regs ? regs->Sup.len : 0)-1); }
				T1564_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T1564_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_154]);
				storeAny__OIEM18oCrQXxJj2UzbHuPA((&(*regs->data[ra].node)._kind_3.strVal), typ_12, T1564_, (*c).config);
			}
			break;
			}
			if (nimAddInt(pc, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_404)) { raiseOverflow(); };
			pc = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_404);
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalMacroCall__wCEfcY0TEZRJihtTHLABDg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_2;
	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c;
	tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ oldMode;
	NI start;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T22_;
	NI maxSlots;
	NI L;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T27_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T44_;
	NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_406;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(((NI) 0) < (*(*g).config).errorCounter)) goto LA3_;
		result = errorNode__9cqF4KDIxxYX55FGMDoxR4Q(module, n);
		goto BeforeRet_;
	}
	LA3_: ;
	if (nimAddInt((*(*g).config).evalMacroCounter, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_2)) { raiseOverflow(); };
	(*(*g).config).evalMacroCounter = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_2);
	{
		if (!(((NI) 1000) < (*(*g).config).evalMacroCounter)) goto LA7_;
		globalError__NF6kBGchnhQYPbCedyefVA_2((*g).config, (*n).info, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_3));
	}
	LA7_: ;
	{
		NIM_BOOL T11_;
		NI T12_;
		NI T13_;
		NI T15_;
		tyArray__24KAM9afIUgUaqBaEBB6r9bg T18_;
		NI T19_;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_7;
		NI T20_;
		NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_8;
		NimStringDesc* T21_;
		T11_ = (NIM_BOOL)0;
		T12_ = (NI)0;
		T12_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
		T13_ = (NI)0;
		T13_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
		T11_ = (T12_ < T13_);
		if (!(T11_)) goto LA14_;
		T15_ = (NI)0;
		T15_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
		T11_ = (((NI) 1) < T15_);
		LA14_: ;
		if (!T11_) goto LA16_;
		nimZeroMem((void*)T18_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
		T18_[0] = renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 0);
		T19_ = (NI)0;
		T19_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
		if (nimSubInt(T19_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_7)) { raiseOverflow(); };
		T18_[1] = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_7));
		T20_ = (NI)0;
		T20_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
		if (nimSubInt(T20_, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_8)) { raiseOverflow(); };
		T18_[2] = nimIntToStr((NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_8));
		T21_ = (NimStringDesc*)0;
		T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_6), T18_, 3);
		globalError__NF6kBGchnhQYPbCedyefVA_2((*g).config, (*n).info, T21_);
	}
	LA16_: ;
	setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw(module, g);
	if ((*g).vm && !isObj((*(*g).vm).m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
	c = ((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) ((*g).vm));
	oldMode = (*c).mode;
	(*c).mode = ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 4);
	(*c).comesFromHeuristic.line = ((NU16) 0);
	asgnRef((void**) (&(*c).callsite), nOrig);
	start = genProc__82SK3f7Ee6e9aktSfHKYXUw(c, sym);
	T22_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
	T22_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
	asgnRef((void**) (&(*T22_).prc), sym);
	(*T22_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T22_).next), NIM_NIL);
	tos = T22_;
	maxSlots = (*sym).offset;
	if ((maxSlots) < ((NI) 0) || (maxSlots) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(maxSlots, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	if ((*tos).slots) { nimGCunrefNoCycle((*tos).slots); (*tos).slots = NIM_NIL; }
	(*tos).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) (maxSlots)));
	L = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(n);
	{
		if (!(L == ((NI) 0))) goto LA25_;
		L = ((NI) 1);
	}
	LA25_: ;
	if ((NU)(((NI) 0)) >= (NU)((*tos).slots ? (*tos).slots->Sup.len : 0)){ raiseIndexError2(((NI) 0),((*tos).slots ? (*tos).slots->Sup.len : 0)-1); }
	nimZeroMem((void*)(&T27_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	nimZeroMem((void*)(&T27_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	T27_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
	T27_.node = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
	genericShallowAssign((void*)(&(*tos).slots->data[((NI) 0)]), (void*)(&T27_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
		i_2 = ((NI) 1);
		{
			while (1) {
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_157;
				if (!(i_2 < colontmp_)) goto LA30;
				i = i_2;
				if ((NU)(i) >= (NU)((*tos).slots ? (*tos).slots->Sup.len : 0)){ raiseIndexError2(i,((*tos).slots ? (*tos).slots->Sup.len : 0)-1); }
				if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
				if ((NU)(i) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
				if ((NU)(i) >= (NU)((*(*sym).typ).sons ? (*(*sym).typ).sons->Sup.len : 0)){ raiseIndexError2(i,((*(*sym).typ).sons ? (*(*sym).typ).sons->Sup.len : 0)-1); }
				setupMacroParam__hXIlM54SMpXNBDQ04umODg((*n)._kind_6.sons->data[i], (*(*sym).typ).sons->data[i], (&(*tos).slots->data[i]));
				if (nimAddInt(i_2, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_157)) { raiseOverflow(); };
				i_2 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_157);
			} LA30: ;
		}
	}
	if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*(*sym).ast).kind)>>3] &(1U<<((NU)((*(*sym).ast).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
	if ((NU)(((NI) 2)) >= (NU)((*(*sym).ast)._kind_6.sons ? (*(*sym).ast)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(((NI) 2),((*(*sym).ast)._kind_6.sons ? (*(*sym).ast)._kind_6.sons->Sup.len : 0)-1); }
	gp = (*(*sym).ast)._kind_6.sons->data[((NI) 2)];
	{
		NI i_3;
		NI colontmp__2;
		NI i_4;
		i_3 = (NI)0;
		colontmp__2 = (NI)0;
		colontmp__2 = len__P89cqdlERShb9alU3iC0yj8wast(gp);
		i_4 = ((NI) 0);
		{
			while (1) {
				NI idx;
				NI T34_;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_158;
				NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_162;
				if (!(i_4 < colontmp__2)) goto LA33;
				i_3 = i_4;
				T34_ = (NI)0;
				T34_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
				if (nimAddInt(T34_, i_3, &TM__pyAIA9cUF0h9c4j2HfNQPfYw_158)) { raiseOverflow(); };
				idx = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_158);
				{
					NI T37_;
					T37_ = (NI)0;
					T37_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
					if (!(idx < T37_)) goto LA38_;
					if ((NU)(idx) >= (NU)((*tos).slots ? (*tos).slots->Sup.len : 0)){ raiseIndexError2(idx,((*tos).slots ? (*tos).slots->Sup.len : 0)-1); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(idx) >= (NU)((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(idx,((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0)-1); }
					if (((TM__pyAIA9cUF0h9c4j2HfNQPfYw_4[(NU)((*gp).kind)>>3] &(1U<<((NU)((*gp).kind)&7U)))!=0)){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5)); }
					if ((NU)(i_3) >= (NU)((*gp)._kind_6.sons ? (*gp)._kind_6.sons->Sup.len : 0)){ raiseIndexError2(i_3,((*gp)._kind_6.sons ? (*gp)._kind_6.sons->Sup.len : 0)-1); }
					if (!(((TM__pyAIA9cUF0h9c4j2HfNQPfYw_140[(NU)((*(*gp)._kind_6.sons->data[i_3]).kind)>>3] &(1U<<((NU)((*(*gp)._kind_6.sons->data[i_3]).kind)&7U)))!=0))){ raiseFieldError(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141)); }
					setupMacroParam__hXIlM54SMpXNBDQ04umODg((*n)._kind_6.sons->data[idx], (*(*(*gp)._kind_6.sons->data[i_3])._kind_4.sym).typ, (&(*tos).slots->data[idx]));
				}
				goto LA35_;
				LA38_: ;
				{
					NI TM__pyAIA9cUF0h9c4j2HfNQPfYw_159;
					NimStringDesc* T41_;
					NI T42_;
					NimStringDesc* T43_;
					if (nimSubInt((*(*g).config).evalMacroCounter, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_159)) { raiseOverflow(); };
					(*(*g).config).evalMacroCounter = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_159);
					asgnRef((void**) (&(*c).callsite), NIM_NIL);
					T41_ = (NimStringDesc*)0;
					T42_ = (NI)0;
					T42_ = len__P89cqdlERShb9alU3iC0yj8wast(gp);
					T43_ = (NimStringDesc*)0;
					T43_ = nimIntToStr(T42_);
					T41_ = rawNewString((T43_ ? T43_->Sup.len : 0) + 30);
appendString(T41_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_160));
appendString(T41_, T43_);
appendString(T41_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_161));
					localError__NF6kBGchnhQYPbCedyefVA((*c).config, (*n).info, T41_);
				}
				LA35_: ;
				if (nimAddInt(i_4, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_162)) { raiseOverflow(); };
				i_4 = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_162);
			} LA33: ;
		}
	}
	nimZeroMem((void*)(&T44_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	rawExecute__hemGrN9b53Mp9aLYjv1tCS5g(c, start, tos, (&T44_));
	result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(T44_);
	{
		if (!((NU16)((*result).info.line) < (NU16)(((NU16) 0)))) goto LA47_;
		(*result).info = (*n).info;
	}
	LA47_: ;
	{
		NIM_BOOL T51_;
		T51_ = (NIM_BOOL)0;
		T51_ = cyclicTree__9cP6JNeOKqczaXCI4Zo4SBQ_3(result);
		if (!T51_) goto LA52_;
		globalError__NF6kBGchnhQYPbCedyefVA_2((*c).config, (*n).info, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_405));
	}
	LA52_: ;
	if (nimSubInt((*(*g).config).evalMacroCounter, ((NI) 1), &TM__pyAIA9cUF0h9c4j2HfNQPfYw_406)) { raiseOverflow(); };
	(*(*g).config).evalMacroCounter = (NI)(TM__pyAIA9cUF0h9c4j2HfNQPfYw_406);
	asgnRef((void**) (&(*c).callsite), NIM_NIL);
	(*c).mode = oldMode;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ mode) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c;
	tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ oldMode;
	NI start;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T13_;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T14_;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(((NI) 0) < (*(*g).config).errorCounter)) goto LA3_;
		result = n;
		goto BeforeRet_;
	}
	LA3_: ;
	n_2 = transformExpr__o9bTtoSsaDmuiyVzV15dOyg(g, module, n);
	setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw(module, g);
	if ((*g).vm && !isObj((*(*g).vm).m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
	c = ((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) ((*g).vm));
	oldMode = (*c).mode;
	(*c).mode = mode;
	start = genExpr__iSa9ao3PEkzo8fCmeMa1Kvg(c, n_2, !((mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 4))));
	{
		if ((NU)(start) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(start,((*c).code ? (*c).code->Sup.len : 0)-1); }
		if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
		if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0))) goto LA7_;
		result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n_2).info);
		goto BeforeRet_;
	}
	LA7_: ;
	{
		if ((NU)(start) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(start,((*c).code ? (*c).code->Sup.len : 0)-1); }
		if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
		if (!!(!((((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0))))) goto LA11_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_407));
	}
	LA11_: ;
	T13_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
	T13_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
	asgnRef((void**) (&(*T13_).prc), prc);
	(*T13_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T13_).next), NIM_NIL);
	tos = T13_;
	if (((*(*c).prc).maxSlots) < ((NI) 0) || ((*(*c).prc).maxSlots) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((*(*c).prc).maxSlots, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	if ((*tos).slots) { nimGCunrefNoCycle((*tos).slots); (*tos).slots = NIM_NIL; }
	(*tos).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) ((*(*c).prc).maxSlots)));
	nimZeroMem((void*)(&T14_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	rawExecute__hemGrN9b53Mp9aLYjv1tCS5g(c, start, tos, (&T14_));
	result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(T14_);
	{
		if (!((*result).info.col < ((NI16) 0))) goto LA17_;
		(*result).info = (*n_2).info;
	}
	LA17_: ;
	(*c).mode = oldMode;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalStaticExpr__ajRaPV9aInq6ZNnUYn0DaVw)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ(module, g, prc, e, ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 3));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalConstExpr__P8uF2QSxl7YdNpBnl0Ybqg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ(module, g, NIM_NIL, e, ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setupCompileTimeVar__zQ7dn9aEDgIq1IbBIE9cxsxg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
	T1_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ(module, g, NIM_NIL, n, ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 4));
	(void)(T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, evalStaticStmt__4ISne8kQ4QKaNjEY5dqxUg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
	T1_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = evalConstExprAux__m2sR4LMnyFV9c9cRHcUHxnVQ(module, g, prc, e, ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 4));
	(void)(T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen__4vajIPhcf9a5bJvp6m9ciz6A)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module) {
	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
	result = (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*)0;
	setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw(module, graph);
	if ((*graph).vm && !isObj((*(*graph).vm).m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
	result = &((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) ((*graph).vm))->Sup;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, execute__xH4DZUl51vOZwpwgQRlgnA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* tos;
	tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag* T1_;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T2_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*)0;
	T1_ = (tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*) newObj((&NTI__2j7eyHO9axgCjjMG0moB6Ww_), sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag));
	asgnRef((void**) (&(*T1_).prc), NIM_NIL);
	(*T1_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T1_).next), NIM_NIL);
	tos = T1_;
	if (((*(*c).prc).maxSlots) < ((NI) 0) || ((*(*c).prc).maxSlots) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI((*(*c).prc).maxSlots, ((NI) 0), ((NI) IL64(9223372036854775807))); }
	if ((*tos).slots) { nimGCunrefNoCycle((*tos).slots); (*tos).slots = NIM_NIL; }
	(*tos).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) ((*(*c).prc).maxSlots)));
	nimZeroMem((void*)(&T2_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	rawExecute__hemGrN9b53Mp9aLYjv1tCS5g(c, start, tos, (&T2_));
	result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(T2_);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, evalStmt__3adyU8iOjrejcUotYJRmVQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
	NI start;
	n_2 = transformExpr__o9bTtoSsaDmuiyVzV15dOyg((*c).graph, (*c).module, n);
	start = genStmt__PEuKCZcy9a56kIfBOLoHU5Q_3(c, n_2);
	{
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
		if ((NU)(start) >= (NU)((*c).code ? (*c).code->Sup.len : 0)){ raiseIndexError2(start,((*c).code ? (*c).code->Sup.len : 0)-1); }
		if ((NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) < ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0) || (NI64)((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL)) > ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)){ raiseRangeErrorI((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0), ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186)); }
		if (!!((((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[start]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0)))) goto LA3_;
		T5_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T5_ = execute__xH4DZUl51vOZwpwgQRlgnA(c, start);
		(void)(T5_);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__Owg2e1qJ9cqcKRBQZVvmIWg)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c_2;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	if (c && !isObj((*c).Sup.m_type, (&NTI__S3Av1Ng7MBWGEZZBhfDYCw_))){ raiseObjectConversionError(); }
	c_2 = ((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw*) (c));
	{
		if (!((*c_2).oldErrorCount == (*(*c_2).config).errorCounter)) goto LA3_;
		evalStmt__3adyU8iOjrejcUotYJRmVQ(c_2, n);
		result = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
	}
	goto LA1_;
	LA3_: ;
	{
		result = n;
	}
	LA1_: ;
	(*c_2).oldErrorCount = (*(*c_2).config).errorCounter;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose__9cMiASXBM9bgOmq0622U8U0g)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	result = myProcess__Owg2e1qJ9cqcKRBQZVvmIWg(c, n);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_vmDatInit000)(void) {
static TNimNode* TM__pyAIA9cUF0h9c4j2HfNQPfYw_9_2[2];
static TNimNode* TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[5];
static TNimNode* TM__pyAIA9cUF0h9c4j2HfNQPfYw_165_3[3];
static TNimNode TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[13];
NTI__m9bElogmdcDLEy9czU5AZr6g_.size = sizeof(tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g);
NTI__m9bElogmdcDLEy9czU5AZr6g_.kind = 17;
NTI__m9bElogmdcDLEy9czU5AZr6g_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_9_2[0] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].offset = offsetof(tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g, colonstate_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].name = ":state";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_9_2[1] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].offset = offsetof(tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g, c1);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].typ = (&NTI__FD9cVFUpCDGxUmwW7TEZIFQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].name = "c1";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[0].len = 2; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[0].kind = 2; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[0].sons = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_9_2[0];
NTI__m9bElogmdcDLEy9czU5AZr6g_.node = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[0];
NTI__8Qi2Yy1dXWyP64byz4WwVw_.size = sizeof(tyObject_Env_vmopsdotnim___m9bElogmdcDLEy9czU5AZr6g*);
NTI__8Qi2Yy1dXWyP64byz4WwVw_.kind = 22;
NTI__8Qi2Yy1dXWyP64byz4WwVw_.base = (&NTI__m9bElogmdcDLEy9czU5AZr6g_);
NTI__8Qi2Yy1dXWyP64byz4WwVw_.marker = Marker_tyRef__8Qi2Yy1dXWyP64byz4WwVw;
NTI__OxVDa9apUuwgHDTfXPZWc9ag_.size = sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag);
NTI__OxVDa9apUuwgHDTfXPZWc9ag_.kind = 18;
NTI__OxVDa9apUuwgHDTfXPZWc9ag_.base = 0;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[0] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].offset = offsetof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag, prc);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].typ = (&NTI__K9bspPztfoWajecnwjyHuYQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].name = "prc";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[1] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5];
NTI__jlXqfsdfoRhiIfoVNWV0Vw_.size = sizeof(tySequence__jlXqfsdfoRhiIfoVNWV0Vw*);
NTI__jlXqfsdfoRhiIfoVNWV0Vw_.kind = 24;
NTI__jlXqfsdfoRhiIfoVNWV0Vw_.base = (&NTI__GJRDbRqzZnSsmt2gZMzKBA_);
NTI__jlXqfsdfoRhiIfoVNWV0Vw_.flags = 2;
NTI__jlXqfsdfoRhiIfoVNWV0Vw_.marker = Marker_tySequence__jlXqfsdfoRhiIfoVNWV0Vw;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].offset = offsetof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag, slots);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].typ = (&NTI__jlXqfsdfoRhiIfoVNWV0Vw_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].name = "slots";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[2] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].offset = offsetof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag, next);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].typ = (&NTI__2j7eyHO9axgCjjMG0moB6Ww_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].name = "next";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[3] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7].offset = offsetof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag, comesFrom);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7].name = "comesFrom";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[4] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[8];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[8].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[8].offset = offsetof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag, safePoints);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[8].typ = (&NTI__qwqHTkRvwhrRyENtudHQ7g_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[8].name = "safePoints";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].len = 5; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].kind = 2; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].sons = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_136_5[0];
NTI__OxVDa9apUuwgHDTfXPZWc9ag_.node = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3];
NTI__2j7eyHO9axgCjjMG0moB6Ww_.size = sizeof(tyObject_TStackFrame__OxVDa9apUuwgHDTfXPZWc9ag*);
NTI__2j7eyHO9axgCjjMG0moB6Ww_.kind = 22;
NTI__2j7eyHO9axgCjjMG0moB6Ww_.base = (&NTI__OxVDa9apUuwgHDTfXPZWc9ag_);
NTI__2j7eyHO9axgCjjMG0moB6Ww_.marker = Marker_tyRef__2j7eyHO9axgCjjMG0moB6Ww;
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.size = sizeof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw);
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.kind = 17;
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_165_3[0] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[10];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[10].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[10].offset = offsetof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw, colonstate_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[10].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[10].name = ":state";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_165_3[1] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[11];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[11].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[11].offset = offsetof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw, error1);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[11].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[11].name = "error1";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_165_3[2] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[12];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[12].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[12].offset = offsetof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw, error2);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[12].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[12].name = "error2";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[9].len = 3; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[9].kind = 2; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[9].sons = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_165_3[0];
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.node = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[9];
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.size = sizeof(tyObject_Env_vmdotnim___jd629aT6A2Mu9ci3rTLr9bzFw*);
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.kind = 22;
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.base = (&NTI__jd629aT6A2Mu9ci3rTLr9bzFw_);
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.marker = Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ;
}

