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

/* section: NIM_merge_HEADERS */

#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

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
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 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_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
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 tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
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__YWbgnI9b9a4j9aDYnupShIg3A tySequence__YWbgnI9b9a4j9aDYnupShIg3A;
typedef struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg;
typedef struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ;
typedef struct tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g tyObject_Env_vmopsdotnim_registerAdditionalOps___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__LCURwohbLBusrL8hdCnvng tyTuple__LCURwohbLBusrL8hdCnvng;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
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_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
typedef struct tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw;
typedef struct tyTuple__nlLlqVveYUlcdyx2e2bPTw tyTuple__nlLlqVveYUlcdyx2e2bPTw;
typedef struct tyTuple__9cqHuynYNPU9avbszh3XtBAg tyTuple__9cqHuynYNPU9avbszh3XtBAg;
typedef struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw tyTuple__C1iPjdrPjiQaUrcFhIp9aGw;
typedef struct tyTuple__DcoP8zLFnBpow03kFN9cGhg tyTuple__DcoP8zLFnBpow03kFN9cGhg;
typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
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;

/* section: NIM_merge_TYPES */
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__In3g79a0qTcRmbTbJp9ba9ctg;
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(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__In3g79a0qTcRmbTbJp9ba9ctg 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__sP1I7TbCn358eLy9bX4IphA strongSemCheck;
tyProc__3TeLOx1euAsRk3YCaQCuPg compatibleProps;
};
typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
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__6kx5ul0BSa9aHxHPGwkvVHg[9];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
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__oL9coyIA2VDTGdUcur9aL9bew;
struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
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__6kx5ul0BSa9aHxHPGwkvVHg modifiedyNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg cmdlineNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg foreignPackageNotes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg notes;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg warningAsErrors;
tySet_tyEnum_TMsgKind__6kx5ul0BSa9aHxHPGwkvVHg 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* jsonBuildFile;
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;
NIM_BOOL lastMsgWasDot;
NI32 projectMainIdx;
NI32 projectMainIdx2;
NimStringDesc* command;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NimStringDesc* commandLine;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
NIM_BOOL keepComments;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
NimStringDesc* docRoot;
NimStringDesc* docCmd;
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__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
NimStringDesc* cppCustomNamespace;
tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
};
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;
NI align;
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__SPr7N6UKfuF549bNPiUvSRw[256];
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__SPr7N6UKfuF549bNPiUvSRw 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 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
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 NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
  RootObj Sup;
};
typedef NU8 tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ;
typedef NU8 tySet_tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
struct tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg {
NF tEnter;
tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
};
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__YWbgnI9b9a4j9aDYnupShIg3A* callbacks;
NimStringDesc* errorFlag;
tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
NI oldErrorCount;
tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg profiler;
NI* templInstCounter;
};
struct tyObject_Env_vmopsdotnim_registerAdditionalOps___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__5QC9cKfPJmKuW0XbCTd8ylA;
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_11) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_13) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_15) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_17) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
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_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_61) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_63) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_65) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_67) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_69) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_70) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_72) (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_77) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_79) (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;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef char tyArray__XKk9bNZbVEtY3RuROG9aRBgw[256];
struct tyTuple__LCURwohbLBusrL8hdCnvng {
tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg Field0;
NimStringDesc* Field1;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_84) (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_90) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tySet_tyEnum_MsgFlag__BzRTaQ6LrPDZKEKt9bswkOQ;
struct tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ {
tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* prc;
tySequence__jlXqfsdfoRhiIfoVNWV0Vw* slots;
tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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_109) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_110) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_112) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA;
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_114) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
NI64 seconds;
NI nanosecond;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_116) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU64 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_120) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_122) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
struct tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw {
  RootObj Sup;
NI colonstate_;
NimStringDesc* error1;
NimStringDesc* error2;
};
typedef NU8 tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ;
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 NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
struct tyTuple__C1iPjdrPjiQaUrcFhIp9aGw {
NimStringDesc* Field0;
tyProc__5QC9cKfPJmKuW0XbCTd8ylA Field1;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_151) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args);
typedef NU8 tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A;
typedef NU8 tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA;
struct tyTuple__DcoP8zLFnBpow03kFN9cGhg {
tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA Field0;
NI Field1;
};
typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
};
typedef N_CLOSURE_PTR(void, TM__pyAIA9cUF0h9c4j2HfNQPfYw_167) (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__pIuD7iLYdwrBMntVRm61ZA;
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__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;
NimStringDesc* customArgs;
};
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;
};

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
  TGenericSeq Sup;
  NU8 data[SEQ_DECL_SIZE];
};
struct tySequence__jlXqfsdfoRhiIfoVNWV0Vw {
  TGenericSeq Sup;
  tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA 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__YWbgnI9b9a4j9aDYnupShIg3A {
  TGenericSeq Sup;
  tyTuple__C1iPjdrPjiQaUrcFhIp9aGw 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];
};

/* section: NIM_merge_PROC_HEADERS */
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);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__Q6JNH4uRwLyZrj0dJakHew)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw);
static N_INLINE(NI, safeLen__P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
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);
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__KnNoqgKj9bmG2p3f4SLNFqA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NimStringDesc* name, tyProc__5QC9cKfPJmKuW0XbCTd8ylA 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);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
N_LIB_PRIVATE N_NIMCALL(void, fileExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_28)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__D6Pj9c29aCLEJP9beOWa08HYA)(NimStringDesc* filename, NimStringDesc* content);
N_LIB_PRIVATE N_NIMCALL(void, readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__4PGnM9bWmsH0Nu7dnr3XzgA)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(void, readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, setResult__nH0psxYZ8gVURA1upHNltw)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tySequence__sM4lkSb7zS6F7OVMvW9cffQ* v);
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_NIMCALL(void, getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_33)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipColon__UPSW0jLTX5qJL51YMUAHgw_3)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_34)(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_35)(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*, toLit__EiNc3CjWjUuz7a9aOLdGMhw)(tyTuple__LCURwohbLBusrL8hdCnvng a);
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___g33BhuFeOn85oub1SuUkWg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, querySettingImpl__srQdL5iB3k6bPvYBcewFbg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getNimcacheDir__oltK69akg0xLqkR2ITKbomg_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, querySettingSeqImpl__cyp2fnhz9brEKqcbTIK2sQw)(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__g33BhuFeOn85oub1SuUkWg_3)(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_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toLit__KipqGaFAV5q2V57HtRKVog)(tyTuple__XOVT24GHXwqiEj5GCsEGCA a);
N_LIB_PRIVATE N_CLOSURE(void, getProjectPathWrapper__g33BhuFeOn85oub1SuUkWg_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_36)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetAppFilename)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_5)(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_NOINLINE(void, stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos, NI pc, NimStringDesc* msg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineInfo, tyTuple__kN8up2W6YKc5YA9avn5mV5w infoOrigin);
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__mtjZlZD2xSyaebZUBpGCHA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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(NIM_BOOL, eqeq___59bygf5b7AsTVb9a1lVM66oA)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___qX5C9b0n9bOP7jk69amC8dA7A)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
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___g33BhuFeOn85oub1SuUkWg_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_CLOSURE(void, hashVmImpl__g33BhuFeOn85oub1SuUkWg_7)(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__g33BhuFeOn85oub1SuUkWg_8)(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_37)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__9aodCrWXscOGeNVh2cpuZkw)(void);
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_38)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__LlE3fKEVuGggl04AA4Ifyw)(void);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_39)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_40)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA, fromLit__e9bUTNbnzAFOnIlmlr8pdHQ)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toLit__DMaoEIGAr8AMJz2e1gXYjA)(tyTuple__XOVT24GHXwqiEj5GCsEGCA a);
N_LIB_PRIVATE N_NIMCALL(void, execCmdEx__130zQ9a9cS3YNDwoh0G9at3bw)(NimStringDesc* command, tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options, tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* env, NimStringDesc* workingDir, NimStringDesc* input, tyTuple__XOVT24GHXwqiEj5GCsEGCA* Result);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_41)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toLit__LV9bmSfqNNIbUGH8kJv4pMw)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__h20mpqrwsumk6J9bRdCm6IQ)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, getEffectList__O9c5vD9cBJNLQza4akZMRnQw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI effectIndex);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_10)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_42)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_43)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a);
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_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_2)(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__OUDseXSU2midLA4bLXt3gg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result);
static N_NIMCALL(void, Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ)(void* p, NI op);
static N_INLINE(void, enter__VlRy4bqjG2Oq4bi2NBW9b0wvmprofiler)(tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg* prof, tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos);
N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(NI, cleanUpOnReturn__UQh0Utfmv2ZQyI277pEV7w)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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)(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);
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(NIM_BOOL, sameConstant__rlsxiOBKecP0t9crY75888g)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
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(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__MnrgLhOl4U6sn3rRD19cz9bA)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* tmpl, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* genSymOwner, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NI* instID, 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__p3zYfzQBzfCT3SxRCaHf5w)(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* f, NI pc);
N_LIB_PRIVATE N_NIMCALL(void, popSafePoint__xa6C5GGXE739bwyLex9aXRMQ)(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* f);
N_LIB_PRIVATE N_NIMCALL(tyTuple__DcoP8zLFnBpow03kFN9cGhg, findExceptionHandler__7B4YrjB9bwLzkHvmgkXfnUQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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__s9cFy5TGKFXao9bSR9bgK0vTw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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, 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_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__60l3XWY7pBPSQ4Pi9ao9bZPg)(NimStringDesc* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, NimStringDesc* filename, NI line, tyProc__pIuD7iLYdwrBMntVRm61ZA errorHandler);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___B9aBcRRVoRSIq0b6yX080jw)(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___B9aBcRRVoRSIq0b6yX080jw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__zcNs9blLGYB6i9aGKob9bpzRw)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
static N_INLINE(NimStringDesc*, toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
N_LIB_PRIVATE N_NIMCALL(void, addInt__mftMOxbyu0h4yByfs3sqjA)(NimStringDesc** result, NI64 x);
N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
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___M2d4UEGH9cZOvte6rEhvUTQ)(NU64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
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);
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);
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*, newTree__FpOm4fidh9bWdkMa1BMRJkQ)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
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);
static N_INLINE(void, leave__QoTzttW5qhAM568TC1hifgvmprofiler)(tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg* prof, tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
N_LIB_PRIVATE N_NOINLINE(void, leaveImpl__TxiQHZPVPcs8U49bRKzRtxw)(tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg* prof, tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c);
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);

/* section: NIM_merge_DATA */
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_2, "macro instantiation too nested", 30);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_4, "/home/runner/work/nightlies/nightlies/nim/compiler/vm.nim", 57);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_3 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 2245),
((NI) 15)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_5, "in call \'$#\' got $#, but expected $# argument(s)", 48);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_6 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 2250),
((NI) 15)}
;
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_8, "stdlib.math.sqrt", 16);
extern TNimType NTI__GJRDbRqzZnSsmt2gZMzKBA_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_9, "vmhooks.nim(40, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_10, "vmhooks.nim(41, 12) `a.slots[i + a.rb + 1].kind == rkFloat` ", 60);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_12, "stdlib.math.ln", 14);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_14, "stdlib.math.log10", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_16, "stdlib.math.log2", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_18, "stdlib.math.exp", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_20, "stdlib.math.round", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_22, "stdlib.math.arccos", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_24, "stdlib.math.arcsin", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_26, "stdlib.math.arctan", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_28, "stdlib.math.arctan2", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_30, "stdlib.math.cos", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_32, "stdlib.math.cosh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_34, "stdlib.math.hypot", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_36, "stdlib.math.sinh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_38, "stdlib.math.sin", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_40, "stdlib.math.tan", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_42, "stdlib.math.tanh", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_44, "stdlib.math.pow", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_46, "stdlib.math.trunc", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_48, "stdlib.math.floor", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_50, "stdlib.math.ceil", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_52, "stdlib.md5.getMD5", 17);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_53, "vmhooks.nim(48, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_54, "vmhooks.nim(49, 12) `a.slots[i + a.rb + 1].kind == rkNode` ", 59);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_56, "stdlib.math.mod", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_58, "stdlib.os.getEnv", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_60, "stdlib.os.existsEnv", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_62, "stdlib.os.putEnv", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_64, "stdlib.os.dirExists", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_66, "stdlib.os.fileExists", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_68, "stdlib.io.writeFile", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_71, "stdlib.io.readFile", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_73, "stdlib.io.readLines", 19);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_74, "vmhooks.nim(41, 12) `a.slots[i + a.rb + 1].kind == rkInt` ", 58);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_76, "stdlib.system.getCurrentExceptionMsg", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_78, "stdlib.system.getCurrentException", 33);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_80, "stdlib.*.staticWalkDir", 22);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_82, ".", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_83, "..", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_85, "stdlib.compilesettings.querySetting", 35);
extern TNimType NTI__4OBsgZ9cscH2JLUE5Wcz01g_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_86, "stdlib.compilesettings.querySettingSeq", 38);
extern TNimType NTI__sM4lkSb7zS6F7OVMvW9cffQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_87, "stdlib.system.gorgeEx", 21);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_88, "stdlib.macros.getProjectPath", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_89, "stdlib.os.getCurrentCompilerExe", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_91, "stdlib.macros.symBodyHash", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_92, "vmhooks.nim(53, 12) `i < a.rc - 1` ", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_93, "vmhooks.nim(54, 12) `a.slots[i + a.rb + 1].kind == rkNode` ", 59);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_94, "stack trace: (most recent call last)", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_95, " calls omitted\012", 15);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_96, "command line", 12);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_97, "\?\?\?", 3);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_98, ", ", 2);
extern TNimType NTI__tIxM6OLoE2pUc9bMTjYhjPg_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_99, "symBodyHash() requires a symbol. \'", 34);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_100, "\' is of kind \'", 14);
extern TNimType NTI__G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_101, "\'", 1);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_102 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_97),
((NI) 0),
((NI) -1)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_103, "stdlib.macros.isExported", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_104, "isExported() requires a symbol. \'", 33);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_105, "stdlib.hashes.hashVmImpl", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_106, "stdlib.hashes.hashVmImplByte", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_107, "stdlib.hashes.hashVmImplChar", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_108, "stdlib.times.cpuTime", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_111, "stdlib.os.getCurrentDir", 23);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_113, "stdlib.osproc.execCmdEx", 23);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_115, "stdlib.times.getTime", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_117, "stdlib.effecttraits.getRaisesListImpl", 37);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_118, "stdlib.effecttraits.getTagsListImpl", 35);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_119, "stdlib.effecttraits.isGcSafeImpl", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_121, "stdlib.effecttraits.hasNoSideEffectsImpl", 40);
extern TNimType NTI__jlXqfsdfoRhiIfoVNWV0Vw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_123, "expected ", 9);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_124, " generic parameter(s)", 21);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_125 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 2287),
((NI) 16)}
;
N_LIB_PRIVATE TNimType NTI__jd629aT6A2Mu9ci3rTLr9bzFw_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTI__i0OKJxPqBBZH5nTqNgi3yQ_;
extern TNimType NTI__qwqHTkRvwhrRyENtudHQ7g_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_127, "opcCastPtrToInt: got ", 21);
extern TNimType NTI__BUH8cfx9botv2xAfmC8mnAQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_128, "opcCastIntToPtr: regs[rb].node.typ: ", 36);
extern TNimType NTI__9a3YiReNVD0IJHWFKgXRe9ag_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_129, "opcCastIntToPtr: regs[rb].kind: ", 32);
extern TNimType NTI__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_130, "index out of bounds, the container is empty", 43);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_131, "index ", 6);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_132, " not in 0 .. 9223372036854775807", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_133, " not in 0 .. ", 13);
extern TNimType NTI__bROa11lyF5vxEN9aYNbHmhw_;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_134, "attempt to access a nil address ", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_135, "kind", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_136, "typ", 3);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_137, "rc", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_138, "attempt to access a nil address", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_139, "limited VM support for \'addr\'", 29);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_140 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 767),
((NI) 31)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_141, "deref unsupported ptr type: ", 28);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_142, "attempt to access a nil address kind: ", 38);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_143 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 792),
((NI) 29)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_144, "over- or underflow", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_145, "division by zero", 16);
extern NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractInst__dLigiD0wrfdW59cejPpTktA;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_146, "node is not a symbol", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_147, "node is not a proc symbol", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_148, "illegal conversion from \'$1\' to \'$2\'", 36);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_149, "[", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_150, "]", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_152, "VM not allowed to do FFI, see `compiletimeFFI`", 46);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_153 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1187),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_154, "VM not built with FFI support", 29);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_155 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1207),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_156, "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);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_157 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 474),
((NI) 17)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_158, "vm.nim(1284, 15) `false` ", 25);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_159, "vm.nim(1289, 15) `savedPC < 0` ", 31);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_160, "unhandled exception: ", 21);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_161, " [", 2);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_162, "vm.nim(1406, 16) `node.kind == nkIntLit` ", 41);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_163, "opcLdDeref unsupported type: ", 29);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_164 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1435),
((NI) 15)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_165, "node lacks field: ", 18);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_166, "unhandled exception: value out of range", 39);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_168, "cannot get child of node kind: n", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_169, "typechecked nodes may not be modified", 37);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_170, "cannot set child of node kind: n", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_171, "cannot add to node kind: n", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_172, "node lacks field: intVal", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_173, "node lacks field: floatVal", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_174, "node lacks field: symbol", 24);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_175, "node lacks field: ident", 23);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_176, "node has no type", 16);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_177, "symbol is not a field (nskField)", 32);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_178, "node lacks field: strVal", 24);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_179 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1708),
((NI) 15)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_180 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1710),
((NI) 15)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_181, "expected expression, but got multiple statements", 48);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_182, "node lacks field: callsite", 26);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_183, "(", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_184, ")", 1);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_185 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1758),
((NI) 23)}
;
extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_186, "opConv for enum", 15);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_187 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 386),
((NI) 46)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_188, " ", 1);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_189, "false", 5);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_190, "true", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_191, "cannot convert to string ", 25);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_192 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 416),
((NI) 19)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_193, "invalid object-to-object conversion", 35);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_194 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 456),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_195, "cannot evaluate cast", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_196 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1855),
((NI) 19)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_197, "`intVal` cannot be changed for an enum symbol.", 46);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_198 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1891),
((NI) 21)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_199 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1892),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_200, "request to create a NimNode of invalid kind", 43);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_201 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1908),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_202, ":tmp", 4);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_203, "request to create symbol of invalid kind", 40);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_204 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 1942),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_205, "key already exists: ", 20);
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_206, "key does not exist: ", 20);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_207 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 2054),
((NI) 21)}
;
STRING_LITERAL(TM__pyAIA9cUF0h9c4j2HfNQPfYw_208, "macro produced a cyclic tree", 28);
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__pyAIA9cUF0h9c4j2HfNQPfYw_209 = {((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_4),
((NI) 2293),
((NI) 36)}
;

/* section: NIM_merge_VARS */
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;
extern TSafePoint* excHandler__rqLlY5bs9atDw2OXYqJEn5g;

/* section: NIM_merge_PROCS */
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(NI, len__P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	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_NIMCALL(void, Marker_tyRef__8Qi2Yy1dXWyP64byz4WwVw)(void* p, NI op) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* a;
	a = (tyObject_Env_vmopsdotnim_registerAdditionalOps___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));
	(*a).slots[(*a).ra].floatVal = v;
}
N_LIB_PRIVATE N_NIMCALL(NF, getFloat__Gb7N45iPByJjVcCcp9aU6eg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NF result;
	result = (NF)0;
	{
		if (!!((((NI) (i)) < (NI)(((NI) ((*a).rc)) - ((NI) 1))))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_9));
	}
	LA3_: ;
	{
		if (!!(((*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_10));
	}
	LA7_: ;
	result = (*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].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));
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	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;
	result = (NimStringDesc*)0;
	{
		if (!!((((NI) (i)) < (NI)(((NI) ((*a).rc)) - ((NI) 1))))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_53));
	}
	LA3_: ;
	{
		if (!!(((*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_54));
	}
	LA7_: ;
	result = copyString((*(*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].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));
	(*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_);
}
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_ = nosdirExists(T1_);
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T2_);
}
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_ = nosfileExists(T1_);
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
}
N_LIB_PRIVATE N_NIMCALL(void, writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)(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));
	writeFile__D6Pj9c29aCLEJP9beOWa08HYA(T1_, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)(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_;
				if (!(i < L)) goto LA4;
				x = (&v->data[i]);
				T5_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T5_ = newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*x));
				add__P8dDSotTW25BkfbyspojGg(n, T5_);
				i += ((NI) 1);
			} LA4: ;
		}
	}
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), n);
}
N_LIB_PRIVATE N_NIMCALL(NI64, getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i) {
	NI64 result;
	result = (NI64)0;
	{
		if (!!((((NI) (i)) < (NI)(((NI) ((*a).rc)) - ((NI) 1))))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_9));
	}
	LA3_: ;
	{
		if (!!(((*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_74));
	}
	LA7_: ;
	result = (*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].intVal;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)(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));
	T3_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	T3_ = readLines__SgtYKLMb9cNidg5iRn9aNDJA(T1_, ((NI) (T2_)));
	setResult__nH0psxYZ8gVURA1upHNltw(a, T3_);
}
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_33)(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_;
		T7_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
		T7_ = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*(*a).currentException)._kind_6.sons->data[((NI) 3)]);
		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));
	unsureAsgnRef((void**) (&(*a).slots[(*a).ra].node), n);
}
N_LIB_PRIVATE N_NIMCALL(void, getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_34)(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 == ((NimStringDesc*) 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 == ((DIR*) 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_81;
			pushSafePoint(&TM__pyAIA9cUF0h9c4j2HfNQPfYw_81);
			TM__pyAIA9cUF0h9c4j2HfNQPfYw_81.status = setjmp(TM__pyAIA9cUF0h9c4j2HfNQPfYw_81.context);
			if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_81.status == 0) {
			{
				while (1) {
					{
						struct dirent* x;
						NimStringDesc* y;
						x = readdir(d);
						{
							if (!(x == ((struct dirent*) NIM_NIL))) goto LA17_;
							goto LA12;
						}
						LA17_: ;
						y = cstrToNimstr(((NCSTRING) ((*x).d_name)));
						{
							NIM_BOOL T21_;
							struct stat s;
							NimStringDesc* path_2;
							tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg k_2;
							tyTuple__LCURwohbLBusrL8hdCnvng T63_;
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T64_;
							T21_ = (NIM_BOOL)0;
							T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_82)));
							if (!(T21_)) goto LA22_;
							T21_ = !(eqStrings(y, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_83)));
							LA22_: ;
							if (!T21_) goto LA23_;
							nimZeroMem((void*)(&s), sizeof(struct stat));
							path_2 = slash___gEyhbzZ1UcxyenWRLJRXNQ(path, y);
							{
								if (!!(relative)) goto LA27_;
								y = copyString(path_2);
							}
							LA27_: ;
							k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 0);
							{
								tyTuple__LCURwohbLBusrL8hdCnvng T47_;
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T48_;
								if (!!(((*x).d_type == ((NI8) 0)))) goto LA31_;
								{
									if (!((*x).d_type == ((NI8) 4))) goto LA35_;
									k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
								}
								LA35_: ;
								{
									if (!((*x).d_type == ((NI8) 10))) goto LA39_;
									{
										NIM_BOOL T43_;
										T43_ = (NIM_BOOL)0;
										T43_ = nosdirExists(path_2);
										if (!T43_) goto LA44_;
										k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 3);
									}
									goto LA41_;
									LA44_: ;
									{
										k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 1);
									}
									LA41_: ;
								}
								LA39_: ;
								k = k_2;
								f = y;
								nimZeroMem((void*)(&T47_), sizeof(tyTuple__LCURwohbLBusrL8hdCnvng));
								T47_.Field0 = k;
								T47_.Field1 = copyString(f);
								T48_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
								T48_ = toLit__EiNc3CjWjUuz7a9aOLdGMhw(T47_);
								add__P8dDSotTW25BkfbyspojGg(result, T48_);
								goto LA14;
							}
							LA31_: ;
							{
								int T51_;
								T51_ = (int)0;
								T51_ = lstat(nimToCStringConv(path_2), (&s));
								if (!(T51_ < ((NI32) 0))) goto LA52_;
								goto LA12;
							}
							LA52_: ;
							{
								NIM_BOOL T56_;
								T56_ = (NIM_BOOL)0;
								T56_ = S_ISDIR(s.st_mode);
								if (!T56_) goto LA57_;
								k_2 = ((tyEnum_PathComponent__9c1SIU9cO1wHcl09b703A9cDrg) 2);
							}
							goto LA54_;
							LA57_: ;
							{
								NIM_BOOL T60_;
								T60_ = (NIM_BOOL)0;
								T60_ = S_ISLNK(s.st_mode);
								if (!T60_) goto LA61_;
								k_2 = getSymlinkFileKind__wTnLPNAWjgwVnuiJ9ax0ZGQ(path_2);
							}
							goto LA54_;
							LA61_: ;
							LA54_: ;
							k = k_2;
							f = y;
							nimZeroMem((void*)(&T63_), sizeof(tyTuple__LCURwohbLBusrL8hdCnvng));
							T63_.Field0 = k;
							T63_.Field1 = copyString(f);
							T64_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							T64_ = toLit__EiNc3CjWjUuz7a9aOLdGMhw(T63_);
							add__P8dDSotTW25BkfbyspojGg(result, T64_);
						}
						LA23_: ;
					} LA14: ;
				}
			} LA12: ;
			popSafePoint();
			}
			else {
				popSafePoint();
			}
			{
				int T67_;
				T67_ = (int)0;
				T67_ = closedir(d);
				(void)(T67_);
				if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_81.status != 0) nimLeaveFinally();
			}
			if (TM__pyAIA9cUF0h9c4j2HfNQPfYw_81.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_35)(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__srQdL5iB3k6bPvYBcewFbg)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	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;
	case ((tyEnum_SingleValueSetting__Igy03f37WeVmNeG9bUdBWjA) 12):
	{
		result = reprEnum((NI)(*conf).backend, (&NTI__4OBsgZ9cscH2JLUE5Wcz01g_));
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI64 T1_;
	NimStringDesc* T2_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 0));
	T2_ = (NimStringDesc*)0;
	T2_ = querySettingImpl__srQdL5iB3k6bPvYBcewFbg((*(*colonenvP_).c1).config, T1_);
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, querySettingSeqImpl__cyp2fnhz9brEKqcbTIK2sQw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI64 switch_0) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* result;
	result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	switch (((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) (switch_0))) {
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 0):
	{
		{
			NimStringDesc** iX60gensym1089_;
			NI i;
			NI L;
			NI T3_;
			iX60gensym1089_ = (NimStringDesc**)0;
			i = ((NI) 0);
			T3_ = ((*conf).nimblePaths ? (*conf).nimblePaths->Sup.len : 0);
			L = T3_;
			{
				while (1) {
					NI T6_;
					NimStringDesc* T7_;
					if (!(i < L)) goto LA5;
					iX60gensym1089_ = (&(*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((*iX60gensym1089_));
					if (T7_) nimGCunrefNoCycle(T7_);
					i += ((NI) 1);
				} LA5: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 1):
	{
		{
			NimStringDesc** iX60gensym1090_;
			NI i_2;
			NI L_2;
			NI T10_;
			iX60gensym1090_ = (NimStringDesc**)0;
			i_2 = ((NI) 0);
			T10_ = ((*conf).searchPaths ? (*conf).searchPaths->Sup.len : 0);
			L_2 = T10_;
			{
				while (1) {
					NI T13_;
					NimStringDesc* T14_;
					if (!(i_2 < L_2)) goto LA12;
					iX60gensym1090_ = (&(*conf).searchPaths->data[i_2]);
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T13_ = result->Sup.len++;
					T14_ = (NimStringDesc*)0;
					T14_ = result->data[T13_]; result->data[T13_] = copyStringRC1((*iX60gensym1090_));
					if (T14_) nimGCunrefNoCycle(T14_);
					i_2 += ((NI) 1);
				} LA12: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 2):
	{
		{
			NimStringDesc** iX60gensym1091_;
			NI i_3;
			NI L_3;
			NI T17_;
			iX60gensym1091_ = (NimStringDesc**)0;
			i_3 = ((NI) 0);
			T17_ = ((*conf).lazyPaths ? (*conf).lazyPaths->Sup.len : 0);
			L_3 = T17_;
			{
				while (1) {
					NI T20_;
					NimStringDesc* T21_;
					if (!(i_3 < L_3)) goto LA19;
					iX60gensym1091_ = (&(*conf).lazyPaths->data[i_3]);
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T20_ = result->Sup.len++;
					T21_ = (NimStringDesc*)0;
					T21_ = result->data[T20_]; result->data[T20_] = copyStringRC1((*iX60gensym1091_));
					if (T21_) nimGCunrefNoCycle(T21_);
					i_3 += ((NI) 1);
				} LA19: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 3):
	{
		genericSeqAssign((&result), (*conf).commandArgs, (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 4):
	{
		{
			NimStringDesc** iX60gensym1092_;
			NI i_4;
			NI L_4;
			NI T25_;
			iX60gensym1092_ = (NimStringDesc**)0;
			i_4 = ((NI) 0);
			T25_ = ((*conf).cIncludes ? (*conf).cIncludes->Sup.len : 0);
			L_4 = T25_;
			{
				while (1) {
					NI T28_;
					NimStringDesc* T29_;
					if (!(i_4 < L_4)) goto LA27;
					iX60gensym1092_ = (&(*conf).cIncludes->data[i_4]);
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T28_ = result->Sup.len++;
					T29_ = (NimStringDesc*)0;
					T29_ = result->data[T28_]; result->data[T28_] = copyStringRC1((*iX60gensym1092_));
					if (T29_) nimGCunrefNoCycle(T29_);
					i_4 += ((NI) 1);
				} LA27: ;
			}
		}
	}
	break;
	case ((tyEnum_MultipleValueSetting__VWhGRvtekA8sZB8MCm56ew) 5):
	{
		{
			NimStringDesc** iX60gensym1093_;
			NI i_5;
			NI L_5;
			NI T32_;
			iX60gensym1093_ = (NimStringDesc**)0;
			i_5 = ((NI) 0);
			T32_ = ((*conf).cLibs ? (*conf).cLibs->Sup.len : 0);
			L_5 = T32_;
			{
				while (1) {
					NI T35_;
					NimStringDesc* T36_;
					if (!(i_5 < L_5)) goto LA34;
					iX60gensym1093_ = (&(*conf).cLibs->data[i_5]);
					result = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(result), (&NTI__sM4lkSb7zS6F7OVMvW9cffQ_));
					T35_ = result->Sup.len++;
					T36_ = (NimStringDesc*)0;
					T36_ = result->data[T35_]; result->data[T35_] = copyStringRC1((*iX60gensym1093_));
					if (T36_) nimGCunrefNoCycle(T36_);
					i_5 += ((NI) 1);
				} LA34: ;
			}
		}
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_2)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI64 T1_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* T2_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	T1_ = (NI64)0;
	T1_ = getInt__VJ5Unk9bDoOAoLiZLdhb9b1Q(a, ((NI) 0));
	T2_ = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*)0;
	T2_ = querySettingSeqImpl__cyp2fnhz9brEKqcbTIK2sQw((*(*colonenvP_).c1).config, T1_);
	setResult__nH0psxYZ8gVURA1upHNltw(a, T2_);
}
N_LIB_PRIVATE N_CLOSURE(void, gorgeExWrapper__g33BhuFeOn85oub1SuUkWg_3)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	tyTuple__XOVT24GHXwqiEj5GCsEGCA ret;
	NimStringDesc* T1_;
	NimStringDesc* T2_;
	NimStringDesc* T3_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	nimZeroMem((void*)(&ret), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
	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));
	opGorge__PHM9cEmzUJYj3PsIVbIPnxQ(T1_, T2_, T3_, (*a).currentLineInfo, (*(*colonenvP_).c1).config, (&ret));
	T4_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T4_ = toLit__KipqGaFAV5q2V57HtRKVog(ret);
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, T4_);
}
N_LIB_PRIVATE N_CLOSURE(void, getProjectPathWrapper__g33BhuFeOn85oub1SuUkWg_4)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, (*(*(*colonenvP_).c1).config).projectPath);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_36)(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;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!!((((NI) (i)) < (NI)(((NI) ((*a).rc)) - ((NI) 1))))) goto LA3_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_92));
	}
	LA3_: ;
	{
		if (!!(((*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA7_;
		failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_93));
	}
	LA7_: ;
	result = (*a).slots[(NI)((NI)(((NI) (i)) + ((NI) ((*a).rb))) + ((NI) 1))].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 == ((NimStringDesc*) 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__mtjZlZD2xSyaebZUBpGCHA)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* x, NI pc, NI recursionLimit) {
{	{
		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
		NimStringDesc* s;
		NI line;
		NI col;
		if (!!((x == ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL)))) goto LA3_;
		{
			NI calls;
			tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* x_2;
			NimStringDesc* T11_;
			NimStringDesc* T12_;
			if (!(recursionLimit == ((NI) 0))) goto LA7_;
			calls = ((NI) 0);
			x_2 = x;
			{
				while (1) {
					if (!!((x_2 == ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL)))) goto LA10;
					calls += ((NI) 1);
					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_95));
			msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, T11_, 0);
			goto BeforeRet_;
		}
		LA7_: ;
		stackTraceAux__mtjZlZD2xSyaebZUBpGCHA(c, (*x).next, (*x).comesFrom, (NI)(recursionLimit - ((NI) 1)));
		info = (*c).debug->data[pc];
		s = ((NimStringDesc*) NIM_NIL);
		{
			if (!(((*(*c).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 31))&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 == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL));
				LA21_: ;
				if (!T20_) goto LA22_;
				{
					if (!(info.fileIndex == ((NI32) -3))) goto LA26_;
					s = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_96));
				}
				goto LA24_;
				LA26_: ;
				{
					s = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_97));
				}
				LA24_: ;
			}
			goto LA18_;
			LA22_: ;
			{
				s = copyString((*(*c).config).m.fileInfos->data[info.fileIndex].shortName);
			}
			LA18_: ;
		}
		LA13_: ;
		line = toLinenumber__6D4Rmpw7LpcRI1j7CMqEsAmsgs(info);
		col = toColumn__6D4Rmpw7LpcRI1j7CMqEsA_2msgs(info);
		{
			NimStringDesc* T34_;
			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_98));
			T35_ = (NimStringDesc*)0;
			T35_ = nimIntToStr((NI)(col + ((NI) 1)));
			s = resizeString(s, (T35_ ? T35_->Sup.len : 0) + 0);
appendString(s, T35_);
			s = addChar(s, 41);
		}
		LA32_: ;
		{
			if (!!(((*x).prc == ((tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*) NIM_NIL)))) goto LA38_;
			{
				NI k;
				NI colontmp_;
				NI res;
				k = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = ((((NI) 1) >= (NI)(((NI) 25) - (s ? s->Sup.len : 0))) ? ((NI) 1) : (NI)(((NI) 25) - (s ? s->Sup.len : 0)));
				res = ((NI) 1);
				{
					while (1) {
						if (!(res <= colontmp_)) goto LA42;
						k = res;
						s = addChar(s, 32);
						res += ((NI) 1);
					} 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_NOINLINE(void, stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos, NI pc, NimStringDesc* msg, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineInfo, tyTuple__kN8up2W6YKc5YA9avn5mV5w infoOrigin) {
	tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw action;
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lineInfo_2;
	msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_94), 0);
	stackTraceAux__mtjZlZD2xSyaebZUBpGCHA(c, tos, pc, ((NI) 100));
	{
		if (!((*c).mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 0))) goto LA3_;
		action = ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2);
	}
	goto LA1_;
	LA3_: ;
	{
		action = ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0);
	}
	LA1_: ;
	{
		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T8_;
		NIM_BOOL T9_;
		nimZeroMem((void*)(&T8_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
		T9_ = (NIM_BOOL)0;
		T9_ = eqeq___59bygf5b7AsTVb9a1lVM66oA(lineInfo, T8_);
		if (!T9_) goto LA10_;
		lineInfo_2 = (*c).debug->data[pc];
	}
	goto LA6_;
	LA10_: ;
	{
		lineInfo_2 = lineInfo;
	}
	LA6_: ;
	liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, lineInfo_2, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), msg, action, infoOrigin, NIM_FALSE);
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_5)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
	tyArray__qtqsWM5aXmcpMIVmvq3kAA T8_;
	NimStringDesc* T9_;
{	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	n = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	{
		tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
		T5_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
		T5_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
		asgnRef((void**) (&(*T5_).prc), (*(*(*colonenvP_).c1).prc).sym);
		(*T5_).comesFrom = ((NI) 0);
		asgnRef((void**) (&(*T5_).next), ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) 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_99));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_100));
appendString(T6_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_101));
		stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ((*colonenvP_).c1, T5_, (*(*colonenvP_).c1).exceptionInstr, T6_, (*n).info, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
		goto BeforeRet_;
	}
	LA3_: ;
	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___g33BhuFeOn85oub1SuUkWg_6)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
{	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	n = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	{
		tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T5_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
		T5_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
		T5_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
		asgnRef((void**) (&(*T5_).prc), (*(*(*colonenvP_).c1).prc).sym);
		(*T5_).comesFrom = ((NI) 0);
		asgnRef((void**) (&(*T5_).next), ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) 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_104));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_100));
appendString(T6_, reprEnum((NI)(*n).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T6_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_101));
		stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ((*colonenvP_).c1, T5_, (*(*colonenvP_).c1).exceptionInstr, T6_, (*n).info, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
		goto BeforeRet_;
	}
	LA3_: ;
	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));
	(*a).slots[(*a).ra].intVal = v;
}
N_LIB_PRIVATE N_CLOSURE(void, hashVmImpl__g33BhuFeOn85oub1SuUkWg_7)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	NI res;
	NimStringDesc* T1_;
	NI64 T2_;
	NI64 T3_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___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).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3))) goto LA6_;
		res = ((NI) (((NI32) (res))));
	}
	LA6_: ;
	setResult__TT9cdDQkh09c214lMSxKXTTg(a, ((NI64) (res)));
}
N_LIB_PRIVATE N_CLOSURE(void, hashVmImplByte__g33BhuFeOn85oub1SuUkWg_8)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___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_registerAdditionalOps___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);
	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) {
				if (!(i_2 < colontmp_)) goto LA6;
				i = i_2;
				bytes->data[i] = ((NU8) ((NI64)((*(*arr)._kind_6.sons->data[i])._kind_1.intVal & IL64(255))));
				i_2 += ((NI) 1);
			} LA6: ;
		}
	}
	res = hash__GXEvKkoaUont1gpaAJabXg(bytes->data, (bytes ? bytes->Sup.len : 0), sPos, ePos);
	{
		if (!((*(*(*colonenvP_).c1).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 3))) goto LA9_;
		res = ((NI) (((NI32) (res))));
	}
	LA9_: ;
	setResult__TT9cdDQkh09c214lMSxKXTTg(a, ((NI64) (res)));
}
N_LIB_PRIVATE N_NIMCALL(void, cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_37)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	T1_ = (NF)0;
	T1_ = cpuTime__9aodCrWXscOGeNVh2cpuZkw();
	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_38)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NF T1_;
	T1_ = (NF)0;
	T1_ = cpuTime__LlE3fKEVuGggl04AA4Ifyw();
	setResult__PlA9cyXmUSmFKkhh8sQETRg(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_39)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	NimStringDesc* T1_;
	T1_ = (NimStringDesc*)0;
	T1_ = nosgetCurrentDir();
	setResult__g9crT9ba9c0OxETalTxR9cv1Sw(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_40)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
	NimStringDesc* T2_;
	tyTuple__XOVT24GHXwqiEj5GCsEGCA T3_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
	T1_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 1));
	options = fromLit__e9bUTNbnzAFOnIlmlr8pdHQ(T1_);
	T2_ = (NimStringDesc*)0;
	T2_ = getString__fqypzXhNY5rpF89ak7Q0GlQ(a, ((NI) 0));
	nimZeroMem((void*)(&T3_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
	execCmdEx__130zQ9a9cS3YNDwoh0G9at3bw(T2_, options, ((tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg*) NIM_NIL), ((NimStringDesc*) NIM_NIL), ((NimStringDesc*) NIM_NIL), (&T3_));
	T4_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T4_ = toLit__DMaoEIGAr8AMJz2e1gXYjA(T3_);
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, T4_);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_41)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q T1_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
	T1_ = getTime__h20mpqrwsumk6J9bRdCm6IQ();
	T2_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T2_ = toLit__LV9bmSfqNNIbUGH8kJv4pMw(T1_);
	setResult__Adyk89aSgmLp9bDuSV0Va03A(a, T2_);
}
N_LIB_PRIVATE N_NIMCALL(void, getEffectList__O9c5vD9cBJNLQza4akZMRnQw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI effectIndex) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn;
	fn = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NI T8_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = !(((*fn).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
		if (!(T5_)) goto LA6_;
		T5_ = !(((*(*fn).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
		LA6_: ;
		T4_ = T5_;
		if (!(T4_)) goto LA7_;
		T8_ = (NI)0;
		T8_ = len__P89cqdlERShb9alU3iC0yj8wast((*(*(*fn).typ).n)._kind_6.sons->data[((NI) 0)]);
		T4_ = (((NI) 5) <= T8_);
		LA7_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA9_;
		T3_ = !(((*(*(*(*fn).typ).n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[effectIndex] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
		LA9_: ;
		if (!T3_) goto LA10_;
		list = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*fn).info);
		{
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
			e = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			colontmp_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
			colontmp_ = (*(*(*(*fn).typ).n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[effectIndex];
			{
				NI i;
				NI colontmp__2;
				NI i_2;
				i = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(colontmp_);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T16_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
						if (!(i_2 < colontmp__2)) goto LA15;
						i = i_2;
						e = (*colontmp_)._kind_6.sons->data[i];
						T16_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
						T16_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*e).typ, 4194304);
						T17_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T17_ = opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg((*c).cache, T16_, (*e).info);
						add__P8dDSotTW25BkfbyspojGg(list, T17_);
						i_2 += ((NI) 1);
					} LA15: ;
				}
			}
		}
		setResult__Adyk89aSgmLp9bDuSV0Va03A(a, list);
	}
	LA10_: ;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_9)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	getEffectList__O9c5vD9cBJNLQza4akZMRnQw((*colonenvP_).c1, a, ((NI) 0));
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___g33BhuFeOn85oub1SuUkWg_10)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenvP_;
	colonenvP_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) ClE_0;
	getEffectList__O9c5vD9cBJNLQza4akZMRnQw((*colonenvP_).c1, a, ((NI) 3));
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_42)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn;
	NIM_BOOL T1_;
	fn = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	T1_ = (NIM_BOOL)0;
	T1_ = !(((*fn).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
	if (!(T1_)) goto LA2_;
	T1_ = (((*(*fn).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
	LA2_: ;
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_43)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	fn = getNode__DuJnnnM0aSaXeDv118rkUw(a, ((NI) 0));
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = !(((*fn).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
	if (!(T2_)) goto LA3_;
	T2_ = (((*(*fn).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
	LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(T5_)) goto LA6_;
	T5_ = ((*(*fn)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13));
	LA6_: ;
	T1_ = T5_;
	LA4_: ;
	setResult__X7b1uTvNjENZoIKwHxPn9aA(a, T1_);
}
N_LIB_PRIVATE N_NIMCALL(void, registerAdditionalOps__YCoJV0XHfn0P9cfljlakO1g)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
	tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g* colonenv_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T1_;
	NI T2_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T3_;
	NI T4_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T5_;
	NI T6_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T7_;
	NI T8_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T9_;
	NI T10_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T11_;
	NI T12_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T13_;
	NI T14_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T15_;
	NI T16_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T17_;
	NI T18_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T19_;
	NI T20_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T21_;
	NI T22_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T23_;
	NI T24_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T25_;
	NI T26_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T27_;
	NI T28_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T29_;
	NI T30_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T31_;
	NI T32_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T33_;
	NI T34_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T35_;
	NI T36_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T37_;
	NI T38_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T39_;
	NI T40_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T41_;
	NI T42_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T43_;
	NI T44_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T45_;
	NI T46_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T47_;
	NI T48_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T49_;
	NI T50_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T51_;
	NI T52_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T53_;
	NI T54_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T55_;
	NI T56_;
	NI T57_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T69_;
	NI T70_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T71_;
	NI T72_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T73_;
	NI T74_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T75_;
	NI T76_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T77_;
	NI T78_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T79_;
	NI T80_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T81_;
	NI T82_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T92_;
	NI T93_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T94_;
	NI T95_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T96_;
	NI T97_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T98_;
	NI T99_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T100_;
	NI T101_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T102_;
	NI T103_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T104_;
	NI T105_;
	NI T106_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T126_;
	NI T127_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T128_;
	NI T129_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T130_;
	NI T131_;
	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T132_;
	NI T133_;
	colonenv_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*)0;
	colonenv_ = (tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*) newObj((&NTI__8Qi2Yy1dXWyP64byz4WwVw_), sizeof(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g));
	(*colonenv_).Sup.m_type = (&NTI__m9bElogmdcDLEy9czU5AZr6g_);
	asgnRef((void**) (&(*colonenv_).c1), c);
	nimZeroMem((void*)(&T1_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T1_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_11) (sqrtWrapper__YYz4trFdtBrqWRYoIzUH9aA)); T1_.ClE_0 = NIM_NIL;
	T2_ = (NI)0;
	T2_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_8), T1_);
	nimZeroMem((void*)(&T3_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T3_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_13) (lnWrapper__YYz4trFdtBrqWRYoIzUH9aA_2)); T3_.ClE_0 = NIM_NIL;
	T4_ = (NI)0;
	T4_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_12), T3_);
	nimZeroMem((void*)(&T5_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T5_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_15) (log10Wrapper__YYz4trFdtBrqWRYoIzUH9aA_3)); T5_.ClE_0 = NIM_NIL;
	T6_ = (NI)0;
	T6_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_14), T5_);
	nimZeroMem((void*)(&T7_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T7_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_17) (log2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_4)); T7_.ClE_0 = NIM_NIL;
	T8_ = (NI)0;
	T8_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_16), T7_);
	nimZeroMem((void*)(&T9_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T9_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_19) (expWrapper__YYz4trFdtBrqWRYoIzUH9aA_5)); T9_.ClE_0 = NIM_NIL;
	T10_ = (NI)0;
	T10_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_18), T9_);
	nimZeroMem((void*)(&T11_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T11_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_21) (roundWrapper__YYz4trFdtBrqWRYoIzUH9aA_6)); T11_.ClE_0 = NIM_NIL;
	T12_ = (NI)0;
	T12_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_20), T11_);
	nimZeroMem((void*)(&T13_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T13_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_23) (arccosWrapper__YYz4trFdtBrqWRYoIzUH9aA_7)); T13_.ClE_0 = NIM_NIL;
	T14_ = (NI)0;
	T14_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_22), T13_);
	nimZeroMem((void*)(&T15_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T15_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_25) (arcsinWrapper__YYz4trFdtBrqWRYoIzUH9aA_8)); T15_.ClE_0 = NIM_NIL;
	T16_ = (NI)0;
	T16_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_24), T15_);
	nimZeroMem((void*)(&T17_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T17_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_27) (arctanWrapper__YYz4trFdtBrqWRYoIzUH9aA_9)); T17_.ClE_0 = NIM_NIL;
	T18_ = (NI)0;
	T18_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_26), T17_);
	nimZeroMem((void*)(&T19_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T19_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_29) (arctan2Wrapper__YYz4trFdtBrqWRYoIzUH9aA_10)); T19_.ClE_0 = NIM_NIL;
	T20_ = (NI)0;
	T20_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_28), T19_);
	nimZeroMem((void*)(&T21_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T21_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_31) (cosWrapper__YYz4trFdtBrqWRYoIzUH9aA_11)); T21_.ClE_0 = NIM_NIL;
	T22_ = (NI)0;
	T22_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_30), T21_);
	nimZeroMem((void*)(&T23_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T23_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_33) (coshWrapper__YYz4trFdtBrqWRYoIzUH9aA_12)); T23_.ClE_0 = NIM_NIL;
	T24_ = (NI)0;
	T24_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_32), T23_);
	nimZeroMem((void*)(&T25_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T25_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_35) (hypotWrapper__YYz4trFdtBrqWRYoIzUH9aA_13)); T25_.ClE_0 = NIM_NIL;
	T26_ = (NI)0;
	T26_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_34), T25_);
	nimZeroMem((void*)(&T27_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T27_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_37) (sinhWrapper__YYz4trFdtBrqWRYoIzUH9aA_14)); T27_.ClE_0 = NIM_NIL;
	T28_ = (NI)0;
	T28_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_36), T27_);
	nimZeroMem((void*)(&T29_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T29_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_39) (sinWrapper__YYz4trFdtBrqWRYoIzUH9aA_15)); T29_.ClE_0 = NIM_NIL;
	T30_ = (NI)0;
	T30_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_38), T29_);
	nimZeroMem((void*)(&T31_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T31_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_41) (tanWrapper__YYz4trFdtBrqWRYoIzUH9aA_16)); T31_.ClE_0 = NIM_NIL;
	T32_ = (NI)0;
	T32_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_40), T31_);
	nimZeroMem((void*)(&T33_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T33_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_43) (tanhWrapper__YYz4trFdtBrqWRYoIzUH9aA_17)); T33_.ClE_0 = NIM_NIL;
	T34_ = (NI)0;
	T34_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_42), T33_);
	nimZeroMem((void*)(&T35_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T35_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_45) (powWrapper__YYz4trFdtBrqWRYoIzUH9aA_18)); T35_.ClE_0 = NIM_NIL;
	T36_ = (NI)0;
	T36_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_44), T35_);
	nimZeroMem((void*)(&T37_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T37_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_47) (truncWrapper__YYz4trFdtBrqWRYoIzUH9aA_19)); T37_.ClE_0 = NIM_NIL;
	T38_ = (NI)0;
	T38_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_46), T37_);
	nimZeroMem((void*)(&T39_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T39_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_49) (floorWrapper__YYz4trFdtBrqWRYoIzUH9aA_20)); T39_.ClE_0 = NIM_NIL;
	T40_ = (NI)0;
	T40_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_48), T39_);
	nimZeroMem((void*)(&T41_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T41_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_51) (ceilWrapper__YYz4trFdtBrqWRYoIzUH9aA_21)); T41_.ClE_0 = NIM_NIL;
	T42_ = (NI)0;
	T42_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_50), T41_);
	nimZeroMem((void*)(&T43_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T43_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_55) (getMD5Wrapper__YYz4trFdtBrqWRYoIzUH9aA_22)); T43_.ClE_0 = NIM_NIL;
	T44_ = (NI)0;
	T44_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_52), T43_);
	nimZeroMem((void*)(&T45_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T45_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_57) (modWrapper__YYz4trFdtBrqWRYoIzUH9aA_23)); T45_.ClE_0 = NIM_NIL;
	T46_ = (NI)0;
	T46_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_56), T45_);
	nimZeroMem((void*)(&T47_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T47_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_59) (getEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_24)); T47_.ClE_0 = NIM_NIL;
	T48_ = (NI)0;
	T48_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_58), T47_);
	nimZeroMem((void*)(&T49_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T49_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_61) (existsEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_25)); T49_.ClE_0 = NIM_NIL;
	T50_ = (NI)0;
	T50_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_60), T49_);
	nimZeroMem((void*)(&T51_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T51_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_63) (putEnvWrapper__YYz4trFdtBrqWRYoIzUH9aA_26)); T51_.ClE_0 = NIM_NIL;
	T52_ = (NI)0;
	T52_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_62), T51_);
	nimZeroMem((void*)(&T53_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T53_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_65) (dirExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_27)); T53_.ClE_0 = NIM_NIL;
	T54_ = (NI)0;
	T54_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_64), T53_);
	nimZeroMem((void*)(&T55_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T55_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_67) (fileExistsWrapper__YYz4trFdtBrqWRYoIzUH9aA_28)); T55_.ClE_0 = NIM_NIL;
	T56_ = (NI)0;
	T56_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_66), T55_);
	T57_ = (NI)0;
	{
		NIM_BOOL T60_;
		NIM_BOOL T62_;
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T66_;
		T60_ = (NIM_BOOL)0;
		T60_ = !((((*(*(*colonenv_).c1).config).features &((NU16)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 11))&15U)))!=0));
		if (!(T60_)) goto LA61_;
		T62_ = (NIM_BOOL)0;
		T62_ = NIM_FALSE;
		if (T62_) goto LA63_;
		T62_ = ((*(*(*colonenv_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
		LA63_: ;
		T60_ = T62_;
		LA61_: ;
		if (!T60_) goto LA64_;
		nimZeroMem((void*)(&T66_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T66_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_69) (writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_29)); T66_.ClE_0 = NIM_NIL;
		T57_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_68), T66_);
	}
	goto LA58_;
	LA64_: ;
	{
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T68_;
		nimZeroMem((void*)(&T68_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T68_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_70) (writeFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_30)); T68_.ClE_0 = NIM_NIL;
		T57_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_68), T68_);
	}
	LA58_: ;
	nimZeroMem((void*)(&T69_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T69_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_72) (readFileWrapper__YYz4trFdtBrqWRYoIzUH9aA_31)); T69_.ClE_0 = NIM_NIL;
	T70_ = (NI)0;
	T70_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_71), T69_);
	nimZeroMem((void*)(&T71_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T71_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_75) (readLinesWrapper__YYz4trFdtBrqWRYoIzUH9aA_32)); T71_.ClE_0 = NIM_NIL;
	T72_ = (NI)0;
	T72_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_73), T71_);
	nimZeroMem((void*)(&T73_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T73_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_77) (getCurrentExceptionMsgWrapper__YYz4trFdtBrqWRYoIzUH9aA_33)); T73_.ClE_0 = NIM_NIL;
	T74_ = (NI)0;
	T74_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_76), T73_);
	nimZeroMem((void*)(&T75_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T75_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_79) (getCurrentExceptionWrapper__YYz4trFdtBrqWRYoIzUH9aA_34)); T75_.ClE_0 = NIM_NIL;
	T76_ = (NI)0;
	T76_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_78), T75_);
	nimZeroMem((void*)(&T77_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T77_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_84) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_35)); T77_.ClE_0 = NIM_NIL;
	T78_ = (NI)0;
	T78_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_80), T77_);
	nimZeroMem((void*)(&T79_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T79_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg; T79_.ClE_0 = colonenv_;
	T80_ = (NI)0;
	T80_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_85), T79_);
	nimZeroMem((void*)(&T81_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T81_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg_2; T81_.ClE_0 = colonenv_;
	T82_ = (NI)0;
	T82_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_86), T81_);
	{
		NIM_BOOL T85_;
		T85_ = (NIM_BOOL)0;
		T85_ = NIM_FALSE;
		if (T85_) goto LA86_;
		T85_ = ((*(*(*colonenv_).c1).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
		LA86_: ;
		if (!T85_) goto LA87_;
	}
	goto LA83_;
	LA87_: ;
	{
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T90_;
		NI T91_;
		nimZeroMem((void*)(&T90_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T90_.ClP_0 = gorgeExWrapper__g33BhuFeOn85oub1SuUkWg_3; T90_.ClE_0 = colonenv_;
		T91_ = (NI)0;
		T91_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_87), T90_);
	}
	LA83_: ;
	nimZeroMem((void*)(&T92_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T92_.ClP_0 = getProjectPathWrapper__g33BhuFeOn85oub1SuUkWg_4; T92_.ClE_0 = colonenv_;
	T93_ = (NI)0;
	T93_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_88), T92_);
	nimZeroMem((void*)(&T94_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T94_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_90) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_36)); T94_.ClE_0 = NIM_NIL;
	T95_ = (NI)0;
	T95_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_89), T94_);
	nimZeroMem((void*)(&T96_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T96_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg_5; T96_.ClE_0 = colonenv_;
	T97_ = (NI)0;
	T97_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_91), T96_);
	nimZeroMem((void*)(&T98_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T98_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg_6; T98_.ClE_0 = colonenv_;
	T99_ = (NI)0;
	T99_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_103), T98_);
	nimZeroMem((void*)(&T100_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T100_.ClP_0 = hashVmImpl__g33BhuFeOn85oub1SuUkWg_7; T100_.ClE_0 = colonenv_;
	T101_ = (NI)0;
	T101_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_105), T100_);
	nimZeroMem((void*)(&T102_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T102_.ClP_0 = hashVmImplByte__g33BhuFeOn85oub1SuUkWg_8; T102_.ClE_0 = colonenv_;
	T103_ = (NI)0;
	T103_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_106), T102_);
	nimZeroMem((void*)(&T104_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T104_.ClP_0 = hashVmImplByte__g33BhuFeOn85oub1SuUkWg_8; T104_.ClE_0 = colonenv_;
	T105_ = (NI)0;
	T105_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_107), T104_);
	T106_ = (NI)0;
	{
		NIM_BOOL T109_;
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T113_;
		T109_ = (NIM_BOOL)0;
		T109_ = (((*(*(*colonenv_).c1).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 44))&63U)))!=0);
		if (T109_) goto LA110_;
		T109_ = (((*(*(*colonenv_).c1).config).features &((NU16)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 11))&15U)))!=0);
		LA110_: ;
		if (!T109_) goto LA111_;
		nimZeroMem((void*)(&T113_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T113_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_109) (cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_37)); T113_.ClE_0 = NIM_NIL;
		T106_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_108), T113_);
	}
	goto LA107_;
	LA111_: ;
	{
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T115_;
		nimZeroMem((void*)(&T115_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T115_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_110) (cpuTimeWrapper__YYz4trFdtBrqWRYoIzUH9aA_38)); T115_.ClE_0 = NIM_NIL;
		T106_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_108), T115_);
	}
	LA107_: ;
	{
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T120_;
		NI T121_;
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T122_;
		NI T123_;
		tyProc__5QC9cKfPJmKuW0XbCTd8ylA T124_;
		NI T125_;
		if (!(((*(*(*colonenv_).c1).config).features &((NU16)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 11))&15U)))!=0)) goto LA118_;
		nimZeroMem((void*)(&T120_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T120_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_112) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_39)); T120_.ClE_0 = NIM_NIL;
		T121_ = (NI)0;
		T121_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_111), T120_);
		nimZeroMem((void*)(&T122_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T122_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_114) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_40)); T122_.ClE_0 = NIM_NIL;
		T123_ = (NI)0;
		T123_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_113), T122_);
		nimZeroMem((void*)(&T124_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
		T124_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_116) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_41)); T124_.ClE_0 = NIM_NIL;
		T125_ = (NI)0;
		T125_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_115), T124_);
	}
	LA118_: ;
	nimZeroMem((void*)(&T126_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T126_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg_9; T126_.ClE_0 = colonenv_;
	T127_ = (NI)0;
	T127_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_117), T126_);
	nimZeroMem((void*)(&T128_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T128_.ClP_0 = colonanonymous___g33BhuFeOn85oub1SuUkWg_10; T128_.ClE_0 = colonenv_;
	T129_ = (NI)0;
	T129_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_118), T128_);
	nimZeroMem((void*)(&T130_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T130_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_120) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_42)); T130_.ClE_0 = NIM_NIL;
	T131_ = (NI)0;
	T131_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_119), T130_);
	nimZeroMem((void*)(&T132_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
	T132_.ClP_0 = ((TM__pyAIA9cUF0h9c4j2HfNQPfYw_122) (colonanonymous___YYz4trFdtBrqWRYoIzUH9aA_43)); T132_.ClE_0 = NIM_NIL;
	T133_ = (NI)0;
	T133_ = registerCallback__KnNoqgKj9bmG2p3f4SLNFqA((*colonenv_).c1, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_121), T132_);
}
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);
		registerAdditionalOps__YCoJV0XHfn0P9cfljlakO1g((*((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw**) (&((*graph).vm)))));
	}
	goto LA1_;
	LA3_: ;
	{
		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);
		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_;
			unsureAsgnRef((void**) (&(*dest).node), n);
		}
		goto LA4_;
		LA6_: ;
		{
			NIM_BOOL T9_;
			tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T13_;
			T9_ = (NIM_BOOL)0;
			T9_ = !(((*n).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) 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);
			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);
		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);
		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_2(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) {
						if (!(i_2 < colontmp_)) goto LA12;
						i = i_2;
						child = (*arg)._kind_6.sons->data[i];
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
							if (!((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA15_;
							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_: ;
						i_2 += ((NI) 1);
					} 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_;
						if (!(i_4 < colontmp__2)) goto LA24;
						i_3 = i_4;
						child_2 = (*arg)._kind_6.sons->data[i_3];
						T25_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T25_ = prepareVMValue__0HuvClm0JuBZCAKVXN9aVBA(child_2);
						add__P8dDSotTW25BkfbyspojGg(result, T25_);
						i_4 += ((NI) 1);
					} 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) {
	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_;
			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);
		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));
		(*result)._kind_1.intVal = x.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		result = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16));
		(*result)._kind_2.floatVal = x.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		result = x.node;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA((*x.regAddr));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		result = (*x.nodeAddr);
	}
	break;
	}
	return result;
}
static N_NIMCALL(void, Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ)(void* p, NI op) {
	tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw* a;
	a = (tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw*)p;
	nimGCvisit((void*)(*a).error1, op);
	nimGCvisit((void*)(*a).error2, op);
}
static N_INLINE(void, enter__VlRy4bqjG2Oq4bi2NBW9b0wvmprofiler)(tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg* prof, tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos) {
	{
		if (!(((*(*c).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 50))&63U)))!=0)) goto LA3_;
		(*prof).tEnter = cpuTime__9aodCrWXscOGeNVh2cpuZkw();
		unsureAsgnRef((void**) (&(*prof).tos), tos);
	}
	LA3_: ;
}
static N_INLINE(NI*, X5BX5D___Dsh9aMasGTu9cMWGRPlBctPgsystem)(NI* s, NI sLen_0, NI i) {
	NI* result;
	result = (NI*)0;
	result = (&s[(NI)(sLen_0 - i)]);
	return result;
}
static N_INLINE(NI, pop__OC36rCceCM1GklRaGE2Ipwsystem)(tySequence__qwqHTkRvwhrRyENtudHQ7g** s) {
	NI result;
	NI L;
	NI T1_;
	result = (NI)0;
	T1_ = ((*s) ? (*s)->Sup.len : 0);
	L = (NI)(T1_ - ((NI) 1));
	result = (*s)->data[L];
	unsureAsgnRef((void**) (&(*s)), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) setLengthSeqV2(&((*s))->Sup, (&NTI__qwqHTkRvwhrRyENtudHQ7g_), ((NI) (L))));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, cleanUpOnReturn__UQh0Utfmv2ZQyI277pEV7w)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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_;
				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) {
						if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA7;
						pc += (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
					} LA7: ;
				}
				{
					NI T12_;
					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_);
					result = (NI)(pc + ((NI) 1));
					goto BeforeRet_;
				}
				LA10_: ;
				res += ((NI) 1);
			} 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 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
		if (T3_) goto LA4_;
		T3_ = (((*src).flags &((NU32)1<<((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):
	{
		(*result)._kind_1.intVal = (*src)._kind_1.intVal;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		(*result)._kind_2.floatVal = (*src)._kind_2.floatVal;
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		asgnRef((void**) (&(*result)._kind_4.sym), (*src)._kind_4.sym);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		asgnRef((void**) (&(*result)._kind_5.ident), (*src)._kind_5.ident);
	}
	break;
	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T13_;
		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_;
		T15_ = (NI)0;
		T15_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
		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) {
					if (!(i_2 < colontmp_)) goto LA18;
					i = i_2;
					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), copyValue__UyDLGuBe1bDjMXME9b0kt3Q((*src)._kind_6.sons->data[i]));
					i_2 += ((NI) 1);
				} 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):
	{
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		unsureAsgnRef((void**) (&(*x).node), copyValue__UyDLGuBe1bDjMXME9b0kt3Q(y.node));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		(*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):
	{
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		unsureAsgnRef((void**) (&(*x).node), y.node);
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		(*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):
	{
		(*x).intVal = y.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		(*x).floatVal = y.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		unsureAsgnRef((void**) (&(*x).node), y.node);
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		(*x).regAddr = y.regAddr;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		(*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_: ;
		(*(*n))._kind_1.intVal = x.intVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3):
	{
		(*(*n))._kind_2.floatVal = x.floatVal;
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
	{
		unsureAsgnRef((void**) (&(*n)), copyValue__UyDLGuBe1bDjMXME9b0kt3Q(x.node));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
	{
		writeField__GuWkkIoU9ccBLjbIJoyJPzw(n, (*x.regAddr));
	}
	break;
	case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
	{
		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_;
			(*((NI*) (address))) = ((NI) ((*r).intVal));
		}
		goto LA2_;
		LA4_: ;
		{
			NI valX60gensym12_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym12_ = (*((NI*) (address)));
			(*r).intVal = ((NI64) (valX60gensym12_));
		}
		LA2_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
	{
		{
			if (!isAssign) goto LA10_;
			(*((NI8*) (address))) = ((NI8) ((*r).intVal));
		}
		goto LA8_;
		LA10_: ;
		{
			NI8 valX60gensym13_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym13_ = (*((NI8*) (address)));
			(*r).intVal = ((NI64) (valX60gensym13_));
		}
		LA8_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
	{
		{
			if (!isAssign) goto LA16_;
			(*((NI16*) (address))) = ((NI16) ((*r).intVal));
		}
		goto LA14_;
		LA16_: ;
		{
			NI16 valX60gensym14_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym14_ = (*((NI16*) (address)));
			(*r).intVal = ((NI64) (valX60gensym14_));
		}
		LA14_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
	{
		{
			if (!isAssign) goto LA22_;
			(*((NI32*) (address))) = ((NI32) ((*r).intVal));
		}
		goto LA20_;
		LA22_: ;
		{
			NI32 valX60gensym15_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym15_ = (*((NI32*) (address)));
			(*r).intVal = ((NI64) (valX60gensym15_));
		}
		LA20_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
	{
		{
			if (!isAssign) goto LA28_;
			(*((NI64*) (address))) = (*r).intVal;
		}
		goto LA26_;
		LA28_: ;
		{
			NI64 valX60gensym16_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym16_ = (*((NI64*) (address)));
			(*r).intVal = valX60gensym16_;
		}
		LA26_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
	{
		{
			if (!isAssign) goto LA34_;
			(*((NU*) (address))) = ((NU) ((*r).intVal));
		}
		goto LA32_;
		LA34_: ;
		{
			NU valX60gensym17_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym17_ = (*((NU*) (address)));
			(*r).intVal = ((NI64) (valX60gensym17_));
		}
		LA32_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
	{
		{
			if (!isAssign) goto LA40_;
			(*((NU8*) (address))) = ((NU8) ((*r).intVal));
		}
		goto LA38_;
		LA40_: ;
		{
			NU8 valX60gensym18_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym18_ = (*((NU8*) (address)));
			(*r).intVal = ((NI64) (valX60gensym18_));
		}
		LA38_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
	{
		{
			if (!isAssign) goto LA46_;
			(*((NU16*) (address))) = ((NU16) ((*r).intVal));
		}
		goto LA44_;
		LA46_: ;
		{
			NU16 valX60gensym19_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym19_ = (*((NU16*) (address)));
			(*r).intVal = ((NI64) (valX60gensym19_));
		}
		LA44_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
	{
		{
			if (!isAssign) goto LA52_;
			(*((NU32*) (address))) = ((NU32) ((*r).intVal));
		}
		goto LA50_;
		LA52_: ;
		{
			NU32 valX60gensym20_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym20_ = (*((NU32*) (address)));
			(*r).intVal = ((NI64) (valX60gensym20_));
		}
		LA50_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		{
			if (!isAssign) goto LA58_;
			(*((NU64*) (address))) = ((NU64) ((*r).intVal));
		}
		goto LA56_;
		LA58_: ;
		{
			NU64 valX60gensym21_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			valX60gensym21_ = (*((NU64*) (address)));
			(*r).intVal = ((NI64) (valX60gensym21_));
		}
		LA56_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
	{
		{
			if (!isAssign) goto LA64_;
			(*((NF*) (address))) = (*r).floatVal;
		}
		goto LA62_;
		LA64_: ;
		{
			NF valX60gensym22_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym22_ = (*((NF*) (address)));
			(*r).floatVal = valX60gensym22_;
		}
		LA62_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
	{
		{
			if (!isAssign) goto LA70_;
			(*((NF32*) (address))) = ((NF32) ((*r).floatVal));
		}
		goto LA68_;
		LA70_: ;
		{
			NF32 valX60gensym23_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym23_ = (*((NF32*) (address)));
			(*r).floatVal = ((NF) (valX60gensym23_));
		}
		LA68_: ;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	break;
	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
	{
		{
			if (!isAssign) goto LA76_;
			(*((NF*) (address))) = (*r).floatVal;
		}
		goto LA74_;
		LA76_: ;
		{
			NF valX60gensym24_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(r, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			valX60gensym24_ = (*((NF*) (address)));
			(*r).floatVal = valX60gensym24_;
		}
		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_;
		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(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_;
		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(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 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
			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 == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) 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) {
				if (!(i_2 < colontmp_)) goto LA7;
				i = i_2;
				recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA((*arg)._kind_6.sons->data[i]);
				i_2 += ((NI) 1);
			} LA7: ;
		}
	}
}
N_LIB_PRIVATE N_NIMCALL(void, pushSafePoint__p3zYfzQBzfCT3SxRCaHf5w)(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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__xa6C5GGXE739bwyLex9aXRMQ)(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* f) {
	NI T1_;
	T1_ = (NI)0;
	T1_ = pop__OC36rCceCM1GklRaGE2Ipwsystem((&(*f).safePoints));
	(void)(T1_);
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__DcoP8zLFnBpow03kFN9cGhg, findExceptionHandler__7B4YrjB9bwLzkHvmgkXfnUQ)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* 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) {
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA5;
					pcEndExcept = (NI)((NI)(pc + ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL)))) - ((NI) 8388608));
					pc += ((NI) 1);
					{
						while (1) {
							NI excIndex;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* exceptType;
							if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA7;
							excIndex = (NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
							{
								if (!(((NI) 0) < excIndex)) goto LA10_;
								exceptType = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*c).types->data[excIndex], IL64(36275087638309136));
							}
							goto LA8_;
							LA10_: ;
							{
								exceptType = ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) 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_: ;
							pc += ((NI) 1);
						} LA7: ;
					} LA6: ;
					{
						while (1) {
							if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165))) goto LA21;
							pc += ((NI) 1);
						} 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;
				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);
				colontmp__4 = (NI)(pc + ((NI) 1));
				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__s9cFy5TGKFXao9bSR9bgK0vTw)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos) {
	NimStringDesc* T1_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T4_;
{	T1_ = (NimStringDesc*)0;
	T2_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T2_ = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 3)]);
	T3_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T3_ = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 2)]);
	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_160));
appendString(T1_, (*T2_)._kind_3.strVal);
appendString(T1_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_161));
appendString(T1_, (*T3_)._kind_3.strVal);
appendString(T1_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_150));
	nimZeroMem((void*)(&T4_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
	stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos, (*c).exceptionInstr, T1_, T4_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
	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);
	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) {
					if (!(i_2 < newLen)) goto LA7;
					i = i_2;
					asgnRef((void**) (&(*node)._kind_6.sons->data[i]), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA((*typ).sons->data[((NI) 0)], info, (*c).config));
					i_2 += ((NI) 1);
				} 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___B9aBcRRVoRSIq0b6yX080jw)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0) {
	tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw* colonenvP_;
	colonenvP_ = (tyObject_Env_vmdotnim_rawExecute___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___B9aBcRRVoRSIq0b6yX080jw_2)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, void* ClE_0) {
	tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw* colonenvP_;
	colonenvP_ = (tyObject_Env_vmdotnim_rawExecute___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(NimStringDesc*, toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
appendString(result, info.Field0);
	{
		if (!(((NI) 0) < info.Field1)) goto LA3_;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_183));
		addInt__mftMOxbyu0h4yByfs3sqjA((&result), ((NI64) (info.Field1)));
		{
			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
			result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_98));
			addInt__mftMOxbyu0h4yByfs3sqjA((&result), ((NI64) ((NI)(info.Field2 + ((NI) 1)))));
		}
		LA7_: ;
		result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_184));
	}
	LA3_: ;
	return result;
}
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;
}
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));
		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;
			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_;
				f = (*(*n)._kind_6.sons->data[x])._kind_4.sym;
				T8_ = ((*f).position == x);
				LA10_: ;
				if (!T8_) goto LA11_;
				{
					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_;
					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;
							if (!(i_2 < colontmp_)) goto LA23;
							i = i_2;
							{
								if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA26_;
								internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_186), TM__pyAIA9cUF0h9c4j2HfNQPfYw_187);
							}
							LA26_: ;
							f_2 = (*(*n)._kind_6.sons->data[i])._kind_4.sym;
							{
								if (!((*f_2).position == x)) goto LA30_;
								{
									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_;
									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_: ;
							i_2 += ((NI) 1);
						} LA23: ;
					}
				}
				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_188));
appendString(T39_, T40_);
				asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), T39_);
			}
			LA6_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
		{
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimInt64ToStr(src.intVal));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
		{
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), dollar___M2d4UEGH9cZOvte6rEhvUTQ(((NU64) (src.intVal))));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
		{
			{
				NimStringDesc* T48_;
				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_189));
				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_190));
				if (T50_) nimGCunrefNoCycle(T50_);
			}
			LA44_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
		{
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimFloatToStr(src.floatVal));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
		{
			NimStringDesc* T53_;
			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* T67_;
				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;
					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;
							if (!(i_3 < L)) goto LA62;
							son = &colontmp__2->data[i_3];
							c_2 = ((NIM_CHAR) ((*(*son))._kind_1.intVal));
							{
								if (!((NU8)(c_2) == (NU8)(0))) goto LA65_;
								goto LA59;
							}
							LA65_: ;
							strVal = addChar(strVal, c_2);
							i_3 += ((NI) 1);
						} LA62: ;
					}
				} LA59: ;
				T67_ = (NimStringDesc*)0;
				T67_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1(strVal);
				if (T67_) nimGCunrefNoCycle(T67_);
			}
			goto LA55_;
			LA57_: ;
			{
				NimStringDesc* T69_;
				T69_ = (NimStringDesc*)0;
				T69_ = (*(*dest).node)._kind_3.strVal; (*(*dest).node)._kind_3.strVal = copyStringRC1((*src.node)._kind_3.strVal);
				if (T69_) nimGCunrefNoCycle(T69_);
			}
			LA55_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
		{
			asgnRef((void**) (&(*(*dest).node)._kind_3.strVal), nimCharToStr(((NIM_CHAR) (((NI) (src.intVal))))));
		}
		break;
		default:
		{
			NimStringDesc* T72_;
			NimStringDesc* T73_;
			T72_ = (NimStringDesc*)0;
			T73_ = (NimStringDesc*)0;
			T73_ = typeToString__QlvraUan7WbHowhAbvDvdA(desttyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
			T72_ = rawNewString((T73_ ? T73_->Sup.len : 0) + 25);
appendString(T72_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_191));
appendString(T72_, T73_);
			internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, T72_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_192);
		}
		break;
		}
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T75_;
		T75_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T75_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(desttyp, IL64(36134350144710928));
		switch ((*T75_).kind) {
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T77_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			T77_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T77_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T77_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				(*dest).intVal = ((NI64) (((NI) (src.floatVal))));
			}
			break;
			default:
			{
				(*dest).intVal = src.intVal;
			}
			break;
			}
			{
				NIM_BOOL T82_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T83_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T84_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T86_;
				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T87_;
				T82_ = (NIM_BOOL)0;
				T83_ = toInt128__ZBiVpGjOydV7ZjeElrE9cFQ((*dest).intVal);
				T84_ = firstOrd__hjogdnp59cMX1rwmjikBhqw((*c).config, desttyp);
				T82_ = lt___7c5Zw7H31uJfWmmhZe9aEqw_3(T83_, T84_);
				if (T82_) goto LA85_;
				T86_ = lastOrd__hjogdnp59cMX1rwmjikBhqw_2((*c).config, desttyp);
				T87_ = toInt128__ZBiVpGjOydV7ZjeElrE9cFQ((*dest).intVal);
				T82_ = lt___7c5Zw7H31uJfWmmhZe9aEqw_3(T86_, T87_);
				LA85_: ;
				if (!T82_) goto LA88_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			LA88_: ;
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T91_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			T91_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T91_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T91_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				(*dest).intVal = ((NI64) (((NI) (src.floatVal))));
			}
			break;
			default:
			{
				NI64 srcDist;
				NI64 destDist;
				NU64 value;
				srcDist = (NI64)((NI64)(IL64(8) - (*srctyp).size) * IL64(8));
				destDist = (NI64)((NI64)(IL64(8) - (*desttyp).size) * IL64(8));
				value = ((NU64) (src.intVal));
				value = (NU64)((NU64)((NU64)((NU64)(value) << (NU64)(srcDist))) >> (NU64)(srcDist));
				value = (NU64)((NU64)((NU64)((NU64)(value) << (NU64)(destDist))) >> (NU64)(destDist));
				(*dest).intVal = ((NI64) (value));
			}
			break;
			}
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
		{
			NI T95_;
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T96_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
			T95_ = (NI)0;
			T96_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T96_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T96_).kind) {
			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
			{
				T95_ = ((NI) (!((src.floatVal == 0.0))));
			}
			break;
			default:
			{
				T95_ = ((NI) (!((src.intVal == IL64(0)))));
			}
			break;
			}
			(*dest).intVal = ((NI64) (T95_));
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
		{
			tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T100_;
			ensureKind__hLEAmC34r1Yd9aCCcNP1pLA(dest, ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
			T100_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T100_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350136322320));
			switch ((*T100_).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):
			{
				(*dest).floatVal = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(src.intVal);
			}
			break;
			default:
			{
				(*dest).floatVal = src.floatVal;
			}
			break;
			}
		}
		break;
		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
		{
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T106_;
				T106_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
				T106_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(srctyp, IL64(36134350144710928));
				if (!!(((*T106_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA107_;
				internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_193), TM__pyAIA9cUF0h9c4j2HfNQPfYw_194);
			}
			LA107_: ;
			moveConst__luZK66SNRzBExkuHaelzZA_3(dest, src);
		}
		break;
		default:
		{
			asgnComplex__luZK66SNRzBExkuHaelzZA(dest, src);
		}
		break;
		}
	}
	LA1_: ;
	}BeforeRet_: ;
	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;
		T3_ = ((*x).node == 0);
		if (T3_) goto LA4_;
		T3_ = !(keepNode);
		LA4_: ;
		if (!T3_) goto LA5_;
		unsureAsgnRef((void**) (&(*x).node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T8_;
		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw T12_;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*(*x).node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
		if (!(T8_)) goto LA9_;
		T8_ = keepNode;
		LA9_: ;
		if (!T8_) goto LA10_;
		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;
		T14_ = !(((*(*x).node).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*x).node).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
		if (T14_) goto LA15_;
		T14_ = (((*(*x).node).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 4))&31U)))!=0);
		LA15_: ;
		if (!T14_) goto LA16_;
		unsureAsgnRef((void**) (&(*x).node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
	}
	goto LA1_;
	LA16_: ;
	LA1_: ;
}
static N_INLINE(void, leave__QoTzttW5qhAM568TC1hifgvmprofiler)(tyObject_Profiler__X5SfC6PDEhDFna4qLF0vtg* prof, tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c) {
	{
		if (!(((*(*c).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 50))&63U)))!=0)) goto LA3_;
		leaveImpl__TxiQHZPVPcs8U49bRKzRtxw(prof, c);
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rawExecute__OUDseXSU2midLA4bLXt3gg)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NI start, tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos, tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* Result) {
	tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw* colonenv_;
	NI pc;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos_2;
	NI savedPC;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* savedFrame;
	tySequence__jlXqfsdfoRhiIfoVNWV0Vw* regs;
{	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_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw*)0;
	colonenv_ = (tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw*) newObj((&NTI__i0OKJxPqBBZH5nTqNgi3yQ_), sizeof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw));
	(*colonenv_).Sup.m_type = (&NTI__jd629aT6A2Mu9ci3rTLr9bzFw_);
	pc = start;
	tos_2 = tos;
	savedPC = ((NI) -1);
	savedFrame = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
	regs = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*)0;
	regs = (*tos_2).slots;
	{
		while (1) {
			NU64 instr;
			NI ra;
			instr = (*c).code->data[pc];
			ra = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
			enter__VlRy4bqjG2Oq4bi2NBW9b0wvmprofiler((&(*c).profiler), c, tos_2);
			switch (((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL)))) {
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 0):
			{
				genericAssign((void*)Result, (void*)(&regs->data[ra]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 1):
			{
				NI newPc;
				newPc = cleanUpOnReturn__UQh0Utfmv2ZQyI277pEV7w(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));
					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 (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 153))) goto LA15_;
						genericAssign((void*)(&regs->data[(NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)]), (void*)(&retVal), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
					}
					LA15_: ;
				}
				goto LA5_;
				LA7_: ;
				{
					savedPC = pc;
					savedFrame = tos_2;
					pc = (NI)(newPc - ((NI) 1));
				}
				LA5_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 2):
			{
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 3):
			{
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 4):
			{
				NI rb;
				rb = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = regs->data[rb].intVal;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 5):
			{
				NI rb_2;
				rb_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				regs->data[ra].floatVal = regs->data[rb_2].floatVal;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 10):
			{
				NI rb_3;
				union { NF32 source; NI32 dest; } LOC23;
				rb_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				LOC23.source = ((NF32) (regs->data[rb_3].floatVal));
				regs->data[ra].intVal = ((NI64) (LOC23.dest));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 11):
			{
				NI rb_4;
				union { NF source; NI64 dest; } LOC25;
				rb_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				LOC25.source = regs->data[rb_4].floatVal;
				regs->data[ra].intVal = LOC25.dest;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 8):
			{
				NI rb_5;
				union { NI64 source; NF32 dest; } LOC27;
				rb_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				LOC27.source = regs->data[rb_5].intVal;
				regs->data[ra].floatVal = ((NF) (LOC27.dest));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 9):
			{
				NI rb_6;
				union { NI64 source; NF dest; } LOC29;
				rb_6 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				LOC29.source = regs->data[rb_6].intVal;
				regs->data[ra].floatVal = LOC29.dest;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 12):
			{
				NI rb_7;
				NI imm;
				rb_7 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				switch (imm) {
				case ((NI) 1):
				{
					switch (regs->data[rb_7].kind) {
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
					{
						regs->data[ra].intVal = ((NI64) (((NI) ((*regs->data[rb_7].node)._kind_1.intVal))));
					}
					break;
					case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
					{
						regs->data[ra].intVal = ((NI64) (((NI) (ptrdiff_t) (regs->data[rb_7].nodeAddr))));
					}
					break;
					default:
					{
						NimStringDesc* T35_;
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T36_;
						T35_ = (NimStringDesc*)0;
						T35_ = rawNewString((reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 21);
appendString(T35_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_127));
appendString(T35_, reprEnum((NI)regs->data[rb_7].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
						nimZeroMem((void*)(&T36_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T35_, T36_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					break;
					}
				}
				break;
				case ((NI) 2):
				{
					regs->data[ra].intVal = ((NI64) (((NI) (regs->data[rb_7].node))));
				}
				break;
				default:
				{
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 13):
			{
				NI rb_8;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2;
				rb_8 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				typ = (*regs->data[ra].node).typ;
				node2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*c).debug->data[pc], typ);
				switch (regs->data[rb_8].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2):
				{
					(*node2)._kind_1.intVal = regs->data[rb_8].intVal;
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						NimStringDesc* T46_;
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T47_;
						if (!!(((69206016 &((NU64)1<<((NU)((*(*regs->data[rb_8].node).typ).kind)&63U)))!=0))) goto LA44_;
						T46_ = (NimStringDesc*)0;
						T46_ = 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(T46_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_128));
appendString(T46_, reprEnum((NI)(*(*regs->data[rb_8].node).typ).kind, (&NTI__9a3YiReNVD0IJHWFKgXRe9ag_)));
						nimZeroMem((void*)(&T47_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T46_, T47_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA44_: ;
					(*node2)._kind_1.intVal = (*regs->data[rb_8].node)._kind_1.intVal;
				}
				break;
				default:
				{
					NimStringDesc* T49_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T50_;
					T49_ = (NimStringDesc*)0;
					T49_ = rawNewString((reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 32);
appendString(T49_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_129));
appendString(T49_, reprEnum((NI)regs->data[rb_8].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
					nimZeroMem((void*)(&T50_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T49_, T50_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				}
				asgnRef((void**) (&regs->data[ra].node), node2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 7):
			{
				asgnComplex__luZK66SNRzBExkuHaelzZA((&regs->data[ra]), regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 14):
			{
				fastAsgnComplex__luZK66SNRzBExkuHaelzZA_2((&regs->data[ra]), regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 6):
			{
				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;
				ra_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				rb_9 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				{
					if (!!((regs->data[rb_9].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA57_;
					genericAssign((void*)(&regs->data[ra_2]), (void*)(&regs->data[rb_9]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				goto LA55_;
				LA57_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nb;
					nb = regs->data[rb_9].node;
					switch ((*nb).kind) {
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
					{
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
						regs->data[ra_2].intVal = (*nb)._kind_1.intVal;
					}
					break;
					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
					{
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
						regs->data[ra_2].floatVal = (*nb)._kind_2.floatVal;
					}
					break;
					default:
					{
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_2]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						asgnRef((void**) (&regs->data[ra_2].node), nb);
					}
					break;
					}
				}
				LA55_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 16):
			{
				NI rb_10;
				NI rc;
				NI idx;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src;
				rb_10 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					NimStringDesc* T68_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T76_;
					if (!(IL64(9223372036854775807) < regs->data[rc].intVal)) goto LA66_;
					T68_ = (NimStringDesc*)0;
					{
						if (!NIM_FALSE) goto LA71_;
						T68_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA69_;
					LA71_: ;
					{
						NimStringDesc* T74_;
						NimStringDesc* T75_;
						T74_ = (NimStringDesc*)0;
						T75_ = (NimStringDesc*)0;
						T75_ = nimInt64ToStr(regs->data[rc].intVal);
						T74_ = rawNewString((T75_ ? T75_->Sup.len : 0) + 38);
appendString(T74_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T74_, T75_);
appendString(T74_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_132));
						T68_ = T74_;
					}
					LA69_: ;
					nimZeroMem((void*)(&T76_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T68_, T76_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA66_: ;
				idx = ((NI) (regs->data[rc].intVal));
				src = regs->data[rb_10].node;
				{
					if (!((*src).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*src).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA79_;
					{
						NIM_BOOL T83_;
						T83_ = (NIM_BOOL)0;
						T83_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx, ((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0));
						if (!T83_) goto LA84_;
						asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), (*c).debug->data[pc]));
						(*regs->data[ra].node)._kind_1.intVal = ((NI64) (((NU8)((*src)._kind_3.strVal->data[idx]))));
					}
					goto LA81_;
					LA84_: ;
					{
						NimStringDesc* T87_;
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T96_;
						T87_ = (NimStringDesc*)0;
						{
							if (!((NI)(((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0) - ((NI) 1)) < ((NI) 0))) goto LA90_;
							T87_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
						}
						goto LA88_;
						LA90_: ;
						{
							NimStringDesc* T93_;
							NimStringDesc* T94_;
							NimStringDesc* T95_;
							T93_ = (NimStringDesc*)0;
							T94_ = (NimStringDesc*)0;
							T94_ = nimIntToStr(idx);
							T95_ = (NimStringDesc*)0;
							T95_ = nimIntToStr((NI)(((*src)._kind_3.strVal ? (*src)._kind_3.strVal->Sup.len : 0) - ((NI) 1)));
							T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + (T95_ ? T95_->Sup.len : 0) + 19);
appendString(T93_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T93_, T94_);
appendString(T93_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T93_, T95_);
							T87_ = T93_;
						}
						LA88_: ;
						nimZeroMem((void*)(&T96_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T87_, T96_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA81_: ;
				}
				goto LA77_;
				LA79_: ;
				{
					NIM_BOOL T98_;
					NI T100_;
					T98_ = (NIM_BOOL)0;
					T98_ = !(((*src).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19)));
					if (!(T98_)) goto LA99_;
					T100_ = (NI)0;
					T100_ = len__P89cqdlERShb9alU3iC0yj8wast(src);
					T98_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx, T100_);
					LA99_: ;
					if (!T98_) goto LA101_;
					asgnRef((void**) (&regs->data[ra].node), (*src)._kind_6.sons->data[idx]);
				}
				goto LA77_;
				LA101_: ;
				{
					NimStringDesc* T104_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T115_;
					T104_ = (NimStringDesc*)0;
					{
						NI T107_;
						T107_ = (NI)0;
						T107_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(src);
						if (!((NI)(T107_ - ((NI) 1)) < ((NI) 0))) goto LA108_;
						T104_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA105_;
					LA108_: ;
					{
						NimStringDesc* T111_;
						NimStringDesc* T112_;
						NI T113_;
						NimStringDesc* T114_;
						T111_ = (NimStringDesc*)0;
						T112_ = (NimStringDesc*)0;
						T112_ = nimIntToStr(idx);
						T113_ = (NI)0;
						T113_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(src);
						T114_ = (NimStringDesc*)0;
						T114_ = nimIntToStr((NI)(T113_ - ((NI) 1)));
						T111_ = rawNewString((T112_ ? T112_->Sup.len : 0) + (T114_ ? T114_->Sup.len : 0) + 19);
appendString(T111_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T111_, T112_);
appendString(T111_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T111_, T114_);
						T104_ = T111_;
					}
					LA105_: ;
					nimZeroMem((void*)(&T115_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T104_, T115_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA77_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 17):
			{
				NI rb_11;
				NI rc_2;
				NI idx_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_2;
				rb_11 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_2 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					NimStringDesc* T121_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T129_;
					if (!(IL64(9223372036854775807) < regs->data[rc_2].intVal)) goto LA119_;
					T121_ = (NimStringDesc*)0;
					{
						if (!NIM_FALSE) goto LA124_;
						T121_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA122_;
					LA124_: ;
					{
						NimStringDesc* T127_;
						NimStringDesc* T128_;
						T127_ = (NimStringDesc*)0;
						T128_ = (NimStringDesc*)0;
						T128_ = nimInt64ToStr(regs->data[rc_2].intVal);
						T127_ = rawNewString((T128_ ? T128_->Sup.len : 0) + 38);
appendString(T127_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T127_, T128_);
appendString(T127_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_132));
						T121_ = T127_;
					}
					LA122_: ;
					nimZeroMem((void*)(&T129_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T121_, T129_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA119_: ;
				idx_2 = ((NI) (regs->data[rc_2].intVal));
				{
					if (!(regs->data[rb_11].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA132_;
					src_2 = regs->data[rb_11].node;
				}
				goto LA130_;
				LA132_: ;
				{
					src_2 = (*regs->data[rb_11].nodeAddr);
				}
				LA130_: ;
				{
					NIM_BOOL T137_;
					NI T139_;
					T137_ = (NIM_BOOL)0;
					T137_ = !(((*src_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
					if (!(T137_)) goto LA138_;
					T139_ = (NI)0;
					T139_ = len__P89cqdlERShb9alU3iC0yj8wast(src_2);
					T137_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_2, T139_);
					LA138_: ;
					if (!T137_) goto LA140_;
					regs->data[ra].nodeAddr = &(*src_2)._kind_6.sons->data[idx_2];
				}
				goto LA135_;
				LA140_: ;
				{
					NimStringDesc* T143_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T154_;
					T143_ = (NimStringDesc*)0;
					{
						NI T146_;
						T146_ = (NI)0;
						T146_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(src_2);
						if (!((NI)(T146_ - ((NI) 1)) < ((NI) 0))) goto LA147_;
						T143_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA144_;
					LA147_: ;
					{
						NimStringDesc* T150_;
						NimStringDesc* T151_;
						NI T152_;
						NimStringDesc* T153_;
						T150_ = (NimStringDesc*)0;
						T151_ = (NimStringDesc*)0;
						T151_ = nimIntToStr(idx_2);
						T152_ = (NI)0;
						T152_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(src_2);
						T153_ = (NimStringDesc*)0;
						T153_ = nimIntToStr((NI)(T152_ - ((NI) 1)));
						T150_ = rawNewString((T151_ ? T151_->Sup.len : 0) + (T153_ ? T153_->Sup.len : 0) + 19);
appendString(T150_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T150_, T151_);
appendString(T150_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T150_, T153_);
						T143_ = T150_;
					}
					LA144_: ;
					nimZeroMem((void*)(&T154_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T143_, T154_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA135_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 27):
			{
				NI rb_12;
				NI rc_3;
				NI idx_3;
				NimStringDesc* s;
				rb_12 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				idx_3 = ((NI) (regs->data[rc_3].intVal));
				s = (*regs->data[rb_12].node)._kind_3.strVal;
				{
					NIM_BOOL T158_;
					T158_ = (NIM_BOOL)0;
					T158_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_3, (s ? s->Sup.len : 0));
					if (!T158_) goto LA159_;
					regs->data[ra].intVal = ((NI64) (((NU8)(s->data[idx_3]))));
				}
				goto LA156_;
				LA159_: ;
				{
					NimStringDesc* T162_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T171_;
					T162_ = (NimStringDesc*)0;
					{
						if (!((NI)((s ? s->Sup.len : 0) - ((NI) 1)) < ((NI) 0))) goto LA165_;
						T162_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA163_;
					LA165_: ;
					{
						NimStringDesc* T168_;
						NimStringDesc* T169_;
						NimStringDesc* T170_;
						T168_ = (NimStringDesc*)0;
						T169_ = (NimStringDesc*)0;
						T169_ = nimIntToStr(idx_3);
						T170_ = (NimStringDesc*)0;
						T170_ = nimIntToStr((NI)((s ? s->Sup.len : 0) - ((NI) 1)));
						T168_ = rawNewString((T169_ ? T169_->Sup.len : 0) + (T170_ ? T170_->Sup.len : 0) + 19);
appendString(T168_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T168_, T169_);
appendString(T168_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T168_, T170_);
						T162_ = T168_;
					}
					LA163_: ;
					nimZeroMem((void*)(&T171_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T162_, T171_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA156_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 18):
			{
				NI rb_13;
				NI rc_4;
				NI idx_4;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arr;
				rb_13 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				idx_4 = ((NI) (regs->data[rb_13].intVal));
				arr = regs->data[ra].node;
				{
					if (!((*arr).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*arr).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA175_;
					{
						NIM_BOOL T179_;
						T179_ = (NIM_BOOL)0;
						T179_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_4, ((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0));
						if (!T179_) goto LA180_;
						(*arr)._kind_3.strVal->data[idx_4] = ((NIM_CHAR) (((NI) (regs->data[rc_4].intVal))));
					}
					goto LA177_;
					LA180_: ;
					{
						NimStringDesc* T183_;
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T192_;
						T183_ = (NimStringDesc*)0;
						{
							if (!((NI)(((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0) - ((NI) 1)) < ((NI) 0))) goto LA186_;
							T183_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
						}
						goto LA184_;
						LA186_: ;
						{
							NimStringDesc* T189_;
							NimStringDesc* T190_;
							NimStringDesc* T191_;
							T189_ = (NimStringDesc*)0;
							T190_ = (NimStringDesc*)0;
							T190_ = nimIntToStr(idx_4);
							T191_ = (NimStringDesc*)0;
							T191_ = nimIntToStr((NI)(((*arr)._kind_3.strVal ? (*arr)._kind_3.strVal->Sup.len : 0) - ((NI) 1)));
							T189_ = rawNewString((T190_ ? T190_->Sup.len : 0) + (T191_ ? T191_->Sup.len : 0) + 19);
appendString(T189_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T189_, T190_);
appendString(T189_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T189_, T191_);
							T183_ = T189_;
						}
						LA184_: ;
						nimZeroMem((void*)(&T192_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T183_, T192_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA177_: ;
				}
				goto LA173_;
				LA175_: ;
				{
					NI T194_;
					NIM_BOOL T195_;
					T194_ = (NI)0;
					T194_ = len__P89cqdlERShb9alU3iC0yj8wast(arr);
					T195_ = (NIM_BOOL)0;
					T195_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_4, T194_);
					if (!T195_) goto LA196_;
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*arr)._kind_6.sons->data[idx_4], regs->data[rc_4]);
				}
				goto LA173_;
				LA196_: ;
				{
					NimStringDesc* T199_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T210_;
					T199_ = (NimStringDesc*)0;
					{
						NI T202_;
						T202_ = (NI)0;
						T202_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(arr);
						if (!((NI)(T202_ - ((NI) 1)) < ((NI) 0))) goto LA203_;
						T199_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA200_;
					LA203_: ;
					{
						NimStringDesc* T206_;
						NimStringDesc* T207_;
						NI T208_;
						NimStringDesc* T209_;
						T206_ = (NimStringDesc*)0;
						T207_ = (NimStringDesc*)0;
						T207_ = nimIntToStr(idx_4);
						T208_ = (NI)0;
						T208_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(arr);
						T209_ = (NimStringDesc*)0;
						T209_ = nimIntToStr((NI)(T208_ - ((NI) 1)));
						T206_ = rawNewString((T207_ ? T207_->Sup.len : 0) + (T209_ ? T209_->Sup.len : 0) + 19);
appendString(T206_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T206_, T207_);
appendString(T206_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T206_, T209_);
						T199_ = T206_;
					}
					LA200_: ;
					nimZeroMem((void*)(&T210_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T199_, T210_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA173_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 19):
			{
				NI rb_14;
				NI rc_5;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src_3;
				rb_14 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				src_3 = regs->data[rb_14].node;
				switch ((*src_3).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
				{
					NimStringDesc* T213_;
					tyTuple__nlLlqVveYUlcdyx2e2bPTw T214_;
					NimStringDesc* T215_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T216_;
					T213_ = (NimStringDesc*)0;
					nimZeroMem((void*)(&T214_), sizeof(tyTuple__nlLlqVveYUlcdyx2e2bPTw));
					T214_.Field0 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_135));
					T214_.Field1 = (*src_3).kind;
					T214_.Field2 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_136));
					T214_.Field3 = typeToString__QlvraUan7WbHowhAbvDvdA((*src_3).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T214_.Field4 = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_137));
					T214_.Field5 = rc_5;
					T215_ = (NimStringDesc*)0;
					T215_ = dollar___HBZb4pgGTJ0NuRxlEYFytw((&T214_));
					T213_ = rawNewString((T215_ ? T215_->Sup.len : 0) + 32);
appendString(T213_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_134));
appendString(T213_, T215_);
					nimZeroMem((void*)(&T216_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T213_, T216_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
					n = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*src_3)._kind_6.sons->data[(NI)(((NI) (rc_5)) + ((NI) 1))]);
					asgnRef((void**) (&regs->data[ra].node), n);
				}
				break;
				default:
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
					n_2 = (*src_3)._kind_6.sons->data[rc_5];
					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;
				rb_15 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_6 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					if (!(regs->data[rb_15].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA222_;
					src_4 = regs->data[rb_15].node;
				}
				goto LA220_;
				LA222_: ;
				{
					src_4 = (*regs->data[rb_15].nodeAddr);
				}
				LA220_: ;
				switch ((*src_4).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T226_;
					nimZeroMem((void*)(&T226_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T226_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_3;
					n_3 = (*src_4)._kind_6.sons->data[(NI)(((NI) (rc_6)) + ((NI) 1))];
					{
						if (!((*n_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA230_;
						regs->data[ra].nodeAddr = &(*n_3)._kind_6.sons->data[((NI) 1)];
					}
					goto LA228_;
					LA230_: ;
					{
						regs->data[ra].nodeAddr = &(*src_4)._kind_6.sons->data[(NI)(((NI) (rc_6)) + ((NI) 1))];
					}
					LA228_: ;
				}
				break;
				default:
				{
					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;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest;
				rb_16 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_7 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				shiftedRb = (NI)(((NI) (rb_16)) + ((*regs->data[ra].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38)));
				dest = regs->data[ra].node;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T239_;
					if (!((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA237_;
					nimZeroMem((void*)(&T239_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T239_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA235_;
				LA237_: ;
				{
					if (!((*(*dest)._kind_6.sons->data[shiftedRb]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA241_;
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*(*dest)._kind_6.sons->data[shiftedRb])._kind_6.sons->data[((NI) 1)], regs->data[rc_7]);
				}
				goto LA235_;
				LA241_: ;
				{
					writeField__GuWkkIoU9ccBLjbIJoyJPzw(&(*dest)._kind_6.sons->data[shiftedRb], regs->data[rc_7]);
				}
				LA235_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 26):
			{
				NI rb_17;
				NI rc_8;
				NI idx_5;
				rb_17 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_8 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				idx_5 = ((NI) (regs->data[rb_17].intVal));
				{
					NIM_BOOL T247_;
					T247_ = (NIM_BOOL)0;
					T247_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem(idx_5, ((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0));
					if (!T247_) goto LA248_;
					(*regs->data[ra].node)._kind_3.strVal->data[idx_5] = ((NIM_CHAR) (((NI) (regs->data[rc_8].intVal))));
				}
				goto LA245_;
				LA248_: ;
				{
					NimStringDesc* T251_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T260_;
					T251_ = (NimStringDesc*)0;
					{
						if (!((NI)(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0) - ((NI) 1)) < ((NI) 0))) goto LA254_;
						T251_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA252_;
					LA254_: ;
					{
						NimStringDesc* T257_;
						NimStringDesc* T258_;
						NimStringDesc* T259_;
						T257_ = (NimStringDesc*)0;
						T258_ = (NimStringDesc*)0;
						T258_ = nimIntToStr(idx_5);
						T259_ = (NimStringDesc*)0;
						T259_ = nimIntToStr((NI)(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0) - ((NI) 1)));
						T257_ = rawNewString((T258_ ? T258_->Sup.len : 0) + (T259_ ? T259_->Sup.len : 0) + 19);
appendString(T257_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T257_, T258_);
appendString(T257_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T257_, T259_);
						T251_ = T257_;
					}
					LA252_: ;
					nimZeroMem((void*)(&T260_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T251_, T260_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA245_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 22):
			{
				NI rb_18;
				rb_18 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4));
				regs->data[ra].regAddr = (&regs->data[rb_18]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 23):
			{
				NI rb_19;
				rb_19 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				{
					if (!(regs->data[rb_19].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA265_;
					regs->data[ra].nodeAddr = &regs->data[rb_19].node;
				}
				goto LA263_;
				LA265_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T268_;
					nimZeroMem((void*)(&T268_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_139), T268_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA263_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 24):
			{
				NI ra_3;
				NI rb_20;
				ra_3 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				rb_20 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				switch (regs->data[rb_20].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					asgnRef((void**) (&regs->data[ra_3].node), (*regs->data[rb_20].nodeAddr));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), (*regs->data[rb_20].regAddr).kind);
					genericAssign((void*)(&regs->data[ra_3]), (void*)(&(*regs->data[rb_20].regAddr)), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						if (!((*regs->data[rb_20].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141))) goto LA275_;
						asgnRef((void**) (&regs->data[ra_3].node), (*regs->data[rb_20].node)._kind_6.sons->data[((NI) 0)]);
					}
					goto LA273_;
					LA275_: ;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym226_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typX60gensym226_;
						NIM_BOOL T283_;
						nodeX60gensym226_ = regs->data[rb_20].node;
						{
							tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T282_;
							if (!((*nodeX60gensym226_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA280_;
							nimZeroMem((void*)(&T282_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
							stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T282_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_140);
							goto BeforeRet_;
						}
						LA280_: ;
						typX60gensym226_ = (*nodeX60gensym226_).typ;
						T283_ = (NIM_BOOL)0;
						{
							NIM_BOOL T286_;
							NIM_BOOL T288_;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ2X60gensym226_;
							T286_ = (NIM_BOOL)0;
							T286_ = (((*nodeX60gensym226_).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14))&31U)))!=0);
							if (T286_) goto LA287_;
							T288_ = (NIM_BOOL)0;
							T288_ = !((typX60gensym226_ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
							if (!(T288_)) goto LA289_;
							T288_ = ((*typX60gensym226_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
							LA289_: ;
							T286_ = T288_;
							LA287_: ;
							if (!T286_) goto LA290_;
							{
								if (!((*typX60gensym226_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA294_;
								typ2X60gensym226_ = (*typX60gensym226_).sons->data[((NI) 0)];
							}
							goto LA292_;
							LA294_: ;
							{
								typ2X60gensym226_ = typX60gensym226_;
							}
							LA292_: ;
							{
								NIM_BOOL T299_;
								NimStringDesc* T302_;
								tyTuple__9cqHuynYNPU9avbszh3XtBAg T303_;
								NimStringDesc* T304_;
								tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T305_;
								T299_ = (NIM_BOOL)0;
								T299_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*nodeX60gensym226_)._kind_1.intVal, typ2X60gensym226_, (&regs->data[ra_3]), NIM_FALSE);
								if (!!(T299_)) goto LA300_;
								T302_ = (NimStringDesc*)0;
								nimZeroMem((void*)(&T303_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
								T303_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typX60gensym226_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
								T303_.Field1 = (*typX60gensym226_).kind;
								T304_ = (NimStringDesc*)0;
								T304_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T303_);
								T302_ = rawNewString((T304_ ? T304_->Sup.len : 0) + 28);
appendString(T302_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141));
appendString(T302_, T304_);
								nimZeroMem((void*)(&T305_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
								stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T302_, T305_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_140);
								goto BeforeRet_;
							}
							LA300_: ;
							T283_ = NIM_TRUE;
						}
						goto LA284_;
						LA290_: ;
						{
							T283_ = NIM_FALSE;
						}
						LA284_: ;
						if (!!(T283_)) goto LA307_;
						ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra_3]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						asgnRef((void**) (&regs->data[ra_3].node), regs->data[rb_20].node);
					}
					goto LA273_;
					LA307_: ;
					LA273_: ;
				}
				break;
				default:
				{
					NimStringDesc* T310_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T311_;
					T310_ = (NimStringDesc*)0;
					T310_ = rawNewString((reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)) ? reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_))->Sup.len : 0) + 38);
appendString(T310_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_142));
appendString(T310_, reprEnum((NI)regs->data[rb_20].kind, (&NTI__BUH8cfx9botv2xAfmC8mnAQ_)));
					nimZeroMem((void*)(&T311_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T310_, T311_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 25):
			{
				NI ra_4;
				NI rc_9;
				ra_4 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				rc_9 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				switch (regs->data[ra_4].kind) {
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5):
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_4;
					n_4 = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_9]);
					{
						NIM_BOOL T316_;
						T316_ = (NIM_BOOL)0;
						T316_ = !((((*(*regs->data[ra_4].nodeAddr)).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
						if (!(T316_)) goto LA317_;
						T316_ = !((((*n_4).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
						LA317_: ;
						if (!T316_) goto LA318_;
						genericAssign((void*)(&(*(*regs->data[ra_4].nodeAddr))), (void*)(&(*n_4)), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
					}
					goto LA314_;
					LA318_: ;
					{
						unsureAsgnRef((void**) (&(*regs->data[ra_4].nodeAddr)), n_4);
					}
					LA314_: ;
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4):
				{
					genericAssign((void*)(&(*regs->data[ra_4].regAddr)), (void*)(&regs->data[rc_9]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				break;
				case ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1):
				{
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym243_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typX60gensym243_;
						NIM_BOOL T330_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T356_;
						nodeX60gensym243_ = regs->data[ra_4].node;
						{
							tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T329_;
							if (!((*nodeX60gensym243_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA327_;
							nimZeroMem((void*)(&T329_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
							stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T329_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_143);
							goto BeforeRet_;
						}
						LA327_: ;
						typX60gensym243_ = (*nodeX60gensym243_).typ;
						T330_ = (NIM_BOOL)0;
						{
							NIM_BOOL T333_;
							NIM_BOOL T335_;
							tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ2X60gensym243_;
							T333_ = (NIM_BOOL)0;
							T333_ = (((*nodeX60gensym243_).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14))&31U)))!=0);
							if (T333_) goto LA334_;
							T335_ = (NIM_BOOL)0;
							T335_ = !((typX60gensym243_ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
							if (!(T335_)) goto LA336_;
							T335_ = ((*typX60gensym243_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
							LA336_: ;
							T333_ = T335_;
							LA334_: ;
							if (!T333_) goto LA337_;
							{
								if (!((*typX60gensym243_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA341_;
								typ2X60gensym243_ = (*typX60gensym243_).sons->data[((NI) 0)];
							}
							goto LA339_;
							LA341_: ;
							{
								typ2X60gensym243_ = typX60gensym243_;
							}
							LA339_: ;
							{
								NIM_BOOL T346_;
								NimStringDesc* T349_;
								tyTuple__9cqHuynYNPU9avbszh3XtBAg T350_;
								NimStringDesc* T351_;
								tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T352_;
								T346_ = (NIM_BOOL)0;
								T346_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*nodeX60gensym243_)._kind_1.intVal, typ2X60gensym243_, (&regs->data[rc_9]), NIM_TRUE);
								if (!!(T346_)) goto LA347_;
								T349_ = (NimStringDesc*)0;
								nimZeroMem((void*)(&T350_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
								T350_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typX60gensym243_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
								T350_.Field1 = (*typX60gensym243_).kind;
								T351_ = (NimStringDesc*)0;
								T351_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T350_);
								T349_ = rawNewString((T351_ ? T351_->Sup.len : 0) + 28);
appendString(T349_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_141));
appendString(T349_, T351_);
								nimZeroMem((void*)(&T352_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
								stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T349_, T352_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_143);
								goto BeforeRet_;
							}
							LA347_: ;
							T330_ = NIM_TRUE;
						}
						goto LA331_;
						LA337_: ;
						{
							T330_ = NIM_FALSE;
						}
						LA331_: ;
						if (!!(T330_)) goto LA354_;
						T356_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T356_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_9]);
						genericAssign((void*)(&(*regs->data[ra_4].node)), (void*)(&(*T356_)), (&NTI__bROa11lyF5vxEN9aYNbHmhw_));
						(*regs->data[ra_4].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
					}
					LA354_: ;
				}
				break;
				default:
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T358_;
					nimZeroMem((void*)(&T358_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T358_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 28):
			{
				NI rb_21;
				NI rc_10;
				NI64 bVal;
				NI64 cVal;
				NI64 sum;
				rb_21 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_10 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				bVal = regs->data[rb_21].intVal;
				cVal = regs->data[rc_10].intVal;
				sum = pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem(bVal, cVal);
				{
					NIM_BOOL T362_;
					T362_ = (NIM_BOOL)0;
					T362_ = (IL64(0) <= (NI64)(sum ^ bVal));
					if (T362_) goto LA363_;
					T362_ = (IL64(0) <= (NI64)(sum ^ cVal));
					LA363_: ;
					if (!T362_) goto LA364_;
					regs->data[ra].intVal = sum;
				}
				goto LA360_;
				LA364_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T367_;
					nimZeroMem((void*)(&T367_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T367_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA360_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 29):
			{
				NI rb_22;
				NI imm_2;
				NI64 bVal_2;
				NI cVal_2;
				NI64 sum_2;
				rb_22 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_2 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				bVal_2 = regs->data[rb_22].intVal;
				cVal_2 = imm_2;
				sum_2 = pluspercent___diI9aRPc9bjx9bT39cDuabKh5Asystem(bVal_2, ((NI64) (cVal_2)));
				{
					NIM_BOOL T371_;
					T371_ = (NIM_BOOL)0;
					T371_ = (IL64(0) <= (NI64)(sum_2 ^ bVal_2));
					if (T371_) goto LA372_;
					T371_ = (IL64(0) <= (NI64)(sum_2 ^ ((NI64) (cVal_2))));
					LA372_: ;
					if (!T371_) goto LA373_;
					regs->data[ra].intVal = sum_2;
				}
				goto LA369_;
				LA373_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T376_;
					nimZeroMem((void*)(&T376_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T376_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA369_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 30):
			{
				NI rb_23;
				NI rc_11;
				NI64 bVal_3;
				NI64 cVal_3;
				NI64 diff;
				rb_23 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_11 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				bVal_3 = regs->data[rb_23].intVal;
				cVal_3 = regs->data[rc_11].intVal;
				diff = minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system(bVal_3, cVal_3);
				{
					NIM_BOOL T380_;
					T380_ = (NIM_BOOL)0;
					T380_ = (IL64(0) <= (NI64)(diff ^ bVal_3));
					if (T380_) goto LA381_;
					T380_ = (IL64(0) <= (NI64)(diff ^ (NI64)((NU64) ~(cVal_3))));
					LA381_: ;
					if (!T380_) goto LA382_;
					regs->data[ra].intVal = diff;
				}
				goto LA378_;
				LA382_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T385_;
					nimZeroMem((void*)(&T385_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T385_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA378_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 31):
			{
				NI rb_24;
				NI imm_3;
				NI64 bVal_4;
				NI cVal_4;
				NI64 diff_2;
				rb_24 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_3 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				bVal_4 = regs->data[rb_24].intVal;
				cVal_4 = imm_3;
				diff_2 = minuspercent___diI9aRPc9bjx9bT39cDuabKh5A_2system(bVal_4, ((NI64) (cVal_4)));
				{
					NIM_BOOL T389_;
					T389_ = (NIM_BOOL)0;
					T389_ = (IL64(0) <= (NI64)(diff_2 ^ bVal_4));
					if (T389_) goto LA390_;
					T389_ = (IL64(0) <= (NI64)(diff_2 ^ ((NI64) ((NI)((NU64) ~(cVal_4))))));
					LA390_: ;
					if (!T389_) goto LA391_;
					regs->data[ra].intVal = diff_2;
				}
				goto LA387_;
				LA391_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T394_;
					nimZeroMem((void*)(&T394_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T394_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA387_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 32):
			{
				NI rb_25;
				NI imm_4;
				NI high;
				rb_25 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_4 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				high = (NI)(imm_4 & ((NI) 1));
				{
					NI T400_;
					if (!!(((NI)(imm_4 & ((NI) 16)) == ((NI) 0)))) goto LA398_;
					T400_ = (NI)0;
					T400_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast(regs->data[rb_25].node);
					regs->data[ra].intVal = ((NI64) ((NI)(T400_ - high)));
				}
				goto LA396_;
				LA398_: ;
				{
					NI T402_;
					T402_ = (NI)0;
					T402_ = safeArrLen__P89cqdlERShb9alU3iC0yj8w_3ast(regs->data[rb_25].node);
					regs->data[ra].intVal = ((NI64) ((NI)(T402_ - high)));
				}
				LA396_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 33):
			{
				NI rb_26;
				NI imm_5;
				rb_26 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_5 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = ((NI64) ((NI)(((*regs->data[rb_26].node)._kind_3.strVal ? (*regs->data[rb_26].node)._kind_3.strVal->Sup.len : 0) - imm_5)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 34):
			{
				NI rb_27;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
				rb_27 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				b = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_27]);
				{
					NIM_BOOL T407_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T410_;
					T407_ = (NIM_BOOL)0;
					T407_ = inSet__b4nxsJCvqXRlyalSWskgNA(regs->data[ra].node, b);
					if (!!(T407_)) goto LA408_;
					T410_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T410_ = copyTree__Dsjo9bte8vGxzhtcSrsTyiQ(b);
					add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T410_);
				}
				LA408_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 35):
			{
				NI rb_28;
				NI rc_12;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T412_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T413_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T414_;
				rb_28 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_12 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				r = newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44));
				T412_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T412_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_28]);
				add__P8dDSotTW25BkfbyspojGg(r, T412_);
				T413_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T413_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_12]);
				add__P8dDSotTW25BkfbyspojGg(r, T413_);
				T414_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T414_ = copyTree__Dsjo9bte8vGxzhtcSrsTyiQ(r);
				add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T414_);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 36):
			{
				NI rb_29;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T416_;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r_2;
				rb_29 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				b_2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*regs->data[ra].node).info, (*regs->data[ra].node).typ);
				T416_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T416_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_29]);
				add__P8dDSotTW25BkfbyspojGg(b_2, T416_);
				r_2 = diffSets__DJXyM0ZYUUgI9bAP6orixDA_3((*c).config, regs->data[ra].node, b_2);
				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) {
							if (!(i_2 < colontmp_)) goto LA419;
							i = i_2;
							add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, (*r_2)._kind_6.sons->data[i]);
							i_2 += ((NI) 1);
						} LA419: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 37):
			{
				NI rb_30;
				rb_30 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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 T422_;
				NF T423_;
				NF resAsFloat;
				rb_31 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_13 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				bVal_5 = regs->data[rb_31].intVal;
				cVal_5 = regs->data[rc_13].intVal;
				product = starpercent___diI9aRPc9bjx9bT39cDuabKh5A_3system(bVal_5, cVal_5);
				T422_ = (NF)0;
				T422_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(bVal_5);
				T423_ = (NF)0;
				T423_ = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(cVal_5);
				floatProd = ((NF)(T422_) * (NF)(T423_));
				resAsFloat = toBiggestFloat__hTpm9cXKgh17pxyZUsNnUyQsystem(product);
				{
					if (!(resAsFloat == floatProd)) goto LA426_;
					regs->data[ra].intVal = product;
				}
				goto LA424_;
				LA426_: ;
				{
					NF T429_;
					NF T430_;
					T429_ = (NF)0;
					T429_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(((NF)(resAsFloat) - (NF)(floatProd)));
					T430_ = (NF)0;
					T430_ = abs__BRaAqinz6OWTHkALb4oj6Qsystem(floatProd);
					if (!(((NF)(3.2000000000000000e+01) * (NF)(T429_)) <= T430_)) goto LA431_;
					regs->data[ra].intVal = product;
				}
				goto LA424_;
				LA431_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T434_;
					nimZeroMem((void*)(&T434_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T434_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA424_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 39):
			{
				NI rb_32;
				NI rc_14;
				rb_32 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_14 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T440_;
					if (!(regs->data[rc_14].intVal == IL64(0))) goto LA438_;
					nimZeroMem((void*)(&T440_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_145), T440_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA436_;
				LA438_: ;
				{
					regs->data[ra].intVal = (NI64)(regs->data[rb_32].intVal / regs->data[rc_14].intVal);
				}
				LA436_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 40):
			{
				NI rb_33;
				NI rc_15;
				rb_33 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_15 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T447_;
					if (!(regs->data[rc_15].intVal == IL64(0))) goto LA445_;
					nimZeroMem((void*)(&T447_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_145), T447_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA443_;
				LA445_: ;
				{
					regs->data[ra].intVal = (NI64)(regs->data[rb_33].intVal % regs->data[rc_15].intVal);
				}
				LA443_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 41):
			{
				NI rb_34;
				NI rc_16;
				rb_34 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_16 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				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;
				rb_35 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_17 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				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;
				rb_36 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_18 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				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;
				rb_37 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_19 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				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;
				rb_38 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_20 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				b_3 = ((NU64) (regs->data[rb_38].intVal));
				c_2 = ((NU64) (regs->data[rc_20].intVal));
				a = ((NI64) ((NU64)((NU64)(b_3) >> (NU64)(c_2))));
				regs->data[ra].intVal = a;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 46):
			{
				NI rb_39;
				NI rc_21;
				rb_39 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_21 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_40 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_22 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_41 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_23 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_42 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_24 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_43 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_25 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_44 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_26 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_45 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_27 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_46 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_28 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_47 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_29 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_48 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_30 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_49 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_31 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_50 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_32 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_51 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_33 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_52 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_34 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_53 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_35 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_54 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_36 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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 T471_;
				rb_55 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_37 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T471_ = (NIM_BOOL)0;
				T471_ = lteqpercent___m9aFrKvWqPsM3WKrwczIr9bA_2system(regs->data[rb_55].intVal, regs->data[rc_37].intVal);
				regs->data[ra].intVal = ((NI64) (T471_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 63):
			{
				NI rb_56;
				NI rc_38;
				NIM_BOOL T473_;
				rb_56 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_38 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T473_ = (NIM_BOOL)0;
				T473_ = ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem(regs->data[rb_56].intVal, regs->data[rc_38].intVal);
				regs->data[ra].intVal = ((NI64) (T473_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 64):
			{
				NIM_BOOL ret;
				NI rb_57;
				NI rc_39;
				ret = NIM_FALSE;
				rb_57 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_39 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				{
					if (!(regs->data[rb_57].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA477_;
					{
						if (!(regs->data[rc_39].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA481_;
						ret = (regs->data[rb_57].nodeAddr == regs->data[rc_39].nodeAddr);
					}
					goto LA479_;
					LA481_: ;
					{
						ret = ptrEquality__U2MMUdMR4785sgEWgMubXw(regs->data[rb_57].nodeAddr, regs->data[rc_39].node);
					}
					LA479_: ;
				}
				goto LA475_;
				LA477_: ;
				{
					if (!(regs->data[rc_39].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5))) goto LA485_;
					ret = ptrEquality__U2MMUdMR4785sgEWgMubXw(regs->data[rc_39].nodeAddr, regs->data[rb_57].node);
				}
				goto LA475_;
				LA485_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nb_2;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nc;
					nb_2 = regs->data[rb_57].node;
					nc = regs->data[rc_39].node;
					{
						if (!!(((*nb_2).kind == (*nc).kind))) goto LA490_;
					}
					goto LA488_;
					LA490_: ;
					{
						NIM_BOOL T493_;
						T493_ = (NIM_BOOL)0;
						T493_ = (nb_2 == nc);
						if (T493_) goto LA494_;
						T493_ = ((*nb_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
						LA494_: ;
						if (!T493_) goto LA495_;
						ret = NIM_TRUE;
					}
					goto LA488_;
					LA495_: ;
					{
						NIM_BOOL T498_;
						T498_ = (NIM_BOOL)0;
						T498_ = sameConstant__rlsxiOBKecP0t9crY75888g(nb_2, nc);
						if (!T498_) goto LA499_;
						ret = NIM_TRUE;
					}
					goto LA488_;
					LA499_: ;
					{
						NIM_BOOL T502_;
						NIM_BOOL T503_;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tb;
						tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tc;
						NIM_BOOL T508_;
						T502_ = (NIM_BOOL)0;
						T503_ = (NIM_BOOL)0;
						T503_ = ((*nb_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
						if (!(T503_)) goto LA504_;
						T503_ = ((*nc).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
						LA504_: ;
						T502_ = T503_;
						if (!(T502_)) goto LA505_;
						T502_ = ((*nb_2)._kind_1.intVal == (*nc)._kind_1.intVal);
						LA505_: ;
						if (!T502_) goto LA506_;
						tb = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*nb_2).typ, abstractInst__dLigiD0wrfdW59cejPpTktA);
						tc = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*nc).typ, abstractInst__dLigiD0wrfdW59cejPpTktA);
						T508_ = (NIM_BOOL)0;
						T508_ = ((69206016 &((NU64)1<<((NU)((*tb).kind)&63U)))!=0);
						if (!(T508_)) goto LA509_;
						T508_ = ((*tc).kind == (*tb).kind);
						LA509_: ;
						ret = T508_;
					}
					goto LA488_;
					LA506_: ;
					LA488_: ;
				}
				LA475_: ;
				regs->data[ra].intVal = ((NI64) (ret));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 65):
			{
				NI rb_58;
				NI rc_40;
				NIM_BOOL T511_;
				rb_58 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_40 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T511_ = (NIM_BOOL)0;
				T511_ = exprStructuralEquivalent__E1mnSzj2NONtG7h9cR3AuFA(regs->data[rb_58].node, regs->data[rc_40].node, NIM_TRUE);
				regs->data[ra].intVal = ((NI64) (T511_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 66):
			{
				NI rb_59;
				NI rc_41;
				NIM_BOOL T513_;
				rb_59 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_41 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T513_ = (NIM_BOOL)0;
				T513_ = sameTypeOrNil__3isNyHKb0U1OCnClmflXSg_2((*regs->data[rb_59].node).typ, (*regs->data[rc_41].node).typ, 0);
				regs->data[ra].intVal = ((NI64) (T513_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 67):
			{
				NI rb_60;
				NI rc_42;
				rb_60 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_42 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = ((NI64) (!((regs->data[rb_60].intVal == regs->data[rc_42].intVal))));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 68):
			{
				NI rb_61;
				rb_61 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = (NI64)(IL64(1) - regs->data[rb_61].intVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 69):
			{
				NI rb_62;
				NI64 val;
				rb_62 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				val = regs->data[rb_62].intVal;
				{
					if (!!((val == (IL64(-9223372036854775807) - IL64(1))))) goto LA519_;
					regs->data[ra].intVal = -(val);
				}
				goto LA517_;
				LA519_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T522_;
					nimZeroMem((void*)(&T522_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_144), T522_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA517_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 70):
			{
				NI rb_63;
				rb_63 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				regs->data[ra].floatVal = -(regs->data[rb_63].floatVal);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 71):
			{
				NI rb_64;
				rb_64 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = (NI64)((NU64) ~(regs->data[rb_64].intVal));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 72):
			{
				NI rb_65;
				NI rc_43;
				rb_65 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_43 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_66 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_44 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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;
				rb_67 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_45 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				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 T529_;
				rb_68 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_46 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T529_ = (NIM_BOOL)0;
				T529_ = containsSets__Jr5d2PbcnAZ0pFa4Ny88lg((*c).config, regs->data[rb_68].node, regs->data[rc_46].node);
				regs->data[ra].intVal = ((NI64) (T529_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 75):
			{
				NI rb_69;
				NI rc_47;
				NIM_BOOL T531_;
				rb_69 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_47 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T531_ = (NIM_BOOL)0;
				T531_ = equalSets__Jr5d2PbcnAZ0pFa4Ny88lg_2((*c).config, regs->data[rb_69].node, regs->data[rc_47].node);
				regs->data[ra].intVal = ((NI64) (T531_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 77):
			{
				NI rb_70;
				NI rc_48;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_4;
				NIM_BOOL T533_;
				NIM_BOOL T535_;
				rb_70 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_48 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				a_2 = regs->data[rb_70].node;
				b_4 = regs->data[rc_48].node;
				T533_ = (NIM_BOOL)0;
				T533_ = containsSets__Jr5d2PbcnAZ0pFa4Ny88lg((*c).config, a_2, b_4);
				if (!(T533_)) goto LA534_;
				T535_ = (NIM_BOOL)0;
				T535_ = equalSets__Jr5d2PbcnAZ0pFa4Ny88lg_2((*c).config, a_2, b_4);
				T533_ = !(T535_);
				LA534_: ;
				regs->data[ra].intVal = ((NI64) (T533_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 78):
			{
				NI rb_71;
				NI rc_49;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T537_;
				rb_71 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_49 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				T537_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T537_ = intersectSets__DJXyM0ZYUUgI9bAP6orixDA((*c).config, regs->data[rb_71].node, regs->data[rc_49].node);
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T537_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 79):
			{
				NI rb_72;
				NI rc_50;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T539_;
				rb_72 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_50 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				T539_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T539_ = unionSets__DJXyM0ZYUUgI9bAP6orixDA_2((*c).config, regs->data[rb_72].node, regs->data[rc_50].node);
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T539_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 80):
			{
				NI rb_73;
				NI rc_51;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T541_;
				rb_73 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_51 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39)));
				T541_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T541_ = diffSets__DJXyM0ZYUUgI9bAP6orixDA_3((*c).config, regs->data[rb_73].node, regs->data[rc_51].node);
				asgnRef((void**) (&(*regs->data[ra].node)._kind_6.sons), (*T541_)._kind_6.sons);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 81):
			{
				NI rb_74;
				NI rc_52;
				rb_74 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_52 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				{
					NimStringDesc* T547_;
					if (!(regs->data[rb_74].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA545_;
					T547_ = (NimStringDesc*)0;
					T547_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*regs->data[rb_74].node)._kind_3.strVal);
					if (T547_) nimGCunrefNoCycle(T547_);
				}
				goto LA543_;
				LA545_: ;
				{
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs->data[rb_74].intVal))))))));
				}
				LA543_: ;
				{
					NI i_3;
					NI colontmp__2;
					NI colontmp__3;
					NI res;
					i_3 = (NI)0;
					colontmp__2 = (NI)0;
					colontmp__3 = (NI)0;
					colontmp__2 = (NI)(((NI) (rb_74)) + ((NI) 1));
					colontmp__3 = (NI)((NI)(((NI) (rb_74)) + ((NI) (rc_52))) - ((NI) 1));
					res = colontmp__2;
					{
						while (1) {
							NimStringDesc* T552_;
							if (!(res <= colontmp__3)) goto LA551;
							i_3 = res;
							T552_ = (NimStringDesc*)0;
							{
								if (!(regs->data[i_3].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1))) goto LA555_;
								T552_ = copyString((*regs->data[i_3].node)._kind_3.strVal);
							}
							goto LA553_;
							LA555_: ;
							{
								T552_ = nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs->data[i_3].intVal)))))));
							}
							LA553_: ;
							asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), resizeString((*regs->data[ra].node)._kind_3.strVal, (T552_ ? T552_->Sup.len : 0) + 0));
appendString((*regs->data[ra].node)._kind_3.strVal, T552_);
							res += ((NI) 1);
						} LA551: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 98):
			{
				NI rb_75;
				rb_75 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				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;
				rb_76 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				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;
				rb_77 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T565_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T566_;
					if (!((*regs->data[ra].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA563_;
					T565_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T565_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_77]);
					T566_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T566_ = copyValue__UyDLGuBe1bDjMXME9b0kt3Q(T565_);
					add__P8dDSotTW25BkfbyspojGg(regs->data[ra].node, T566_);
				}
				goto LA561_;
				LA563_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T568_;
					nimZeroMem((void*)(&T568_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T568_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA561_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 149):
			{
				NI rb_78;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
				rb_78 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_3 = regs->data[rb_78].node;
				{
					if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143))) goto LA572_;
					a_3 = (*a_3)._kind_6.sons->data[((NI) 0)];
				}
				LA572_: ;
				{
					if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA576_;
					{
						if (!((*(*a_3)._kind_4.sym).ast == 0)) goto LA580_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA578_;
					LA580_: ;
					{
						asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ((*(*a_3)._kind_4.sym).ast));
					}
					LA578_: ;
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				goto LA574_;
				LA576_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T584_;
					nimZeroMem((void*)(&T584_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_146), T584_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA574_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 150):
			{
				NI rb_79;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
				rb_79 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_4 = regs->data[rb_79].node;
				{
					if (!((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA588_;
					{
						if (!((*(*a_4)._kind_4.sym).ast == 0)) goto LA592_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA590_;
					LA592_: ;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
						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;
							colontmp__4 = len__P89cqdlERShb9alU3iC0yj8wast((*(*a_4)._kind_4.sym).ast);
							i_5 = ((NI) 0);
							{
								while (1) {
									if (!(i_5 < colontmp__4)) goto LA597;
									i_4 = i_5;
									asgnRef((void**) (&(*ast)._kind_6.sons->data[i_4]), (*(*(*a_4)._kind_4.sym).ast)._kind_6.sons->data[i_4]);
									i_5 += ((NI) 1);
								} LA597: ;
							}
						}
						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(ast));
					}
					LA590_: ;
				}
				LA588_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 185):
			{
				NI rb_80;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
				rb_80 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_5 = regs->data[rb_80].node;
				{
					if (!((*a_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA601_;
					{
						if (!((*(*a_5)._kind_4.sym).owner == 0)) goto LA605_;
						asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
					}
					goto LA603_;
					LA605_: ;
					{
						tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* T608_;
						T608_ = (tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*)0;
						T608_ = skipGenericOwner__lIu8wX6Beq6dBJgESOFFjg_3((*a_5)._kind_4.sym);
						asgnRef((void**) (&regs->data[ra].node), newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(T608_));
					}
					LA603_: ;
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				goto LA599_;
				LA601_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T610_;
					nimZeroMem((void*)(&T610_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_146), T610_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA599_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 186):
			{
				NI rb_81;
				NI rc_53;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_6;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_5;
				rb_81 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_53 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				a_6 = regs->data[rb_81].node;
				b_5 = regs->data[rc_53].node;
				{
					NIM_BOOL T614_;
					NIM_BOOL T615_;
					NIM_BOOL T616_;
					NI T622_;
					T614_ = (NIM_BOOL)0;
					T615_ = (NIM_BOOL)0;
					T616_ = (NIM_BOOL)0;
					T616_ = ((*a_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T616_)) goto LA617_;
					T616_ = ((520192 &((NU32)1<<((NU)((*(*a_6)._kind_4.sym).kind)&31U)))!=0);
					LA617_: ;
					T615_ = T616_;
					if (!(T615_)) goto LA618_;
					T615_ = ((*b_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					LA618_: ;
					T614_ = T615_;
					if (!(T614_)) goto LA619_;
					T614_ = ((520192 &((NU32)1<<((NU)((*(*b_5)._kind_4.sym).kind)&31U)))!=0);
					LA619_: ;
					if (!T614_) goto LA620_;
					T622_ = (NI)0;
					{
						NIM_BOOL T625_;
						T625_ = (NIM_BOOL)0;
						T625_ = (((*(*a_6)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
						if (!(T625_)) goto LA626_;
						T625_ = ((*(*a_6)._kind_4.sym).owner == (*b_5)._kind_4.sym);
						LA626_: ;
						if (!T625_) goto LA627_;
						T622_ = ((NI) 1);
					}
					goto LA623_;
					LA627_: ;
					{
						T622_ = ((NI) 0);
					}
					LA623_: ;
					regs->data[ra].intVal = ((NI64) (T622_));
				}
				goto LA612_;
				LA620_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T631_;
					nimZeroMem((void*)(&T631_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_147), T631_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA612_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 151):
			{
				NI rb_82;
				rb_82 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				{
					if (!(((NI) (rb_82)) == ((NI) 1))) goto LA635_;
					msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, (*regs->data[ra].node)._kind_3.strVal, 1);
				}
				goto LA633_;
				LA635_: ;
				{
					NimStringDesc* outp;
					outp = ((NimStringDesc*) NIM_NIL);
					{
						NI i_6;
						NI colontmp__5;
						NI res_2;
						i_6 = (NI)0;
						colontmp__5 = (NI)0;
						colontmp__5 = ((NI) ((NI)((NI)(((NI) (ra)) + ((NI) (rb_82))) - ((NI) 1))));
						res_2 = ((NI) (ra));
						{
							while (1) {
								if (!(res_2 <= ((NI) (colontmp__5)))) goto LA640;
								i_6 = ((NI) (res_2));
								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);
								res_2 += ((NI) 1);
							} LA640: ;
						}
					}
					msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, outp, 1);
				}
				LA633_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 82):
			{
				NI rb_83;
				NI rc_54;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T642_;
				NIM_BOOL T643_;
				rb_83 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_54 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				T642_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T642_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_54]);
				T643_ = (NIM_BOOL)0;
				T643_ = inSet__b4nxsJCvqXRlyalSWskgNA(regs->data[rb_83].node, T642_);
				regs->data[ra].intVal = ((NI64) (T643_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 89):
			{
				NI rb_84;
				NI rc_55;
				NI rd;
				rb_84 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_55 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				pc += ((NI) 1);
				rd = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				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 rd_2;
				tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* rcAddr;
				NI T654_;
				rb_85 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_56 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				pc += ((NI) 1);
				rd_2 = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				rcAddr = (&regs->data[rc_56]);
				{
					if (!((*rcAddr).kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 4))) goto LA648_;
					rcAddr = (*rcAddr).regAddr;
				}
				goto LA646_;
				LA648_: ;
				{
					tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T653_;
					if (!!((regs->data[rc_56].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3)))) goto LA651_;
					nimZeroMem((void*)(&T653_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
					nimZeroMem((void*)(&T653_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
					T653_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3);
					genericShallowAssign((void*)(&regs->data[rc_56]), (void*)(&T653_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
				}
				goto LA646_;
				LA651_: ;
				LA646_: ;
				T654_ = (NI)0;
				T654_ = nimParseBiggestFloat((*regs->data[rb_85].node)._kind_3.strVal, (&(*rcAddr).floatVal), ((NI) (regs->data[rd_2].intVal)));
				regs->data[ra].intVal = ((NI64) (T654_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 101):
			{
				NI rb_86;
				NI rc_57;
				rb_86 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_57 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				{
					NIM_BOOL T658_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T659_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T660_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T662_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T663_;
					tyArray__Re75IspeoxXy2oCZHwcRrA T666_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T667_;
					NimStringDesc* T668_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T669_;
					NimStringDesc* T670_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T671_;
					NimStringDesc* T672_;
					NimStringDesc* T673_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T674_;
					T658_ = (NIM_BOOL)0;
					T659_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T659_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_86]);
					T660_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T660_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T658_ = leValueConv__hutrgrWnBjOoG19cbpgmANA(T659_, T660_);
					if (!(T658_)) goto LA661_;
					T662_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T662_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T663_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T663_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_57]);
					T658_ = leValueConv__hutrgrWnBjOoG19cbpgmANA(T662_, T663_);
					LA661_: ;
					if (!!(T658_)) goto LA664_;
					nimZeroMem((void*)T666_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					T667_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T667_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T666_[0] = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T667_);
					T668_ = (NimStringDesc*)0;
					T669_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T669_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_86]);
					T670_ = (NimStringDesc*)0;
					T670_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T669_);
					T671_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T671_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rc_57]);
					T672_ = (NimStringDesc*)0;
					T672_ = dollar___qX5C9b0n9bOP7jk69amC8dA7A(T671_);
					T668_ = rawNewString((T670_ ? T670_->Sup.len : 0) + (T672_ ? T672_->Sup.len : 0) + 4);
appendString(T668_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_149));
appendString(T668_, T670_);
appendString(T668_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_83));
appendString(T668_, T672_);
appendString(T668_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_150));
					T666_[1] = T668_;
					T673_ = (NimStringDesc*)0;
					T673_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_148), T666_, 2);
					nimZeroMem((void*)(&T674_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T673_, T674_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA664_: ;
			}
			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;
				rb_87 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_58 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				bb = regs->data[rb_87].node;
				isClosure = ((*bb).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
				{
					if (!!(isClosure)) goto LA678_;
					prc = (*bb)._kind_4.sym;
				}
				goto LA676_;
				LA678_: ;
				{
					prc = (*(*bb)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
				}
				LA676_: ;
				{
					tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA T685_;
					if (!((*prc).offset < ((NI) -1))) goto LA683_;
					nimZeroMem((void*)(&T685_), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
					nimZeroMem((void*)(&T685_), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
					T685_.ra = ((NI) (ra));
					T685_.rb = ((NI) (rb_87));
					T685_.rc = ((NI) (rc_58));
					T685_.slots = ((tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA*) ((&regs->data[((NI) 0)])));
					T685_.currentException = (*c).currentExceptionA;
					T685_.currentLineInfo = (*c).debug->data[pc];
					(*c).callbacks->data[(NI)(((NI64)-((*prc).offset)) - ((NI) 2))].Field1.ClE_0? (*c).callbacks->data[(NI)(((NI64)-((*prc).offset)) - ((NI) 2))].Field1.ClP_0((&T685_), (*c).callbacks->data[(NI)(((NI64)-((*prc).offset)) - ((NI) 2))].Field1.ClE_0):((TM__pyAIA9cUF0h9c4j2HfNQPfYw_151)((*c).callbacks->data[(NI)(((NI64)-((*prc).offset)) - ((NI) 2))].Field1.ClP_0))((&T685_));
				}
				goto LA681_;
				LA683_: ;
				{
					NIM_BOOL T687_;
					T687_ = (NIM_BOOL)0;
					T687_ = importcCond__FdCkMWi1o9ccnUFjzZDi9aUg_2vmgen(prc);
					if (!T687_) goto LA688_;
					{
						if (!!((((*(*c).config).features &((NU16)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 10))&15U)))!=0))) goto LA692_;
						liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_152), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_153, NIM_FALSE);
					}
					LA692_: ;
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_154), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_155, NIM_FALSE);
				}
				goto LA681_;
				LA688_: ;
				{
					NI newPc_2;
					tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* newFrame;
					tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T712_;
					if (!!(((*prc).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18)))) goto LA695_;
					newPc_2 = compile__wk4OXe22qII4FFHuYMKF5Q(c, prc);
					{
						if (!(newPc_2 < pc)) goto LA699_;
						{
							if (!((*c).loopIterations <= ((NI) 0))) goto LA703_;
							{
								if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 1))&7U)))!=0)) goto LA707_;
								(*c).loopIterations = (*(*c).config).maxLoopIterationsVM;
							}
							goto LA705_;
							LA707_: ;
							{
								NimStringDesc* T710_;
								NimStringDesc* T711_;
								msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_94), 0);
								stackTraceAux__mtjZlZD2xSyaebZUBpGCHA(c, tos_2, pc, ((NI) 100));
								T710_ = (NimStringDesc*)0;
								T710_ = nimIntToStr((*(*c).config).maxLoopIterationsVM);
								T711_ = (NimStringDesc*)0;
								T711_ = nsuFormatSingleElem(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_156), T710_);
								liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T711_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_157, NIM_FALSE);
							}
							LA705_: ;
						}
						LA703_: ;
						(*c).loopIterations -= ((NI) 1);
					}
					LA699_: ;
					T712_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
					T712_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
					asgnRef((void**) (&(*T712_).prc), prc);
					(*T712_).comesFrom = pc;
					asgnRef((void**) (&(*T712_).next), tos_2);
					newFrame = T712_;
					if ((*newFrame).slots) { nimGCunrefNoCycle((*newFrame).slots); (*newFrame).slots = NIM_NIL; }
					(*newFrame).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) ((NI)((*prc).offset + isClosure))));
					{
						NIM_BOOL T715_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T718_;
						T715_ = (NIM_BOOL)0;
						T715_ = isEmptyType__nPImuPGZIdcrAfCNyf4oxA_2ast((*(*prc).typ).sons->data[((NI) 0)]);
						if (!!(T715_)) goto LA716_;
						T718_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
						T718_ = getNullValue__MirnaGAtIj7Yo4Gl5MzUxA((*(*prc).typ).sons->data[((NI) 0)], (*prc).info, (*c).config);
						putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&(*newFrame).slots->data[((NI) 0)]), T718_);
					}
					LA716_: ;
					{
						NI i_7;
						NI colontmp__6;
						NI res_3;
						i_7 = (NI)0;
						colontmp__6 = (NI)0;
						colontmp__6 = (NI)(((NI) (rc_58)) - ((NI) 1));
						res_3 = ((NI) 1);
						{
							while (1) {
								if (!(res_3 <= colontmp__6)) goto LA721;
								i_7 = res_3;
								genericAssign((void*)(&(*newFrame).slots->data[i_7]), (void*)(&regs->data[(NI)(((NI) (rb_87)) + i_7)]), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
								res_3 += ((NI) 1);
							} LA721: ;
						}
					}
					{
						tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T726_;
						if (!isClosure) goto LA724_;
						nimZeroMem((void*)(&T726_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
						nimZeroMem((void*)(&T726_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
						T726_.kind = ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1);
						T726_.node = (*regs->data[rb_87].node)._kind_6.sons->data[((NI) 1)];
						genericShallowAssign((void*)(&(*newFrame).slots->data[rc_58]), (void*)(&T726_), (&NTI__GJRDbRqzZnSsmt2gZMzKBA_));
					}
					LA724_: ;
					tos_2 = newFrame;
					regs = (*newFrame).slots;
					pc = (NI)(newPc_2 - ((NI) 1));
				}
				goto LA681_;
				LA695_: ;
				{
					tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* genSymOwner;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroCall;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T735_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_7;
					{
						NIM_BOOL T730_;
						T730_ = (NIM_BOOL)0;
						T730_ = !(((*tos_2).next == ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL)));
						if (!(T730_)) goto LA731_;
						T730_ = !(((*(*tos_2).next).prc == ((tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*) NIM_NIL)));
						LA731_: ;
						if (!T730_) goto LA732_;
						genSymOwner = (*(*tos_2).next).prc;
					}
					goto LA728_;
					LA732_: ;
					{
						genSymOwner = (*c).module;
					}
					LA728_: ;
					macroCall = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*c).debug->data[pc]);
					T735_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T735_ = newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(prc);
					add__P8dDSotTW25BkfbyspojGg(macroCall, T735_);
					{
						NI i_8;
						NI colontmp__7;
						NI res_4;
						i_8 = (NI)0;
						colontmp__7 = (NI)0;
						colontmp__7 = (NI)(((NI) (rc_58)) - ((NI) 1));
						res_4 = ((NI) 1);
						{
							while (1) {
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node;
								if (!(res_4 <= colontmp__7)) goto LA738;
								i_8 = res_4;
								node = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[(NI)(((NI) (rb_87)) + i_8)]);
								(*node).info = (*c).debug->data[pc];
								add__P8dDSotTW25BkfbyspojGg(macroCall, node);
								res_4 += ((NI) 1);
							} LA738: ;
						}
					}
					a_7 = evalTemplate__MnrgLhOl4U6sn3rRD19cz9bA(macroCall, prc, genSymOwner, (*c).config, (*c).cache, (*c).templInstCounter, NIM_FALSE);
					{
						NIM_BOOL T741_;
						NI T743_;
						T741_ = (NIM_BOOL)0;
						T741_ = ((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
						if (!(T741_)) goto LA742_;
						T743_ = (NI)0;
						T743_ = len__P89cqdlERShb9alU3iC0yj8wast(a_7);
						T741_ = (T743_ == ((NI) 1));
						LA742_: ;
						if (!T741_) goto LA744_;
						a_7 = (*a_7)._kind_6.sons->data[((NI) 0)];
					}
					LA744_: ;
					recSetFlagIsRef__m4MZYLogGqol1qN5L4LLzA(a_7);
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					asgnRef((void**) (&regs->data[ra].node), a_7);
				}
				LA681_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 159):
			{
				NI rbx;
				rbx = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				{
					if (!!((regs->data[ra].intVal == IL64(0)))) goto LA749_;
					pc += rbx;
				}
				LA749_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 160):
			{
				NI rbx_2;
				rbx_2 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				{
					if (!(regs->data[ra].intVal == IL64(0))) goto LA754_;
					pc += rbx_2;
				}
				LA754_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 161):
			{
				NI rbx_3;
				rbx_3 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				pc += rbx_3;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 162):
			{
				NI rbx_4;
				rbx_4 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				pc += rbx_4;
				{
					if (!((*c).loopIterations <= ((NI) 0))) goto LA760_;
					{
						if (!(((*c).features &((NU8)1<<((NU)(((tyEnum_TSandboxFlag__JyPEhkAmDAldmLHNNrLR0A) 1))&7U)))!=0)) goto LA764_;
						(*c).loopIterations = (*(*c).config).maxLoopIterationsVM;
					}
					goto LA762_;
					LA764_: ;
					{
						NimStringDesc* T767_;
						NimStringDesc* T768_;
						msgWriteln__PO49anyWCbe63GYNOs9cVuvg((*c).config, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_94), 0);
						stackTraceAux__mtjZlZD2xSyaebZUBpGCHA(c, tos_2, pc, ((NI) 100));
						T767_ = (NimStringDesc*)0;
						T767_ = nimIntToStr((*(*c).config).maxLoopIterationsVM);
						T768_ = (NimStringDesc*)0;
						T768_ = nsuFormatSingleElem(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_156), T767_);
						liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T768_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_157, NIM_FALSE);
					}
					LA762_: ;
				}
				LA760_: ;
				(*c).loopIterations -= ((NI) 1);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 163):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
				NIM_BOOL cond;
				branch = (*(*c).constants)._kind_6.sons->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				cond = NIM_FALSE;
				{
					NI j;
					NI colontmp__8;
					NI T771_;
					NI i_9;
					j = (NI)0;
					colontmp__8 = (NI)0;
					T771_ = (NI)0;
					T771_ = len__P89cqdlERShb9alU3iC0yj8wast(branch);
					colontmp__8 = (NI)(T771_ - ((NI) 1));
					i_9 = ((NI) 0);
					{
						while (1) {
							if (!(i_9 < colontmp__8)) goto LA773;
							j = i_9;
							{
								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T776_;
								NIM_BOOL T777_;
								T776_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
								T776_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
								T777_ = (NIM_BOOL)0;
								T777_ = overlap__tlIBRycg3YyKwtO2aPbGGg(T776_, (*branch)._kind_6.sons->data[j]);
								if (!T777_) goto LA778_;
								cond = NIM_TRUE;
								goto LA770;
							}
							LA778_: ;
							i_9 += ((NI) 1);
						} LA773: ;
					}
				} LA770: ;
				pc += ((NI) 1);
				{
					NU64 instr2;
					NI rbx_5;
					if (!!(cond)) goto LA782_;
					instr2 = (*c).code->data[pc];
					rbx_5 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr2) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
					pc += rbx_5;
				}
				LA782_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 164):
			{
				NI rbx_6;
				rbx_6 = (NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
				pushSafePoint__p3zYfzQBzfCT3SxRCaHf5w(tos_2, (NI)(pc + rbx_6));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 165):
			{
				{
					if (!NIM_TRUE) goto LA788_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_158));
				}
				LA788_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 166):
			{
				{
					if (!!((savedPC < ((NI) 0)))) goto LA793_;
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_159));
				}
				LA793_: ;
				popSafePoint__xa6C5GGXE739bwyLex9aXRMQ(tos_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 167):
			{
				{
					if (!(((NI) 0) <= savedPC)) goto LA798_;
					pc = (NI)(savedPC - ((NI) 1));
					savedPC = ((NI) -1);
					{
						if (!!((tos_2 == savedFrame))) goto LA802_;
						tos_2 = savedFrame;
						regs = (*tos_2).slots;
					}
					LA802_: ;
				}
				LA798_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 154):
			{
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* raised;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T810_;
				NimStringDesc* T811_;
				tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* frame;
				tyTuple__DcoP8zLFnBpow03kFN9cGhg jumpTo;
				{
					if (!(regs->data[ra].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 0))) goto LA807_;
					raised = (*c).currentExceptionA;
				}
				goto LA805_;
				LA807_: ;
				{
					raised = regs->data[ra].node;
				}
				LA805_: ;
				asgnRef((void**) (&(*c).currentExceptionA), raised);
				T810_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T810_ = skipColon__UPSW0jLTX5qJL51YMUAHgw_3((*(*c).currentExceptionA)._kind_6.sons->data[((NI) 2)]);
				T811_ = (NimStringDesc*)0;
				T811_ = (*T810_)._kind_3.strVal; (*T810_)._kind_3.strVal = copyStringRC1((*(*(*(*(*c).currentExceptionA).typ).sym).name).s);
				if (T811_) nimGCunrefNoCycle(T811_);
				(*c).exceptionInstr = pc;
				frame = tos_2;
				jumpTo = findExceptionHandler__7B4YrjB9bwLzkHvmgkXfnUQ(c, frame, raised);
				{
					while (1) {
						NIM_BOOL T814_;
						T814_ = (NIM_BOOL)0;
						T814_ = (jumpTo.Field0 == ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 2));
						if (!(T814_)) goto LA815_;
						T814_ = !(((*frame).next == 0));
						LA815_: ;
						if (!T814_) goto LA813;
						frame = (*frame).next;
						jumpTo = findExceptionHandler__7B4YrjB9bwLzkHvmgkXfnUQ(c, frame, raised);
					} LA813: ;
				}
				switch (jumpTo.Field0) {
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 0):
				{
					savedPC = ((NI) -1);
					pc = (NI)(jumpTo.Field1 - ((NI) 1));
					{
						if (!!((tos_2 == frame))) goto LA819_;
						tos_2 = frame;
						regs = (*tos_2).slots;
					}
					LA819_: ;
				}
				break;
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 1):
				{
					savedPC = pc;
					savedFrame = tos_2;
					pc = (NI)(jumpTo.Field1 - ((NI) 1));
					{
						if (!!((tos_2 == frame))) goto LA824_;
						tos_2 = frame;
						regs = (*tos_2).slots;
					}
					LA824_: ;
				}
				break;
				case ((tyEnum_ExceptionGoto__fKsIcZFuoCVzaDYGV8ctbA) 2):
				{
					bailOut__s9cFy5TGKFXao9bSR9bgK0vTw(c, tos_2);
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 168):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_2;
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				typ_2 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				asgnRef((void**) (&regs->data[ra].node), getNullValue__MirnaGAtIj7Yo4Gl5MzUxA(typ_2, (*c).debug->data[pc], (*c).config));
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 169):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_3;
				NU64 instr2_2;
				NI count;
				typ_3 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				pc += ((NI) 1);
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				instr2_2 = (*c).code->data[pc];
				count = ((NI) (regs->data[(NU64)((NU64)((NU64)(instr2_2) >> (NU64)(8ULL)) & 65535ULL)].intVal));
				asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*c).debug->data[pc]));
				asgnRef((void**) (&(*regs->data[ra].node).typ), typ_3);
				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) {
							if (!(i_11 < count)) goto LA831;
							i_10 = i_11;
							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));
							i_11 += ((NI) 1);
						} LA831: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 158):
			{
				NI rb_88;
				rb_88 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*c).debug->data[pc]));
				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;
				rbx_7 = (NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = ((NI64) (rbx_7));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 170):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_4;
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				typ_4 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				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;
				typ_5 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				{
					tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T838_;
					T838_ = (tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T838_ = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg(typ_5, IL64(36134350136322064));
					if (!((IL64(1030792151040) &((NU64)1<<((NU)((*T838_).kind)&63U)))!=0)) goto LA839_;
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
					regs->data[ra].floatVal = 0.0;
				}
				goto LA836_;
				LA839_: ;
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
					regs->data[ra].intVal = IL64(0);
				}
				LA836_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 172):
			{
				NI rb_89;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cnst;
				rb_89 = (NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
				cnst = (*(*c).constants)._kind_6.sons->data[rb_89];
				{
					NIM_BOOL T845_;
					T845_ = (NIM_BOOL)0;
					T845_ = fitsRegister__NRltpJT49cakdDyz9a9cNr4Kw((*cnst).typ);
					if (!T845_) goto LA846_;
					reset__PQ29bzVEjUtJukXgkwDQPoQ((&regs->data[ra]));
					putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra]), cnst);
				}
				goto LA843_;
				LA846_: ;
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					asgnRef((void**) (&regs->data[ra].node), cnst);
				}
				LA843_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 173):
			{
				NI rb_90;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* cnst_2;
				rb_90 = (NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
				cnst_2 = (*(*c).constants)._kind_6.sons->data[rb_90];
				{
					NIM_BOOL T852_;
					T852_ = (NIM_BOOL)0;
					T852_ = fitsRegister__NRltpJT49cakdDyz9a9cNr4Kw((*cnst_2).typ);
					if (!T852_) goto LA853_;
					putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra]), cnst_2);
				}
				goto LA850_;
				LA853_: ;
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ(cnst_2));
				}
				LA850_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 174):
			{
				NI rb_91;
				rb_91 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), (*(*c).globals)._kind_6.sons->data[rb_91]);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 176):
			{
				NI rb_92;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_2;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_6;
				rb_92 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				node_2 = (*(*c).globals)._kind_6.sons->data[rb_92];
				typ_6 = (*node_2).typ;
				{
					NimStringDesc* T862_;
					if (!!(((*node_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA860_;
					T862_ = (NimStringDesc*)0;
					T862_ = rawNewString((reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 41);
appendString(T862_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_162));
appendString(T862_, reprEnum((NI)(*node_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(T862_);
				}
				LA860_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2_2;
					if (!((*typ_6).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA865_;
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					node2_2 = newNodeIT__2kgyckjaq2XB9bxBo5ZeIbg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*c).debug->data[pc], typ_6);
					(*node2_2)._kind_1.intVal = ((NI64) ((*((NI*) ((*node_2)._kind_1.intVal)))));
					(*node2_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14)) & 31);
					asgnRef((void**) (&regs->data[ra].node), node2_2);
				}
				goto LA863_;
				LA865_: ;
				{
					NIM_BOOL T868_;
					NimStringDesc* T871_;
					tyTuple__9cqHuynYNPU9avbszh3XtBAg T872_;
					NimStringDesc* T873_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T874_;
					T868_ = (NIM_BOOL)0;
					T868_ = derefPtrToReg__rneu4wkryXcUJeguyyc5lw((*node_2)._kind_1.intVal, typ_6, (&regs->data[ra]), NIM_FALSE);
					if (!!(T868_)) goto LA869_;
					T871_ = (NimStringDesc*)0;
					nimZeroMem((void*)(&T872_), sizeof(tyTuple__9cqHuynYNPU9avbszh3XtBAg));
					T872_.Field0 = typeToString__QlvraUan7WbHowhAbvDvdA(typ_6, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T872_.Field1 = (*(*typ_6).sons->data[((NI) 0)]).kind;
					T873_ = (NimStringDesc*)0;
					T873_ = dollar___XSFzZuEhhtAqOvJ5uRr9cuA(T872_);
					T871_ = rawNewString((T873_ ? T873_->Sup.len : 0) + 29);
appendString(T871_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_163));
appendString(T871_, T873_);
					nimZeroMem((void*)(&T874_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T871_, T874_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA863_;
				LA869_: ;
				LA863_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 177):
			{
				NI rb_93;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node_3;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_7;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node2_3;
				rb_93 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 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);
				(*node2_3)._kind_1.intVal = (*node_3)._kind_1.intVal;
				(*node2_3).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 14)) & 31);
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), node2_3);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 175):
			{
				NI rb_94;
				rb_94 = (NI)((NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608)) - ((NI) 1));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 5));
				regs->data[ra].nodeAddr = &(*(*c).globals)._kind_6.sons->data[rb_94];
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 83):
			{
				NI rb_95;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T878_;
				rb_95 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				T878_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T878_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_95]);
				asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), renderTree__ppjdh9aQ5L0SGPF8yz1gZ9cA(T878_, 12));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 93):
			{
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T884_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T885_;
					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T886_;
					NI T887_;
					if (!((25 &((NU8)1<<((NU)((*c).mode)&7U)))!=0)) goto LA882_;
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 61), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__pyAIA9cUF0h9c4j2HfNQPfYw_164, NIM_FALSE);
					T884_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T884_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					T885_ = toInt128__161i7kexvUAISxPtGBRWYw(((NI) 1));
					T886_ = getOrdValue__GvVg8kpCh7QA2PDTJnFJlQ(T884_, T885_);
					T887_ = (NI)0;
					T887_ = toInt__TIX0sFuRf3uBpOBltYp7bw(T886_);
					msgQuit__PlZXt6qHCDDk29c9ac4IuLGA(((NI8) (T887_)));
				}
				goto LA880_;
				LA882_: ;
				{
					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_;
				}
				LA880_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 94):
			{
				NimStringDesc* T890_;
				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T891_;
				T890_ = (NimStringDesc*)0;
				T890_ = rawNewString(((*regs->data[ra].node)._kind_3.strVal ? (*regs->data[ra].node)._kind_3.strVal->Sup.len : 0) + 18);
appendString(T890_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_165));
appendString(T890_, (*regs->data[ra].node)._kind_3.strVal);
				nimZeroMem((void*)(&T891_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
				stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T890_, T891_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
				goto BeforeRet_;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 84):
			{
				NI rb_96;
				rb_96 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				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 T894_;
				rb_97 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_59 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				typ_8 = (*c).types->data[regs->data[rc_59].intVal];
				T894_ = (NI)0;
				T894_ = inheritanceDiff__1dM2iQB5qStJfnn3684ijQ_2((*regs->data[rb_97].node).typ, typ_8);
				regs->data[ra].intVal = ((NI64) ((T894_ <= ((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;
				rb_98 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_60 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				t1 = skipTypes__zsqmUNR5OZrTUna0Y9bdu9bg((*regs->data[rb_98].node).typ, 256);
				t2 = (*c).types->data[regs->data[rc_60].intVal];
				{
					if (!((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA898_;
					match = NIM_TRUE;
				}
				goto LA896_;
				LA898_: ;
				{
					match = sameType__3isNyHKb0U1OCnClmflXSg(t1, t2, 0);
				}
				LA896_: ;
				regs->data[ra].intVal = ((NI64) (match));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 85):
			{
				NI rb_99;
				NI newLen;
				rb_99 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				newLen = ((NI) (regs->data[rb_99].intVal));
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T906_;
					if (!(regs->data[ra].node == 0)) goto LA904_;
					nimZeroMem((void*)(&T906_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_138), T906_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA902_;
				LA904_: ;
				{
					setLenSeq__KXA4RY1gNwE3eOYKOBnMZw(c, regs->data[ra].node, newLen, (*c).debug->data[pc]);
				}
				LA902_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 95):
			{
				NI rb_100;
				NI64 min;
				NI64 max;
				rb_100 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				min = -((NI64)((NU64)(IL64(1)) << (NU64)((NI)(((NI) (rb_100)) - ((NI) 1)))));
				max = (NI64)((NI64)((NU64)(IL64(1)) << (NU64)((NI)(((NI) (rb_100)) - ((NI) 1)))) - IL64(1));
				{
					NIM_BOOL T911_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T915_;
					T911_ = (NIM_BOOL)0;
					T911_ = (regs->data[ra].intVal < min);
					if (T911_) goto LA912_;
					T911_ = (max < regs->data[ra].intVal);
					LA912_: ;
					if (!T911_) goto LA913_;
					nimZeroMem((void*)(&T915_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_166), T915_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA913_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 96):
			{
				NI rb_101;
				rb_101 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = (NI64)(regs->data[ra].intVal & (NI64)((NI64)((NU64)(IL64(1)) << (NU64)(((NI) (rb_101)))) - IL64(1)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 97):
			{
				NI rb_102;
				NI imm_6;
				rb_102 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				imm_6 = (NI)(((NI) 64) - ((NI) (rb_102)));
				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 T919_;
				NIM_BOOL T920_;
				NIM_BOOL T923_;
				NIM_BOOL T924_;
				NIM_BOOL T925_;
				NIM_BOOL T926_;
				rb_103 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				node_4 = regs->data[rb_103].node;
				T919_ = (NIM_BOOL)0;
				T920_ = (NIM_BOOL)0;
				T920_ = ((*node_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				if (!(T920_)) goto LA921_;
				T920_ = !((((*node_4).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13))&31U)))!=0));
				LA921_: ;
				T919_ = T920_;
				if (T919_) goto LA922_;
				T923_ = (NIM_BOOL)0;
				T924_ = (NIM_BOOL)0;
				T925_ = (NIM_BOOL)0;
				T926_ = (NIM_BOOL)0;
				T926_ = !(((*node_4).typ == 0));
				if (!(T926_)) goto LA927_;
				T926_ = ((*(*node_4).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
				LA927_: ;
				T925_ = T926_;
				if (!(T925_)) goto LA928_;
				T925_ = ((*(*node_4).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
				LA928_: ;
				T924_ = T925_;
				if (!(T924_)) goto LA929_;
				T924_ = ((*(*node_4)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				LA929_: ;
				T923_ = T924_;
				if (!(T923_)) goto LA930_;
				T923_ = ((*(*node_4)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
				LA930_: ;
				T919_ = T923_;
				LA922_: ;
				regs->data[ra].intVal = ((NI64) (T919_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 179):
			{
				NI rbx_8;
				rbx_8 = (NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ((*(*c).constants)._kind_6.sons->data[rbx_8]));
				(*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;
				tyProc__5QC9cKfPJmKuW0XbCTd8ylA callback;
				tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA args;
				rb_104 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_61 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				idx_6 = ((NI) (regs->data[(NI)((NI)(((NI) (rb_104)) + ((NI) (rc_61))) - ((NI) 1))].intVal));
				nimZeroMem((void*)(&callback), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
				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));
				nimZeroMem((void*)(&args), sizeof(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA));
				args.ra = ((NI) (ra));
				args.rb = ((NI) (rb_104));
				args.rc = ((NI) (rc_61));
				args.slots = ((tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA*) ((&regs->data[((NI) 0)])));
				args.currentException = (*c).currentExceptionA;
				args.currentLineInfo = (*c).debug->data[pc];
				callback.ClE_0? callback.ClP_0((&args), callback.ClE_0):((TM__pyAIA9cUF0h9c4j2HfNQPfYw_167)(callback.ClP_0))((&args));
				(*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;
				rb_105 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_62 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				idx_7 = ((NI) (regs->data[rc_62].intVal));
				src_5 = regs->data[rb_105].node;
				{
					NimStringDesc* T938_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T939_;
					if (!((*src_5).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*src_5).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA936_;
					T938_ = (NimStringDesc*)0;
					T938_ = rawNewString((reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 32);
appendString(T938_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_168));
appendString(T938_, reprEnum((NI)(*src_5).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					nimZeroMem((void*)(&T939_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T938_, T939_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA934_;
				LA936_: ;
				{
					NI T941_;
					NIM_BOOL T942_;
					NimStringDesc* T945_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T956_;
					T941_ = (NI)0;
					T941_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
					T942_ = (NIM_BOOL)0;
					T942_ = lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system(T941_, idx_7);
					if (!T942_) goto LA943_;
					T945_ = (NimStringDesc*)0;
					{
						NI T948_;
						T948_ = (NI)0;
						T948_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
						if (!((NI)(T948_ - ((NI) 1)) < ((NI) 0))) goto LA949_;
						T945_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA946_;
					LA949_: ;
					{
						NimStringDesc* T952_;
						NimStringDesc* T953_;
						NI T954_;
						NimStringDesc* T955_;
						T952_ = (NimStringDesc*)0;
						T953_ = (NimStringDesc*)0;
						T953_ = nimIntToStr(idx_7);
						T954_ = (NI)0;
						T954_ = len__P89cqdlERShb9alU3iC0yj8wast(src_5);
						T955_ = (NimStringDesc*)0;
						T955_ = nimIntToStr((NI)(T954_ - ((NI) 1)));
						T952_ = rawNewString((T953_ ? T953_->Sup.len : 0) + (T955_ ? T955_->Sup.len : 0) + 19);
appendString(T952_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T952_, T953_);
appendString(T952_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T952_, T955_);
						T945_ = T952_;
					}
					LA946_: ;
					nimZeroMem((void*)(&T956_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T945_, T956_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA934_;
				LA943_: ;
				{
					asgnRef((void**) (&regs->data[ra].node), (*src_5)._kind_6.sons->data[idx_7]);
				}
				LA934_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 156):
			{
				NI rb_106;
				NI rc_63;
				NI idx_8;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_2;
				rb_106 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_63 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				idx_8 = ((NI) (regs->data[rb_106].intVal));
				dest_2 = regs->data[ra].node;
				{
					NIM_BOOL T961_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T965_;
					T961_ = (NIM_BOOL)0;
					T961_ = (((*dest_2).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T961_)) goto LA962_;
					T961_ = !((((*(*c).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA962_: ;
					if (!T961_) goto LA963_;
					nimZeroMem((void*)(&T965_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_169), T965_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA959_;
				LA963_: ;
				{
					NimStringDesc* T969_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T970_;
					if (!((*dest_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*dest_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA967_;
					T969_ = (NimStringDesc*)0;
					T969_ = rawNewString((reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 32);
appendString(T969_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_170));
appendString(T969_, reprEnum((NI)(*dest_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					nimZeroMem((void*)(&T970_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T969_, T970_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA959_;
				LA967_: ;
				{
					NI T972_;
					NIM_BOOL T973_;
					NimStringDesc* T976_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T987_;
					T972_ = (NI)0;
					T972_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
					T973_ = (NIM_BOOL)0;
					T973_ = lteqpercent___hPljn3JCDQ00ua1R07X9bxQ_2system(T972_, idx_8);
					if (!T973_) goto LA974_;
					T976_ = (NimStringDesc*)0;
					{
						NI T979_;
						T979_ = (NI)0;
						T979_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
						if (!((NI)(T979_ - ((NI) 1)) < ((NI) 0))) goto LA980_;
						T976_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA977_;
					LA980_: ;
					{
						NimStringDesc* T983_;
						NimStringDesc* T984_;
						NI T985_;
						NimStringDesc* T986_;
						T983_ = (NimStringDesc*)0;
						T984_ = (NimStringDesc*)0;
						T984_ = nimIntToStr(idx_8);
						T985_ = (NI)0;
						T985_ = len__P89cqdlERShb9alU3iC0yj8wast(dest_2);
						T986_ = (NimStringDesc*)0;
						T986_ = nimIntToStr((NI)(T985_ - ((NI) 1)));
						T983_ = rawNewString((T984_ ? T984_->Sup.len : 0) + (T986_ ? T986_->Sup.len : 0) + 19);
appendString(T983_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T983_, T984_);
appendString(T983_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T983_, T986_);
						T976_ = T983_;
					}
					LA977_: ;
					nimZeroMem((void*)(&T987_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T976_, T987_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA959_;
				LA974_: ;
				{
					asgnRef((void**) (&(*dest_2)._kind_6.sons->data[idx_8]), regs->data[rc_63].node);
				}
				LA959_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 102):
			{
				NI rb_107;
				NI rc_64;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* u;
				rb_107 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_64 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				u = regs->data[rb_107].node;
				{
					NIM_BOOL T992_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T996_;
					T992_ = (NIM_BOOL)0;
					T992_ = (((*u).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T992_)) goto LA993_;
					T992_ = !((((*(*c).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA993_: ;
					if (!T992_) goto LA994_;
					nimZeroMem((void*)(&T996_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_169), T996_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA990_;
				LA994_: ;
				{
					NimStringDesc* T1000_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1001_;
					if (!((*u).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*u).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA998_;
					T1000_ = (NimStringDesc*)0;
					T1000_ = rawNewString((reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T1000_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_171));
appendString(T1000_, reprEnum((NI)(*u).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					nimZeroMem((void*)(&T1001_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1000_, T1001_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA990_;
				LA998_: ;
				{
					add__P8dDSotTW25BkfbyspojGg(u, regs->data[rc_64].node);
				}
				LA990_: ;
				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;
				rb_108 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_65 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				x = regs->data[rc_65].node;
				u_2 = regs->data[rb_108].node;
				{
					NIM_BOOL T1006_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1010_;
					T1006_ = (NIM_BOOL)0;
					T1006_ = (((*u_2).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
					if (!(T1006_)) goto LA1007_;
					T1006_ = !((((*(*c).config).legacyFeatures &((NU8)1<<((NU)(((tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA) 0))&7U)))!=0));
					LA1007_: ;
					if (!T1006_) goto LA1008_;
					nimZeroMem((void*)(&T1010_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_169), T1010_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1004_;
				LA1008_: ;
				{
					NimStringDesc* T1014_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1015_;
					if (!((*u_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) && (*u_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1012_;
					T1014_ = (NimStringDesc*)0;
					T1014_ = rawNewString((reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T1014_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_171));
appendString(T1014_, reprEnum((NI)(*u_2).kind, (&NTI__G4E4Gxe7oI2Cm03rkiOzQw_)));
					nimZeroMem((void*)(&T1015_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1014_, T1015_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1004_;
				LA1012_: ;
				{
					{
						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) {
								if (!(i_13 < colontmp__9)) goto LA1019;
								i_12 = i_13;
								add__P8dDSotTW25BkfbyspojGg(u_2, (*x)._kind_6.sons->data[i_12]);
								i_13 += ((NI) 1);
							} LA1019: ;
						}
					}
				}
				LA1004_: ;
				asgnRef((void**) (&regs->data[ra].node), u_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 104):
			{
				NI rb_109;
				rb_109 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = ((NI64) ((*regs->data[rb_109].node).kind));
				(*c).comesFromHeuristic = (*regs->data[rb_109].node).info;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 105):
			{
				NI rb_110;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_8;
				rb_110 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				a_8 = regs->data[rb_110].node;
				{
					if (!((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA1024_;
					regs->data[ra].intVal = ((NI64) ((*(*a_8)._kind_4.sym).kind));
				}
				goto LA1022_;
				LA1024_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1027_;
					nimZeroMem((void*)(&T1027_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_146), T1027_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1022_: ;
				(*c).comesFromHeuristic = (*regs->data[rb_110].node).info;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 106):
			{
				NI rb_111;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_9;
				rb_111 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				a_9 = regs->data[rb_111].node;
				{
					if (!((*a_9).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a_9).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA1031_;
					regs->data[ra].intVal = (*a_9)._kind_1.intVal;
				}
				goto LA1029_;
				LA1031_: ;
				{
					NIM_BOOL T1034_;
					T1034_ = (NIM_BOOL)0;
					T1034_ = ((*a_9).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1034_)) goto LA1035_;
					T1034_ = ((*(*a_9)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
					LA1035_: ;
					if (!T1034_) goto LA1036_;
					regs->data[ra].intVal = ((NI64) ((*(*a_9)._kind_4.sym).position));
				}
				goto LA1029_;
				LA1036_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1039_;
					nimZeroMem((void*)(&T1039_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_172), T1039_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1029_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 107):
			{
				NI rb_112;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_10;
				rb_112 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 3));
				a_10 = regs->data[rb_112].node;
				switch ((*a_10).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
				{
					regs->data[ra].floatVal = (*a_10)._kind_2.floatVal;
				}
				break;
				default:
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1043_;
					nimZeroMem((void*)(&T1043_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_173), T1043_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 108):
			{
				NI rb_113;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_11;
				rb_113 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_11 = regs->data[rb_113].node;
				{
					if (!((*a_11).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA1047_;
					asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ_2(a_11));
				}
				goto LA1045_;
				LA1047_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1050_;
					nimZeroMem((void*)(&T1050_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_174), T1050_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1045_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 109):
			{
				NI rb_114;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_12;
				rb_114 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_12 = regs->data[rb_114].node;
				{
					if (!((*a_12).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA1054_;
					asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ_2(a_12));
				}
				goto LA1052_;
				LA1054_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1057_;
					nimZeroMem((void*)(&T1057_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_175), T1057_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1052_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 136):
			{
				NI rb_115;
				rb_115 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				regs->data[ra].intVal = IL64(-1);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 110):
			{
				NI rb_116;
				NI rc_66;
				rb_116 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_66 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				switch (rc_66) {
				case ((NI) 0):
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1063_;
						T1063_ = (NIM_BOOL)0;
						T1063_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1063_)) goto LA1064_;
						T1063_ = !(((*regs->data[rb_116].node).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1064_: ;
						if (!T1063_) goto LA1065_;
						asgnRef((void**) (&regs->data[ra].node), opMapTypeToAst__B7DYLotR9aw6o9cHZhrLIPGg_2((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1061_;
					LA1065_: ;
					{
						NIM_BOOL T1068_;
						NIM_BOOL T1069_;
						T1068_ = (NIM_BOOL)0;
						T1069_ = (NIM_BOOL)0;
						T1069_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1069_)) goto LA1070_;
						T1069_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1070_: ;
						T1068_ = T1069_;
						if (!(T1068_)) goto LA1071_;
						T1068_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1071_: ;
						if (!T1068_) goto LA1072_;
						asgnRef((void**) (&regs->data[ra].node), opMapTypeToAst__B7DYLotR9aw6o9cHZhrLIPGg_2((*c).cache, (*(*regs->data[rb_116].node)._kind_4.sym).typ, (*c).debug->data[pc]));
					}
					goto LA1061_;
					LA1072_: ;
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1075_;
						nimZeroMem((void*)(&T1075_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176), T1075_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA1061_: ;
				}
				break;
				case ((NI) 1):
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
					{
						NIM_BOOL T1079_;
						T1079_ = (NIM_BOOL)0;
						T1079_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1079_)) goto LA1080_;
						T1079_ = !(((*regs->data[rb_116].node).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1080_: ;
						if (!T1079_) goto LA1081_;
						regs->data[ra].intVal = ((NI64) ((*(*regs->data[rb_116].node).typ).kind));
					}
					goto LA1077_;
					LA1081_: ;
					{
						NIM_BOOL T1084_;
						NIM_BOOL T1085_;
						T1084_ = (NIM_BOOL)0;
						T1085_ = (NIM_BOOL)0;
						T1085_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1085_)) goto LA1086_;
						T1085_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1086_: ;
						T1084_ = T1085_;
						if (!(T1084_)) goto LA1087_;
						T1084_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1087_: ;
						if (!T1084_) goto LA1088_;
						regs->data[ra].intVal = ((NI64) ((*(*(*regs->data[rb_116].node)._kind_4.sym).typ).kind));
					}
					goto LA1077_;
					LA1088_: ;
					LA1077_: ;
				}
				break;
				case ((NI) 2):
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1093_;
						T1093_ = (NIM_BOOL)0;
						T1093_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1093_)) goto LA1094_;
						T1093_ = !(((*regs->data[rb_116].node).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1094_: ;
						if (!T1093_) goto LA1095_;
						asgnRef((void**) (&regs->data[ra].node), opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1091_;
					LA1095_: ;
					{
						NIM_BOOL T1098_;
						NIM_BOOL T1099_;
						T1098_ = (NIM_BOOL)0;
						T1099_ = (NIM_BOOL)0;
						T1099_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1099_)) goto LA1100_;
						T1099_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1100_: ;
						T1098_ = T1099_;
						if (!(T1098_)) goto LA1101_;
						T1098_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1101_: ;
						if (!T1098_) goto LA1102_;
						asgnRef((void**) (&regs->data[ra].node), opMapTypeInstToAst__B7DYLotR9aw6o9cHZhrLIPGg((*c).cache, (*(*regs->data[rb_116].node)._kind_4.sym).typ, (*c).debug->data[pc]));
					}
					goto LA1091_;
					LA1102_: ;
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1105_;
						nimZeroMem((void*)(&T1105_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176), T1105_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA1091_: ;
				}
				break;
				default:
				{
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					{
						NIM_BOOL T1109_;
						T1109_ = (NIM_BOOL)0;
						T1109_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1109_)) goto LA1110_;
						T1109_ = !(((*regs->data[rb_116].node).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1110_: ;
						if (!T1109_) goto LA1111_;
						asgnRef((void**) (&regs->data[ra].node), opMapTypeImplToAst__B7DYLotR9aw6o9cHZhrLIPGg_3((*c).cache, (*regs->data[rb_116].node).typ, (*c).debug->data[pc]));
					}
					goto LA1107_;
					LA1111_: ;
					{
						NIM_BOOL T1114_;
						NIM_BOOL T1115_;
						T1114_ = (NIM_BOOL)0;
						T1115_ = (NIM_BOOL)0;
						T1115_ = (regs->data[rb_116].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
						if (!(T1115_)) goto LA1116_;
						T1115_ = ((*regs->data[rb_116].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
						LA1116_: ;
						T1114_ = T1115_;
						if (!(T1114_)) goto LA1117_;
						T1114_ = !(((*(*regs->data[rb_116].node)._kind_4.sym).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL)));
						LA1117_: ;
						if (!T1114_) goto LA1118_;
						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 LA1107_;
					LA1118_: ;
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1121_;
						nimZeroMem((void*)(&T1121_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176), T1121_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA1107_: ;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 113):
			{
				NI rb_117;
				NI imm_7;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_5;
				rb_117 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_7 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				n_5 = regs->data[rb_117].node;
				switch (imm_7) {
				case ((NI) 0):
				{
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1128_;
						if (!((*n_5).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL))) goto LA1126_;
						nimZeroMem((void*)(&T1128_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176), T1128_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					goto LA1124_;
					LA1126_: ;
					{
						regs->data[ra].intVal = getSize__vCG1GF2Iu043oALVyuJfOw((*c).config, (*n_5).typ);
					}
					LA1124_: ;
				}
				break;
				case ((NI) 1):
				{
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1135_;
						if (!((*n_5).typ == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL))) goto LA1133_;
						nimZeroMem((void*)(&T1135_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_176), T1135_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					goto LA1131_;
					LA1133_: ;
					{
						regs->data[ra].intVal = getAlign__vCG1GF2Iu043oALVyuJfOw_2((*c).config, (*n_5).typ);
					}
					LA1131_: ;
				}
				break;
				default:
				{
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1142_;
						if (!!(((*n_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA1140_;
						nimZeroMem((void*)(&T1142_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_146), T1142_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					goto LA1138_;
					LA1140_: ;
					{
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1146_;
						if (!!(((*(*n_5)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA1144_;
						nimZeroMem((void*)(&T1146_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_177), T1146_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					goto LA1138_;
					LA1144_: ;
					{
						regs->data[ra].intVal = ((NI64) ((*(*n_5)._kind_4.sym).offset));
					}
					LA1138_: ;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 111):
			{
				NI rb_118;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_13;
				rb_118 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				a_13 = regs->data[rb_118].node;
				switch ((*a_13).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					NimStringDesc* T1150_;
					T1150_ = (NimStringDesc*)0;
					T1150_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*a_13)._kind_3.strVal);
					if (T1150_) nimGCunrefNoCycle(T1150_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
				{
					NimStringDesc* T1152_;
					T1152_ = (NimStringDesc*)0;
					T1152_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*a_13).comment);
					if (T1152_) nimGCunrefNoCycle(T1152_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					NimStringDesc* T1154_;
					T1154_ = (NimStringDesc*)0;
					T1154_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*(*a_13)._kind_5.ident).s);
					if (T1154_) nimGCunrefNoCycle(T1154_);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					NimStringDesc* T1156_;
					T1156_ = (NimStringDesc*)0;
					T1156_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*(*(*a_13)._kind_4.sym).name).s);
					if (T1156_) nimGCunrefNoCycle(T1156_);
				}
				break;
				default:
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1158_;
					nimZeroMem((void*)(&T1158_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_178), T1158_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				break;
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 112):
			{
				NI rb_119;
				rb_119 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1164_;
					if (!!(((*regs->data[rb_119].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA1162_;
					nimZeroMem((void*)(&T1164_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_146), T1164_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1160_;
				LA1162_: ;
				{
					tyArray__qtqsWM5aXmcpMIVmvq3kAA T1166_;
					nimZeroMem((void*)T1166_, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
					sigHash__mSn9a9aX0NBzWqerwPW0qRww_2((*regs->data[rb_119].node)._kind_4.sym, T1166_);
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), dollar___0A9bslyIJ49bWrftLGh13rvg(T1166_));
				}
				LA1160_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 137):
			{
				NI rb_120;
				rb_120 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				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 rd_3;
				rb_121 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_67 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				pc += ((NI) 1);
				rd_3 = ((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(8ULL)) & 65535ULL)));
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				{
					NIM_BOOL T1171_;
					T1171_ = (NIM_BOOL)0;
					T1171_ = NIM_FALSE;
					if (T1171_) goto LA1172_;
					T1171_ = ((*(*c).config).cmd == ((tyEnum_TCommands__VH3ghgQVwLSg3krOAoXigw) 11));
					LA1172_: ;
					if (!T1171_) goto LA1173_;
					asgnRef((void**) (&(*regs->data[ra].node)._kind_3.strVal), ((NimStringDesc*) NIM_NIL));
				}
				goto LA1169_;
				LA1173_: ;
				{
					tyTuple__XOVT24GHXwqiEj5GCsEGCA T1176_;
					NimStringDesc* T1177_;
					nimZeroMem((void*)(&T1176_), 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, (&T1176_));
					T1177_ = (NimStringDesc*)0;
					T1177_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1(T1176_.Field0);
					if (T1177_) nimGCunrefNoCycle(T1177_);
				}
				LA1169_: ;
			}
			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;
				rb_122 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				a_14 = regs->data[ra].node;
				b_6 = regs->data[rb_122].node;
				{
					if (!((*b_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA1181_;
					info = (*c).debug->data[pc];
				}
				goto LA1179_;
				LA1181_: ;
				{
					info = (*b_6).info;
				}
				LA1179_: ;
				{
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 142))) goto LA1186_;
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, (*a_14)._kind_3.strVal, info, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1184_;
				LA1186_: ;
				{
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 143))) goto LA1189_;
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 51), (*a_14)._kind_3.strVal, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__pyAIA9cUF0h9c4j2HfNQPfYw_179, NIM_FALSE);
				}
				goto LA1184_;
				LA1189_: ;
				{
					if (!(((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) ((NU64)((NU64)((NU64)(instr) >> (NU64)(0ULL)) & 255ULL))) == ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 144))) goto LA1192_;
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 80), (*a_14)._kind_3.strVal, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__pyAIA9cUF0h9c4j2HfNQPfYw_180, NIM_FALSE);
				}
				goto LA1184_;
				LA1192_: ;
				LA1184_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 139):
			{
				NI rb_123;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast_2;
				NimStringDesc* T1195_;
				tyProc__pIuD7iLYdwrBMntVRm61ZA T1196_;
				rb_123 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				(*colonenv_).error1 = (NimStringDesc*)0;
				T1195_ = (NimStringDesc*)0;
				T1195_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*c).debug->data[pc].fileIndex);
				nimZeroMem((void*)(&T1196_), sizeof(tyProc__pIuD7iLYdwrBMntVRm61ZA));
				T1196_.ClP_0 = colonanonymous___B9aBcRRVoRSIq0b6yX080jw; T1196_.ClE_0 = colonenv_;
				ast_2 = parseString__60l3XWY7pBPSQ4Pi9ao9bZPg((*regs->data[rb_123].node)._kind_3.strVal, (*c).cache, (*c).config, T1195_, ((NI) ((*c).debug->data[pc].line)), T1196_);
				{
					NimStringDesc* T1201_;
					if (!(((NI) 0) < ((*colonenv_).error1 ? (*colonenv_).error1->Sup.len : 0))) goto LA1199_;
					T1201_ = (NimStringDesc*)0;
					T1201_ = (*c).errorFlag; (*c).errorFlag = copyStringRC1((*colonenv_).error1);
					if (T1201_) nimGCunrefNoCycle(T1201_);
				}
				goto LA1197_;
				LA1199_: ;
				{
					NI T1203_;
					T1203_ = (NI)0;
					T1203_ = len__P89cqdlERShb9alU3iC0yj8wast(ast_2);
					if (!!((T1203_ == ((NI) 1)))) goto LA1204_;
					asgnRef((void**) (&(*c).errorFlag), formatMsg__1JLtPXtBEOA0aYSS8UEJDw((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_181)));
				}
				goto LA1197_;
				LA1204_: ;
				{
					asgnRef((void**) (&regs->data[ra].node), (*ast_2)._kind_6.sons->data[((NI) 0)]);
				}
				LA1197_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 140):
			{
				NI rb_124;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast_3;
				NimStringDesc* T1208_;
				tyProc__pIuD7iLYdwrBMntVRm61ZA T1209_;
				rb_124 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				(*colonenv_).error2 = (NimStringDesc*)0;
				T1208_ = (NimStringDesc*)0;
				T1208_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*c).debug->data[pc].fileIndex);
				nimZeroMem((void*)(&T1209_), sizeof(tyProc__pIuD7iLYdwrBMntVRm61ZA));
				T1209_.ClP_0 = colonanonymous___B9aBcRRVoRSIq0b6yX080jw_2; T1209_.ClE_0 = colonenv_;
				ast_3 = parseString__60l3XWY7pBPSQ4Pi9ao9bZPg((*regs->data[rb_124].node)._kind_3.strVal, (*c).cache, (*c).config, T1208_, ((NI) ((*c).debug->data[pc].line)), T1209_);
				{
					NimStringDesc* T1214_;
					if (!(((NI) 0) < ((*colonenv_).error2 ? (*colonenv_).error2->Sup.len : 0))) goto LA1212_;
					T1214_ = (NimStringDesc*)0;
					T1214_ = (*c).errorFlag; (*c).errorFlag = copyStringRC1((*colonenv_).error2);
					if (T1214_) nimGCunrefNoCycle(T1214_);
				}
				goto LA1210_;
				LA1212_: ;
				{
					asgnRef((void**) (&regs->data[ra].node), ast_3);
				}
				LA1210_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 141):
			{
				NimStringDesc* T1217_;
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				T1217_ = (NimStringDesc*)0;
				T1217_ = (*regs->data[ra].node)._kind_3.strVal; (*regs->data[ra].node)._kind_3.strVal = copyStringRC1((*c).errorFlag);
				if (T1217_) nimGCunrefNoCycle(T1217_);
				asgnRef((void**) (&(*c).errorFlag), setLengthStr((*c).errorFlag, ((NI) 0)));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 157):
			{
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					if (!!(((*c).callsite == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA1221_;
					asgnRef((void**) (&regs->data[ra].node), (*c).callsite);
				}
				goto LA1219_;
				LA1221_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1224_;
					nimZeroMem((void*)(&T1224_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_182), T1224_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1219_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 145):
			{
				NI rb_125;
				NI imm_8;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_6;
				rb_125 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				imm_8 = (NI)(((NI) (((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL))))) - ((NI) 128));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				n_6 = regs->data[rb_125].node;
				switch (imm_8) {
				case ((NI) 0):
				{
					NimStringDesc* T1227_;
					T1227_ = (NimStringDesc*)0;
					T1227_ = toFullPath__VW1RaR1l9c9bPnJxr1KuvIrg((*c).config, (*n_6).info.fileIndex);
					asgnRef((void**) (&regs->data[ra].node), newStrNode__zLcHGdlEbBYFtoCoan9agkg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T1227_));
				}
				break;
				case ((NI) 1):
				{
					asgnRef((void**) (&regs->data[ra].node), newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (((NI) ((*n_6).info.line))))));
				}
				break;
				case ((NI) 2):
				{
					asgnRef((void**) (&regs->data[ra].node), newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*n_6).info.col))));
				}
				break;
				default:
				{
					{
						NimStringDesc* argX60gensym860_;
						if (!NIM_TRUE) goto LA1233_;
						argX60gensym860_ = toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs(TM__pyAIA9cUF0h9c4j2HfNQPfYw_185);
						internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, argX60gensym860_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_185);
					}
					LA1233_: ;
				}
				break;
				}
				(*regs->data[ra].node).info = (*n_6).info;
				asgnRef((void**) (&(*regs->data[ra].node).typ), (*n_6).typ);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 146):
			{
				NI rb_126;
				rb_126 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				(*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 T1263_;
				rb_127 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_68 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				aNode = regs->data[rb_127].node;
				bNode = regs->data[rc_68].node;
				{
					if (!((*aNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA1239_;
					aNode = (*aNode)._kind_6.sons->data[((NI) 1)];
				}
				LA1239_: ;
				{
					if (!((*aNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA1243_;
					aNode = (*aNode)._kind_6.sons->data[((NI) 0)];
				}
				LA1243_: ;
				{
					if (!((*bNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA1247_;
					bNode = (*bNode)._kind_6.sons->data[((NI) 1)];
				}
				LA1247_: ;
				{
					if (!((*bNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA1251_;
					bNode = (*bNode)._kind_6.sons->data[((NI) 0)];
				}
				LA1251_: ;
				aStrVal = ((NCSTRING) NIM_NIL);
				bStrVal = ((NCSTRING) NIM_NIL);
				switch ((*aNode).kind) {
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					aStrVal = nimToCStringConv((*aNode)._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					aStrVal = nimToCStringConv((*(*aNode)._kind_5.ident).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					aStrVal = nimToCStringConv((*(*(*aNode)._kind_4.sym).name).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
				{
					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):
				{
					bStrVal = nimToCStringConv((*bNode)._kind_3.strVal);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
				{
					bStrVal = nimToCStringConv((*(*bNode)._kind_5.ident).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					bStrVal = nimToCStringConv((*(*(*bNode)._kind_4.sym).name).s);
				}
				break;
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
				{
					bStrVal = nimToCStringConv((*(*(*(*bNode)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
				}
				break;
				default:
				{
				}
				break;
				}
				T1263_ = (NI)0;
				{
					NIM_BOOL T1266_;
					NIM_BOOL T1267_;
					NIM_BOOL T1269_;
					NI T1272_;
					T1266_ = (NIM_BOOL)0;
					T1267_ = (NIM_BOOL)0;
					T1267_ = eqeq___aqip9cmQIuefPKdd25wuEEwsystem(aStrVal, ((NCSTRING) NIM_NIL));
					T1266_ = !(T1267_);
					if (!(T1266_)) goto LA1268_;
					T1269_ = (NIM_BOOL)0;
					T1269_ = eqeq___aqip9cmQIuefPKdd25wuEEwsystem(bStrVal, ((NCSTRING) NIM_NIL));
					T1266_ = !(T1269_);
					LA1268_: ;
					if (!T1266_) goto LA1270_;
					T1272_ = (NI)0;
					T1272_ = cmpIgnoreStyle__Jbw1CiaNJLYIkwEiKlU3qg_2(aStrVal, bStrVal, ((NI) IL64(9223372036854775807)));
					T1263_ = (T1272_ == ((NI) 0));
				}
				goto LA1264_;
				LA1270_: ;
				{
					T1263_ = ((NI) 0);
				}
				LA1264_: ;
				regs->data[ra].intVal = ((NI64) (T1263_));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 148):
			{
				NI rb_128;
				rb_128 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1279_;
					if (!!(((*regs->data[rb_128].node).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*regs->data[rb_128].node).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA1277_;
					nimZeroMem((void*)(&T1279_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_178), T1279_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1275_;
				LA1277_: ;
				{
					asgnRef((void**) (&regs->data[ra].node), newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2), (*c).debug->data[pc]));
					asgnRef((void**) (&(*regs->data[ra].node)._kind_5.ident), getIdent__9coBOmdXN09be4rJvXK6fQGQ((*c).cache, (*regs->data[rb_128].node)._kind_3.strVal));
					(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				}
				LA1275_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 181):
			{
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_9;
				typ_9 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* temp;
					if (!!((regs->data[ra].kind == ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1)))) goto LA1284_;
					temp = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[ra]);
					ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
					asgnRef((void**) (&regs->data[ra].node), temp);
					(*regs->data[ra].node).info = (*c).debug->data[pc];
				}
				LA1284_: ;
				asgnRef((void**) (&(*regs->data[ra].node).typ), typ_9);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 91):
			{
				NI rb_129;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp;
				rb_129 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				pc += ((NI) 1);
				desttyp = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				pc += ((NI) 1);
				srctyp = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				{
					NIM_BOOL T1289_;
					tyArray__Re75IspeoxXy2oCZHwcRrA T1292_;
					NimStringDesc* T1293_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1294_;
					T1289_ = (NIM_BOOL)0;
					T1289_ = opConv__Fsv5V3BiOZ6CCSNA7nIsSg(c, (&regs->data[ra]), regs->data[rb_129], desttyp, srctyp);
					if (!T1289_) goto LA1290_;
					nimZeroMem((void*)T1292_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
					T1292_[0] = typeToString__QlvraUan7WbHowhAbvDvdA(srctyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T1292_[1] = typeToString__QlvraUan7WbHowhAbvDvdA(desttyp, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
					T1293_ = (NimStringDesc*)0;
					T1293_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_148), T1292_, 2);
					nimZeroMem((void*)(&T1294_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1293_, T1294_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1290_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 92):
			{
				NI rb_130;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* desttyp_2;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* srctyp_2;
				rb_130 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				pc += ((NI) 1);
				desttyp_2 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				pc += ((NI) 1);
				srctyp_2 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*c).debug->data[pc], ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_195), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_196, NIM_FALSE);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 114):
			{
				NI rb_131;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_3;
				rb_131 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				dest_3 = regs->data[ra].node;
				{
					NIM_BOOL T1299_;
					T1299_ = (NIM_BOOL)0;
					T1299_ = ((*dest_3).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*dest_3).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
					if (!(T1299_)) goto LA1300_;
					T1299_ = ((4 &((NU8)1<<((NU)(regs->data[rb_131].kind)&7U)))!=0);
					LA1300_: ;
					if (!T1299_) goto LA1301_;
					(*dest_3)._kind_1.intVal = regs->data[rb_131].intVal;
				}
				goto LA1297_;
				LA1301_: ;
				{
					NIM_BOOL T1304_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1308_;
					T1304_ = (NIM_BOOL)0;
					T1304_ = ((*dest_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1304_)) goto LA1305_;
					T1304_ = ((*(*dest_3)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
					LA1305_: ;
					if (!T1304_) goto LA1306_;
					nimZeroMem((void*)(&T1308_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_197), T1308_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				goto LA1297_;
				LA1306_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1310_;
					nimZeroMem((void*)(&T1310_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_172), T1310_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1297_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 115):
			{
				NI rb_132;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_4;
				rb_132 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				dest_4 = regs->data[ra].node;
				{
					NIM_BOOL T1314_;
					T1314_ = (NIM_BOOL)0;
					T1314_ = ((*dest_4).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*dest_4).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
					if (!(T1314_)) goto LA1315_;
					T1314_ = ((8 &((NU8)1<<((NU)(regs->data[rb_132].kind)&7U)))!=0);
					LA1315_: ;
					if (!T1314_) goto LA1316_;
					(*dest_4)._kind_2.floatVal = regs->data[rb_132].floatVal;
				}
				goto LA1312_;
				LA1316_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1319_;
					nimZeroMem((void*)(&T1319_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_173), T1319_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1312_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 116):
			{
				NI rb_133;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_5;
				rb_133 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				dest_5 = regs->data[ra].node;
				{
					NIM_BOOL T1323_;
					T1323_ = (NIM_BOOL)0;
					T1323_ = ((*dest_5).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1323_)) goto LA1324_;
					T1323_ = ((*regs->data[rb_133].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					LA1324_: ;
					if (!T1323_) goto LA1325_;
					asgnRef((void**) (&(*dest_5)._kind_4.sym), (*regs->data[rb_133].node)._kind_4.sym);
				}
				goto LA1321_;
				LA1325_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1328_;
					nimZeroMem((void*)(&T1328_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_174), T1328_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1321_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 117):
			{
				NI rb_134;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest_6;
				rb_134 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				dest_6 = regs->data[ra].node;
				{
					NIM_BOOL T1332_;
					T1332_ = (NIM_BOOL)0;
					T1332_ = ((*dest_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
					if (!(T1332_)) goto LA1333_;
					T1332_ = ((*regs->data[rb_134].node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
					LA1333_: ;
					if (!T1332_) goto LA1334_;
					asgnRef((void**) (&(*dest_6)._kind_5.ident), (*regs->data[rb_134].node)._kind_5.ident);
				}
				goto LA1330_;
				LA1334_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1337_;
					nimZeroMem((void*)(&T1337_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_175), T1337_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1330_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 118):
			{
				NI rb_135;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_7;
				rb_135 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				b_7 = regs->data[rb_135].node;
				{
					NIM_BOOL T1341_;
					NimStringDesc* argX60gensym918_;
					T1341_ = (NIM_BOOL)0;
					T1341_ = ((*b_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
					if (!(T1341_)) goto LA1342_;
					T1341_ = ((*(*b_7)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
					LA1342_: ;
					if (!!(T1341_)) goto LA1343_;
					argX60gensym918_ = toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs(TM__pyAIA9cUF0h9c4j2HfNQPfYw_198);
					internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, argX60gensym918_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_198);
				}
				LA1343_: ;
				{
					NimStringDesc* argX60gensym921_;
					if (!!(!((regs->data[ra].node == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA1347_;
					argX60gensym921_ = toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs(TM__pyAIA9cUF0h9c4j2HfNQPfYw_199);
					internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, argX60gensym921_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_199);
				}
				LA1347_: ;
				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;
				rb_136 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				dest_7 = regs->data[ra].node;
				{
					NIM_BOOL T1352_;
					NimStringDesc* T1356_;
					T1352_ = (NIM_BOOL)0;
					T1352_ = ((*dest_7).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*dest_7).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
					if (!(T1352_)) goto LA1353_;
					T1352_ = ((2 &((NU8)1<<((NU)(regs->data[rb_136].kind)&7U)))!=0);
					LA1353_: ;
					if (!T1352_) goto LA1354_;
					T1356_ = (NimStringDesc*)0;
					T1356_ = (*dest_7)._kind_3.strVal; (*dest_7)._kind_3.strVal = copyStringRC1((*regs->data[rb_136].node)._kind_3.strVal);
					if (T1356_) nimGCunrefNoCycle(T1356_);
				}
				goto LA1350_;
				LA1354_: ;
				{
					NIM_BOOL T1358_;
					NimStringDesc* T1362_;
					T1358_ = (NIM_BOOL)0;
					T1358_ = ((*dest_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125));
					if (!(T1358_)) goto LA1359_;
					T1358_ = ((2 &((NU8)1<<((NU)(regs->data[rb_136].kind)&7U)))!=0);
					LA1359_: ;
					if (!T1358_) goto LA1360_;
					T1362_ = (NimStringDesc*)0;
					T1362_ = (*dest_7).comment; (*dest_7).comment = copyStringRC1((*regs->data[rb_136].node)._kind_3.strVal);
					if (T1362_) nimGCunrefNoCycle(T1362_);
				}
				goto LA1350_;
				LA1360_: ;
				{
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1364_;
					nimZeroMem((void*)(&T1364_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_178), T1364_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1350_: ;
			}
			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 T1372_;
				rb_137 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_69 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				k = regs->data[rb_137].intVal;
				{
					NIM_BOOL T1368_;
					T1368_ = (NIM_BOOL)0;
					T1368_ = (k < IL64(0));
					if (T1368_) goto LA1369_;
					T1368_ = (IL64(160) < k);
					LA1369_: ;
					if (!T1368_) goto LA1370_;
					internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_200), TM__pyAIA9cUF0h9c4j2HfNQPfYw_201);
				}
				LA1370_: ;
				cc = regs->data[rc_69].node;
				{
					if (!!(((*cc).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA1375_;
					T1372_ = (*cc).info;
				}
				goto LA1373_;
				LA1375_: ;
				{
					if (!!(((*c).comesFromHeuristic.line == ((NU16) 0)))) goto LA1378_;
					T1372_ = (*c).comesFromHeuristic;
				}
				goto LA1373_;
				LA1378_: ;
				{
					NIM_BOOL T1381_;
					NI T1383_;
					T1381_ = (NIM_BOOL)0;
					T1381_ = !(((*c).callsite == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
					if (!(T1381_)) goto LA1382_;
					T1383_ = (NI)0;
					T1383_ = safeLen__P89cqdlERShb9alU3iC0yj8w_2ast((*c).callsite);
					T1381_ = (((NI) 1) < T1383_);
					LA1382_: ;
					if (!T1381_) goto LA1384_;
					T1372_ = (*(*(*c).callsite)._kind_6.sons->data[((NI) 1)]).info;
				}
				goto LA1373_;
				LA1384_: ;
				{
					T1372_ = (*c).debug->data[pc];
				}
				LA1373_: ;
				x_2 = newNodeI__vokyXY9cZDshCSxFKChhG9bg(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) (((NI) (k)))), T1372_);
				(*x_2).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
				{
					if (!((*x_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA1389_;
					asgnRef((void**) (&(*x_2)._kind_5.ident), (*(*c).cache).emptyIdent);
				}
				LA1389_: ;
				asgnRef((void**) (&regs->data[ra].node), x_2);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 121):
			{
				NI rb_138;
				rb_138 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), copyNode__Dsjo9bte8vGxzhtcSrsTyiQ_2(regs->data[rb_138].node));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 122):
			{
				NI rb_139;
				rb_139 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				asgnRef((void**) (&regs->data[ra].node), copyTree__Dsjo9bte8vGxzhtcSrsTyiQ(regs->data[rb_139].node));
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 123):
			{
				NI rb_140;
				NI rc_70;
				NI bb_2;
				rb_140 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_70 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				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;
					colontmp__10 = ((NI) (regs->data[rc_70].intVal));
					i_15 = ((NI) 0);
					{
						while (1) {
							if (!(i_15 < colontmp__10)) goto LA1396;
							i_14 = i_15;
							delSon__oU9bKATaboy8iUhv0r9bMBPw(regs->data[ra].node, bb_2);
							i_15 += ((NI) 1);
						} LA1396: ;
					}
				}
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 124):
			{
				NI rb_141;
				NI rc_71;
				NI64 k_2;
				NimStringDesc* name;
				tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym;
				tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA* T1409_;
				rb_141 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_71 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				k_2 = regs->data[rb_141].intVal;
				{
					if (!(((*regs->data[rc_71].node)._kind_3.strVal ? (*regs->data[rc_71].node)._kind_3.strVal->Sup.len : 0) == ((NI) 0))) goto LA1400_;
					name = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_202));
				}
				goto LA1398_;
				LA1400_: ;
				{
					name = (*regs->data[rc_71].node)._kind_3.strVal;
				}
				LA1398_: ;
				{
					NIM_BOOL T1405_;
					T1405_ = (NIM_BOOL)0;
					T1405_ = (k_2 < IL64(0));
					if (T1405_) goto LA1406_;
					T1405_ = (IL64(25) < k_2);
					LA1406_: ;
					if (!T1405_) goto LA1407_;
					internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, (*c).debug->data[pc], ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_203), TM__pyAIA9cUF0h9c4j2HfNQPfYw_204);
				}
				LA1407_: ;
				T1409_ = (tyObject_TIdent__GufRQq9c0miSybX3zBD4tyA*)0;
				T1409_ = getIdent__9coBOmdXN09be4rJvXK6fQGQ((*c).cache, name);
				sym = newSym__IXbidcxhXTQGZY9abN63Cxg(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) (k_2)), T1409_, (*(*c).module).owner, (*c).debug->data[pc], 0);
				(*sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36)) & 63);
				asgnRef((void**) (&regs->data[ra].node), newSymNode__I2DV2TmmOysY1ZEGW19b9bRg(sym));
				(*regs->data[ra].node).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 13)) & 31);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 125):
			{
				NI rb_142;
				NimStringDesc* destKey;
				rb_142 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				destKey = (*regs->data[rb_142].node)._kind_3.strVal;
				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;
				g = (*c).graph;
				rb_143 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_72 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				destKey_2 = (*regs->data[rb_143].node)._kind_3.strVal;
				by = regs->data[rc_72].intVal;
				v = getOrDefault__z8A9cwbmxkLXNxRJ9arkRPMQ((*g).cacheCounters, destKey_2);
				X5BX5Deq___fM9b60sY7h9aUB763UQb3oXA((&(*g).cacheCounters), destKey_2, (NI64)(v + by));
				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;
				rb_144 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_73 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				destKey_3 = (*regs->data[rb_144].node)._kind_3.strVal;
				val_2 = regs->data[rc_73].node;
				{
					NIM_BOOL T1415_;
					tyArray__jlWPjgtbdjE069arIWHC9c9bg T1418_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1419_;
					T1415_ = (NIM_BOOL)0;
					T1415_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_2).cacheSeqs, destKey_3);
					if (!!(T1415_)) goto LA1416_;
					nimZeroMem((void*)T1418_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
					T1418_[0] = val_2;
					T1419_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T1419_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1418_, 1);
					X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ((&(*g_2).cacheSeqs), destKey_3, T1419_);
				}
				goto LA1413_;
				LA1416_: ;
				{
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1421_;
					T1421_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1421_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_2).cacheSeqs), destKey_3);
					add__P8dDSotTW25BkfbyspojGg((*T1421_), val_2);
				}
				LA1413_: ;
				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;
				rb_145 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_74 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				destKey_4 = (*regs->data[rb_145].node)._kind_3.strVal;
				val_3 = regs->data[rc_74].node;
				{
					NIM_BOOL T1425_;
					tyArray__jlWPjgtbdjE069arIWHC9c9bg T1428_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1429_;
					T1425_ = (NIM_BOOL)0;
					T1425_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_3).cacheSeqs, destKey_4);
					if (!!(T1425_)) goto LA1426_;
					nimZeroMem((void*)T1428_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
					T1428_[0] = val_3;
					T1429_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					T1429_ = newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T1428_, 1);
					X5BX5Deq___sShzjuQoVJkvjz3oILuGOQ((&(*g_3).cacheSeqs), destKey_4, T1429_);
				}
				goto LA1423_;
				LA1426_: ;
				{
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1442_;
						{
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* existing;
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__11;
							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1433_;
							existing = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							colontmp__11 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
							T1433_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
							T1433_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_3).cacheSeqs), destKey_4);
							colontmp__11 = (*T1433_);
							{
								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) {
										if (!(i_17 < colontmp__12)) goto LA1436;
										i_16 = i_17;
										existing = (*colontmp__11)._kind_6.sons->data[i_16];
										{
											NIM_BOOL T1439_;
											T1439_ = (NIM_BOOL)0;
											T1439_ = exprStructuralEquivalent__E1mnSzj2NONtG7h9cR3AuFA(existing, val_3, NIM_TRUE);
											if (!T1439_) goto LA1440_;
											goto LA1431;
										}
										LA1440_: ;
										i_17 += ((NI) 1);
									} LA1436: ;
								}
							}
						}
						T1442_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1442_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_3).cacheSeqs), destKey_4);
						add__P8dDSotTW25BkfbyspojGg((*T1442_), val_3);
					} LA1431: ;
				}
				LA1423_: ;
				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 T1444_;
				g_4 = (*c).graph;
				rb_146 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				destKey_5 = (*regs->data[rb_146].node)._kind_3.strVal;
				T1444_ = (NI)0;
				{
					NIM_BOOL T1447_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1450_;
					T1447_ = (NIM_BOOL)0;
					T1447_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_4).cacheSeqs, destKey_5);
					if (!T1447_) goto LA1448_;
					T1450_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1450_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_4).cacheSeqs), destKey_5);
					T1444_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1450_));
				}
				goto LA1445_;
				LA1448_: ;
				{
					T1444_ = ((NI) 0);
				}
				LA1445_: ;
				regs->data[ra].intVal = ((NI64) (T1444_));
			}
			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;
				rb_147 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_75 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				idx_9 = regs->data[rc_75].intVal;
				destKey_6 = (*regs->data[rb_147].node)._kind_3.strVal;
				{
					NIM_BOOL T1455_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1457_;
					NI T1458_;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1461_;
					T1455_ = (NIM_BOOL)0;
					T1455_ = contains__tNDb8HX4Pcd05E6w80ngeA((*g_5).cacheSeqs, destKey_6);
					if (!(T1455_)) goto LA1456_;
					T1457_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1457_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
					T1458_ = (NI)0;
					T1458_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1457_));
					T1455_ = ltpercent___m9aFrKvWqPsM3WKrwczIr9bAsystem(idx_9, ((NI64) (T1458_)));
					LA1456_: ;
					if (!T1455_) goto LA1459_;
					T1461_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
					T1461_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
					asgnRef((void**) (&regs->data[ra].node), (*(*T1461_))._kind_6.sons->data[idx_9]);
				}
				goto LA1453_;
				LA1459_: ;
				{
					NimStringDesc* T1463_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1476_;
					T1463_ = (NimStringDesc*)0;
					{
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1466_;
						NI T1467_;
						T1466_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1466_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
						T1467_ = (NI)0;
						T1467_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1466_));
						if (!((NI)(T1467_ - ((NI) 1)) < ((NI) 0))) goto LA1468_;
						T1463_ = copyString(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_130));
					}
					goto LA1464_;
					LA1468_: ;
					{
						NimStringDesc* T1471_;
						NimStringDesc* T1472_;
						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T1473_;
						NI T1474_;
						NimStringDesc* T1475_;
						T1471_ = (NimStringDesc*)0;
						T1472_ = (NimStringDesc*)0;
						T1472_ = nimInt64ToStr(idx_9);
						T1473_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
						T1473_ = X5BX5D___MfHxsDwfhxJEwdTZBgdTmg((&(*g_5).cacheSeqs), destKey_6);
						T1474_ = (NI)0;
						T1474_ = len__P89cqdlERShb9alU3iC0yj8wast((*T1473_));
						T1475_ = (NimStringDesc*)0;
						T1475_ = nimIntToStr((NI)(T1474_ - ((NI) 1)));
						T1471_ = rawNewString((T1472_ ? T1472_->Sup.len : 0) + (T1475_ ? T1475_->Sup.len : 0) + 19);
appendString(T1471_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_131));
appendString(T1471_, T1472_);
appendString(T1471_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_133));
appendString(T1471_, T1475_);
						T1463_ = T1471_;
					}
					LA1464_: ;
					nimZeroMem((void*)(&T1476_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1463_, T1476_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1453_: ;
			}
			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;
				destKey_7 = (*regs->data[ra].node)._kind_3.strVal;
				key = (*regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)].node)._kind_3.strVal;
				val_4 = regs->data[(NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)].node;
				{
					NIM_BOOL T1480_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg T1483_;
					T1480_ = (NIM_BOOL)0;
					T1480_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_6).cacheTables, destKey_7);
					if (!!(T1480_)) goto LA1481_;
					nimZeroMem((void*)(&T1483_), sizeof(tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg));
					initBTree__k5whnwDpZp6YeM19cX9ajL9aQ((&T1483_));
					X5BX5Deq___L2EahbjJPAlDipW4Omiq5g((&(*g_6).cacheTables), destKey_7, T1483_);
				}
				LA1481_: ;
				{
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1486_;
					NIM_BOOL T1487_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1490_;
					T1486_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1486_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_6).cacheTables), destKey_7);
					T1487_ = (NIM_BOOL)0;
					T1487_ = contains__R2s6PEbDP9biCUJnpsKoeYw((*T1486_), key);
					if (!!(T1487_)) goto LA1488_;
					T1490_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1490_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_6).cacheTables), destKey_7);
					add__oXWfa5DZ9ar9aQWG8k6z5P6Q(T1490_, key, val_4);
					recordPut__A0qATj50qXyqSMH9aW9b3gzQ(c, (*c).debug->data[pc], destKey_7, key, val_4);
				}
				goto LA1484_;
				LA1488_: ;
				{
					NimStringDesc* T1492_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1493_;
					T1492_ = (NimStringDesc*)0;
					T1492_ = rawNewString((key ? key->Sup.len : 0) + 20);
appendString(T1492_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_205));
appendString(T1492_, key);
					nimZeroMem((void*)(&T1493_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1492_, T1493_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1484_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 132):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_7;
				NI rb_148;
				NimStringDesc* destKey_8;
				NI T1495_;
				g_7 = (*c).graph;
				rb_148 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				destKey_8 = (*regs->data[rb_148].node)._kind_3.strVal;
				T1495_ = (NI)0;
				{
					NIM_BOOL T1498_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1501_;
					T1498_ = (NIM_BOOL)0;
					T1498_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_7).cacheTables, destKey_8);
					if (!T1498_) goto LA1499_;
					T1501_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1501_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_7).cacheTables), destKey_8);
					T1495_ = len__8UGkwK9cZDAmWMyHxdOt9bsAbtrees((*T1501_));
				}
				goto LA1496_;
				LA1499_: ;
				{
					T1495_ = ((NI) 0);
				}
				LA1496_: ;
				regs->data[ra].intVal = ((NI64) (T1495_));
			}
			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;
				rb_149 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_76 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				destKey_9 = (*regs->data[rb_149].node)._kind_3.strVal;
				key_2 = (*regs->data[rc_76].node)._kind_3.strVal;
				{
					NIM_BOOL T1506_;
					T1506_ = (NIM_BOOL)0;
					T1506_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_8).cacheTables, destKey_9);
					if (!T1506_) goto LA1507_;
					{
						tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1511_;
						NIM_BOOL T1512_;
						tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1515_;
						T1511_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
						T1511_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_8).cacheTables), destKey_9);
						T1512_ = (NIM_BOOL)0;
						T1512_ = contains__R2s6PEbDP9biCUJnpsKoeYw((*T1511_), key_2);
						if (!T1512_) goto LA1513_;
						T1515_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
						T1515_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_8).cacheTables), destKey_9);
						asgnRef((void**) (&regs->data[ra].node), getOrDefault__N7mBvvE4jWcEmzBA3UoB0A((*T1515_), key_2));
					}
					goto LA1509_;
					LA1513_: ;
					{
						NimStringDesc* T1517_;
						tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1518_;
						T1517_ = (NimStringDesc*)0;
						T1517_ = rawNewString((key_2 ? key_2->Sup.len : 0) + 20);
appendString(T1517_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206));
appendString(T1517_, key_2);
						nimZeroMem((void*)(&T1518_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
						stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1517_, T1518_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
						goto BeforeRet_;
					}
					LA1509_: ;
				}
				goto LA1504_;
				LA1507_: ;
				{
					NimStringDesc* T1520_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1521_;
					T1520_ = (NimStringDesc*)0;
					T1520_ = rawNewString((destKey_9 ? destKey_9->Sup.len : 0) + 20);
appendString(T1520_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206));
appendString(T1520_, destKey_9);
					nimZeroMem((void*)(&T1521_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1520_, T1521_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1504_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 134):
			{
				tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g_9;
				NI rb_150;
				NI rc_77;
				NimStringDesc* destKey_10;
				NI T1523_;
				g_9 = (*c).graph;
				rb_150 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_77 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 2));
				destKey_10 = (*regs->data[rb_150].node)._kind_3.strVal;
				T1523_ = (NI)0;
				{
					NIM_BOOL T1526_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1529_;
					NIM_BOOL T1530_;
					T1526_ = (NIM_BOOL)0;
					T1526_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_9).cacheTables, destKey_10);
					if (!T1526_) goto LA1527_;
					T1529_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1529_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_9).cacheTables), destKey_10);
					T1530_ = (NIM_BOOL)0;
					T1530_ = hasNext__4Wt9aVmAb9agcjxA5gGDTJQw((*T1529_), ((NI) (regs->data[rc_77].intVal)));
					T1523_ = T1530_;
				}
				goto LA1524_;
				LA1527_: ;
				{
					T1523_ = ((NI) 0);
				}
				LA1524_: ;
				regs->data[ra].intVal = ((NI64) (T1523_));
			}
			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;
				rb_151 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				rc_78 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(40ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				destKey_11 = (*regs->data[rb_151].node)._kind_3.strVal;
				index = regs->data[rc_78].intVal;
				{
					NIM_BOOL T1535_;
					tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg* T1538_;
					tyTuple__9aIi6GdTSD27YtPkWxMqNxA T1539_;
					NimStringDesc* k_3;
					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v_2;
					NI nextIndex;
					tyArray__T6RKPw8xfAeNaoei9aZGzXg T1540_;
					T1535_ = (NIM_BOOL)0;
					T1535_ = contains__HJN1GCNkXuSaKainyv8E2w((*g_10).cacheTables, destKey_11);
					if (!T1535_) goto LA1536_;
					T1538_ = (tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg*)0;
					T1538_ = X5BX5D___SsXWfuQKn5htR3WBdyM0mA((&(*g_10).cacheTables), destKey_11);
					nimZeroMem((void*)(&T1539_), sizeof(tyTuple__9aIi6GdTSD27YtPkWxMqNxA));
					next__CqTK9bD6dhLiHbJZ5GMdxDQ((*T1538_), ((NI) (index)), (&T1539_));
					k_3 = (NimStringDesc*)0;
					k_3 = T1539_.Field0;
					v_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
					v_2 = T1539_.Field1;
					nextIndex = (NI)0;
					nextIndex = T1539_.Field2;
					nimZeroMem((void*)T1540_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
					T1540_[0] = newStrNode__C1MQfgDmfXqO1v69aAZbuYA(k_3, (*c).debug->data[pc]);
					T1540_[1] = v_2;
					T1540_[2] = newIntNode__zcNs9blLGYB6i9aGKob9bpzRw(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (nextIndex)));
					asgnRef((void**) (&regs->data[ra].node), newTree__FpOm4fidh9bWdkMa1BMRJkQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T1540_, 3));
				}
				goto LA1533_;
				LA1536_: ;
				{
					NimStringDesc* T1542_;
					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1543_;
					T1542_ = (NimStringDesc*)0;
					T1542_ = rawNewString((destKey_11 ? destKey_11->Sup.len : 0) + 20);
appendString(T1542_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_206));
appendString(T1542_, destKey_11);
					nimZeroMem((void*)(&T1543_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
					stackTraceImpl__kFOgYSzRy3XeW9bzc9bmjyaQ(c, tos_2, pc, T1542_, T1543_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_102);
					goto BeforeRet_;
				}
				LA1533_: ;
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 182):
			{
				NI rb_152;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_10;
				rb_152 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				typ_10 = (*regs->data[rb_152].node).typ;
				{
					NimStringDesc* argX60gensym1057_;
					if (!!(!((typ_10 == ((tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ*) NIM_NIL))))) goto LA1547_;
					argX60gensym1057_ = toFileLineCol__fTQr4TRmeNwYlKvcPy3kYAmsgs(TM__pyAIA9cUF0h9c4j2HfNQPfYw_207);
					internalErrorImpl__PTSwZ6HM9bGBf7vF9cnDmwVw((*c).config, unknownLineInfo__Adg58D2FIbt5TWh9aavBqbg, argX60gensym1057_, TM__pyAIA9cUF0h9c4j2HfNQPfYw_207);
				}
				LA1547_: ;
				{
					while (1) {
						NIM_BOOL T1551_;
						NI T1553_;
						T1551_ = (NIM_BOOL)0;
						T1551_ = ((*typ_10).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
						if (!(T1551_)) goto LA1552_;
						T1553_ = (NI)0;
						T1553_ = len__5mJADrRYkP3r9auuiuDZN9cQast(typ_10);
						T1551_ = (((NI) 0) < T1553_);
						LA1552_: ;
						if (!T1551_) goto LA1550;
						typ_10 = (*typ_10).sons->data[((NI) 0)];
					} LA1550: ;
				}
				asgnRef((void**) (&regs->data[ra].node), newNode__PMZ27S9ai4FB3gXOMDXvwsQ(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20)));
				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;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_11;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1555_;
				ra_5 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(8ULL)) & 65535ULL)));
				rb_153 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				pc += ((NI) 1);
				typ_11 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				T1555_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T1555_ = loadAny__Sr5ibxUUgGhmgltd4r9cYpg((*regs->data[rb_153].node)._kind_3.strVal, typ_11, (*c).cache, (*c).config);
				putIntoReg__Tg4NgAEkkhyUNQ0lPE29clQ((&regs->data[ra_5]), T1555_);
			}
			break;
			case ((tyEnum_TOpcode__AHjjN19bk88ZQLW4paSubVQ) 184):
			{
				NI rb_154;
				tyObject_TType__v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ_12;
				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1557_;
				rb_154 = ((NI) ((NU64)((NU64)((NU64)(instr) >> (NU64)(24ULL)) & 65535ULL)));
				ensureKind__hLEAmC34r1Yd9aCCcNP1pLA((&regs->data[ra]), ((tyEnum_TRegisterKind__BUH8cfx9botv2xAfmC8mnAQ) 1));
				pc += ((NI) 1);
				typ_12 = (*c).types->data[(NI)(((NI) ((NU64)((NU64)((NU64)((*c).code->data[pc]) >> (NU64)(24ULL)) & 16777215ULL))) - ((NI) 8388608))];
				createStrKeepNode__LpB9aVgxJQWwIAx62EyhZoA((&regs->data[ra]), NIM_TRUE);
				T1557_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
				T1557_ = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(regs->data[rb_154]);
				storeAny__OIEM18oCrQXxJj2UzbHuPA((&(*regs->data[ra].node)._kind_3.strVal), typ_12, T1557_, (*c).config);
			}
			break;
			}
			leave__QoTzttW5qhAM568TC1hifgvmprofiler((&(*c).profiler), c);
			pc += ((NI) 1);
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalMacroCall__6SgKdna0C4CEFxNnRELlUg)(tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI* templInstCounter, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w* sym) {
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c;
	tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ oldMode;
	NI start;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* tos;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T22_;
	NI maxSlots;
	NI L;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T27_;
	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T44_;
{	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	{
		if (!(((NI) 0) < (*(*g).config).errorCounter)) goto LA3_;
		result = errorNode__9cqF4KDIxxYX55FGMDoxR4Q(module, n);
		goto BeforeRet_;
	}
	LA3_: ;
	(*(*g).config).evalMacroCounter += ((NI) 1);
	{
		if (!(((NI) 1000) < (*(*g).config).evalMacroCounter)) goto LA7_;
		liMessage__Q6JNH4uRwLyZrj0dJakHew((*g).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_2), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_3, NIM_FALSE);
	}
	LA7_: ;
	{
		NIM_BOOL T11_;
		NI T12_;
		NI T13_;
		NI T15_;
		tyArray__24KAM9afIUgUaqBaEBB6r9bg T18_;
		NI T19_;
		NI T20_;
		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);
		T18_[1] = nimIntToStr((NI)(T19_ - ((NI) 1)));
		T20_ = (NI)0;
		T20_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
		T18_[2] = nimIntToStr((NI)(T20_ - ((NI) 1)));
		T21_ = (NimStringDesc*)0;
		T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_5), T18_, 3);
		liMessage__Q6JNH4uRwLyZrj0dJakHew((*g).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_6, NIM_FALSE);
	}
	LA16_: ;
	setupGlobalCtx__41qwP9bj6cfy3VehAu9aAFvw(module, g);
	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);
	asgnRef((void**) (&(*c).templInstCounter), templInstCounter);
	start = genProc__82SK3f7Ee6e9aktSfHKYXUw(c, sym);
	T22_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
	T22_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
	asgnRef((void**) (&(*T22_).prc), sym);
	(*T22_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T22_).next), ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL));
	tos = T22_;
	maxSlots = (*sym).offset;
	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_: ;
	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) {
				if (!(i_2 < colontmp_)) goto LA30;
				i = i_2;
				setupMacroParam__hXIlM54SMpXNBDQ04umODg((*n)._kind_6.sons->data[i], (*(*sym).typ).sons->data[i], (&(*tos).slots->data[i]));
				i_2 += ((NI) 1);
			} LA30: ;
		}
	}
	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_;
				if (!(i_4 < colontmp__2)) goto LA33;
				i_3 = i_4;
				T34_ = (NI)0;
				T34_ = len__5mJADrRYkP3r9auuiuDZN9cQast((*sym).typ);
				idx = (NI)(T34_ + i_3);
				{
					NI T37_;
					T37_ = (NI)0;
					T37_ = len__P89cqdlERShb9alU3iC0yj8wast(n);
					if (!(idx < T37_)) goto LA38_;
					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_: ;
				{
					NimStringDesc* T41_;
					NI T42_;
					NimStringDesc* T43_;
					(*(*g).config).evalMacroCounter -= ((NI) 1);
					asgnRef((void**) (&(*c).callsite), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) 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_123));
appendString(T41_, T43_);
appendString(T41_, ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_124));
					liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__pyAIA9cUF0h9c4j2HfNQPfYw_125, NIM_FALSE);
				}
				LA35_: ;
				i_4 += ((NI) 1);
			} LA33: ;
		}
	}
	nimZeroMem((void*)(&T44_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	rawExecute__OUDseXSU2midLA4bLXt3gg(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_;
		liMessage__Q6JNH4uRwLyZrj0dJakHew((*c).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 10), ((NimStringDesc*) &TM__pyAIA9cUF0h9c4j2HfNQPfYw_208), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__pyAIA9cUF0h9c4j2HfNQPfYw_209, NIM_FALSE);
	}
	LA52_: ;
	(*(*g).config).evalMacroCounter -= ((NI) 1);
	asgnRef((void**) (&(*c).callsite), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) 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__DYXeymOyKb0OnIuD1ihEpQ* tos;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T9_;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T10_;
{	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);
	c = (*((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw**) (&((*g).vm))));
	oldMode = (*c).mode;
	(*c).mode = mode;
	start = genExpr__iSa9ao3PEkzo8fCmeMa1Kvg(c, n_2, !((mode == ((tyEnum_TEvalMode__UbrbHUpo4hYFr1DbYzJgRQ) 4))));
	{
		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_: ;
	T9_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
	T9_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
	asgnRef((void**) (&(*T9_).prc), prc);
	(*T9_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T9_).next), ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL));
	tos = T9_;
	if ((*tos).slots) { nimGCunrefNoCycle((*tos).slots); (*tos).slots = NIM_NIL; }
	(*tos).slots = (tySequence__jlXqfsdfoRhiIfoVNWV0Vw*) newSeqRC1((&NTI__jlXqfsdfoRhiIfoVNWV0Vw_), ((NI) ((*(*c).prc).maxSlots)));
	nimZeroMem((void*)(&T10_), sizeof(tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA));
	rawExecute__OUDseXSU2midLA4bLXt3gg(c, start, tos, (&T10_));
	result = regToNode__HO9bL9ak2QSkZAdn9c9bm5TDKA(T10_);
	{
		if (!((*result).info.col < ((NI16) 0))) goto LA13_;
		(*result).info = (*n_2).info;
	}
	LA13_: ;
	(*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, ((tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*) 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, ((tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*) 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);
	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__DYXeymOyKb0OnIuD1ihEpQ* tos;
	tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ* T1_;
	tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA T2_;
	result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*)0;
	T1_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*)0;
	T1_ = (tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) newObj((&NTI__tIxM6OLoE2pUc9bMTjYhjPg_), sizeof(tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ));
	asgnRef((void**) (&(*T1_).prc), ((tyObject_TSym__JpsEh5i1AcKChGYbg7aV4w*) NIM_NIL));
	(*T1_).comesFrom = ((NI) 0);
	asgnRef((void**) (&(*T1_).next), ((tyObject_TStackFrame__DYXeymOyKb0OnIuD1ihEpQ*) NIM_NIL));
	tos = T1_;
	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__OUDseXSU2midLA4bLXt3gg(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 (!!((((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;
	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) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__pyAIA9cUF0h9c4j2HfNQPfYw_7_2[2];
static TNimNode* TM__pyAIA9cUF0h9c4j2HfNQPfYw_126_3[3];
static TNimNode TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[7];

/* section: NIM_merge_TYPE_INIT3 */
NTI__m9bElogmdcDLEy9czU5AZr6g_.size = sizeof(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g);
NTI__m9bElogmdcDLEy9czU5AZr6g_.align = NIM_ALIGNOF(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g);
NTI__m9bElogmdcDLEy9czU5AZr6g_.kind = 17;
NTI__m9bElogmdcDLEy9czU5AZr6g_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_7_2[0] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].offset = offsetof(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g, colonstate_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[1].name = ":state";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_7_2[1] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[2].offset = offsetof(tyObject_Env_vmopsdotnim_registerAdditionalOps___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_7_2[0];
NTI__m9bElogmdcDLEy9czU5AZr6g_.node = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[0];
NTI__8Qi2Yy1dXWyP64byz4WwVw_.size = sizeof(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*);
NTI__8Qi2Yy1dXWyP64byz4WwVw_.align = NIM_ALIGNOF(tyObject_Env_vmopsdotnim_registerAdditionalOps___m9bElogmdcDLEy9czU5AZr6g*);
NTI__8Qi2Yy1dXWyP64byz4WwVw_.kind = 22;
NTI__8Qi2Yy1dXWyP64byz4WwVw_.base = (&NTI__m9bElogmdcDLEy9czU5AZr6g_);
NTI__8Qi2Yy1dXWyP64byz4WwVw_.marker = Marker_tyRef__8Qi2Yy1dXWyP64byz4WwVw;
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.size = sizeof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw);
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.align = NIM_ALIGNOF(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw);
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.kind = 17;
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_126_3[0] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].offset = offsetof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw, colonstate_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[4].name = ":state";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_126_3[1] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].offset = offsetof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw, error1);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[5].name = "error1";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_126_3[2] = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6];
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].kind = 1;
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].offset = offsetof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw, error2);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[6].name = "error2";
TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].len = 3; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].kind = 2; TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3].sons = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_126_3[0];
NTI__jd629aT6A2Mu9ci3rTLr9bzFw_.node = &TM__pyAIA9cUF0h9c4j2HfNQPfYw_0[3];
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.size = sizeof(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw*);
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.align = NIM_ALIGNOF(tyObject_Env_vmdotnim_rawExecute___jd629aT6A2Mu9ci3rTLr9bzFw*);
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.kind = 22;
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.base = (&NTI__jd629aT6A2Mu9ci3rTLr9bzFw_);
NTI__i0OKJxPqBBZH5nTqNgi3yQ_.marker = Marker_tyRef__i0OKJxPqBBZH5nTqNgi3yQ;
}

