text: /* Generated by Nim Compiler v0.15.0 */
  /*   (c) 2016 Andreas Rumpf */
  /* The generated code is subject to the original license. */
  #define NIM_INTBITS 32
  
  #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>
  typedef struct Tctx345035 Tctx345035;
  typedef struct TNimType TNimType;
  typedef struct TNimNode TNimNode;
  typedef struct Tnode294802 Tnode294802;
  typedef struct Tsym294834 Tsym294834;
  typedef struct Tlineinfo193336 Tlineinfo193336;
  typedef struct NimStringDesc NimStringDesc;
  typedef struct TGenericSeq TGenericSeq;
  typedef struct Ttype294840 Ttype294840;
  typedef struct Tident201010 Tident201010;
  typedef struct Tnodeseq294796 Tnodeseq294796;
  typedef struct Tidobj201004 Tidobj201004;
  typedef struct TNimObject TNimObject;
  typedef struct Ttypeseq294836 Ttypeseq294836;
  typedef struct TY294929 TY294929;
  typedef struct Tstrtable294806 Tstrtable294806;
  typedef struct Tsymseq294804 Tsymseq294804;
  typedef struct Tloc294816 Tloc294816;
  typedef struct Ropeobj180006 Ropeobj180006;
  typedef struct Tlib294820 Tlib294820;
  typedef struct Cell47304 Cell47304;
  typedef struct Cellseq47320 Cellseq47320;
  typedef struct Gcheap49818 Gcheap49818;
  typedef struct Gcstack49816 Gcstack49816;
  typedef struct Memregion29485 Memregion29485;
  typedef struct Smallchunk29439 Smallchunk29439;
  typedef struct Llchunk29479 Llchunk29479;
  typedef struct Bigchunk29441 Bigchunk29441;
  typedef struct Intset29414 Intset29414;
  typedef struct Trunk29410 Trunk29410;
  typedef struct Avlnode29483 Avlnode29483;
  typedef struct Gcstat49814 Gcstat49814;
  typedef struct Cellset47316 Cellset47316;
  typedef struct Pagedesc47312 Pagedesc47312;
  typedef struct Vmargs345029 Vmargs345029;
  typedef struct TY460855 TY460855;
  typedef struct Tfullreg460204 Tfullreg460204;
  typedef struct Exception Exception;
  typedef struct TSafePoint TSafePoint;
  typedef struct Tpasscontext343002 Tpasscontext343002;
  typedef struct TY345241 TY345241;
  typedef struct TY194086 TY194086;
  typedef struct PprocHEX3Aobjecttype345220 PprocHEX3Aobjecttype345220;
  typedef struct TY345260 TY345260;
  typedef struct Tstackframe460208 Tstackframe460208;
  typedef struct TY370521 TY370521;
  typedef struct TY294960 TY294960;
  typedef struct TY472230 TY472230;
  typedef struct TY345261 TY345261;
  typedef struct TY461397 TY461397;
  typedef struct TY205018 TY205018;
  typedef struct TY345221 TY345221;
  typedef struct TY345226 TY345226;
  typedef struct TY136002 TY136002;
  typedef struct Tinstantiation294824 Tinstantiation294824;
  typedef struct Tlistentry148007 Tlistentry148007;
  typedef struct Basechunk29437 Basechunk29437;
  typedef struct Freecell29429 Freecell29429;
  typedef struct TY294961 TY294961;
  typedef struct Tblock345017 Tblock345017;
  typedef struct TY345201 TY345201;
  typedef NU8 Tnimkind3403;
  typedef NU8 Tnimtypeflag3409Set;
  typedef N_NIMCALL_PTR(void, TY3489) (void* p0, NI op0);
  typedef N_NIMCALL_PTR(void*, TY3494) (void* p0);
  struct  TNimType  {
  NI size;
  Tnimkind3403 kind;
  Tnimtypeflag3409Set flags;
  TNimType* base;
  TNimNode* node;
  void* finalizer;
  TY3489 marker;
  TY3494 deepcopy;
  };
  typedef NU8 Tnimnodekind3405;
  struct  TNimNode  {
  Tnimnodekind3405 kind;
  NI offset;
  TNimType* typ;
  NCSTRING name;
  NI len;
  TNimNode** sons;
  };
  typedef N_NIMCALL_PTR(void, Globalmarkerproc55802) (void);
  struct  Tlineinfo193336  {
  NI16 line;
  NI16 col;
  NI32 fileindex;
  };
  typedef NU16 Tmsgkind193002;
  struct  TGenericSeq  {
  NI len;
  NI reserved;
  };
  struct  NimStringDesc  {
    TGenericSeq Sup;
  NIM_CHAR data[SEQ_DECL_SIZE];
  };
  typedef NU16 Tnodeflag294427Set;
  typedef NU8 Tnodekind294020;
  struct  Tnode294802  {
  Ttype294840* typ;
  Tlineinfo193336 info;
  Tnodeflag294427Set flags;
  Tnodekind294020 kind;
  union{
  struct {NI64 intval;
  } S1;
  struct {NF floatval;
  } S2;
  struct {NimStringDesc* strval;
  } S3;
  struct {Tsym294834* sym;
  } S4;
  struct {Tident201010* ident;
  } S5;
  struct {Tnodeseq294796* sons;
  } S6;
  } kindU;
  NimStringDesc* comment;
  };
  struct  TNimObject  {
  TNimType* m_type;
  };
  struct  Tidobj201004  {
    TNimObject Sup;
  NI id;
  };
  typedef NU8 Tsymkind294435;
  struct  Tstrtable294806  {
  NI counter;
  Tsymseq294804* data;
  };
  typedef NU16 Tmagic294524;
  typedef NU32 Tsymflag294184Set;
  typedef NU32 Toption171009Set;
  typedef NU8 Tlockind294808;
  typedef NU8 Tstorageloc294812;
  typedef NU16 Tlocflag294810Set;
  struct  Tloc294816  {
  Tlockind294808 k;
  Tstorageloc294812 s;
  Tlocflag294810Set flags;
  Ttype294840* t;
  Ropeobj180006* r;
  };
  struct  Tsym294834  {
    Tidobj201004 Sup;
  Tsymkind294435 kind;
  union{
  struct {Ttypeseq294836* typeinstcache;
  } S1;
  struct {TY294929* procinstcache;
  Tsym294834* gcunsafetyreason;
  } S2;
  struct {TY294929* usedgenerics;
  Tstrtable294806 tab;
  } S3;
  struct {Tsym294834* guard;
  NI bitsize;
  } S4;
  } kindU;
  Tmagic294524 magic;
  Ttype294840* typ;
  Tident201010* name;
  Tlineinfo193336 info;
  Tsym294834* owner;
  Tsymflag294184Set flags;
  Tnode294802* ast;
  Toption171009Set options;
  NI position;
  NI offset;
  Tloc294816 loc;
  Tlib294820* annex;
  Tnode294802* constraint;
  };
  typedef NimStringDesc* TY195140[3];
  typedef NU8 Trenderflag313004Set;
  struct  Cell47304  {
  NI refcount;
  TNimType* typ;
  };
  struct  Cellseq47320  {
  NI len;
  NI cap;
  Cell47304** d;
  };
  typedef Smallchunk29439* TY29500[512];
  typedef Trunk29410* Trunkbuckets29412[256];
  struct  Intset29414  {
  Trunkbuckets29412 data;
  };
  struct  Memregion29485  {
  NI minlargeobj;
  NI maxlargeobj;
  TY29500 freesmallchunks;
  Llchunk29479* llmem;
  NI currmem;
  NI maxmem;
  NI freemem;
  NI lastsize;
  Bigchunk29441* freechunkslist;
  Intset29414 chunkstarts;
  Avlnode29483* root;
  Avlnode29483* deleted;
  Avlnode29483* last;
  Avlnode29483* freeavlnodes;
  NIM_BOOL locked;
  };
  struct  Gcstat49814  {
  NI stackscans;
  NI cyclecollections;
  NI maxthreshold;
  NI maxstacksize;
  NI maxstackcells;
  NI cycletablesize;
  NI64 maxpause;
  };
  struct  Cellset47316  {
  NI counter;
  NI max;
  Pagedesc47312* head;
  Pagedesc47312** data;
  };
  struct  Gcheap49818  {
  Gcstack49816* stack;
  void* stackbottom;
  NI cyclethreshold;
  Cellseq47320 zct;
  Cellseq47320 decstack;
  Cellseq47320 tempstack;
  NI recgclock;
  Memregion29485 region;
  Gcstat49814 stat;
  Cellset47316 marked;
  Cellseq47320 additionalroots;
  };
  typedef struct {
  N_NIMCALL_PTR(void, ClPrc) (Vmargs345029* args0, void* ClEnv);
  void* ClEnv;
  } Vmcallback345031;
  typedef NU8 Tregisterkind460202;
  struct  Tfullreg460204  {
  Tregisterkind460202 kind;
  union{
  NI64 intval;
  NF floatval;
  Tnode294802* node;
  Tfullreg460204* regaddr;
  Tnode294802** nodeaddr;
  } kindU;
  };
  struct  Vmargs345029  {
  NI ra;
  NI rb;
  NI rc;
  void* slots;
  Tnode294802* currentexception;
  };
  typedef N_CLOSURE_PTR(void, T2569374918_11) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_13) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_15) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_17) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_19) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_21) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_23) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_25) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_27) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_29) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_31) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_33) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_35) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_37) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_39) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_41) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_43) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_45) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_47) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_49) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_51) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_53) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_56) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_58) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_60) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_62) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_64) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_66) (Vmargs345029* args0, void* ClEnv);
  typedef N_CLOSURE_PTR(void, T2569374918_68) (Vmargs345029* args0, void* ClEnv);
  typedef NU8 Pathcomponent138212;
  struct  Exception  {
    TNimObject Sup;
  Exception* parent;
  NCSTRING name;
  NimStringDesc* message;
  NimStringDesc* trace;
  };
  typedef struct {
  N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv);
  void* ClEnv;
  } TY17211;
  struct  TSafePoint  {
  TSafePoint* prev;
  NI status;
  jmp_buf context;
  NIM_BOOL hasRaiseAction;
  TY17211 raiseAction;
  };
  typedef NIM_CHAR TY120773[256];
  typedef Tnode294802* TY442139[2];
  typedef N_CLOSURE_PTR(void, T2569374918_74) (Vmargs345029* args0, void* ClEnv);
  struct  Tpasscontext343002  {
    TNimObject Sup;
  NIM_BOOL fromcache;
  };
  typedef NU8 Tevalmode345019;
  typedef NU8 Tsandboxflag345021Set;
  struct  Tctx345035  {
    Tpasscontext343002 Sup;
  TY345241* code;
  TY194086* debug;
  Tnode294802* globals;
  Tnode294802* constants;
  Ttypeseq294836* types;
  Tnode294802* currentexceptiona;
  Tnode294802* currentexceptionb;
  NI exceptioninstr;
  PprocHEX3Aobjecttype345220* prc;
  Tsym294834* module;
  Tnode294802* callsite;
  Tevalmode345019 mode;
  Tsandboxflag345021Set features;
  NIM_BOOL traceactive;
  NI loopiterations;
  Tlineinfo193336 comesfromheuristic;
  TY345260* callbacks;
  NimStringDesc* errorflag;
  };
  struct  Tstackframe460208  {
  Tsym294834* prc;
  TY460855* slots;
  Tstackframe460208* next;
  NI comesfrom;
  TY370521* safepoints;
  };
  typedef NU8 Ttypekind294244;
  typedef NU8 Tcallingconvention294002;
  typedef NU32 Ttypeflag294431Set;
  struct  Ttype294840  {
    Tidobj201004 Sup;
  Ttypekind294244 kind;
  Tcallingconvention294002 callconv;
  Ttypeflag294431Set flags;
  Ttypeseq294836* sons;
  Tnode294802* n;
  Tsym294834* owner;
  Tsym294834* sym;
  Tsym294834* destructor;
  Tsym294834* deepcopy;
  Tsym294834* assignment;
  TY294960* methods;
  NI64 size;
  NI16 align;
  NI16 locklevel;
  Tloc294816 loc;
  };
  typedef NU8 Tnodeflag294427;
  typedef NU8 Tsymflag294184;
  struct  TY472230  {
  NI HEX3Astate;
  NimStringDesc* error470755;
  NimStringDesc* error470805;
  };
  typedef NU8 Topcode345015;
  typedef NU8 Msgflag194444Set;
  struct  Tident201010  {
    Tidobj201004 Sup;
  NimStringDesc* s;
  Tident201010* next;
  NI h;
  };
  typedef NU8 Ttypecmpflag326429Set;
  typedef NimStringDesc* TY195153[2];
  struct TY345261 {
  NimStringDesc* Field0;
  Vmcallback345031 Field1;
  };
  typedef N_CLOSURE_PTR(void, T2569374918_88) (Vmargs345029* args0);
  typedef NU8 Tsandboxflag345021;
  typedef NU64 Ttypekind294244Set;
  struct TY461397 {
  NI Field0;
  Tstackframe460208* Field1;
  };
  typedef struct {
  N_NIMCALL_PTR(void, ClPrc) (Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0, void* ClEnv);
  void* ClEnv;
  } Terrorhandler287172;
  typedef NU8 Tprefereddesc322011;
  struct TY205018 {
  NimStringDesc* Field0;
  NI Field1;
  };
  typedef NU8 Tslotkind345025;
  struct TY345226 {
  NIM_BOOL Field0;
  Tslotkind345025 Field1;
  };
  typedef TY345226 TY345229[256];
  struct  PprocHEX3Aobjecttype345220  {
  TY345221* blocks;
  Tsym294834* sym;
  TY345229 slots;
  NI maxslots;
  };
  struct  Ropeobj180006  {
    TNimObject Sup;
  Ropeobj180006* left;
  Ropeobj180006* right;
  NI length;
  NimStringDesc* data;
  };
  struct  Tlistentry148007  {
    TNimObject Sup;
  Tlistentry148007* prev;
  Tlistentry148007* next;
  };
  typedef NU8 Tlibkind294818;
  struct  Tlib294820  {
    Tlistentry148007 Sup;
  Tlibkind294818 kind;
  NIM_BOOL generated;
  NIM_BOOL isoverriden;
  Ropeobj180006* name;
  Tnode294802* path;
  };
  struct  Gcstack49816  {
  Gcstack49816* prev;
  Gcstack49816* next;
  void* starts;
  void* pos;
  NI maxstacksize;
  };
  struct  Basechunk29437  {
  NI prevsize;
  NI size;
  NIM_BOOL used;
  };
  struct  Smallchunk29439  {
    Basechunk29437 Sup;
  Smallchunk29439* next;
  Smallchunk29439* prev;
  Freecell29429* freelist;
  NI free;
  NI acc;
  NF data;
  };
  struct  Llchunk29479  {
  NI size;
  NI acc;
  Llchunk29479* next;
  };
  struct  Bigchunk29441  {
    Basechunk29437 Sup;
  Bigchunk29441* next;
  Bigchunk29441* prev;
  NI align;
  NF data;
  };
  typedef NI TY29418[16];
  struct  Trunk29410  {
  Trunk29410* next;
  NI key;
  TY29418 bits;
  };
  typedef Avlnode29483* TY29490[2];
  struct  Avlnode29483  {
  TY29490 link;
  NI key;
  NI upperbound;
  NI level;
  };
  struct  Pagedesc47312  {
  Pagedesc47312* next;
  NI key;
  TY29418 bits;
  };
  struct TY294961 {
  NI Field0;
  Tsym294834* Field1;
  };
  struct  Tblock345017  {
  Tsym294834* label;
  TY345201* fixups;
  };
  struct  Tinstantiation294824  {
  Tsym294834* sym;
  Ttypeseq294836* concretetypes;
  NI compilesid;
  };
  struct  Freecell29429  {
  Freecell29429* next;
  NI zerofield;
  };
  struct TY460855 {
    TGenericSeq Sup;
    Tfullreg460204 data[SEQ_DECL_SIZE];
  };
  struct Tnodeseq294796 {
    TGenericSeq Sup;
    Tnode294802* data[SEQ_DECL_SIZE];
  };
  struct TY370521 {
    TGenericSeq Sup;
    NI data[SEQ_DECL_SIZE];
  };
  struct TY136002 {
    TGenericSeq Sup;
    NimStringDesc* data[SEQ_DECL_SIZE];
  };
  struct Ttypeseq294836 {
    TGenericSeq Sup;
    Ttype294840* data[SEQ_DECL_SIZE];
  };
  struct TY294929 {
    TGenericSeq Sup;
    Tinstantiation294824* data[SEQ_DECL_SIZE];
  };
  struct Tsymseq294804 {
    TGenericSeq Sup;
    Tsym294834* data[SEQ_DECL_SIZE];
  };
  struct TY345241 {
    TGenericSeq Sup;
    NU32 data[SEQ_DECL_SIZE];
  };
  struct TY194086 {
    TGenericSeq Sup;
    Tlineinfo193336 data[SEQ_DECL_SIZE];
  };
  struct TY345260 {
    TGenericSeq Sup;
    TY345261 data[SEQ_DECL_SIZE];
  };
  struct TY294960 {
    TGenericSeq Sup;
    TY294961 data[SEQ_DECL_SIZE];
  };
  struct TY345221 {
    TGenericSeq Sup;
    Tblock345017 data[SEQ_DECL_SIZE];
  };
  struct TY345201 {
    TGenericSeq Sup;
    NI data[SEQ_DECL_SIZE];
  };
  N_NIMCALL(void, nimGCvisit)(void* d0, NI op0);
  N_NIMCALL(void, T2569374918_2)(void);
  N_NIMCALL(void, nimRegisterGlobalMarker)(Globalmarkerproc55802 markerproc0);
  N_NIMCALL(void, globalerror_198071_155036129)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0);
  static N_INLINE(NI, safelen_295103_850551059)(Tnode294802* n0);
  N_NIMCALL(NI, len_297339_850551059)(Ttype294840* n0);
  N_NIMCALL(void, globalerror_198076_155036129)(Tlineinfo193336 info0, NimStringDesc* arg0);
  N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0);
  N_NIMCALL(NimStringDesc*, rendertree_313044_382274130)(Tnode294802* n0, Trenderflag313004Set renderflags0);
  N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
  N_NIMCALL(void, setupglobalctx_473247_2569374918)(Tsym294834* module0);
  N_NIMCALL(Tctx345035*, newctx_345286_984354655)(Tsym294834* module0);
  static N_INLINE(void, asgnRef)(void** dest0, void* src0);
  static N_INLINE(void, incref_53419_1689653243)(Cell47304* c0);
  static N_INLINE(Cell47304*, usrtocell_51440_1689653243)(void* usr0);
  static N_INLINE(void, decref_53001_1689653243)(Cell47304* c0);
  static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47304* c0);
  N_NOINLINE(void, addzct_51417_1689653243)(Cellseq47320* s0, Cell47304* c0);
  N_NIMCALL(void, registeradditionalops_473135_2569374918)(Tctx345035* c0);
  N_NIMCALL(void, registercallback_345393_984354655)(Tctx345035* c0, NimStringDesc* name0, Vmcallback345031 callback0);
  N_NIMCALL(void, sqrtwrapper_473138_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, setresult_460851_2569374918)(Vmargs345029* a0, NF v0);
  N_NIMCALL(void, myreset_460401_2569374918)(Tfullreg460204* n0);
  N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0);
  N_NIMCALL(NF, getfloat_461014_2569374918)(Vmargs345029* a0, NI i0);
  N_NOINLINE(void, raiseassert_91216_1689653243)(NimStringDesc* msg0);
  N_NIMCALL(void, lnwrapper_473141_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, log10wrapper_473144_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, log2wrapper_473147_2569374918)(Vmargs345029* a0);
  N_NIMCALL(NF, log2_473151_1009420244)(NF x0);
  N_NIMCALL(void, expwrapper_473157_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, roundwrapper_473160_2569374918)(Vmargs345029* a0);
  N_NIMCALL(NF, round_111663_1009420244)(NF x0, NI places0);
  N_NIMCALL(void, arccoswrapper_473172_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, arcsinwrapper_473175_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, arctanwrapper_473178_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, arctan2wrapper_473181_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, coswrapper_473184_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, coshwrapper_473187_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, hypotwrapper_473190_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, sinhwrapper_473193_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, sinwrapper_473196_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, tanwrapper_473199_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, tanhwrapper_473202_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, powwrapper_473205_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, truncwrapper_473208_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, floorwrapper_473211_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, ceilwrapper_473214_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, fmodwrapper_473217_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, getenvwrapper_473220_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, setresult_460900_2569374918)(Vmargs345029* a0, NimStringDesc* v0);
  N_NIMCALL(Tnode294802*, newnode_295401_850551059)(Tnodekind294020 kind0);
  static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0);
  N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0);
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0);
  N_NIMCALL(NimStringDesc*, getenv_136625_2125978480)(NimStringDesc* key0);
  N_NIMCALL(NimStringDesc*, getstring_461037_2569374918)(Vmargs345029* a0, NI i0);
  N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0);
  N_NIMCALL(void, existsenvwrapper_473223_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, setresult_460871_2569374918)(Vmargs345029* a0, NIM_BOOL v_460874_2569374918);
  N_NIMCALL(NIM_BOOL, existsenv_136634_2125978480)(NimStringDesc* key0);
  N_NIMCALL(void, direxistswrapper_473226_2569374918)(Vmargs345029* a0);
  static N_INLINE(NIM_BOOL, direxists_132608_2125978480)(NimStringDesc* dir0);
  N_NIMCALL(NIM_BOOL, nosexistsDir)(NimStringDesc* dir0);
  N_NIMCALL(void, fileexistswrapper_473229_2569374918)(Vmargs345029* a0);
  static N_INLINE(NIM_BOOL, fileexists_132604_2125978480)(NimStringDesc* filename0);
  N_NIMCALL(NIM_BOOL, nosexistsFile)(NimStringDesc* filename0);
  N_NIMCALL(void, writefilewrapper_473232_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, writefile_14871_1689653243)(NimStringDesc* filename0, NimStringDesc* content0);
  N_NIMCALL(void, readfilewrapper_473235_2569374918)(Vmargs345029* a0);
  N_NIMCALL(NimStringDesc*, readfile_14868_1689653243)(NimStringDesc* filename0);
  N_NIMCALL(void, getcurrentexceptionmsgwrapper_473077_2569374918)(Vmargs345029* a0);
  N_NIMCALL(Tnode294802*, skipcolon_457197_2499857528)(Tnode294802* n0);
  N_NIMCALL(void, HEX3Aanonymous_473238_2569374918)(Vmargs345029* a0);
  N_NIMCALL(void, setresult_460922_2569374918)(Vmargs345029* a0, Tnode294802* n0);
  N_NIMCALL(Tnode294802*, staticwalkdirimpl_473092_2569374918)(NimStringDesc* path0, NIM_BOOL relative0);
  static N_INLINE(void, pushSafePoint)(TSafePoint* s0);
  N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str0);
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0);
  static N_INLINE(NIM_BOOL, equalmem_7495_1689653243)(void* a0, void* b0, NI size0);
  N_NIMCALL(NimStringDesc*, HEX2F_129265_2125978480)(NimStringDesc* head0, NimStringDesc* tail0);
  N_NIMCALL(void, add_295136_850551059)(Tnode294802* father0, Tnode294802* son0);
  N_NIMCALL(Tnode294802*, newtree_295602_850551059)(Tnodekind294020 kind0, Tnode294802** children0, NI children0Len0);
  N_NIMCALL(Tnode294802*, newintnode_295660_850551059)(Tnodekind294020 kind0, NI64 intval0);
  N_NIMCALL(Tnode294802*, newstrnode_295678_850551059)(Tnodekind294020 kind0, NimStringDesc* strval0);
  N_NIMCALL(Pathcomponent138212, getsymlinkfilekind_138219_2125978480)(NimStringDesc* path0);
  static N_INLINE(void, popSafePoint)(void);
  N_NIMCALL(void, reraiseException)(void);
  N_NIMCALL(NIM_BOOL, getbool_461009_2569374918)(Vmargs345029* a0, NI i0);
  N_NIMCALL(NI64, getint_460986_2569374918)(Vmargs345029* a0, NI i0);
  N_NIMCALL(void, refresh_345372_984354655)(Tctx345035* c0, Tsym294834* module0);
  N_NIMCALL(NI, genproc_453867_1009139178)(Tctx345035* c0, Tsym294834* s0);
  N_NIMCALL(void, T2569374918_76)(void* p, NI op);
  N_NIMCALL(void, T2569374918_77)(void* p, NI op);
  N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0);
  N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0);
  N_NIMCALL(Tnode294802*, newnodei_296197_850551059)(Tnodekind294020 kind0, Tlineinfo193336 info0);
  N_NIMCALL(void, setupmacroparam_473835_2569374918)(Tnode294802* x0, Ttype294840* typ0, Tfullreg460204* Result);
  N_NIMCALL(void, putintoreg_461292_2569374918)(Tfullreg460204* dest0, Tnode294802* n0);
  N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0);
  N_NIMCALL(Tnode294802*, canonvalue_449244_1009139178)(Tnode294802* n0);
  static N_INLINE(Tnode294802*, HEX5BHEX5D_295238_850551059)(Tnode294802* n0, NI i0);
  static N_INLINE(NI, len_295081_850551059)(Tnode294802* n0);
  N_NIMCALL(Tnode294802*, regtonode_461306_2569374918)(Tfullreg460204 x0);
  N_NIMCALL(void, rawexecute_462204_2569374918)(Tctx345035* c0, NI start0, Tstackframe460208* tos_462208_2569374918, Tfullreg460204* Result);
  N_NIMCALL(void, T2569374918_80)(void* p, NI op);
  N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0);
  N_NIMCALL(void, createstrkeepnode_460440_2569374918)(Tfullreg460204* x0, NIM_BOOL keepnode0);
  N_NIMCALL(void, asgncomplex_461244_2569374918)(Tfullreg460204* x0, Tfullreg460204 y0);
  N_NIMCALL(Tnode294802*, copyvalue_461125_2569374918)(Tnode294802* src0);
  N_NIMCALL(NI, sonslen_297351_850551059)(Tnode294802* n0);
  N_NIMCALL(void, moveconst_461096_2569374918)(Tfullreg460204* x0, Tfullreg460204 y0);
  N_NIMCALL(void, putintonode_461268_2569374918)(Tnode294802** n0, Tfullreg460204 x0);
  N_NIMCALL(void, stacktrace_460312_2569374918)(Tctx345035* c0, Tstackframe460208* tos0, NI pc0, Tmsgkind193002 msg0, NimStringDesc* arg0);
  N_NIMCALL(void, msgwriteln_194450_155036129)(NimStringDesc* s0, Msgflag194444Set flags0);
  N_NIMCALL(void, stacktraceaux_460231_2569374918)(Tctx345035* c0, Tstackframe460208* x_460234_2569374918, NI pc0, NI recursionlimit0);
  static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
  static N_INLINE(void, copymem_7485_1689653243)(void* dest0, void* source0, NI size0);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
  N_NIMCALL(NimStringDesc*, tofilename_194260_155036129)(NI32 fileidx0);
  static N_INLINE(NI, tolinenumber_194415_155036129)(Tlineinfo193336 info0);
  N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0);
  N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0);
  N_NIMCALL(void, localerror_198080_155036129)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0);
  N_NIMCALL(NIM_BOOL, inset_342010_452470228)(Tnode294802* s0, Tnode294802* elem0);
  N_NIMCALL(void, addson_296807_850551059)(Tnode294802* father0, Tnode294802* son0);
  N_NIMCALL(Tnode294802*, copytree_298822_850551059)(Tnode294802* src0);
  N_NIMCALL(Tnode294802*, newnodeit_296801_850551059)(Tnodekind294020 kind0, Tlineinfo193336 info0, Ttype294840* typ0);
  N_NIMCALL(Tnode294802*, diffsets_342030_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(void, discardsons_295078_850551059)(Tnode294802* father0);
  N_NIMCALL(NI64, cardset_342050_452470228)(Tnode294802* s0);
  N_NIMCALL(NIM_BOOL, exprstructuralequivalent_320311_2616423590)(Tnode294802* a0, Tnode294802* b0, NIM_BOOL strictsymequality0);
  N_NIMCALL(NIM_BOOL, sametypeornil_326643_3876443242)(Ttype294840* a0, Ttype294840* b0, Ttypecmpflag326429Set flags0);
  static N_INLINE(NI, cmpStrings)(NimStringDesc* a0, NimStringDesc* b0);
  N_NIMCALL(NIM_BOOL, containssets_342042_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(NIM_BOOL, equalsets_342046_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(Tnode294802*, intersectsets_342034_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(Tnode294802*, unionsets_342026_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(Tnode294802*, symdiffsets_342038_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x0);
  N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI start_79210_1689653243, NI last0);
  N_NIMCALL(NimStringDesc*, copyStrLast)(NimStringDesc* s0, NI first0, NI last0);
  N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s0, NF* number0, NI start0);
  N_NIMCALL(NI, nimParseBiggestFloat)(NimStringDesc* s0, NF* number0, NI start0);
  N_NIMCALL(NIM_BOOL, levalueconv_355012_2569619629)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(NimStringDesc*, msgkindtostring_194723_155036129)(Tmsgkind193002 kind0);
  N_NIMCALL(NimStringDesc*, HEX24_313066_382274130)(Tnode294802* n0);
  N_NIMCALL(NI, compile_462036_2569374918)(Tctx345035* c0, Tsym294834* s0);
  static N_INLINE(NIM_BOOL, isemptytype_299440_850551059)(Ttype294840* t0);
  N_NIMCALL(Tnode294802*, getnullvalue_452401_1009139178)(Ttype294840* typ0, Tlineinfo193336 info0);
  N_NIMCALL(Tnode294802*, newsymnode_296183_850551059)(Tsym294834* sym0);
  N_NIMCALL(Tnode294802*, evaltemplate_459329_885920397)(Tnode294802* n0, Tsym294834* tmpl0, Tsym294834* gensymowner0, NIM_BOOL fromhlo0);
  N_NIMCALL(NIM_BOOL, overlap_342006_452470228)(Tnode294802* a0, Tnode294802* b0);
  N_NIMCALL(void, pushsafepoint_461323_2569374918)(Tstackframe460208* f0, NI pc0);
  N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0);
  N_NIMCALL(void, popsafepoint_461361_2569374918)(Tstackframe460208* f0);
  static N_INLINE(NI, pop_461365_1689653243)(TY370521** s0);
  N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0);
  N_NIMCALL(void, cleanuponexception_461393_2569374918)(Tctx345035* c0, Tstackframe460208* tos0, TY461397* Result);
  N_NIMCALL(Ttype294840*, skiptypes_298099_850551059)(Ttype294840* t0, Ttypekind294244Set kinds0);
  N_NIMCALL(NI, inheritancediff_328252_3876443242)(Ttype294840* a0, Ttype294840* b0);
  N_NIMCALL(void, bailout_460328_2569374918)(Tctx345035* c0, Tstackframe460208* tos0);
  N_NIMCALL(NimStringDesc*, mnewString)(NI len0);
  N_NIMCALL(NimStringDesc*, mnewString)(NI len0);
  N_NIMCALL(NIM_BOOL, fitsregister_450844_1009139178)(Ttype294840* t0);
  N_NIMCALL(void, message_198095_155036129)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0);
  N_NIMCALL(void, msgquit_194149_155036129)(NI8 x0);
  N_NIMCALL(NI64, getordvalue_322129_3876443242)(Tnode294802* n0);
  N_NIMCALL(void, genericShallowAssign)(void* dest0, void* src0, TNimType* mt0);
  N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0);
  N_NIMCALL(NIM_BOOL, sametype_326633_3876443242)(Ttype294840* a0, Ttype294840* b0, Ttypecmpflag326429Set flags0);
  N_NIMCALL(void, internalerror_198100_155036129)(Tlineinfo193336 info0, NimStringDesc* errmsg0);
  N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0);
  N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0);
  N_NIMCALL(Tnode294802*, copynode_298528_850551059)(Tnode294802* src0);
  N_NIMCALL(Tnode294802*, opmaptypetoast_456667_2143341386)(Ttype294840* t0, Tlineinfo193336 info0);
  N_NIMCALL(Tnode294802*, opmaptypeinsttoast_456672_2143341386)(Ttype294840* t0, Tlineinfo193336 info0);
  N_NIMCALL(Tnode294802*, opmaptypeimpltoast_456677_2143341386)(Ttype294840* t0, Tlineinfo193336 info0);
  N_NIMCALL(NimStringDesc*, opslurp_456024_2143341386)(NimStringDesc* file0, Tlineinfo193336 info0, Tsym294834* module0);
  N_NIMCALL(NimStringDesc*, opgorge_456008_2143341386)(NimStringDesc* cmd0, NimStringDesc* input0, NimStringDesc* cache0);
  N_NIMCALL(Tnode294802*, parsestring_311340_1574654094)(NimStringDesc* s0, NimStringDesc* filename0, NI line0, Terrorhandler287172 errorhandler0);
  N_NIMCALL(NimStringDesc*, tofullpath_194264_155036129)(NI32 fileidx0);
  N_CLOSURE(void, HEX3Aanonymous_470758_2569374918)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0, void* ClEnv);
  N_NIMCALL(NimStringDesc*, formatmsg_196649_155036129)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0);
  N_CLOSURE(void, HEX3Aanonymous_470808_2569374918)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0, void* ClEnv);
  static N_INLINE(NimStringDesc*, tofilelinecol_194427_155036129)(Tlineinfo193336 info0);
  N_NIMCALL(Tident201010*, getident_201441_791273810)(NimStringDesc* identifier0);
  N_NIMCALL(NIM_BOOL, opconv_461734_2569374918)(Tfullreg460204* dest0, Tfullreg460204 src0, Ttype294840* desttyp0, Ttype294840* srctyp0);
  N_NIMCALL(void, internalerror_198113_155036129)(NimStringDesc* errmsg0);
  N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0);
  N_NIMCALL(NimStringDesc*, HEX24_8401_1689653243)(NU64 x0);
  N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f0);
  N_NIMCALL(NimStringDesc*, typetostring_322017_3876443242)(Ttype294840* typ0, Tprefereddesc322011 prefer0);
  N_NIMCALL(NI64, firstord_322001_3876443242)(Ttype294840* t0);
  N_NIMCALL(NI64, lastord_322004_3876443242)(Ttype294840* t0);
  N_NIMCALL(NimStringDesc*, HEX24_198185_1689653243)(TY205018 x0);
  N_NIMCALL(void, delson_298481_850551059)(Tnode294802* father0, NI idx0);
  N_NIMCALL(Tsym294834*, newsym_295684_850551059)(Tsymkind294435 symkind0, Tident201010* name0, Tsym294834* owner0, Tlineinfo193336 info0);
  N_NIMCALL(Tnode294802*, loadany_458364_2499857528)(NimStringDesc* s0, Ttype294840* t0);
  N_NIMCALL(NimStringDesc*, rawNewString)(NI cap0);
  N_NIMCALL(void, storeany_457571_2499857528)(NimStringDesc** s0, Ttype294840* t0, Tnode294802* a0);
  N_NIMCALL(NIM_BOOL, cyclictree_320287_2616423590)(Tnode294802* n0);
  N_NIMCALL(Tnode294802*, evalconstexpraux_473409_2569374918)(Tsym294834* module0, Tsym294834* prc0, Tnode294802* n_473413_2569374918, Tevalmode345019 mode0);
  N_NIMCALL(Tnode294802*, transformexpr_446801_534969805)(Tsym294834* module0, Tnode294802* n0);
  N_NIMCALL(NI, genexpr_454638_1009139178)(Tctx345035* c0, Tnode294802* n0, NIM_BOOL requiresvalue0);
  N_NIMCALL(void, evalstmt_472815_2569374918)(Tctx345035* c0, Tnode294802* n_472818_2569374918);
  N_NIMCALL(NI, genstmt_454622_1009139178)(Tctx345035* c0, Tnode294802* n0);
  N_NIMCALL(Tnode294802*, execute_472702_2569374918)(Tctx345035* c0, NI start0);
  STRING_LITERAL(T2569374918_3, "", 0);
  STRING_LITERAL(T2569374918_4, "in call \'$#\' got $#, but expected $# argument(s)", 48);
  STRING_LITERAL(T2569374918_5, "stdlib.math.sqrt", 16);
  TNimNode* NimDT_460204_kind[7];
  STRING_LITERAL(T2569374918_9, "i < a.rc - 1 ", 13);
  STRING_LITERAL(T2569374918_10, "s[i + a.rb + 1].kind == rkFloat ", 32);
  STRING_LITERAL(T2569374918_12, "stdlib.math.ln", 14);
  STRING_LITERAL(T2569374918_14, "stdlib.math.log10", 17);
  STRING_LITERAL(T2569374918_16, "stdlib.math.log2", 16);
  STRING_LITERAL(T2569374918_18, "stdlib.math.exp", 15);
  STRING_LITERAL(T2569374918_20, "stdlib.math.round", 17);
  STRING_LITERAL(T2569374918_22, "stdlib.math.arccos", 18);
  STRING_LITERAL(T2569374918_24, "stdlib.math.arcsin", 18);
  STRING_LITERAL(T2569374918_26, "stdlib.math.arctan", 18);
  STRING_LITERAL(T2569374918_28, "stdlib.math.arctan2", 19);
  STRING_LITERAL(T2569374918_30, "stdlib.math.cos", 15);
  STRING_LITERAL(T2569374918_32, "stdlib.math.cosh", 16);
  STRING_LITERAL(T2569374918_34, "stdlib.math.hypot", 17);
  STRING_LITERAL(T2569374918_36, "stdlib.math.sinh", 16);
  STRING_LITERAL(T2569374918_38, "stdlib.math.sin", 15);
  STRING_LITERAL(T2569374918_40, "stdlib.math.tan", 15);
  STRING_LITERAL(T2569374918_42, "stdlib.math.tanh", 16);
  STRING_LITERAL(T2569374918_44, "stdlib.math.pow", 15);
  STRING_LITERAL(T2569374918_46, "stdlib.math.trunc", 17);
  STRING_LITERAL(T2569374918_48, "stdlib.math.floor", 17);
  STRING_LITERAL(T2569374918_50, "stdlib.math.ceil", 16);
  STRING_LITERAL(T2569374918_52, "stdlib.math.fmod", 16);
  STRING_LITERAL(T2569374918_54, "stdlib.os.getEnv", 16);
  STRING_LITERAL(T2569374918_55, "s[i + a.rb + 1].kind == rkNode ", 31);
  STRING_LITERAL(T2569374918_57, "stdlib.os.existsEnv", 19);
  STRING_LITERAL(T2569374918_59, "stdlib.os.dirExists", 19);
  STRING_LITERAL(T2569374918_61, "stdlib.os.fileExists", 20);
  STRING_LITERAL(T2569374918_63, "stdlib.system.writeFile", 23);
  STRING_LITERAL(T2569374918_65, "stdlib.system.readFile", 22);
  STRING_LITERAL(T2569374918_67, "stdlib.system.getCurrentExceptionMsg", 36);
  STRING_LITERAL(T2569374918_69, "stdlib.*.staticWalkDir", 22);
  STRING_LITERAL(T2569374918_71, ".", 1);
  STRING_LITERAL(T2569374918_72, "..", 2);
  STRING_LITERAL(T2569374918_73, "s[i + a.rb + 1].kind == rkInt ", 30);
  STRING_LITERAL(T2569374918_78, "static[T] or typedesc nor supported for .immediate macros", 57);
  STRING_LITERAL(T2569374918_81, "stack trace: (most recent call last)", 36);
  STRING_LITERAL(T2569374918_82, " calls omitted\012", 15);
  STRING_LITERAL(T2569374918_83, "limited VM support for \'addr\'", 29);
  STRING_LITERAL(T2569374918_84, "limited VM support for pointers", 31);
  STRING_LITERAL(T2569374918_85, "symbol", 6);
  STRING_LITERAL(T2569374918_86, "[", 1);
  STRING_LITERAL(T2569374918_87, "]", 1);
  STRING_LITERAL(T2569374918_89, "VM not allowed to do FFI", 24);
  STRING_LITERAL(T2569374918_90, "VM not built with FFI support", 29);
  NIM_CONST TY461397 T2569374918_91 = {((NI) -1),
  NIM_NIL}
  ;
  STRING_LITERAL(T2569374918_92, "too implement", 13);
  STRING_LITERAL(T2569374918_93, "value out of range", 18);
  STRING_LITERAL(T2569374918_94, "cannot add to node kind: ", 25);
  STRING_LITERAL(T2569374918_95, "intVal", 6);
  STRING_LITERAL(T2569374918_96, "floatVal", 8);
  STRING_LITERAL(T2569374918_97, "ident", 5);
  STRING_LITERAL(T2569374918_98, "node has no type", 16);
  STRING_LITERAL(T2569374918_99, "strVal", 6);
  STRING_LITERAL(T2569374918_100, "multiple statements", 19);
  STRING_LITERAL(T2569374918_101, "callsite", 8);
  STRING_LITERAL(T2569374918_102, "(", 1);
  STRING_LITERAL(T2569374918_103, ",", 1);
  STRING_LITERAL(T2569374918_104, ")", 1);
  STRING_LITERAL(T2569374918_105, "cannot set type", 15);
  STRING_LITERAL(T2569374918_106, "opConv for enum", 15);
  STRING_LITERAL(T2569374918_107, " ", 1);
  STRING_LITERAL(T2569374918_108, "false", 5);
  STRING_LITERAL(T2569374918_109, "true", 4);
  STRING_LITERAL(T2569374918_110, "cannot convert to string ", 25);
  STRING_LITERAL(T2569374918_111, "cannot evaluate cast", 20);
  STRING_LITERAL(T2569374918_113, "compiler/vm.nim", 15);
  NIM_CONST TY205018 T2569374918_112 = {((NimStringDesc*) &T2569374918_113),
  ((NI) 1377)}
  ;
  NIM_CONST TY205018 T2569374918_114 = {((NimStringDesc*) &T2569374918_113),
  ((NI) 1378)}
  ;
  STRING_LITERAL(T2569374918_115, "request to create a NimNode of invalid kind", 43);
  STRING_LITERAL(T2569374918_116, ":tmp", 4);
  STRING_LITERAL(T2569374918_117, "request to create symbol of invalid kind", 40);
  NIM_CONST TY205018 T2569374918_118 = {((NimStringDesc*) &T2569374918_113),
  ((NI) 1432)}
  ;
  Tctx345035* globalctx_473241_2569374918;
  extern TNimType NTI345033; /* PCtx */
  NI olderrorcount_473401_2569374918;
  NI evalmacrocounter_473867_2569374918;
  extern Gcheap49818 gch_49858_1689653243;
  TNimType NTI460204; /* TFullReg */
  TNimType NTI460202; /* TRegisterKind */
  extern TNimType NTI7288; /* BiggestInt */
  extern TNimType NTI7290; /* BiggestFloat */
  extern TNimType NTI294794; /* PNode */
  TNimType NTI460219; /* ptr TFullReg */
  extern TNimType NTI460221; /* ptr PNode */
  extern TSafePoint* exchandler_18837_1689653243;
  TNimType NTI460208; /* TStackFrame */
  extern TNimType NTI294800; /* PSym */
  TNimType NTI460855; /* seq[TFullReg] */
  extern TNimType NTI104; /* int */
  extern TNimType NTI370521; /* seq[int] */
  TNimType NTI460206; /* PStackFrame */
  TNimType NTI472230; /* object */
  extern TNimType NTI104021; /* range -1..0(int) */
  extern TNimType NTI138; /* string */
  TNimType NTI472229; /* ref object */
  extern TNimType NTI294802; /* TNode */
  extern TNimType NTI294796; /* TNodeSeq */
  extern TNimType NTI294020; /* TNodeKind */
  extern Tnode294802* emptynode_295801_850551059;
  extern NI gerrorcounter_194072_155036129;
  N_NIMCALL(void, T2569374918_2)(void) {
  	nimGCvisit((void*)globalctx_473241_2569374918, 0);
  }
  
  static N_INLINE(NI, safelen_295103_850551059)(Tnode294802* n0) {
  	NI result0;
  	result0 = (NI)0;
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = ((*n0).kind >= ((Tnodekind294020) 0) && (*n0).kind <= ((Tnodekind294020) 23));
  		if (LOC3) goto LA4;
  		LOC3 = (*n0).kindU.S6.sons == 0;
  		LA4: ;
  		if (!LOC3) goto LA5;
  		result0 = ((NI) 0);
  	}
  	goto LA1;
  	LA5: ;
  	{
  		result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
  	}
  	LA1: ;
  	return result0;
  }
  
  static N_INLINE(void, incref_53419_1689653243)(Cell47304* c0) {
  	(*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8)));
  }
  
  static N_INLINE(Cell47304*, usrtocell_51440_1689653243)(void* usr0) {
  	Cell47304* result0;
  	result0 = (Cell47304*)0;
  	result0 = ((Cell47304*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell47304))))));
  	return result0;
  }
  
  static N_INLINE(void, rtladdzct_52601_1689653243)(Cell47304* c0) {
  	addzct_51417_1689653243((&gch_49858_1689653243.zct), c0);
  }
  
  static N_INLINE(void, decref_53001_1689653243)(Cell47304* c0) {
  	{
  		(*c0).refcount -= ((NI) 8);
  		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
  		rtladdzct_52601_1689653243(c0);
  	}
  	LA3: ;
  }
  
  static N_INLINE(void, asgnRef)(void** dest0, void* src0) {
  	{
  		Cell47304* LOC5;
  		if (!!((src0 == NIM_NIL))) goto LA3;
  		LOC5 = (Cell47304*)0;
  		LOC5 = usrtocell_51440_1689653243(src0);
  		incref_53419_1689653243(LOC5);
  	}
  	LA3: ;
  	{
  		Cell47304* LOC10;
  		if (!!(((*dest0) == NIM_NIL))) goto LA8;
  		LOC10 = (Cell47304*)0;
  		LOC10 = usrtocell_51440_1689653243((*dest0));
  		decref_53001_1689653243(LOC10);
  	}
  	LA8: ;
  	(*dest0) = src0;
  }
  
  N_NIMCALL(void, myreset_460401_2569374918)(Tfullreg460204* n0) {
  	genericReset((void*)(&(*n0)), (&NTI460204));
  }
  
  N_NIMCALL(void, setresult_460851_2569374918)(Vmargs345029* a0, NF v0) {
  	TY460855* s0;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 3)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 3);
  	}
  	LA3: ;
  	s0->data[(*a0).ra].kindU.floatval = v0;
  }
  
  N_NIMCALL(NF, getfloat_461014_2569374918)(Vmargs345029* a0, NI i0) {
  	NF result0;
  	TY460855* s0;
  	result0 = (NF)0;
  	{
  		if (!!((((NI) (i0)) < ((NI) ((NI)(((NI) ((*a0).rc)) - ((NI) 1))))))) goto LA3;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_9));
  	}
  	LA3: ;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kind == ((Tregisterkind460202) 3)))) goto LA7;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_10));
  	}
  	LA7: ;
  	result0 = s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kindU.floatval;
  	return result0;
  }
  
  N_NIMCALL(void, sqrtwrapper_473138_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = sqrt(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, lnwrapper_473141_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = log(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, log10wrapper_473144_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = log10(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, log2wrapper_473147_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = log2_473151_1009420244(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, expwrapper_473157_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = exp(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, roundwrapper_473160_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = round_111663_1009420244(LOC1, ((NI) 0));
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, arccoswrapper_473172_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = acos(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, arcsinwrapper_473175_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = asin(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, arctanwrapper_473178_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = atan(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, arctan2wrapper_473181_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	NF LOC3;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = getfloat_461014_2569374918(a0, ((NI) 1));
  	LOC3 = (NF)0;
  	LOC3 = atan2(LOC1, LOC2);
  	setresult_460851_2569374918(a0, LOC3);
  }
  
  N_NIMCALL(void, coswrapper_473184_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = cos(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, coshwrapper_473187_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = cosh(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, hypotwrapper_473190_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	NF LOC3;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = getfloat_461014_2569374918(a0, ((NI) 1));
  	LOC3 = (NF)0;
  	LOC3 = hypot(LOC1, LOC2);
  	setresult_460851_2569374918(a0, LOC3);
  }
  
  N_NIMCALL(void, sinhwrapper_473193_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = sinh(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, sinwrapper_473196_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = sin(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, tanwrapper_473199_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = tan(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, tanhwrapper_473202_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = tanh(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, powwrapper_473205_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	NF LOC3;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = getfloat_461014_2569374918(a0, ((NI) 1));
  	LOC3 = (NF)0;
  	LOC3 = pow(LOC1, LOC2);
  	setresult_460851_2569374918(a0, LOC3);
  }
  
  N_NIMCALL(void, truncwrapper_473208_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = trunc(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, floorwrapper_473211_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = floor(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, ceilwrapper_473214_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = ceil(LOC1);
  	setresult_460851_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, fmodwrapper_473217_2569374918)(Vmargs345029* a0) {
  	NF LOC1;
  	NF LOC2;
  	NF LOC3;
  	LOC1 = (NF)0;
  	LOC1 = getfloat_461014_2569374918(a0, ((NI) 0));
  	LOC2 = (NF)0;
  	LOC2 = getfloat_461014_2569374918(a0, ((NI) 1));
  	LOC3 = (NF)0;
  	LOC3 = fmod(LOC1, LOC2);
  	setresult_460851_2569374918(a0, LOC3);
  }
  
  static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) {
  	{
  		Cell47304* c0;
  		if (!!((src0 == NIM_NIL))) goto LA3;
  		c0 = usrtocell_51440_1689653243(src0);
  		(*c0).refcount += ((NI) 8);
  	}
  	LA3: ;
  	{
  		Cell47304* c0;
  		if (!!(((*dest0) == NIM_NIL))) goto LA7;
  		c0 = usrtocell_51440_1689653243((*dest0));
  		{
  			(*c0).refcount -= ((NI) 8);
  			if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA11;
  			rtladdzct_52601_1689653243(c0);
  		}
  		LA11: ;
  	}
  	LA7: ;
  	(*dest0) = src0;
  }
  
  static N_INLINE(void, nimGCunrefNoCycle)(void* p0) {
  	Cell47304* c0;
  	c0 = usrtocell_51440_1689653243(p0);
  	{
  		(*c0).refcount -= ((NI) 8);
  		if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3;
  		rtladdzct_52601_1689653243(c0);
  	}
  	LA3: ;
  }
  
  N_NIMCALL(void, setresult_460900_2569374918)(Vmargs345029* a0, NimStringDesc* v0) {
  	TY460855* s0;
  	NimStringDesc* LOC5;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 1)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 1);
  	}
  	LA3: ;
  	asgnRefNoCycle((void**) (&s0->data[(*a0).ra].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  	LOC5 = (NimStringDesc*)0;
  	LOC5 = (*s0->data[(*a0).ra].kindU.node).kindU.S3.strval; (*s0->data[(*a0).ra].kindU.node).kindU.S3.strval = copyStringRC1(v0);
  	if (LOC5) nimGCunrefNoCycle(LOC5);
  }
  
  N_NIMCALL(NimStringDesc*, getstring_461037_2569374918)(Vmargs345029* a0, NI i0) {
  	NimStringDesc* result0;
  	TY460855* s0;
  	result0 = (NimStringDesc*)0;
  	{
  		if (!!((((NI) (i0)) < ((NI) ((NI)(((NI) ((*a0).rc)) - ((NI) 1))))))) goto LA3;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_9));
  	}
  	LA3: ;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kind == ((Tregisterkind460202) 1)))) goto LA7;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_55));
  	}
  	LA7: ;
  	result0 = copyString((*s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kindU.node).kindU.S3.strval);
  	return result0;
  }
  
  N_NIMCALL(void, getenvwrapper_473220_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NimStringDesc* LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NimStringDesc*)0;
  	LOC2 = getenv_136625_2125978480(LOC1);
  	setresult_460900_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, setresult_460871_2569374918)(Vmargs345029* a0, NIM_BOOL v_460874_2569374918) {
  	NI v0;
  	TY460855* s0;
  	v0 = v_460874_2569374918;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 2)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 2);
  	}
  	LA3: ;
  	s0->data[(*a0).ra].kindU.intval = ((NI64) (v0));
  }
  
  N_NIMCALL(void, existsenvwrapper_473223_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NIM_BOOL LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NIM_BOOL)0;
  	LOC2 = existsenv_136634_2125978480(LOC1);
  	setresult_460871_2569374918(a0, LOC2);
  }
  
  static N_INLINE(NIM_BOOL, direxists_132608_2125978480)(NimStringDesc* dir0) {
  	NIM_BOOL result0;
  	result0 = (NIM_BOOL)0;
  	result0 = nosexistsDir(dir0);
  	return result0;
  }
  
  N_NIMCALL(void, direxistswrapper_473226_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NIM_BOOL LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NIM_BOOL)0;
  	LOC2 = direxists_132608_2125978480(LOC1);
  	setresult_460871_2569374918(a0, LOC2);
  }
  
  static N_INLINE(NIM_BOOL, fileexists_132604_2125978480)(NimStringDesc* filename0) {
  	NIM_BOOL result0;
  	result0 = (NIM_BOOL)0;
  	result0 = nosexistsFile(filename0);
  	return result0;
  }
  
  N_NIMCALL(void, fileexistswrapper_473229_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NIM_BOOL LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NIM_BOOL)0;
  	LOC2 = fileexists_132604_2125978480(LOC1);
  	setresult_460871_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, writefilewrapper_473232_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NimStringDesc* LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NimStringDesc*)0;
  	LOC2 = getstring_461037_2569374918(a0, ((NI) 1));
  	writefile_14871_1689653243(LOC1, LOC2);
  }
  
  N_NIMCALL(void, readfilewrapper_473235_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NimStringDesc* LOC2;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NimStringDesc*)0;
  	LOC2 = readfile_14868_1689653243(LOC1);
  	setresult_460900_2569374918(a0, LOC2);
  }
  
  N_NIMCALL(void, getcurrentexceptionmsgwrapper_473077_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	LOC1 = (NimStringDesc*)0;
  	{
  		if (!(*a0).currentexception == 0) goto LA4;
  		LOC1 = copyString(((NimStringDesc*) &T2569374918_3));
  	}
  	goto LA2;
  	LA4: ;
  	{
  		Tnode294802* LOC7;
  		LOC7 = (Tnode294802*)0;
  		LOC7 = skipcolon_457197_2499857528((*(*a0).currentexception).kindU.S6.sons->data[((NI) 3)]);
  		LOC1 = copyString((*LOC7).kindU.S3.strval);
  	}
  	LA2: ;
  	setresult_460900_2569374918(a0, LOC1);
  }
  
  N_NIMCALL(void, setresult_460922_2569374918)(Vmargs345029* a0, Tnode294802* n0) {
  	TY460855* s0;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 1)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 1);
  	}
  	LA3: ;
  	asgnRefNoCycle((void**) (&s0->data[(*a0).ra].kindU.node), n0);
  }
  
  static N_INLINE(void, pushSafePoint)(TSafePoint* s0) {
  	(*s0).hasRaiseAction = NIM_FALSE;
  	(*s0).prev = exchandler_18837_1689653243;
  	exchandler_18837_1689653243 = s0;
  }
  
  static N_INLINE(NIM_BOOL, equalmem_7495_1689653243)(void* a0, void* b0, NI size0) {
  	NIM_BOOL result0;
  	int LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (int)0;
  	LOC1 = memcmp(a0, b0, ((size_t) (size0)));
  	result0 = (LOC1 == ((NI32) 0));
  	return result0;
  }
  
  static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) {
  	NIM_BOOL result0;
  	NIM_BOOL LOC11;
  {	result0 = (NIM_BOOL)0;
  	{
  		if (!(a0 == b0)) goto LA3;
  		result0 = NIM_TRUE;
  		goto BeforeRet;
  	}
  	LA3: ;
  	{
  		NIM_BOOL LOC7;
  		LOC7 = (NIM_BOOL)0;
  		LOC7 = (a0 == NIM_NIL);
  		if (LOC7) goto LA8;
  		LOC7 = (b0 == NIM_NIL);
  		LA8: ;
  		if (!LOC7) goto LA9;
  		result0 = NIM_FALSE;
  		goto BeforeRet;
  	}
  	LA9: ;
  	LOC11 = (NIM_BOOL)0;
  	LOC11 = ((*a0).Sup.len == (*b0).Sup.len);
  	if (!(LOC11)) goto LA12;
  	LOC11 = equalmem_7495_1689653243(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len)));
  	LA12: ;
  	result0 = LOC11;
  	goto BeforeRet;
  	}BeforeRet: ;
  	return result0;
  }
  
  static N_INLINE(void, popSafePoint)(void) {
  	exchandler_18837_1689653243 = (*exchandler_18837_1689653243).prev;
  }
  
  N_NIMCALL(Tnode294802*, staticwalkdirimpl_473092_2569374918)(NimStringDesc* path0, NIM_BOOL relative0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	result0 = newnode_295401_850551059(((Tnodekind294020) 41));
  	{
  		Pathcomponent138212 k_473097_2569374918;
  		NimStringDesc* f_473098_2569374918;
  		DIR* d_473126_2569374918;
  		k_473097_2569374918 = (Pathcomponent138212)0;
  		f_473098_2569374918 = (NimStringDesc*)0;
  		d_473126_2569374918 = opendir(path0->data);
  		{
  			TSafePoint T2569374918_70;
  			if (!!((d_473126_2569374918 == NIM_NIL))) goto LA4;
  			pushSafePoint(&T2569374918_70);
  			T2569374918_70.status = setjmp(T2569374918_70.context);
  			if (T2569374918_70.status == 0) {
  				{
  					while (1) {
  						{
  							struct dirent* x_473128_2569374918;
  							NimStringDesc* volatile y_473130_2569374918;
  							x_473128_2569374918 = readdir(d_473126_2569374918);
  							{
  								if (!(x_473128_2569374918 == NIM_NIL)) goto LA12;
  								goto LA7;
  							}
  							LA12: ;
  							y_473130_2569374918 = cstrToNimstr(((NCSTRING) ((*x_473128_2569374918).d_name)));
  							{
  								NIM_BOOL LOC16;
  								struct stat s_473132_2569374918;
  								Pathcomponent138212 volatile k_473134_2569374918;
  								TY442139 LOC58;
  								Tnode294802* LOC59;
  								LOC16 = (NIM_BOOL)0;
  								LOC16 = !(eqStrings(y_473130_2569374918, ((NimStringDesc*) &T2569374918_71)));
  								if (!(LOC16)) goto LA17;
  								LOC16 = !(eqStrings(y_473130_2569374918, ((NimStringDesc*) &T2569374918_72)));
  								LA17: ;
  								if (!LOC16) goto LA18;
  								memset((void*)(&s_473132_2569374918), 0, sizeof(s_473132_2569374918));
  								{
  									if (!!(relative0)) goto LA22;
  									y_473130_2569374918 = HEX2F_129265_2125978480(path0, y_473130_2569374918);
  								}
  								LA22: ;
  								k_473134_2569374918 = ((Pathcomponent138212) 0);
  								{
  									TY442139 LOC42;
  									Tnode294802* LOC43;
  									if (!!(((*x_473128_2569374918).d_type == ((NI8) 0)))) goto LA26;
  									{
  										if (!((*x_473128_2569374918).d_type == ((NI8) 4))) goto LA30;
  										k_473134_2569374918 = ((Pathcomponent138212) 2);
  									}
  									LA30: ;
  									{
  										if (!((*x_473128_2569374918).d_type == ((NI8) 10))) goto LA34;
  										{
  											NIM_BOOL LOC38;
  											LOC38 = (NIM_BOOL)0;
  											LOC38 = direxists_132608_2125978480(y_473130_2569374918);
  											if (!LOC38) goto LA39;
  											k_473134_2569374918 = ((Pathcomponent138212) 3);
  										}
  										goto LA36;
  										LA39: ;
  										{
  											k_473134_2569374918 = ((Pathcomponent138212) 1);
  										}
  										LA36: ;
  									}
  									LA34: ;
  									k_473097_2569374918 = k_473134_2569374918;
  									f_473098_2569374918 = y_473130_2569374918;
  									memset((void*)LOC42, 0, sizeof(LOC42));
  									LOC42[0] = newintnode_295660_850551059(((Tnodekind294020) 6), ((NI64) (k_473097_2569374918)));
  									LOC42[1] = newstrnode_295678_850551059(((Tnodekind294020) 20), f_473098_2569374918);
  									LOC43 = (Tnode294802*)0;
  									LOC43 = newtree_295602_850551059(((Tnodekind294020) 37), LOC42, 2);
  									add_295136_850551059(result0, LOC43);
  									goto LA9;
  								}
  								LA26: ;
  								{
  									int LOC46;
  									LOC46 = (int)0;
  									LOC46 = lstat(y_473130_2569374918->data, (&s_473132_2569374918));
  									if (!(LOC46 < ((NI32) 0))) goto LA47;
  									goto LA7;
  								}
  								LA47: ;
  								{
  									NIM_BOOL LOC51;
  									LOC51 = (NIM_BOOL)0;
  									LOC51 = S_ISDIR(s_473132_2569374918.st_mode);
  									if (!LOC51) goto LA52;
  									k_473134_2569374918 = ((Pathcomponent138212) 2);
  								}
  								goto LA49;
  								LA52: ;
  								{
  									NIM_BOOL LOC55;
  									LOC55 = (NIM_BOOL)0;
  									LOC55 = S_ISLNK(s_473132_2569374918.st_mode);
  									if (!LOC55) goto LA56;
  									k_473134_2569374918 = getsymlinkfilekind_138219_2125978480(y_473130_2569374918);
  								}
  								goto LA49;
  								LA56: ;
  								LA49: ;
  								k_473097_2569374918 = k_473134_2569374918;
  								f_473098_2569374918 = y_473130_2569374918;
  								memset((void*)LOC58, 0, sizeof(LOC58));
  								LOC58[0] = newintnode_295660_850551059(((Tnodekind294020) 6), ((NI64) (k_473097_2569374918)));
  								LOC58[1] = newstrnode_295678_850551059(((Tnodekind294020) 20), f_473098_2569374918);
  								LOC59 = (Tnode294802*)0;
  								LOC59 = newtree_295602_850551059(((Tnodekind294020) 37), LOC58, 2);
  								add_295136_850551059(result0, LOC59);
  							}
  							LA18: ;
  						} LA9: ;
  					}
  				} LA7: ;
  				popSafePoint();
  			}
  			else {
  				popSafePoint();
  			}
  			{
  				int LOC62;
  				LOC62 = (int)0;
  				LOC62 = closedir(d_473126_2569374918);
  			}
  			if (T2569374918_70.status != 0) reraiseException();
  		}
  		LA4: ;
  	}
  	return result0;
  }
  
  N_NIMCALL(NI64, getint_460986_2569374918)(Vmargs345029* a0, NI i0) {
  	NI64 result0;
  	TY460855* s0;
  	result0 = (NI64)0;
  	{
  		if (!!((((NI) (i0)) < ((NI) ((NI)(((NI) ((*a0).rc)) - ((NI) 1))))))) goto LA3;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_9));
  	}
  	LA3: ;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kind == ((Tregisterkind460202) 2)))) goto LA7;
  		raiseassert_91216_1689653243(((NimStringDesc*) &T2569374918_73));
  	}
  	LA7: ;
  	result0 = s0->data[(NI)(((NI) ((NI)(((NI) (i0)) + ((NI) ((*a0).rb))))) + ((NI) 1))].kindU.intval;
  	return result0;
  }
  
  N_NIMCALL(NIM_BOOL, getbool_461009_2569374918)(Vmargs345029* a0, NI i0) {
  	NIM_BOOL result0;
  	NI64 LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (NI64)0;
  	LOC1 = getint_460986_2569374918(a0, i0);
  	result0 = !((LOC1 == IL64(0)));
  	return result0;
  }
  
  N_NIMCALL(void, HEX3Aanonymous_473238_2569374918)(Vmargs345029* a0) {
  	NimStringDesc* LOC1;
  	NIM_BOOL LOC2;
  	Tnode294802* LOC3;
  	LOC1 = (NimStringDesc*)0;
  	LOC1 = getstring_461037_2569374918(a0, ((NI) 0));
  	LOC2 = (NIM_BOOL)0;
  	LOC2 = getbool_461009_2569374918(a0, ((NI) 1));
  	LOC3 = (Tnode294802*)0;
  	LOC3 = staticwalkdirimpl_473092_2569374918(LOC1, LOC2);
  	setresult_460922_2569374918(a0, LOC3);
  }
  
  N_NIMCALL(void, registeradditionalops_473135_2569374918)(Tctx345035* c0) {
  	Vmcallback345031 LOC1;
  	Vmcallback345031 LOC2;
  	Vmcallback345031 LOC3;
  	Vmcallback345031 LOC4;
  	Vmcallback345031 LOC5;
  	Vmcallback345031 LOC6;
  	Vmcallback345031 LOC7;
  	Vmcallback345031 LOC8;
  	Vmcallback345031 LOC9;
  	Vmcallback345031 LOC10;
  	Vmcallback345031 LOC11;
  	Vmcallback345031 LOC12;
  	Vmcallback345031 LOC13;
  	Vmcallback345031 LOC14;
  	Vmcallback345031 LOC15;
  	Vmcallback345031 LOC16;
  	Vmcallback345031 LOC17;
  	Vmcallback345031 LOC18;
  	Vmcallback345031 LOC19;
  	Vmcallback345031 LOC20;
  	Vmcallback345031 LOC21;
  	Vmcallback345031 LOC22;
  	Vmcallback345031 LOC23;
  	Vmcallback345031 LOC24;
  	Vmcallback345031 LOC25;
  	Vmcallback345031 LOC26;
  	Vmcallback345031 LOC27;
  	Vmcallback345031 LOC28;
  	Vmcallback345031 LOC29;
  	Vmcallback345031 LOC30;
  	memset((void*)(&LOC1), 0, sizeof(LOC1));
  	LOC1.ClPrc = ((T2569374918_11) (sqrtwrapper_473138_2569374918)); LOC1.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_5), LOC1);
  	memset((void*)(&LOC2), 0, sizeof(LOC2));
  	LOC2.ClPrc = ((T2569374918_13) (lnwrapper_473141_2569374918)); LOC2.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_12), LOC2);
  	memset((void*)(&LOC3), 0, sizeof(LOC3));
  	LOC3.ClPrc = ((T2569374918_15) (log10wrapper_473144_2569374918)); LOC3.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_14), LOC3);
  	memset((void*)(&LOC4), 0, sizeof(LOC4));
  	LOC4.ClPrc = ((T2569374918_17) (log2wrapper_473147_2569374918)); LOC4.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_16), LOC4);
  	memset((void*)(&LOC5), 0, sizeof(LOC5));
  	LOC5.ClPrc = ((T2569374918_19) (expwrapper_473157_2569374918)); LOC5.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_18), LOC5);
  	memset((void*)(&LOC6), 0, sizeof(LOC6));
  	LOC6.ClPrc = ((T2569374918_21) (roundwrapper_473160_2569374918)); LOC6.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_20), LOC6);
  	memset((void*)(&LOC7), 0, sizeof(LOC7));
  	LOC7.ClPrc = ((T2569374918_23) (arccoswrapper_473172_2569374918)); LOC7.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_22), LOC7);
  	memset((void*)(&LOC8), 0, sizeof(LOC8));
  	LOC8.ClPrc = ((T2569374918_25) (arcsinwrapper_473175_2569374918)); LOC8.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_24), LOC8);
  	memset((void*)(&LOC9), 0, sizeof(LOC9));
  	LOC9.ClPrc = ((T2569374918_27) (arctanwrapper_473178_2569374918)); LOC9.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_26), LOC9);
  	memset((void*)(&LOC10), 0, sizeof(LOC10));
  	LOC10.ClPrc = ((T2569374918_29) (arctan2wrapper_473181_2569374918)); LOC10.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_28), LOC10);
  	memset((void*)(&LOC11), 0, sizeof(LOC11));
  	LOC11.ClPrc = ((T2569374918_31) (coswrapper_473184_2569374918)); LOC11.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_30), LOC11);
  	memset((void*)(&LOC12), 0, sizeof(LOC12));
  	LOC12.ClPrc = ((T2569374918_33) (coshwrapper_473187_2569374918)); LOC12.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_32), LOC12);
  	memset((void*)(&LOC13), 0, sizeof(LOC13));
  	LOC13.ClPrc = ((T2569374918_35) (hypotwrapper_473190_2569374918)); LOC13.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_34), LOC13);
  	memset((void*)(&LOC14), 0, sizeof(LOC14));
  	LOC14.ClPrc = ((T2569374918_37) (sinhwrapper_473193_2569374918)); LOC14.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_36), LOC14);
  	memset((void*)(&LOC15), 0, sizeof(LOC15));
  	LOC15.ClPrc = ((T2569374918_39) (sinwrapper_473196_2569374918)); LOC15.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_38), LOC15);
  	memset((void*)(&LOC16), 0, sizeof(LOC16));
  	LOC16.ClPrc = ((T2569374918_41) (tanwrapper_473199_2569374918)); LOC16.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_40), LOC16);
  	memset((void*)(&LOC17), 0, sizeof(LOC17));
  	LOC17.ClPrc = ((T2569374918_43) (tanhwrapper_473202_2569374918)); LOC17.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_42), LOC17);
  	memset((void*)(&LOC18), 0, sizeof(LOC18));
  	LOC18.ClPrc = ((T2569374918_45) (powwrapper_473205_2569374918)); LOC18.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_44), LOC18);
  	memset((void*)(&LOC19), 0, sizeof(LOC19));
  	LOC19.ClPrc = ((T2569374918_47) (truncwrapper_473208_2569374918)); LOC19.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_46), LOC19);
  	memset((void*)(&LOC20), 0, sizeof(LOC20));
  	LOC20.ClPrc = ((T2569374918_49) (floorwrapper_473211_2569374918)); LOC20.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_48), LOC20);
  	memset((void*)(&LOC21), 0, sizeof(LOC21));
  	LOC21.ClPrc = ((T2569374918_51) (ceilwrapper_473214_2569374918)); LOC21.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_50), LOC21);
  	memset((void*)(&LOC22), 0, sizeof(LOC22));
  	LOC22.ClPrc = ((T2569374918_53) (fmodwrapper_473217_2569374918)); LOC22.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_52), LOC22);
  	memset((void*)(&LOC23), 0, sizeof(LOC23));
  	LOC23.ClPrc = ((T2569374918_56) (getenvwrapper_473220_2569374918)); LOC23.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_54), LOC23);
  	memset((void*)(&LOC24), 0, sizeof(LOC24));
  	LOC24.ClPrc = ((T2569374918_58) (existsenvwrapper_473223_2569374918)); LOC24.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_57), LOC24);
  	memset((void*)(&LOC25), 0, sizeof(LOC25));
  	LOC25.ClPrc = ((T2569374918_60) (direxistswrapper_473226_2569374918)); LOC25.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_59), LOC25);
  	memset((void*)(&LOC26), 0, sizeof(LOC26));
  	LOC26.ClPrc = ((T2569374918_62) (fileexistswrapper_473229_2569374918)); LOC26.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_61), LOC26);
  	memset((void*)(&LOC27), 0, sizeof(LOC27));
  	LOC27.ClPrc = ((T2569374918_64) (writefilewrapper_473232_2569374918)); LOC27.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_63), LOC27);
  	memset((void*)(&LOC28), 0, sizeof(LOC28));
  	LOC28.ClPrc = ((T2569374918_66) (readfilewrapper_473235_2569374918)); LOC28.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_65), LOC28);
  	memset((void*)(&LOC29), 0, sizeof(LOC29));
  	LOC29.ClPrc = ((T2569374918_68) (getcurrentexceptionmsgwrapper_473077_2569374918)); LOC29.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_67), LOC29);
  	memset((void*)(&LOC30), 0, sizeof(LOC30));
  	LOC30.ClPrc = ((T2569374918_74) (HEX3Aanonymous_473238_2569374918)); LOC30.ClEnv = NIM_NIL;
  	registercallback_345393_984354655(c0, ((NimStringDesc*) &T2569374918_69), LOC30);
  }
  
  N_NIMCALL(void, setupglobalctx_473247_2569374918)(Tsym294834* module0) {
  	{
  		if (!globalctx_473241_2569374918 == 0) goto LA3;
  		asgnRef((void**) (&globalctx_473241_2569374918), newctx_345286_984354655(module0));
  		registeradditionalops_473135_2569374918(globalctx_473241_2569374918);
  	}
  	goto LA1;
  	LA3: ;
  	{
  		refresh_345372_984354655(globalctx_473241_2569374918, module0);
  	}
  	LA1: ;
  }
  N_NIMCALL(void, T2569374918_76)(void* p, NI op) {
  	TY460855* a;
  	NI LOC1;
  	a = (TY460855*)p;
  	LOC1 = (NI)0;
  	for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) {
  	switch (a->data[LOC1].kind) {
  	case ((Tregisterkind460202) 0):
  	break;
  	case ((Tregisterkind460202) 2):
  	break;
  	case ((Tregisterkind460202) 3):
  	break;
  	case ((Tregisterkind460202) 1):
  	nimGCvisit((void*)a->data[LOC1].kindU.node, op);
  	break;
  	case ((Tregisterkind460202) 4):
  	break;
  	case ((Tregisterkind460202) 5):
  	break;
  	} 
  	}
  }
  N_NIMCALL(void, T2569374918_77)(void* p, NI op) {
  	Tstackframe460208* a;
  	a = (Tstackframe460208*)p;
  	nimGCvisit((void*)(*a).prc, op);
  	nimGCvisit((void*)(*a).slots, op);
  	nimGCvisit((void*)(*a).next, op);
  	nimGCvisit((void*)(*a).safepoints, op);
  }
  
  N_NIMCALL(void, putintoreg_461292_2569374918)(Tfullreg460204* dest0, Tnode294802* n0) {
  	switch ((*n0).kind) {
  	case ((Tnodekind294020) 20) ... ((Tnodekind294020) 22):
  	{
  		NimStringDesc* LOC2;
  		(*dest0).kind = ((Tregisterkind460202) 1);
  		unsureAsgnRef((void**) (&(*dest0).kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  		LOC2 = (NimStringDesc*)0;
  		LOC2 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*n0).kindU.S3.strval);
  		if (LOC2) nimGCunrefNoCycle(LOC2);
  	}
  	break;
  	case ((Tnodekind294020) 5) ... ((Tnodekind294020) 15):
  	{
  		(*dest0).kind = ((Tregisterkind460202) 2);
  		(*dest0).kindU.intval = (*n0).kindU.S1.intval;
  	}
  	break;
  	case ((Tnodekind294020) 16) ... ((Tnodekind294020) 19):
  	{
  		(*dest0).kind = ((Tregisterkind460202) 3);
  		(*dest0).kindU.floatval = (*n0).kindU.S2.floatval;
  	}
  	break;
  	default:
  	{
  		(*dest0).kind = ((Tregisterkind460202) 1);
  		unsureAsgnRef((void**) (&(*dest0).kindU.node), n0);
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, setupmacroparam_473835_2569374918)(Tnode294802* x0, Ttype294840* typ0, Tfullreg460204* Result) {
  	switch ((*typ0).kind) {
  	case ((Ttypekind294244) 59):
  	{
  		putintoreg_461292_2569374918(Result, x0);
  	}
  	break;
  	case ((Ttypekind294244) 8):
  	{
  		putintoreg_461292_2569374918(Result, x0);
  	}
  	break;
  	default:
  	{
  		Tnode294802* n0;
  		(*Result).kind = ((Tregisterkind460202) 1);
  		n0 = x0;
  		{
  			if (!((*n0).kind == ((Tnodekind294020) 59) || (*n0).kind == ((Tnodekind294020) 58))) goto LA6;
  			n0 = (*n0).kindU.S6.sons->data[((NI) 1)];
  		}
  		LA6: ;
  		n0 = canonvalue_449244_1009139178(n0);
  		(*n0).flags |= ((NU16)1)<<((((Tnodeflag294427) 13))%(sizeof(NU16)*8));
  		asgnRefNoCycle((void**) (&(*n0).typ), (*x0).typ);
  		unsureAsgnRef((void**) (&(*Result).kindU.node), n0);
  	}
  	break;
  	}
  }
  
  static N_INLINE(Tnode294802*, HEX5BHEX5D_295238_850551059)(Tnode294802* n0, NI i0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	result0 = (*n0).kindU.S6.sons->data[i0];
  	return result0;
  }
  
  static N_INLINE(NI, len_295081_850551059)(Tnode294802* n0) {
  	NI result0;
  	result0 = (NI)0;
  	{
  		if (!(*n0).kindU.S6.sons == 0) goto LA3;
  		result0 = ((NI) 0);
  	}
  	goto LA1;
  	LA3: ;
  	{
  		result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0);
  	}
  	LA1: ;
  	return result0;
  }
  
  N_NIMCALL(Tnode294802*, regtonode_461306_2569374918)(Tfullreg460204 x0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	switch (x0.kind) {
  	case ((Tregisterkind460202) 0):
  	{
  		result0 = newnode_295401_850551059(((Tnodekind294020) 1));
  	}
  	break;
  	case ((Tregisterkind460202) 2):
  	{
  		result0 = newnode_295401_850551059(((Tnodekind294020) 6));
  		(*result0).kindU.S1.intval = x0.kindU.intval;
  	}
  	break;
  	case ((Tregisterkind460202) 3):
  	{
  		result0 = newnode_295401_850551059(((Tnodekind294020) 16));
  		(*result0).kindU.S2.floatval = x0.kindU.floatval;
  	}
  	break;
  	case ((Tregisterkind460202) 1):
  	{
  		result0 = x0.kindU.node;
  	}
  	break;
  	case ((Tregisterkind460202) 4):
  	{
  		result0 = regtonode_461306_2569374918((*x0.kindU.regaddr));
  	}
  	break;
  	case ((Tregisterkind460202) 5):
  	{
  		result0 = (*x0.kindU.nodeaddr);
  	}
  	break;
  	}
  	return result0;
  }
  N_NIMCALL(void, T2569374918_80)(void* p, NI op) {
  	TY472230* a;
  	a = (TY472230*)p;
  	nimGCvisit((void*)(*a).error470755, op);
  	nimGCvisit((void*)(*a).error470805, op);
  }
  
  N_NIMCALL(void, createstrkeepnode_460440_2569374918)(Tfullreg460204* x0, NIM_BOOL keepnode0) {
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = (*x0).kindU.node == 0;
  		if (LOC3) goto LA4;
  		LOC3 = !(keepnode0);
  		LA4: ;
  		if (!LOC3) goto LA5;
  		unsureAsgnRef((void**) (&(*x0).kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  	}
  	goto LA1;
  	LA5: ;
  	{
  		NIM_BOOL LOC8;
  		LOC8 = (NIM_BOOL)0;
  		LOC8 = ((*(*x0).kindU.node).kind == ((Tnodekind294020) 23));
  		if (!(LOC8)) goto LA9;
  		LOC8 = keepnode0;
  		LA9: ;
  		if (!LOC8) goto LA10;
  		genericReset((void*)(&(*(*x0).kindU.node)), (&NTI294802));
  		(*(*x0).kindU.node).kind = ((Tnodekind294020) 20);
  	}
  	goto LA1;
  	LA10: ;
  	{
  		NIM_BOOL LOC13;
  		LOC13 = (NIM_BOOL)0;
  		LOC13 = !(((*(*x0).kindU.node).kind >= ((Tnodekind294020) 20) && (*(*x0).kindU.node).kind <= ((Tnodekind294020) 22)));
  		if (LOC13) goto LA14;
  		LOC13 = (((*(*x0).kindU.node).flags &(1U<<((NU)(((Tnodeflag294427) 4))&15U)))!=0);
  		LA14: ;
  		if (!LOC13) goto LA15;
  		unsureAsgnRef((void**) (&(*x0).kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  	}
  	goto LA1;
  	LA15: ;
  	LA1: ;
  }
  
  N_NIMCALL(Tnode294802*, copyvalue_461125_2569374918)(Tnode294802* src0) {
  	Tnode294802* result0;
  	NimStringDesc* LOC7;
  {	result0 = (Tnode294802*)0;
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = (src0 == NIM_NIL);
  		if (LOC3) goto LA4;
  		LOC3 = (((*src0).flags &(1U<<((NU)(((Tnodeflag294427) 13))&15U)))!=0);
  		LA4: ;
  		if (!LOC3) goto LA5;
  		result0 = src0;
  		goto BeforeRet;
  	}
  	LA5: ;
  	result0 = newnode_295401_850551059((*src0).kind);
  	(*result0).info = (*src0).info;
  	asgnRefNoCycle((void**) (&(*result0).typ), (*src0).typ);
  	(*result0).flags = ((*src0).flags & 26382);
  	LOC7 = (NimStringDesc*)0;
  	LOC7 = (*result0).comment; (*result0).comment = copyStringRC1((*src0).comment);
  	if (LOC7) nimGCunrefNoCycle(LOC7);
  	switch ((*src0).kind) {
  	case ((Tnodekind294020) 5) ... ((Tnodekind294020) 15):
  	{
  		(*result0).kindU.S1.intval = (*src0).kindU.S1.intval;
  	}
  	break;
  	case ((Tnodekind294020) 16) ... ((Tnodekind294020) 19):
  	{
  		(*result0).kindU.S2.floatval = (*src0).kindU.S2.floatval;
  	}
  	break;
  	case ((Tnodekind294020) 3):
  	{
  		asgnRefNoCycle((void**) (&(*result0).kindU.S4.sym), (*src0).kindU.S4.sym);
  	}
  	break;
  	case ((Tnodekind294020) 2):
  	{
  		asgnRefNoCycle((void**) (&(*result0).kindU.S5.ident), (*src0).kindU.S5.ident);
  	}
  	break;
  	case ((Tnodekind294020) 20) ... ((Tnodekind294020) 22):
  	{
  		NimStringDesc* LOC13;
  		LOC13 = (NimStringDesc*)0;
  		LOC13 = (*result0).kindU.S3.strval; (*result0).kindU.S3.strval = copyStringRC1((*src0).kindU.S3.strval);
  		if (LOC13) nimGCunrefNoCycle(LOC13);
  	}
  	break;
  	default:
  	{
  		NI LOC15;
  		LOC15 = (NI)0;
  		LOC15 = sonslen_297351_850551059(src0);
  		if ((*result0).kindU.S6.sons) nimGCunrefNoCycle((*result0).kindU.S6.sons);
  		(*result0).kindU.S6.sons = (Tnodeseq294796*) newSeqRC1((&NTI294796), ((NI) (LOC15)));
  		{
  			NI i_461233_2569374918;
  			NI HEX3Atmp_461237_2569374918;
  			NI LOC17;
  			NI res_461240_2569374918;
  			i_461233_2569374918 = (NI)0;
  			HEX3Atmp_461237_2569374918 = (NI)0;
  			LOC17 = (NI)0;
  			LOC17 = sonslen_297351_850551059(src0);
  			HEX3Atmp_461237_2569374918 = (NI)(LOC17 - ((NI) 1));
  			res_461240_2569374918 = ((NI) 0);
  			{
  				while (1) {
  					if (!(res_461240_2569374918 <= HEX3Atmp_461237_2569374918)) goto LA19;
  					i_461233_2569374918 = res_461240_2569374918;
  					asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_461233_2569374918]), copyvalue_461125_2569374918((*src0).kindU.S6.sons->data[i_461233_2569374918]));
  					res_461240_2569374918 += ((NI) 1);
  				} LA19: ;
  			}
  		}
  	}
  	break;
  	}
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(void, asgncomplex_461244_2569374918)(Tfullreg460204* x0, Tfullreg460204 y0) {
  	{
  		if (!!(((*x0).kind == y0.kind))) goto LA3;
  		myreset_460401_2569374918(x0);
  		(*x0).kind = y0.kind;
  	}
  	LA3: ;
  	switch ((*x0).kind) {
  	case ((Tregisterkind460202) 0):
  	{
  	}
  	break;
  	case ((Tregisterkind460202) 2):
  	{
  		(*x0).kindU.intval = y0.kindU.intval;
  	}
  	break;
  	case ((Tregisterkind460202) 3):
  	{
  		(*x0).kindU.floatval = y0.kindU.floatval;
  	}
  	break;
  	case ((Tregisterkind460202) 1):
  	{
  		unsureAsgnRef((void**) (&(*x0).kindU.node), copyvalue_461125_2569374918(y0.kindU.node));
  	}
  	break;
  	case ((Tregisterkind460202) 4):
  	{
  		(*x0).kindU.regaddr = y0.kindU.regaddr;
  	}
  	break;
  	case ((Tregisterkind460202) 5):
  	{
  		(*x0).kindU.nodeaddr = y0.kindU.nodeaddr;
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, moveconst_461096_2569374918)(Tfullreg460204* x0, Tfullreg460204 y0) {
  	{
  		if (!!(((*x0).kind == y0.kind))) goto LA3;
  		myreset_460401_2569374918(x0);
  		(*x0).kind = y0.kind;
  	}
  	LA3: ;
  	switch ((*x0).kind) {
  	case ((Tregisterkind460202) 0):
  	{
  	}
  	break;
  	case ((Tregisterkind460202) 2):
  	{
  		(*x0).kindU.intval = y0.kindU.intval;
  	}
  	break;
  	case ((Tregisterkind460202) 3):
  	{
  		(*x0).kindU.floatval = y0.kindU.floatval;
  	}
  	break;
  	case ((Tregisterkind460202) 1):
  	{
  		unsureAsgnRef((void**) (&(*x0).kindU.node), y0.kindU.node);
  	}
  	break;
  	case ((Tregisterkind460202) 4):
  	{
  		(*x0).kindU.regaddr = y0.kindU.regaddr;
  	}
  	break;
  	case ((Tregisterkind460202) 5):
  	{
  		(*x0).kindU.nodeaddr = y0.kindU.nodeaddr;
  	}
  	break;
  	}
  }
  
  N_NIMCALL(void, putintonode_461268_2569374918)(Tnode294802** n0, Tfullreg460204 x0) {
  	switch (x0.kind) {
  	case ((Tregisterkind460202) 0):
  	{
  	}
  	break;
  	case ((Tregisterkind460202) 2):
  	{
  		(*(*n0)).kindU.S1.intval = x0.kindU.intval;
  	}
  	break;
  	case ((Tregisterkind460202) 3):
  	{
  		(*(*n0)).kindU.S2.floatval = x0.kindU.floatval;
  	}
  	break;
  	case ((Tregisterkind460202) 1):
  	{
  		{
  			if (!(((*x0.kindU.node).flags &(1U<<((NU)(((Tnodeflag294427) 13))&15U)))!=0)) goto LA7;
  			unsureAsgnRef((void**) (&(*n0)), x0.kindU.node);
  		}
  		goto LA5;
  		LA7: ;
  		{
  			genericAssign((void*)(&(*(*n0))), (void*)(&(*x0.kindU.node)), (&NTI294802));
  		}
  		LA5: ;
  	}
  	break;
  	case ((Tregisterkind460202) 4):
  	{
  		putintonode_461268_2569374918(n0, (*x0.kindU.regaddr));
  	}
  	break;
  	case ((Tregisterkind460202) 5):
  	{
  		genericAssign((void*)(&(*(*n0))), (void*)(&(*(*x0.kindU.nodeaddr))), (&NTI294802));
  	}
  	break;
  	}
  }
  
  static N_INLINE(void, copymem_7485_1689653243)(void* dest0, void* source0, NI size0) {
  	void* LOC1;
  	LOC1 = (void*)0;
  	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
  }
  
  static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
  	copymem_7485_1689653243(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
  	(*dest0).Sup.len += (*src0).Sup.len;
  }
  
  static N_INLINE(NI, tolinenumber_194415_155036129)(Tlineinfo193336 info0) {
  	NI result0;
  	result0 = (NI)0;
  	result0 = ((NI) (info0.line));
  	return result0;
  }
  
  N_NIMCALL(void, stacktraceaux_460231_2569374918)(Tctx345035* c0, Tstackframe460208* x_460234_2569374918, NI pc0, NI recursionlimit0) {
  {	{
  		Tlineinfo193336 info0;
  		NimStringDesc* s0;
  		NI line0;
  		if (!!((x_460234_2569374918 == NIM_NIL))) goto LA3;
  		{
  			NI calls0;
  			Tstackframe460208* x0;
  			NimStringDesc* LOC11;
  			NimStringDesc* LOC12;
  			if (!(recursionlimit0 == ((NI) 0))) goto LA7;
  			calls0 = ((NI) 0);
  			x0 = x_460234_2569374918;
  			{
  				while (1) {
  					if (!!((x0 == NIM_NIL))) goto LA10;
  					calls0 += ((NI) 1);
  					x0 = (*x0).next;
  				} LA10: ;
  			}
  			LOC11 = (NimStringDesc*)0;
  			LOC12 = (NimStringDesc*)0;
  			LOC12 = nimIntToStr(calls0);
  			LOC11 = rawNewString(LOC12->Sup.len + 15);
  appendString(LOC11, LOC12);
  appendString(LOC11, ((NimStringDesc*) &T2569374918_82));
  			msgwriteln_194450_155036129(LOC11, 0);
  			goto BeforeRet;
  		}
  		LA7: ;
  		stacktraceaux_460231_2569374918(c0, (*x_460234_2569374918).next, (*x_460234_2569374918).comesfrom, (NI)(recursionlimit0 - ((NI) 1)));
  		info0 = (*c0).debug->data[pc0];
  		s0 = tofilename_194260_155036129(info0.fileindex);
  		line0 = tolinenumber_194415_155036129(info0);
  		{
  			NimStringDesc* LOC17;
  			if (!(((NI) 0) < line0)) goto LA15;
  			s0 = addChar(s0, 40);
  			LOC17 = (NimStringDesc*)0;
  			LOC17 = nimIntToStr(line0);
  			s0 = resizeString(s0, LOC17->Sup.len + 0);
  appendString(s0, LOC17);
  			s0 = addChar(s0, 41);
  		}
  		LA15: ;
  		{
  			if (!!(((*x_460234_2569374918).prc == NIM_NIL))) goto LA20;
  			{
  				NI k_460301_2569374918;
  				NI HEX3Atmp_460305_2569374918;
  				NI res_460308_2569374918;
  				k_460301_2569374918 = (NI)0;
  				HEX3Atmp_460305_2569374918 = (NI)0;
  				HEX3Atmp_460305_2569374918 = ((((NI) 1) >= (NI)(((NI) 25) - (s0 ? s0->Sup.len : 0))) ? ((NI) 1) : (NI)(((NI) 25) - (s0 ? s0->Sup.len : 0)));
  				res_460308_2569374918 = ((NI) 1);
  				{
  					while (1) {
  						if (!(res_460308_2569374918 <= HEX3Atmp_460305_2569374918)) goto LA24;
  						k_460301_2569374918 = res_460308_2569374918;
  						s0 = addChar(s0, 32);
  						res_460308_2569374918 += ((NI) 1);
  					} LA24: ;
  				}
  			}
  			s0 = resizeString(s0, (*(*(*x_460234_2569374918).prc).name).s->Sup.len + 0);
  appendString(s0, (*(*(*x_460234_2569374918).prc).name).s);
  		}
  		LA20: ;
  		msgwriteln_194450_155036129(s0, 0);
  	}
  	LA3: ;
  	}BeforeRet: ;
  }
  
  N_NIMCALL(void, stacktrace_460312_2569374918)(Tctx345035* c0, Tstackframe460208* tos0, NI pc0, Tmsgkind193002 msg0, NimStringDesc* arg0) {
  	msgwriteln_194450_155036129(((NimStringDesc*) &T2569374918_81), 0);
  	stacktraceaux_460231_2569374918(c0, tos0, pc0, ((NI) 100));
  	{
  		if (!((*c0).mode == ((Tevalmode345019) 0))) goto LA3;
  		globalerror_198071_155036129((*c0).debug->data[pc0], msg0, arg0);
  	}
  	goto LA1;
  	LA3: ;
  	{
  		localerror_198080_155036129((*c0).debug->data[pc0], msg0, arg0);
  	}
  	LA1: ;
  }
  
  static N_INLINE(NI, cmpStrings)(NimStringDesc* a0, NimStringDesc* b0) {
  	NI result0;
  	int LOC13;
  {	result0 = (NI)0;
  	{
  		if (!(a0 == b0)) goto LA3;
  		result0 = ((NI) 0);
  		goto BeforeRet;
  	}
  	LA3: ;
  	{
  		if (!(a0 == NIM_NIL)) goto LA7;
  		result0 = ((NI) -1);
  		goto BeforeRet;
  	}
  	LA7: ;
  	{
  		if (!(b0 == NIM_NIL)) goto LA11;
  		result0 = ((NI) 1);
  		goto BeforeRet;
  	}
  	LA11: ;
  	LOC13 = (int)0;
  	LOC13 = strcmp(((NCSTRING) ((*a0).data)), ((NCSTRING) ((*b0).data)));
  	result0 = ((NI) (LOC13));
  	goto BeforeRet;
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(NI, compile_462036_2569374918)(Tctx345035* c0, Tsym294834* s0) {
  	NI result0;
  	result0 = (NI)0;
  	result0 = genproc_453867_1009139178(c0, s0);
  	return result0;
  }
  
  static N_INLINE(NIM_BOOL, isemptytype_299440_850551059)(Ttype294840* t0) {
  	NIM_BOOL result0;
  	NIM_BOOL LOC1;
  	result0 = (NIM_BOOL)0;
  	LOC1 = (NIM_BOOL)0;
  	LOC1 = (t0 == NIM_NIL);
  	if (LOC1) goto LA2;
  	LOC1 = ((*t0).kind == ((Ttypekind294244) 62) || (*t0).kind == ((Ttypekind294244) 7));
  	LA2: ;
  	result0 = LOC1;
  	return result0;
  }
  
  N_NIMCALL(void, pushsafepoint_461323_2569374918)(Tstackframe460208* f0, NI pc0) {
  	{
  		if (!(*f0).safepoints == 0) goto LA3;
  		if ((*f0).safepoints) nimGCunrefNoCycle((*f0).safepoints);
  		(*f0).safepoints = (TY370521*) newSeqRC1((&NTI370521), 0);
  	}
  	LA3: ;
  	(*f0).safepoints = (TY370521*) incrSeqV2(&((*f0).safepoints)->Sup, sizeof(NI));
  	(*f0).safepoints->data[(*f0).safepoints->Sup.len] = pc0;
  	++(*f0).safepoints->Sup.len;
  }
  
  static N_INLINE(NI, pop_461365_1689653243)(TY370521** s0) {
  	NI result0;
  	NI L0;
  	result0 = (NI)0;
  	L0 = (NI)(((*s0) ? (*s0)->Sup.len : 0) - ((NI) 1));
  	result0 = (*s0)->data[L0];
  	(*s0) = (TY370521*) setLengthSeq(&((*s0))->Sup, sizeof(NI), ((NI) (L0)));
  	return result0;
  }
  
  N_NIMCALL(void, popsafepoint_461361_2569374918)(Tstackframe460208* f0) {
  	NI LOC1;
  	LOC1 = (NI)0;
  	LOC1 = pop_461365_1689653243((&(*f0).safepoints));
  }
  
  N_NIMCALL(void, cleanuponexception_461393_2569374918)(Tctx345035* c0, Tstackframe460208* tos0, TY461397* Result) {
  	Ttype294840* raisedtype0;
  	Tstackframe460208* f0;
  {	raisedtype0 = skiptypes_298099_850551059((*(*c0).currentexceptiona).typ, IL64(211106247256320));
  	f0 = tos0;
  	{
  		while (1) {
  			NI pc20;
  			NI nextexceptorfinally0;
  			NI LOC51;
  			{
  				while (1) {
  					NIM_BOOL LOC5;
  					LOC5 = (NIM_BOOL)0;
  					LOC5 = (*f0).safepoints == 0;
  					if (LOC5) goto LA6;
  					LOC5 = (((*f0).safepoints ? (*f0).safepoints->Sup.len : 0) == ((NI) 0));
  					LA6: ;
  					if (!LOC5) goto LA4;
  					f0 = (*f0).next;
  					{
  						if (!f0 == 0) goto LA9;
  						(*Result).Field0 = T2569374918_91.Field0;
  						unsureAsgnRef((void**) (&(*Result).Field1), T2569374918_91.Field1);
  						goto BeforeRet;
  					}
  					LA9: ;
  				} LA4: ;
  			}
  			pc20 = (*f0).safepoints->data[((*f0).safepoints ? ((*f0).safepoints->Sup.len-1) : -1)];
  			nextexceptorfinally0 = ((NI) -1);
  			{
  				if (!(((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 141))) goto LA13;
  				nextexceptorfinally0 = (NI)((NI)(pc20 + ((NI) ((NU32)((NU32)((*c0).code->data[pc20]) >> (NU32)(((NU32) 16)))))) - ((NI) 32768));
  				pc20 += ((NI) 1);
  			}
  			LA13: ;
  			{
  				while (1) {
  					NI excindex0;
  					Ttype294840* excepttype0;
  					if (!(((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 141))) goto LA16;
  					excindex0 = (NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc20]) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  					{
  						if (!(((NI) 0) < excindex0)) goto LA19;
  						excepttype0 = skiptypes_298099_850551059((*c0).types->data[excindex0], IL64(211106247256320));
  					}
  					goto LA17;
  					LA19: ;
  					{
  						excepttype0 = NIM_NIL;
  					}
  					LA17: ;
  					{
  						NIM_BOOL LOC24;
  						NI LOC26;
  						NI LOC31;
  						LOC24 = (NIM_BOOL)0;
  						LOC24 = excepttype0 == 0;
  						if (LOC24) goto LA25;
  						LOC26 = (NI)0;
  						LOC26 = inheritancediff_328252_3876443242(excepttype0, raisedtype0);
  						LOC24 = (LOC26 <= ((NI) 0));
  						LA25: ;
  						if (!LOC24) goto LA27;
  						asgnRefNoCycle((void**) (&(*c0).currentexceptionb), (*c0).currentexceptiona);
  						asgnRefNoCycle((void**) (&(*c0).currentexceptiona), NIM_NIL);
  						{
  							while (1) {
  								if (!(((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 141))) goto LA30;
  								pc20 += ((NI) 1);
  							} LA30: ;
  						}
  						LOC31 = (NI)0;
  						LOC31 = pop_461365_1689653243((&(*f0).safepoints));
  						(*Result).Field0 = pc20;
  						unsureAsgnRef((void**) (&(*Result).Field1), f0);
  						goto BeforeRet;
  					}
  					LA27: ;
  					pc20 += ((NI) 1);
  					{
  						NIM_BOOL LOC34;
  						LOC34 = (NIM_BOOL)0;
  						LOC34 = !((((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 141)));
  						if (!(LOC34)) goto LA35;
  						LOC34 = (((NI) 0) <= nextexceptorfinally0);
  						LA35: ;
  						if (!LOC34) goto LA36;
  						pc20 = (NI)(nextexceptorfinally0 + ((NI) 1));
  						{
  							if (!(((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 141))) goto LA40;
  							nextexceptorfinally0 = (NI)((NI)(pc20 + ((NI) ((NU32)((NU32)((*c0).code->data[pc20]) >> (NU32)(((NU32) 16)))))) - ((NI) 32768));
  						}
  						LA40: ;
  					}
  					LA36: ;
  				} LA16: ;
  			}
  			{
  				if (!(((NI) 0) <= nextexceptorfinally0)) goto LA44;
  				pc20 = nextexceptorfinally0;
  			}
  			LA44: ;
  			{
  				NI LOC50;
  				if (!(((Topcode345015) ((NU32)((*c0).code->data[pc20] & ((NU32) 255)))) == ((Topcode345015) 142))) goto LA48;
  				LOC50 = (NI)0;
  				LOC50 = pop_461365_1689653243((&(*f0).safepoints));
  				(*Result).Field0 = (NI)(pc20 + ((NI) 1));
  				unsureAsgnRef((void**) (&(*Result).Field1), f0);
  				goto BeforeRet;
  			}
  			LA48: ;
  			LOC51 = (NI)0;
  			LOC51 = pop_461365_1689653243((&(*f0).safepoints));
  		}
  	}
  	}BeforeRet: ;
  }
  
  N_NIMCALL(void, bailout_460328_2569374918)(Tctx345035* c0, Tstackframe460208* tos0) {
  	Tnode294802* LOC1;
  	LOC1 = (Tnode294802*)0;
  	LOC1 = skipcolon_457197_2499857528((*(*c0).currentexceptiona).kindU.S6.sons->data[((NI) 3)]);
  	stacktrace_460312_2569374918(c0, tos0, (*c0).exceptioninstr, ((Tmsgkind193002) 219), (*LOC1).kindU.S3.strval);
  }
  
  N_CLOSURE(void, HEX3Aanonymous_470758_2569374918)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0, void* ClEnv) {
  	TY472230* HEX3Aenvp_472233_2569374918;
  	HEX3Aenvp_472233_2569374918 = (TY472230*) ClEnv;
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = (*HEX3Aenvp_472233_2569374918).error470755 == 0;
  		if (!(LOC3)) goto LA4;
  		LOC3 = (msg0 <= ((Tmsgkind193002) 236));
  		LA4: ;
  		if (!LOC3) goto LA5;
  		asgnRefNoCycle((void**) (&(*HEX3Aenvp_472233_2569374918).error470755), formatmsg_196649_155036129(info0, msg0, arg0));
  	}
  	LA5: ;
  }
  
  N_CLOSURE(void, HEX3Aanonymous_470808_2569374918)(Tlineinfo193336 info0, Tmsgkind193002 msg0, NimStringDesc* arg0, void* ClEnv) {
  	TY472230* HEX3Aenvp_472235_2569374918;
  	HEX3Aenvp_472235_2569374918 = (TY472230*) ClEnv;
  	{
  		NIM_BOOL LOC3;
  		LOC3 = (NIM_BOOL)0;
  		LOC3 = (*HEX3Aenvp_472235_2569374918).error470805 == 0;
  		if (!(LOC3)) goto LA4;
  		LOC3 = (msg0 <= ((Tmsgkind193002) 236));
  		LA4: ;
  		if (!LOC3) goto LA5;
  		asgnRefNoCycle((void**) (&(*HEX3Aenvp_472235_2569374918).error470805), formatmsg_196649_155036129(info0, msg0, arg0));
  	}
  	LA5: ;
  }
  
  static N_INLINE(NimStringDesc*, tofilelinecol_194427_155036129)(Tlineinfo193336 info0) {
  	NimStringDesc* result0;
  	NimStringDesc* LOC1;
  	NimStringDesc* LOC2;
  	NimStringDesc* LOC3;
  	NimStringDesc* LOC4;
  	result0 = (NimStringDesc*)0;
  	LOC1 = (NimStringDesc*)0;
  	LOC2 = (NimStringDesc*)0;
  	LOC2 = tofilename_194260_155036129(info0.fileindex);
  	LOC3 = (NimStringDesc*)0;
  	LOC3 = nimIntToStr(((NI) (info0.line)));
  	LOC4 = (NimStringDesc*)0;
  	LOC4 = nimIntToStr(((NI) (info0.col)));
  	LOC1 = rawNewString(LOC2->Sup.len + LOC3->Sup.len + LOC4->Sup.len + 3);
  appendString(LOC1, LOC2);
  appendString(LOC1, ((NimStringDesc*) &T2569374918_102));
  appendString(LOC1, LOC3);
  appendString(LOC1, ((NimStringDesc*) &T2569374918_103));
  appendString(LOC1, LOC4);
  appendString(LOC1, ((NimStringDesc*) &T2569374918_104));
  	result0 = LOC1;
  	return result0;
  }
  
  N_NIMCALL(NIM_BOOL, opconv_461734_2569374918)(Tfullreg460204* dest0, Tfullreg460204 src0, Ttype294840* desttyp0, Ttype294840* srctyp0) {
  	NIM_BOOL result0;
  {	result0 = (NIM_BOOL)0;
  	{
  		Ttype294840* styp0;
  		if (!((*desttyp0).kind == ((Ttypekind294244) 28))) goto LA3;
  		{
  			if (!!(((*dest0).kind == ((Tregisterkind460202) 1)))) goto LA7;
  			myreset_460401_2569374918(dest0);
  			(*dest0).kind = ((Tregisterkind460202) 1);
  		}
  		LA7: ;
  		unsureAsgnRef((void**) (&(*dest0).kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  		styp0 = skiptypes_298099_850551059(srctyp0, IL64(211106233624832));
  		switch ((*styp0).kind) {
  		case ((Ttypekind294244) 14):
  		{
  			Tnode294802* n0;
  			NI x0;
  			n0 = (*styp0).n;
  			x0 = ((NI) (src0.kindU.intval));
  			{
  				NIM_BOOL LOC12;
  				NI LOC13;
  				Tsym294834* f0;
  				LOC12 = (NIM_BOOL)0;
  				LOC13 = (NI)0;
  				LOC13 = len_295081_850551059(n0);
  				LOC12 = ((NU32)(x0) < (NU32)(LOC13));
  				if (!(LOC12)) goto LA14;
  				f0 = (*(*n0).kindU.S6.sons->data[x0]).kindU.S4.sym;
  				LOC12 = ((*f0).position == x0);
  				LA14: ;
  				if (!LOC12) goto LA15;
  				{
  					NimStringDesc* LOC21;
  					if (!(*f0).ast == 0) goto LA19;
  					LOC21 = (NimStringDesc*)0;
  					LOC21 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*(*f0).name).s);
  					if (LOC21) nimGCunrefNoCycle(LOC21);
  				}
  				goto LA17;
  				LA19: ;
  				{
  					NimStringDesc* LOC23;
  					LOC23 = (NimStringDesc*)0;
  					LOC23 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*(*f0).ast).kindU.S3.strval);
  					if (LOC23) nimGCunrefNoCycle(LOC23);
  				}
  				LA17: ;
  			}
  			goto LA10;
  			LA15: ;
  			{
  				NimStringDesc* LOC44;
  				NimStringDesc* LOC45;
  				{
  					NI i_461812_2569374918;
  					NI HEX3Atmp_462019_2569374918;
  					NI LOC26;
  					NI res_462022_2569374918;
  					i_461812_2569374918 = (NI)0;
  					HEX3Atmp_462019_2569374918 = (NI)0;
  					LOC26 = (NI)0;
  					LOC26 = len_295081_850551059(n0);
  					HEX3Atmp_462019_2569374918 = (LOC26 - 1);
  					res_462022_2569374918 = ((NI) 0);
  					{
  						while (1) {
  							Tsym294834* f0;
  							if (!(res_462022_2569374918 <= HEX3Atmp_462019_2569374918)) goto LA28;
  							i_461812_2569374918 = res_462022_2569374918;
  							{
  								if (!!(((*(*n0).kindU.S6.sons->data[i_461812_2569374918]).kind == ((Tnodekind294020) 3)))) goto LA31;
  								internalerror_198113_155036129(((NimStringDesc*) &T2569374918_106));
  							}
  							LA31: ;
  							f0 = (*(*n0).kindU.S6.sons->data[i_461812_2569374918]).kindU.S4.sym;
  							{
  								if (!((*f0).position == x0)) goto LA35;
  								{
  									NimStringDesc* LOC41;
  									if (!(*f0).ast == 0) goto LA39;
  									LOC41 = (NimStringDesc*)0;
  									LOC41 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*(*f0).name).s);
  									if (LOC41) nimGCunrefNoCycle(LOC41);
  								}
  								goto LA37;
  								LA39: ;
  								{
  									NimStringDesc* LOC43;
  									LOC43 = (NimStringDesc*)0;
  									LOC43 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*(*f0).ast).kindU.S3.strval);
  									if (LOC43) nimGCunrefNoCycle(LOC43);
  								}
  								LA37: ;
  								goto BeforeRet;
  							}
  							LA35: ;
  							res_462022_2569374918 += ((NI) 1);
  						} LA28: ;
  					}
  				}
  				LOC44 = (NimStringDesc*)0;
  				LOC45 = (NimStringDesc*)0;
  				LOC45 = nimIntToStr(x0);
  				LOC44 = rawNewString((*(*(*styp0).sym).name).s->Sup.len + LOC45->Sup.len + 1);
  appendString(LOC44, (*(*(*styp0).sym).name).s);
  appendString(LOC44, ((NimStringDesc*) &T2569374918_107));
  appendString(LOC44, LOC45);
  				asgnRefNoCycle((void**) (&(*(*dest0).kindU.node).kindU.S3.strval), LOC44);
  			}
  			LA10: ;
  		}
  		break;
  		case ((Ttypekind294244) 31) ... ((Ttypekind294244) 35):
  		{
  			asgnRefNoCycle((void**) (&(*(*dest0).kindU.node).kindU.S3.strval), nimInt64ToStr(src0.kindU.intval));
  		}
  		break;
  		case ((Ttypekind294244) 40) ... ((Ttypekind294244) 44):
  		{
  			asgnRefNoCycle((void**) (&(*(*dest0).kindU.node).kindU.S3.strval), HEX24_8401_1689653243(((NU64) (src0.kindU.intval))));
  		}
  		break;
  		case ((Ttypekind294244) 1):
  		{
  			{
  				NimStringDesc* LOC53;
  				if (!(src0.kindU.intval == IL64(0))) goto LA51;
  				LOC53 = (NimStringDesc*)0;
  				LOC53 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1(((NimStringDesc*) &T2569374918_108));
  				if (LOC53) nimGCunrefNoCycle(LOC53);
  			}
  			goto LA49;
  			LA51: ;
  			{
  				NimStringDesc* LOC55;
  				LOC55 = (NimStringDesc*)0;
  				LOC55 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1(((NimStringDesc*) &T2569374918_109));
  				if (LOC55) nimGCunrefNoCycle(LOC55);
  			}
  			LA49: ;
  		}
  		break;
  		case ((Ttypekind294244) 36) ... ((Ttypekind294244) 39):
  		{
  			asgnRefNoCycle((void**) (&(*(*dest0).kindU.node).kindU.S3.strval), nimFloatToStr(src0.kindU.floatval));
  		}
  		break;
  		case ((Ttypekind294244) 28):
  		{
  			NimStringDesc* LOC58;
  			LOC58 = (NimStringDesc*)0;
  			LOC58 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*src0.kindU.node).kindU.S3.strval);
  			if (LOC58) nimGCunrefNoCycle(LOC58);
  		}
  		break;
  		case ((Ttypekind294244) 29):
  		{
  			{
  				NimStringDesc* strval0;
  				NimStringDesc* LOC71;
  				if (!((*src0.kindU.node).kind == ((Tnodekind294020) 41))) goto LA62;
  				strval0 = copyString(((NimStringDesc*) &T2569374918_3));
  				{
  					Tnode294802* son_461882_2569374918;
  					Tnodeseq294796* HEX3Atmp_462028_2569374918;
  					NI i_462031_2569374918;
  					NI L_462033_2569374918;
  					son_461882_2569374918 = (Tnode294802*)0;
  					HEX3Atmp_462028_2569374918 = (Tnodeseq294796*)0;
  					HEX3Atmp_462028_2569374918 = (*src0.kindU.node).kindU.S6.sons;
  					i_462031_2569374918 = ((NI) 0);
  					L_462033_2569374918 = (HEX3Atmp_462028_2569374918 ? HEX3Atmp_462028_2569374918->Sup.len : 0);
  					{
  						while (1) {
  							NIM_CHAR c0;
  							if (!(i_462031_2569374918 < L_462033_2569374918)) goto LA66;
  							son_461882_2569374918 = HEX3Atmp_462028_2569374918->data[i_462031_2569374918];
  							c0 = ((NIM_CHAR) ((*son_461882_2569374918).kindU.S1.intval));
  							{
  								if (!((NU8)(c0) == (NU8)(0))) goto LA69;
  								goto LA64;
  							}
  							LA69: ;
  							strval0 = addChar(strval0, c0);
  							i_462031_2569374918 += ((NI) 1);
  						} LA66: ;
  					}
  				} LA64: ;
  				LOC71 = (NimStringDesc*)0;
  				LOC71 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1(strval0);
  				if (LOC71) nimGCunrefNoCycle(LOC71);
  			}
  			goto LA60;
  			LA62: ;
  			{
  				NimStringDesc* LOC73;
  				LOC73 = (NimStringDesc*)0;
  				LOC73 = (*(*dest0).kindU.node).kindU.S3.strval; (*(*dest0).kindU.node).kindU.S3.strval = copyStringRC1((*src0.kindU.node).kindU.S3.strval);
  				if (LOC73) nimGCunrefNoCycle(LOC73);
  			}
  			LA60: ;
  		}
  		break;
  		case ((Ttypekind294244) 2):
  		{
  			asgnRefNoCycle((void**) (&(*(*dest0).kindU.node).kindU.S3.strval), nimCharToStr(((NIM_CHAR) (((NI) (src0.kindU.intval))))));
  		}
  		break;
  		default:
  		{
  			NimStringDesc* LOC76;
  			NimStringDesc* LOC77;
  			LOC76 = (NimStringDesc*)0;
  			LOC77 = (NimStringDesc*)0;
  			LOC77 = typetostring_322017_3876443242(desttyp0, ((Tprefereddesc322011) 0));
  			LOC76 = rawNewString(LOC77->Sup.len + 25);
  appendString(LOC76, ((NimStringDesc*) &T2569374918_110));
  appendString(LOC76, LOC77);
  			internalerror_198113_155036129(LOC76);
  		}
  		break;
  		}
  	}
  	goto LA1;
  	LA3: ;
  	{
  		Ttype294840* LOC79;
  		LOC79 = (Ttype294840*)0;
  		LOC79 = skiptypes_298099_850551059(desttyp0, IL64(211106233624832));
  		switch ((*LOC79).kind) {
  		case ((Ttypekind294244) 31) ... ((Ttypekind294244) 35):
  		{
  			Ttype294840* LOC85;
  			{
  				if (!!(((*dest0).kind == ((Tregisterkind460202) 2)))) goto LA83;
  				myreset_460401_2569374918(dest0);
  				(*dest0).kind = ((Tregisterkind460202) 2);
  			}
  			LA83: ;
  			LOC85 = (Ttype294840*)0;
  			LOC85 = skiptypes_298099_850551059(srctyp0, IL64(211106233624832));
  			switch ((*LOC85).kind) {
  			case ((Ttypekind294244) 36) ... ((Ttypekind294244) 38):
  			{
  				(*dest0).kindU.intval = ((NI64) (((NI) (src0.kindU.floatval))));
  			}
  			break;
  			default:
  			{
  				(*dest0).kindU.intval = src0.kindU.intval;
  			}
  			break;
  			}
  			{
  				NIM_BOOL LOC90;
  				NI64 LOC91;
  				NI64 LOC93;
  				LOC90 = (NIM_BOOL)0;
  				LOC91 = (NI64)0;
  				LOC91 = firstord_322001_3876443242(desttyp0);
  				LOC90 = ((*dest0).kindU.intval < LOC91);
  				if (LOC90) goto LA92;
  				LOC93 = (NI64)0;
  				LOC93 = lastord_322004_3876443242(desttyp0);
  				LOC90 = (LOC93 < (*dest0).kindU.intval);
  				LA92: ;
  				if (!LOC90) goto LA94;
  				result0 = NIM_TRUE;
  				goto BeforeRet;
  			}
  			LA94: ;
  		}
  		break;
  		case ((Ttypekind294244) 40) ... ((Ttypekind294244) 44):
  		{
  			Ttype294840* LOC101;
  			{
  				if (!!(((*dest0).kind == ((Tregisterkind460202) 2)))) goto LA99;
  				myreset_460401_2569374918(dest0);
  				(*dest0).kind = ((Tregisterkind460202) 2);
  			}
  			LA99: ;
  			LOC101 = (Ttype294840*)0;
  			LOC101 = skiptypes_298099_850551059(srctyp0, IL64(211106233624832));
  			switch ((*LOC101).kind) {
  			case ((Ttypekind294244) 36) ... ((Ttypekind294244) 38):
  			{
  				(*dest0).kindU.intval = ((NI64) (((NI) (src0.kindU.floatval))));
  			}
  			break;
  			default:
  			{
  				NI64 srcdist0;
  				NI64 destdist0;
  				srcdist0 = (NI64)((NI64)(IL64(8) - (*srctyp0).size) * IL64(8));
  				destdist0 = (NI64)((NI64)(IL64(8) - (*desttyp0).size) * IL64(8));
  				(*dest0).kindU.intval = (NI64)((NU64)((NI64)((NU64)(src0.kindU.intval) >> (NU64)(srcdist0))) << (NU64)(srcdist0));
  				(*dest0).kindU.intval = (NI64)((NU64)((NI64)((NU64)((*dest0).kindU.intval) >> (NU64)(destdist0))) << (NU64)(destdist0));
  			}
  			break;
  			}
  		}
  		break;
  		case ((Ttypekind294244) 36) ... ((Ttypekind294244) 38):
  		{
  			Ttype294840* LOC109;
  			{
  				if (!!(((*dest0).kind == ((Tregisterkind460202) 3)))) goto LA107;
  				myreset_460401_2569374918(dest0);
  				(*dest0).kind = ((Tregisterkind460202) 3);
  			}
  			LA107: ;
  			LOC109 = (Ttype294840*)0;
  			LOC109 = skiptypes_298099_850551059(srctyp0, IL64(211106233624832));
  			switch ((*LOC109).kind) {
  			case ((Ttypekind294244) 31) ... ((Ttypekind294244) 35):
  			case ((Ttypekind294244) 40) ... ((Ttypekind294244) 44):
  			case ((Ttypekind294244) 14):
  			case ((Ttypekind294244) 1):
  			case ((Ttypekind294244) 2):
  			{
  				(*dest0).kindU.floatval = ((double) (src0.kindU.intval));
  			}
  			break;
  			default:
  			{
  				(*dest0).kindU.floatval = src0.kindU.floatval;
  			}
  			break;
  			}
  		}
  		break;
  		default:
  		{
  			asgncomplex_461244_2569374918(dest0, src0);
  		}
  		break;
  		}
  	}
  	LA1: ;
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(void, rawexecute_462204_2569374918)(Tctx345035* c0, NI start0, Tstackframe460208* tos_462208_2569374918, Tfullreg460204* Result) {
  	TY472230* HEX3Aenv_472237_2569374918;
  	NI pc0;
  	Tstackframe460208* tos0;
  	TY460855* regs0;
  {	HEX3Aenv_472237_2569374918 = (TY472230*)0;
  	HEX3Aenv_472237_2569374918 = (TY472230*) newObj((&NTI472229), sizeof(TY472230));
  	pc0 = start0;
  	tos0 = tos_462208_2569374918;
  	regs0 = (TY460855*)0;
  	regs0 = (*tos0).slots;
  	{
  		while (1) {
  			NU32 instr0;
  			NI ra_462234_2569374918;
  			instr0 = (*c0).code->data[pc0];
  			ra_462234_2569374918 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  			switch (((Topcode345015) ((NU32)(instr0 & ((NU32) 255))))) {
  			case ((Topcode345015) 0):
  			{
  				genericAssign((void*)Result, (void*)(&regs0->data[ra_462234_2569374918]), (&NTI460204));
  				goto BeforeRet;
  			}
  			break;
  			case ((Topcode345015) 1):
  			{
  				Tfullreg460204 retval0;
  				pc0 = (*tos0).comesfrom;
  				tos0 = (*tos0).next;
  				memset((void*)(&retval0), 0, sizeof(retval0));
  				memcpy((void*)(&retval0), (NIM_CONST void*)(&regs0->data[((NI) 0)]), sizeof(retval0));
  				{
  					if (!tos0 == 0) goto LA7;
  					genericAssign((void*)Result, (void*)(&retval0), (&NTI460204));
  					goto BeforeRet;
  				}
  				LA7: ;
  				regs0 = (*tos0).slots;
  				{
  					if (!(((Topcode345015) ((NU32)((*c0).code->data[pc0] & ((NU32) 255)))) == ((Topcode345015) 129))) goto LA11;
  					genericAssign((void*)(&regs0->data[((NI) ((NU32)((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 8))) & ((NU32) 255))))]), (void*)(&retval0), (&NTI460204));
  				}
  				LA11: ;
  			}
  			break;
  			case ((Topcode345015) 2):
  			{
  			}
  			break;
  			case ((Topcode345015) 3):
  			{
  			}
  			break;
  			case ((Topcode345015) 4):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA18;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA18: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = regs0->data[rb0].kindU.intval;
  			}
  			break;
  			case ((Topcode345015) 5):
  			{
  				NI rb0;
  				NI rc0;
  				NimStringDesc* LOC25;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA23;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA23: ;
  				createstrkeepnode_460440_2569374918((&regs0->data[ra_462234_2569374918]), !((((NI) (rc0)) == ((NI) 0))));
  				LOC25 = (NimStringDesc*)0;
  				LOC25 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*regs0->data[rb0].kindU.node).kindU.S3.strval);
  				if (LOC25) nimGCunrefNoCycle(LOC25);
  			}
  			break;
  			case ((Topcode345015) 6):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA29;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA29: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = regs0->data[rb0].kindU.floatval;
  			}
  			break;
  			case ((Topcode345015) 8):
  			{
  				asgncomplex_461244_2569374918((&regs0->data[ra_462234_2569374918]), regs0->data[((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))))]);
  			}
  			break;
  			case ((Topcode345015) 7):
  			{
  				moveconst_461096_2569374918((&regs0->data[ra_462234_2569374918]), regs0->data[((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))))]);
  			}
  			break;
  			case ((Topcode345015) 9):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA36;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA36: ;
  				putintonode_461268_2569374918(&regs0->data[ra_462234_2569374918].kindU.node, regs0->data[rb0]);
  			}
  			break;
  			case ((Topcode345015) 10):
  			{
  				NI ra0;
  				NI rb0;
  				ra0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[rb0].kind == ((Tregisterkind460202) 1)))) goto LA41;
  					genericAssign((void*)(&regs0->data[ra0]), (void*)(&regs0->data[rb0]), (&NTI460204));
  				}
  				goto LA39;
  				LA41: ;
  				{
  					Tnode294802* nb0;
  					nb0 = regs0->data[rb0].kindU.node;
  					switch ((*nb0).kind) {
  					case ((Tnodekind294020) 5) ... ((Tnodekind294020) 15):
  					{
  						{
  							if (!!((regs0->data[ra0].kind == ((Tregisterkind460202) 2)))) goto LA47;
  							myreset_460401_2569374918((&regs0->data[ra0]));
  							regs0->data[ra0].kind = ((Tregisterkind460202) 2);
  						}
  						LA47: ;
  						regs0->data[ra0].kindU.intval = (*nb0).kindU.S1.intval;
  					}
  					break;
  					case ((Tnodekind294020) 16) ... ((Tnodekind294020) 18):
  					{
  						{
  							if (!!((regs0->data[ra0].kind == ((Tregisterkind460202) 3)))) goto LA52;
  							myreset_460401_2569374918((&regs0->data[ra0]));
  							regs0->data[ra0].kind = ((Tregisterkind460202) 3);
  						}
  						LA52: ;
  						regs0->data[ra0].kindU.floatval = (*nb0).kindU.S2.floatval;
  					}
  					break;
  					default:
  					{
  						{
  							if (!!((regs0->data[ra0].kind == ((Tregisterkind460202) 1)))) goto LA57;
  							myreset_460401_2569374918((&regs0->data[ra0]));
  							regs0->data[ra0].kind = ((Tregisterkind460202) 1);
  						}
  						LA57: ;
  						asgnRefNoCycle((void**) (&regs0->data[ra0].kindU.node), nb0);
  					}
  					break;
  					}
  				}
  				LA39: ;
  			}
  			break;
  			case ((Topcode345015) 11):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				Tnode294802* src0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA62;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA62: ;
  				{
  					if (!(IL64(2147483647) < regs0->data[rc0].kindU.intval)) goto LA66;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA66: ;
  				idx0 = ((NI) (regs0->data[rc0].kindU.intval));
  				src0 = regs0->data[rb0].kindU.node;
  				{
  					NIM_BOOL LOC70;
  					NI LOC72;
  					LOC70 = (NIM_BOOL)0;
  					LOC70 = !(((*src0).kind >= ((Tnodekind294020) 1) && (*src0).kind <= ((Tnodekind294020) 23)));
  					if (!(LOC70)) goto LA71;
  					LOC72 = (NI)0;
  					LOC72 = len_295081_850551059(src0);
  					LOC70 = ((NU32)(idx0) < (NU32)(LOC72));
  					LA71: ;
  					if (!LOC70) goto LA73;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), (*src0).kindU.S6.sons->data[idx0]);
  				}
  				goto LA68;
  				LA73: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA68: ;
  			}
  			break;
  			case ((Topcode345015) 20):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				NimStringDesc* s0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA79;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA79: ;
  				idx0 = ((NI) (regs0->data[rc0].kindU.intval));
  				s0 = (*regs0->data[rb0].kindU.node).kindU.S3.strval;
  				{
  					if (!s0 == 0) goto LA83;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				goto LA81;
  				LA83: ;
  				{
  					if (!((NU32)(idx0) <= (NU32)((s0 ? s0->Sup.len : 0)))) goto LA86;
  					regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (((NU8)(s0->data[idx0]))));
  				}
  				goto LA81;
  				LA86: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA81: ;
  			}
  			break;
  			case ((Topcode345015) 12):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA92;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA92: ;
  				idx0 = ((NI) (regs0->data[rb0].kindU.intval));
  				{
  					NI LOC96;
  					LOC96 = (NI)0;
  					LOC96 = len_295081_850551059(regs0->data[ra_462234_2569374918].kindU.node);
  					if (!((NU32)(idx0) < (NU32)(LOC96))) goto LA97;
  					putintonode_461268_2569374918(&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons->data[idx0], regs0->data[rc0]);
  				}
  				goto LA94;
  				LA97: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA94: ;
  			}
  			break;
  			case ((Topcode345015) 13):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* src0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA103;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA103: ;
  				src0 = regs0->data[rb0].kindU.node;
  				{
  					Tnode294802* n0;
  					if (!!(((*src0).kind >= ((Tnodekind294020) 1) && (*src0).kind <= ((Tnodekind294020) 23)))) goto LA107;
  					n0 = skipcolon_457197_2499857528((*src0).kindU.S6.sons->data[(NI)(((NI) (rc0)) + ((NI) (((*src0).kind == ((Tnodekind294020) 38)))))]);
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), n0);
  				}
  				goto LA105;
  				LA107: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA105: ;
  			}
  			break;
  			case ((Topcode345015) 14):
  			{
  				NI rb0;
  				NI rc0;
  				NI shiftedrb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA113;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA113: ;
  				shiftedrb0 = (NI)(((NI) (rb0)) + ((NI) (((*regs0->data[ra_462234_2569374918].kindU.node).kind == ((Tnodekind294020) 38)))));
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					if (!((*(*dest0).kindU.S6.sons->data[shiftedrb0]).kind == ((Tnodekind294020) 34))) goto LA117;
  					putintonode_461268_2569374918(&(*(*dest0).kindU.S6.sons->data[shiftedrb0]).kindU.S6.sons->data[((NI) 1)], regs0->data[rc0]);
  				}
  				goto LA115;
  				LA117: ;
  				{
  					putintonode_461268_2569374918(&(*dest0).kindU.S6.sons->data[shiftedrb0], regs0->data[rc0]);
  				}
  				LA115: ;
  			}
  			break;
  			case ((Topcode345015) 19):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA123;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA123: ;
  				idx0 = ((NI) (regs0->data[rb0].kindU.intval));
  				{
  					if (!((NU32)(idx0) < (NU32)(((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval ? (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval->Sup.len : 0)))) goto LA127;
  					(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval->data[idx0] = ((NIM_CHAR) (((NI) (regs0->data[rc0].kindU.intval))));
  				}
  				goto LA125;
  				LA127: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA125: ;
  			}
  			break;
  			case ((Topcode345015) 15):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 4)))) goto LA133;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 4);
  				}
  				LA133: ;
  				regs0->data[ra_462234_2569374918].kindU.regaddr = (&regs0->data[rb0]);
  			}
  			break;
  			case ((Topcode345015) 16):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 5)))) goto LA138;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 5);
  				}
  				LA138: ;
  				{
  					if (!(regs0->data[rb0].kind == ((Tregisterkind460202) 1))) goto LA142;
  					regs0->data[ra_462234_2569374918].kindU.nodeaddr = &regs0->data[rb0].kindU.node;
  				}
  				goto LA140;
  				LA142: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_83));
  				}
  				LA140: ;
  			}
  			break;
  			case ((Topcode345015) 17):
  			{
  				NI ra0;
  				NI rb0;
  				ra0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				switch (regs0->data[rb0].kind) {
  				case ((Tregisterkind460202) 5):
  				{
  					{
  						if (!!((regs0->data[ra0].kind == ((Tregisterkind460202) 1)))) goto LA149;
  						myreset_460401_2569374918((&regs0->data[ra0]));
  						regs0->data[ra0].kind = ((Tregisterkind460202) 1);
  					}
  					LA149: ;
  					asgnRefNoCycle((void**) (&regs0->data[ra0].kindU.node), (*regs0->data[rb0].kindU.nodeaddr));
  				}
  				break;
  				case ((Tregisterkind460202) 4):
  				{
  					{
  						if (!!((regs0->data[ra0].kind == (*regs0->data[rb0].kindU.regaddr).kind))) goto LA154;
  						myreset_460401_2569374918((&regs0->data[ra0]));
  						regs0->data[ra0].kind = (*regs0->data[rb0].kindU.regaddr).kind;
  					}
  					LA154: ;
  					genericAssign((void*)(&regs0->data[ra0]), (void*)(&(*regs0->data[rb0].kindU.regaddr)), (&NTI460204));
  				}
  				break;
  				case ((Tregisterkind460202) 1):
  				{
  					{
  						if (!((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 23))) goto LA159;
  						stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  					}
  					LA159: ;
  					{
  						if (!((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 141))) goto LA163;
  						asgnRefNoCycle((void**) (&regs0->data[ra0].kindU.node), (*regs0->data[rb0].kindU.node).kindU.S6.sons->data[((NI) 0)]);
  					}
  					goto LA161;
  					LA163: ;
  					{
  						stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_84));
  					}
  					LA161: ;
  				}
  				break;
  				default:
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				break;
  				}
  			}
  			break;
  			case ((Topcode345015) 18):
  			{
  				NI ra0;
  				NI rc0;
  				ra0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				switch (regs0->data[ra0].kind) {
  				case ((Tregisterkind460202) 5):
  				{
  					putintonode_461268_2569374918(regs0->data[ra0].kindU.nodeaddr, regs0->data[rc0]);
  				}
  				break;
  				case ((Tregisterkind460202) 4):
  				{
  					genericAssign((void*)(&(*regs0->data[ra0].kindU.regaddr)), (void*)(&regs0->data[rc0]), (&NTI460204));
  				}
  				break;
  				case ((Tregisterkind460202) 1):
  				{
  					putintonode_461268_2569374918(&regs0->data[ra0].kindU.node, regs0->data[rc0]);
  				}
  				break;
  				default:
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				break;
  				}
  			}
  			break;
  			case ((Topcode345015) 21):
  			{
  				NI rb0;
  				NI rc0;
  				NI64 bval0;
  				NI64 cval0;
  				NI64 sum0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA175;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA175: ;
  				bval0 = regs0->data[rb0].kindU.intval;
  				cval0 = regs0->data[rc0].kindU.intval;
  				sum0 = (NI64)((NU64)(bval0) + (NU64)(cval0));
  				{
  					NIM_BOOL LOC179;
  					LOC179 = (NIM_BOOL)0;
  					LOC179 = (IL64(0) <= (NI64)(sum0 ^ bval0));
  					if (LOC179) goto LA180;
  					LOC179 = (IL64(0) <= (NI64)(sum0 ^ cval0));
  					LA180: ;
  					if (!LOC179) goto LA181;
  					regs0->data[ra_462234_2569374918].kindU.intval = sum0;
  				}
  				goto LA177;
  				LA181: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA177: ;
  			}
  			break;
  			case ((Topcode345015) 22):
  			{
  				NI rb0;
  				NI imm0;
  				NI64 bval0;
  				NI cval0;
  				NI64 sum0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				imm0 = (NI)(((NI) (((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24))))))) - ((NI) 128));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA187;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA187: ;
  				bval0 = regs0->data[rb0].kindU.intval;
  				cval0 = imm0;
  				sum0 = (NI64)((NU64)(bval0) + (NU64)(((NI64) (cval0))));
  				{
  					NIM_BOOL LOC191;
  					LOC191 = (NIM_BOOL)0;
  					LOC191 = (IL64(0) <= (NI64)(sum0 ^ bval0));
  					if (LOC191) goto LA192;
  					LOC191 = (IL64(0) <= (NI64)(sum0 ^ ((NI64) (cval0))));
  					LA192: ;
  					if (!LOC191) goto LA193;
  					regs0->data[ra_462234_2569374918].kindU.intval = sum0;
  				}
  				goto LA189;
  				LA193: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA189: ;
  			}
  			break;
  			case ((Topcode345015) 23):
  			{
  				NI rb0;
  				NI rc0;
  				NI64 bval0;
  				NI64 cval0;
  				NI64 diff0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA199;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA199: ;
  				bval0 = regs0->data[rb0].kindU.intval;
  				cval0 = regs0->data[rc0].kindU.intval;
  				diff0 = (NI64)((NU64)(bval0) - (NU64)(cval0));
  				{
  					NIM_BOOL LOC203;
  					LOC203 = (NIM_BOOL)0;
  					LOC203 = (IL64(0) <= (NI64)(diff0 ^ bval0));
  					if (LOC203) goto LA204;
  					LOC203 = (IL64(0) <= (NI64)(diff0 ^ (NI64)((NU64) ~(cval0))));
  					LA204: ;
  					if (!LOC203) goto LA205;
  					regs0->data[ra_462234_2569374918].kindU.intval = diff0;
  				}
  				goto LA201;
  				LA205: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA201: ;
  			}
  			break;
  			case ((Topcode345015) 24):
  			{
  				NI rb0;
  				NI imm0;
  				NI64 bval0;
  				NI cval0;
  				NI64 diff0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				imm0 = (NI)(((NI) (((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24))))))) - ((NI) 128));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA211;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA211: ;
  				bval0 = regs0->data[rb0].kindU.intval;
  				cval0 = imm0;
  				diff0 = (NI64)((NU64)(bval0) - (NU64)(((NI64) (cval0))));
  				{
  					NIM_BOOL LOC215;
  					LOC215 = (NIM_BOOL)0;
  					LOC215 = (IL64(0) <= (NI64)(diff0 ^ bval0));
  					if (LOC215) goto LA216;
  					LOC215 = (IL64(0) <= (NI64)(diff0 ^ ((NI64) ((NI)((NU32) ~(((NI) (cval0))))))));
  					LA216: ;
  					if (!LOC215) goto LA217;
  					regs0->data[ra_462234_2569374918].kindU.intval = diff0;
  				}
  				goto LA213;
  				LA217: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA213: ;
  			}
  			break;
  			case ((Topcode345015) 25):
  			{
  				NI rb0;
  				NI imm0;
  				NI LOC225;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				imm0 = (NI)(((NI) (((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24))))))) - ((NI) 128));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA223;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA223: ;
  				LOC225 = (NI)0;
  				LOC225 = safelen_295103_850551059(regs0->data[rb0].kindU.node);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((NI)(LOC225 - ((NI) (imm0)))));
  			}
  			break;
  			case ((Topcode345015) 26):
  			{
  				NI rb0;
  				NI imm0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				imm0 = (NI)(((NI) (((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24))))))) - ((NI) 128));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA229;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA229: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((NI)(((*regs0->data[rb0].kindU.node).kindU.S3.strval ? (*regs0->data[rb0].kindU.node).kindU.S3.strval->Sup.len : 0) - ((NI) (imm0)))));
  			}
  			break;
  			case ((Topcode345015) 27):
  			{
  				NI rb0;
  				Tnode294802* b0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA234;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA234: ;
  				b0 = regtonode_461306_2569374918(regs0->data[rb0]);
  				{
  					NIM_BOOL LOC238;
  					Tnode294802* LOC241;
  					LOC238 = (NIM_BOOL)0;
  					LOC238 = inset_342010_452470228(regs0->data[ra_462234_2569374918].kindU.node, b0);
  					if (!!(LOC238)) goto LA239;
  					LOC241 = (Tnode294802*)0;
  					LOC241 = copytree_298822_850551059(b0);
  					addson_296807_850551059(regs0->data[ra_462234_2569374918].kindU.node, LOC241);
  				}
  				LA239: ;
  			}
  			break;
  			case ((Topcode345015) 28):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* r0;
  				Tnode294802* LOC247;
  				Tnode294802* LOC248;
  				Tnode294802* LOC249;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA245;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA245: ;
  				r0 = newnode_295401_850551059(((Tnodekind294020) 44));
  				LOC247 = (Tnode294802*)0;
  				LOC247 = regtonode_461306_2569374918(regs0->data[rb0]);
  				add_295136_850551059(r0, LOC247);
  				LOC248 = (Tnode294802*)0;
  				LOC248 = regtonode_461306_2569374918(regs0->data[rc0]);
  				add_295136_850551059(r0, LOC248);
  				LOC249 = (Tnode294802*)0;
  				LOC249 = copytree_298822_850551059(r0);
  				addson_296807_850551059(regs0->data[ra_462234_2569374918].kindU.node, LOC249);
  			}
  			break;
  			case ((Topcode345015) 29):
  			{
  				NI rb0;
  				Tnode294802* b0;
  				Tnode294802* LOC255;
  				Tnode294802* r0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA253;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA253: ;
  				b0 = newnodeit_296801_850551059(((Tnodekind294020) 39), (*regs0->data[ra_462234_2569374918].kindU.node).info, (*regs0->data[ra_462234_2569374918].kindU.node).typ);
  				LOC255 = (Tnode294802*)0;
  				LOC255 = regtonode_461306_2569374918(regs0->data[rb0]);
  				addson_296807_850551059(b0, LOC255);
  				r0 = diffsets_342030_452470228(regs0->data[ra_462234_2569374918].kindU.node, b0);
  				discardsons_295078_850551059(regs0->data[ra_462234_2569374918].kindU.node);
  				{
  					NI i_464533_2569374918;
  					NI HEX3Atmp_472320_2569374918;
  					NI LOC257;
  					NI res_472323_2569374918;
  					i_464533_2569374918 = (NI)0;
  					HEX3Atmp_472320_2569374918 = (NI)0;
  					LOC257 = (NI)0;
  					LOC257 = sonslen_297351_850551059(r0);
  					HEX3Atmp_472320_2569374918 = (NI)(LOC257 - ((NI) 1));
  					res_472323_2569374918 = ((NI) 0);
  					{
  						while (1) {
  							if (!(res_472323_2569374918 <= HEX3Atmp_472320_2569374918)) goto LA259;
  							i_464533_2569374918 = res_472323_2569374918;
  							addson_296807_850551059(regs0->data[ra_462234_2569374918].kindU.node, (*r0).kindU.S6.sons->data[i_464533_2569374918]);
  							res_472323_2569374918 += ((NI) 1);
  						} LA259: ;
  					}
  				}
  			}
  			break;
  			case ((Topcode345015) 30):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA263;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA263: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = cardset_342050_452470228(regs0->data[rb0].kindU.node);
  			}
  			break;
  			case ((Topcode345015) 31):
  			{
  				NI rb0;
  				NI rc0;
  				NI64 bval0;
  				NI64 cval0;
  				NI64 product0;
  				NF floatprod0;
  				NF resasfloat0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA268;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA268: ;
  				bval0 = regs0->data[rb0].kindU.intval;
  				cval0 = regs0->data[rc0].kindU.intval;
  				product0 = (NI64)((NU64)(bval0) * (NU64)(cval0));
  				floatprod0 = ((NF)(((double) (bval0))) * (NF)(((double) (cval0))));
  				resasfloat0 = ((double) (product0));
  				{
  					if (!(resasfloat0 == floatprod0)) goto LA272;
  					regs0->data[ra_462234_2569374918].kindU.intval = product0;
  				}
  				goto LA270;
  				LA272: ;
  				{
  					if (!(((NF)(3.2000000000000000e+01) * (NF)((((NF)(resasfloat0) - (NF)(floatprod0)) > 0? (((NF)(resasfloat0) - (NF)(floatprod0))) : -(((NF)(resasfloat0) - (NF)(floatprod0)))))) <= (floatprod0 > 0? (floatprod0) : -(floatprod0)))) goto LA275;
  					regs0->data[ra_462234_2569374918].kindU.intval = product0;
  				}
  				goto LA270;
  				LA275: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA270: ;
  			}
  			break;
  			case ((Topcode345015) 32):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA281;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA281: ;
  				{
  					if (!(regs0->data[rc0].kindU.intval == IL64(0))) goto LA285;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 77), ((NimStringDesc*) &T2569374918_3));
  				}
  				goto LA283;
  				LA285: ;
  				{
  					regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[rb0].kindU.intval / regs0->data[rc0].kindU.intval);
  				}
  				LA283: ;
  			}
  			break;
  			case ((Topcode345015) 33):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA291;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA291: ;
  				{
  					if (!(regs0->data[rc0].kindU.intval == IL64(0))) goto LA295;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 77), ((NimStringDesc*) &T2569374918_3));
  				}
  				goto LA293;
  				LA295: ;
  				{
  					regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[rb0].kindU.intval % regs0->data[rc0].kindU.intval);
  				}
  				LA293: ;
  			}
  			break;
  			case ((Topcode345015) 34):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA301;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA301: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = ((NF)(regs0->data[rb0].kindU.floatval) + (NF)(regs0->data[rc0].kindU.floatval));
  			}
  			break;
  			case ((Topcode345015) 35):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA306;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA306: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = ((NF)(regs0->data[rb0].kindU.floatval) - (NF)(regs0->data[rc0].kindU.floatval));
  			}
  			break;
  			case ((Topcode345015) 36):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA311;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA311: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = ((NF)(regs0->data[rb0].kindU.floatval) * (NF)(regs0->data[rc0].kindU.floatval));
  			}
  			break;
  			case ((Topcode345015) 37):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA316;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA316: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = ((NF)(regs0->data[rb0].kindU.floatval) / (NF)(regs0->data[rc0].kindU.floatval));
  			}
  			break;
  			case ((Topcode345015) 38):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA321;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA321: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) >> (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 39):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA326;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA326: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) << (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 40):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA331;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA331: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[rb0].kindU.intval & regs0->data[rc0].kindU.intval);
  			}
  			break;
  			case ((Topcode345015) 41):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA336;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA336: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[rb0].kindU.intval | regs0->data[rc0].kindU.intval);
  			}
  			break;
  			case ((Topcode345015) 42):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA341;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA341: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[rb0].kindU.intval ^ regs0->data[rc0].kindU.intval);
  			}
  			break;
  			case ((Topcode345015) 43):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA346;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA346: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) + (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 44):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA351;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA351: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) - (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 45):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA356;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA356: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) * (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 46):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA361;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA361: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) / (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 47):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA366;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA366: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64)(regs0->data[rb0].kindU.intval) % (NU64)(regs0->data[rc0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 48):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA371;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA371: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.intval == regs0->data[rc0].kindU.intval)));
  			}
  			break;
  			case ((Topcode345015) 49):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA376;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA376: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.intval <= regs0->data[rc0].kindU.intval)));
  			}
  			break;
  			case ((Topcode345015) 50):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA381;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA381: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.intval < regs0->data[rc0].kindU.intval)));
  			}
  			break;
  			case ((Topcode345015) 51):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA386;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA386: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.floatval == regs0->data[rc0].kindU.floatval)));
  			}
  			break;
  			case ((Topcode345015) 52):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA391;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA391: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.floatval <= regs0->data[rc0].kindU.floatval)));
  			}
  			break;
  			case ((Topcode345015) 53):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA396;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA396: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((regs0->data[rb0].kindU.floatval < regs0->data[rc0].kindU.floatval)));
  			}
  			break;
  			case ((Topcode345015) 54):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA401;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA401: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (((NU64)(regs0->data[rb0].kindU.intval) <= (NU64)(regs0->data[rc0].kindU.intval))));
  			}
  			break;
  			case ((Topcode345015) 55):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA406;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA406: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (((NU64)(regs0->data[rb0].kindU.intval) < (NU64)(regs0->data[rc0].kindU.intval))));
  			}
  			break;
  			case ((Topcode345015) 56):
  			{
  				NI rb0;
  				NI rc0;
  				NIM_BOOL LOC413;
  				NIM_BOOL LOC414;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA411;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA411: ;
  				LOC413 = (NIM_BOOL)0;
  				LOC414 = (NIM_BOOL)0;
  				LOC414 = ((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 23));
  				if (!(LOC414)) goto LA415;
  				LOC414 = ((*regs0->data[rc0].kindU.node).kind == ((Tnodekind294020) 23));
  				LA415: ;
  				LOC413 = LOC414;
  				if (LOC413) goto LA416;
  				LOC413 = (regs0->data[rb0].kindU.node == regs0->data[rc0].kindU.node);
  				LA416: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC413));
  			}
  			break;
  			case ((Topcode345015) 57):
  			{
  				NI rb0;
  				NI rc0;
  				NIM_BOOL LOC422;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA420;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA420: ;
  				LOC422 = (NIM_BOOL)0;
  				LOC422 = exprstructuralequivalent_320311_2616423590(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node, NIM_TRUE);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC422));
  			}
  			break;
  			case ((Topcode345015) 58):
  			{
  				NI rb0;
  				NI rc0;
  				NIM_BOOL LOC428;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA426;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA426: ;
  				LOC428 = (NIM_BOOL)0;
  				LOC428 = sametypeornil_326643_3876443242((*regs0->data[rb0].kindU.node).typ, (*regs0->data[rc0].kindU.node).typ, 0);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC428));
  			}
  			break;
  			case ((Topcode345015) 59):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA432;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA432: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (!((regs0->data[rb0].kindU.intval == regs0->data[rc0].kindU.intval))));
  			}
  			break;
  			case ((Topcode345015) 60):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA437;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA437: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(IL64(1) - regs0->data[rb0].kindU.intval);
  			}
  			break;
  			case ((Topcode345015) 61):
  			{
  				NI rb0;
  				NI64 val0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA442;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA442: ;
  				val0 = regs0->data[rb0].kindU.intval;
  				{
  					if (!!((val0 == (IL64(-9223372036854775807) - IL64(1))))) goto LA446;
  					regs0->data[ra_462234_2569374918].kindU.intval = -(val0);
  				}
  				goto LA444;
  				LA446: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 80), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA444: ;
  			}
  			break;
  			case ((Topcode345015) 62):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA452;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA452: ;
  				regs0->data[ra_462234_2569374918].kindU.floatval = -(regs0->data[rb0].kindU.floatval);
  			}
  			break;
  			case ((Topcode345015) 63):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA457;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA457: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)((NU64) ~(regs0->data[rb0].kindU.intval));
  			}
  			break;
  			case ((Topcode345015) 64):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA462;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA462: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (eqStrings((*regs0->data[rb0].kindU.node).kindU.S3.strval, (*regs0->data[rc0].kindU.node).kindU.S3.strval)));
  			}
  			break;
  			case ((Topcode345015) 65):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA467;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA467: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((cmpStrings((*regs0->data[rb0].kindU.node).kindU.S3.strval, (*regs0->data[rc0].kindU.node).kindU.S3.strval) <= 0)));
  			}
  			break;
  			case ((Topcode345015) 66):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA472;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA472: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((cmpStrings((*regs0->data[rb0].kindU.node).kindU.S3.strval, (*regs0->data[rc0].kindU.node).kindU.S3.strval) < 0)));
  			}
  			break;
  			case ((Topcode345015) 68):
  			{
  				NI rb0;
  				NI rc0;
  				NIM_BOOL LOC479;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA477;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA477: ;
  				LOC479 = (NIM_BOOL)0;
  				LOC479 = containssets_342042_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC479));
  			}
  			break;
  			case ((Topcode345015) 67):
  			{
  				NI rb0;
  				NI rc0;
  				NIM_BOOL LOC485;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA483;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA483: ;
  				LOC485 = (NIM_BOOL)0;
  				LOC485 = equalsets_342046_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC485));
  			}
  			break;
  			case ((Topcode345015) 69):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* a0;
  				Tnode294802* b0;
  				NIM_BOOL LOC491;
  				NIM_BOOL LOC493;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA489;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA489: ;
  				a0 = regs0->data[rb0].kindU.node;
  				b0 = regs0->data[rc0].kindU.node;
  				LOC491 = (NIM_BOOL)0;
  				LOC491 = containssets_342042_452470228(a0, b0);
  				if (!(LOC491)) goto LA492;
  				LOC493 = (NIM_BOOL)0;
  				LOC493 = equalsets_342046_452470228(a0, b0);
  				LOC491 = !(LOC493);
  				LA492: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC491));
  			}
  			break;
  			case ((Topcode345015) 70):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* LOC499;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA497;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA497: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 39)));
  				LOC499 = (Tnode294802*)0;
  				LOC499 = intersectsets_342034_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons), (*LOC499).kindU.S6.sons);
  			}
  			break;
  			case ((Topcode345015) 71):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* LOC505;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA503;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA503: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 39)));
  				LOC505 = (Tnode294802*)0;
  				LOC505 = unionsets_342026_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons), (*LOC505).kindU.S6.sons);
  			}
  			break;
  			case ((Topcode345015) 72):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* LOC511;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA509;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA509: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 39)));
  				LOC511 = (Tnode294802*)0;
  				LOC511 = diffsets_342030_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons), (*LOC511).kindU.S6.sons);
  			}
  			break;
  			case ((Topcode345015) 73):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* LOC517;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA515;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA515: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 39)));
  				LOC517 = (Tnode294802*)0;
  				LOC517 = symdiffsets_342038_452470228(regs0->data[rb0].kindU.node, regs0->data[rc0].kindU.node);
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons), (*LOC517).kindU.S6.sons);
  			}
  			break;
  			case ((Topcode345015) 74):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA521;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA521: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				{
  					NimStringDesc* LOC527;
  					if (!(regs0->data[rb0].kind == ((Tregisterkind460202) 1))) goto LA525;
  					LOC527 = (NimStringDesc*)0;
  					LOC527 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*regs0->data[rb0].kindU.node).kindU.S3.strval);
  					if (LOC527) nimGCunrefNoCycle(LOC527);
  				}
  				goto LA523;
  				LA525: ;
  				{
  					asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs0->data[rb0].kindU.intval))))))));
  				}
  				LA523: ;
  				{
  					NI i_467214_2569374918;
  					NI HEX3Atmp_472459_2569374918;
  					NI HEX3Atmp_472460_2569374918;
  					NI res_472463_2569374918;
  					i_467214_2569374918 = (NI)0;
  					HEX3Atmp_472459_2569374918 = (NI)0;
  					HEX3Atmp_472460_2569374918 = (NI)0;
  					HEX3Atmp_472459_2569374918 = (NI)(((NI) (rb0)) + ((NI) 1));
  					HEX3Atmp_472460_2569374918 = (NI)(((NI) ((NI)(((NI) (rb0)) + ((NI) (rc0))))) - ((NI) 1));
  					res_472463_2569374918 = ((NI) (HEX3Atmp_472459_2569374918));
  					{
  						while (1) {
  							NimStringDesc* LOC532;
  							if (!(res_472463_2569374918 <= ((NI) (HEX3Atmp_472460_2569374918)))) goto LA531;
  							i_467214_2569374918 = ((NI) (res_472463_2569374918));
  							LOC532 = (NimStringDesc*)0;
  							{
  								if (!(regs0->data[i_467214_2569374918].kind == ((Tregisterkind460202) 1))) goto LA535;
  								LOC532 = copyString((*regs0->data[i_467214_2569374918].kindU.node).kindU.S3.strval);
  							}
  							goto LA533;
  							LA535: ;
  							{
  								LOC532 = nimCharToStr(((NIM_CHAR) (((NI) (((NI) (regs0->data[i_467214_2569374918].kindU.intval)))))));
  							}
  							LA533: ;
  							(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = resizeString((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, LOC532->Sup.len + 0);
  appendString((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, LOC532);
  							res_472463_2569374918 += ((NI) 1);
  						} LA531: ;
  					}
  				}
  			}
  			break;
  			case ((Topcode345015) 90):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA541;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA541: ;
  				(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = addChar((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, ((NIM_CHAR) (((NI) (regs0->data[rb0].kindU.intval)))));
  			}
  			break;
  			case ((Topcode345015) 91):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA546;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA546: ;
  				(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = resizeString((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, (*regs0->data[rb0].kindU.node).kindU.S3.strval->Sup.len + 0);
  appendString((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, (*regs0->data[rb0].kindU.node).kindU.S3.strval);
  			}
  			break;
  			case ((Topcode345015) 92):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA551;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA551: ;
  				{
  					Tnode294802* LOC557;
  					Tnode294802* LOC558;
  					if (!((*regs0->data[ra_462234_2569374918].kindU.node).kind == ((Tnodekind294020) 41))) goto LA555;
  					LOC557 = (Tnode294802*)0;
  					LOC557 = regtonode_461306_2569374918(regs0->data[rb0]);
  					LOC558 = (Tnode294802*)0;
  					LOC558 = copytree_298822_850551059(LOC557);
  					add_295136_850551059(regs0->data[ra_462234_2569374918].kindU.node, LOC558);
  				}
  				goto LA553;
  				LA555: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA553: ;
  			}
  			break;
  			case ((Topcode345015) 126):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA563;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA563: ;
  				a0 = regs0->data[rb0].kindU.node;
  				{
  					if (!((*a0).kind == ((Tnodekind294020) 3))) goto LA567;
  					{
  						if (!(*(*a0).kindU.S4.sym).ast == 0) goto LA571;
  						asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 23)));
  					}
  					goto LA569;
  					LA571: ;
  					{
  						asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copytree_298822_850551059((*(*a0).kindU.S4.sym).ast));
  					}
  					LA569: ;
  				}
  				goto LA565;
  				LA567: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_85));
  				}
  				LA565: ;
  			}
  			break;
  			case ((Topcode345015) 127):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!(((NI) (rb0)) == ((NI) 1))) goto LA578;
  					msgwriteln_194450_155036129((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, 1);
  				}
  				goto LA576;
  				LA578: ;
  				{
  					NimStringDesc* outp0;
  					outp0 = copyString(((NimStringDesc*) &T2569374918_3));
  					{
  						NI i_467614_2569374918;
  						NI HEX3Atmp_472477_2569374918;
  						NI res_472480_2569374918;
  						i_467614_2569374918 = (NI)0;
  						HEX3Atmp_472477_2569374918 = (NI)0;
  						HEX3Atmp_472477_2569374918 = (NI)(((NI) ((NI)(((NI) (ra_462234_2569374918)) + ((NI) (rb0))))) - ((NI) 1));
  						res_472480_2569374918 = ((NI) (ra_462234_2569374918));
  						{
  							while (1) {
  								if (!(res_472480_2569374918 <= ((NI) (HEX3Atmp_472477_2569374918)))) goto LA583;
  								i_467614_2569374918 = ((NI) (res_472480_2569374918));
  								outp0 = resizeString(outp0, (*regs0->data[i_467614_2569374918].kindU.node).kindU.S3.strval->Sup.len + 0);
  appendString(outp0, (*regs0->data[i_467614_2569374918].kindU.node).kindU.S3.strval);
  								res_472480_2569374918 += ((NI) 1);
  							} LA583: ;
  						}
  					}
  					msgwriteln_194450_155036129(outp0, 1);
  				}
  				LA576: ;
  			}
  			break;
  			case ((Topcode345015) 75):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* LOC589;
  				NIM_BOOL LOC590;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA587;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA587: ;
  				LOC589 = (Tnode294802*)0;
  				LOC589 = regtonode_461306_2569374918(regs0->data[rc0]);
  				LOC590 = (NIM_BOOL)0;
  				LOC590 = inset_342010_452470228(regs0->data[rb0].kindU.node, LOC589);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC590));
  			}
  			break;
  			case ((Topcode345015) 82):
  			{
  				NI rb0;
  				NI rc0;
  				NI rd0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA594;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA594: ;
  				pc0 += ((NI) 1);
  				rd0 = ((NI) ((NU32)((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), copyStrLast((*regs0->data[rb0].kindU.node).kindU.S3.strval, ((NI) (regs0->data[rc0].kindU.intval)), ((NI) (regs0->data[rd0].kindU.intval))));
  			}
  			break;
  			case ((Topcode345015) 83):
  			{
  				NI rb0;
  				NI rc0;
  				NI rd0;
  				Tfullreg460204* rcaddr0;
  				NI LOC608;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA599;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA599: ;
  				pc0 += ((NI) 1);
  				rd0 = ((NI) ((NU32)((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				rcaddr0 = (&regs0->data[rc0]);
  				{
  					if (!((*rcaddr0).kind == ((Tregisterkind460202) 4))) goto LA603;
  					rcaddr0 = (*rcaddr0).kindU.regaddr;
  				}
  				goto LA601;
  				LA603: ;
  				{
  					if (!!((regs0->data[rc0].kind == ((Tregisterkind460202) 3)))) goto LA606;
  					myreset_460401_2569374918((&regs0->data[rc0]));
  					regs0->data[rc0].kind = ((Tregisterkind460202) 3);
  				}
  				goto LA601;
  				LA606: ;
  				LA601: ;
  				LOC608 = (NI)0;
  				LOC608 = nimParseBiggestFloat((*regs0->data[rb0].kindU.node).kindU.S3.strval, (&(*rcaddr0).kindU.floatval), ((NI) (regs0->data[rd0].kindU.intval)));
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC608));
  			}
  			break;
  			case ((Topcode345015) 93):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					NIM_BOOL LOC612;
  					Tnode294802* LOC613;
  					Tnode294802* LOC614;
  					Tnode294802* LOC616;
  					Tnode294802* LOC617;
  					NimStringDesc* LOC620;
  					TY195153 LOC621;
  					Tnode294802* LOC622;
  					NimStringDesc* LOC623;
  					Tnode294802* LOC624;
  					NimStringDesc* LOC625;
  					Tnode294802* LOC626;
  					NimStringDesc* LOC627;
  					NimStringDesc* LOC628;
  					LOC612 = (NIM_BOOL)0;
  					LOC613 = (Tnode294802*)0;
  					LOC613 = regtonode_461306_2569374918(regs0->data[rb0]);
  					LOC614 = (Tnode294802*)0;
  					LOC614 = regtonode_461306_2569374918(regs0->data[ra_462234_2569374918]);
  					LOC612 = levalueconv_355012_2569619629(LOC613, LOC614);
  					if (!(LOC612)) goto LA615;
  					LOC616 = (Tnode294802*)0;
  					LOC616 = regtonode_461306_2569374918(regs0->data[ra_462234_2569374918]);
  					LOC617 = (Tnode294802*)0;
  					LOC617 = regtonode_461306_2569374918(regs0->data[rc0]);
  					LOC612 = levalueconv_355012_2569619629(LOC616, LOC617);
  					LA615: ;
  					if (!!(LOC612)) goto LA618;
  					LOC620 = (NimStringDesc*)0;
  					LOC620 = msgkindtostring_194723_155036129(((Tmsgkind193002) 146));
  					memset((void*)LOC621, 0, sizeof(LOC621));
  					LOC622 = (Tnode294802*)0;
  					LOC622 = regtonode_461306_2569374918(regs0->data[ra_462234_2569374918]);
  					LOC621[0] = HEX24_313066_382274130(LOC622);
  					LOC623 = (NimStringDesc*)0;
  					LOC624 = (Tnode294802*)0;
  					LOC624 = regtonode_461306_2569374918(regs0->data[rb0]);
  					LOC625 = (NimStringDesc*)0;
  					LOC625 = HEX24_313066_382274130(LOC624);
  					LOC626 = (Tnode294802*)0;
  					LOC626 = regtonode_461306_2569374918(regs0->data[rc0]);
  					LOC627 = (NimStringDesc*)0;
  					LOC627 = HEX24_313066_382274130(LOC626);
  					LOC623 = rawNewString(LOC625->Sup.len + LOC627->Sup.len + 4);
  appendString(LOC623, ((NimStringDesc*) &T2569374918_86));
  appendString(LOC623, LOC625);
  appendString(LOC623, ((NimStringDesc*) &T2569374918_72));
  appendString(LOC623, LOC627);
  appendString(LOC623, ((NimStringDesc*) &T2569374918_87));
  					LOC621[1] = LOC623;
  					LOC628 = (NimStringDesc*)0;
  					LOC628 = nsuFormatOpenArray(LOC620, LOC621, 2);
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), LOC628);
  				}
  				LA618: ;
  			}
  			break;
  			case ((Topcode345015) 128):
  			case ((Topcode345015) 129):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* bb0;
  				NIM_BOOL isclosure0;
  				Tsym294834* prc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				bb0 = regs0->data[rb0].kindU.node;
  				isclosure0 = ((*bb0).kind == ((Tnodekind294020) 37));
  				{
  					if (!!(isclosure0)) goto LA632;
  					prc0 = (*bb0).kindU.S4.sym;
  				}
  				goto LA630;
  				LA632: ;
  				{
  					prc0 = (*(*bb0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym;
  				}
  				LA630: ;
  				{
  					Vmargs345029 LOC639;
  					if (!((*prc0).offset < ((NI) -1))) goto LA637;
  					memset((void*)(&LOC639), 0, sizeof(LOC639));
  					memset((void*)(&LOC639), 0, sizeof(LOC639));
  					LOC639.ra = ((NI) (ra_462234_2569374918));
  					LOC639.rb = ((NI) (rb0));
  					LOC639.rc = ((NI) (rc0));
  					LOC639.slots = ((void*) (regs0));
  					LOC639.currentexception = (*c0).currentexceptionb;
  					(*c0).callbacks->data[(NI)(((NI32)-((*prc0).offset)) - ((NI) 2))].Field1.ClEnv? (*c0).callbacks->data[(NI)(((NI32)-((*prc0).offset)) - ((NI) 2))].Field1.ClPrc((&LOC639), (*c0).callbacks->data[(NI)(((NI32)-((*prc0).offset)) - ((NI) 2))].Field1.ClEnv):((T2569374918_88)((*c0).callbacks->data[(NI)(((NI32)-((*prc0).offset)) - ((NI) 2))].Field1.ClPrc))((&LOC639));
  				}
  				goto LA635;
  				LA637: ;
  				{
  					if (!(((*prc0).flags &(1U<<((NU)(((Tsymflag294184) 5))&31U)))!=0)) goto LA641;
  					{
  						if (!!((((*c0).features &(1U<<((NU)(((Tsandboxflag345021) 1))&7U)))!=0))) goto LA645;
  						globalerror_198071_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_89));
  					}
  					LA645: ;
  					globalerror_198071_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_90));
  				}
  				goto LA635;
  				LA641: ;
  				{
  					NI newpc0;
  					Tstackframe460208* newframe0;
  					Tstackframe460208* LOC663;
  					if (!!(((*prc0).kind == ((Tsymkind294435) 17)))) goto LA648;
  					newpc0 = compile_462036_2569374918(c0, prc0);
  					{
  						if (!(newpc0 < pc0)) goto LA652;
  						{
  							if (!((*c0).loopiterations <= ((NI) 0))) goto LA656;
  							{
  								if (!(((*c0).features &(1U<<((NU)(((Tsandboxflag345021) 2))&7U)))!=0)) goto LA660;
  								(*c0).loopiterations = ((NI) 1500000);
  							}
  							goto LA658;
  							LA660: ;
  							{
  								msgwriteln_194450_155036129(((NimStringDesc*) &T2569374918_81), 0);
  								stacktraceaux_460231_2569374918(c0, tos0, pc0, ((NI) 100));
  								globalerror_198071_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 212), ((NimStringDesc*) &T2569374918_3));
  							}
  							LA658: ;
  						}
  						LA656: ;
  						(*c0).loopiterations -= ((NI) 1);
  					}
  					LA652: ;
  					LOC663 = (Tstackframe460208*)0;
  					LOC663 = (Tstackframe460208*) newObj((&NTI460206), sizeof(Tstackframe460208));
  					asgnRefNoCycle((void**) (&(*LOC663).prc), prc0);
  					(*LOC663).comesfrom = pc0;
  					asgnRef((void**) (&(*LOC663).next), tos0);
  					newframe0 = LOC663;
  					if ((*newframe0).slots) nimGCunrefNoCycle((*newframe0).slots);
  					(*newframe0).slots = (TY460855*) newSeqRC1((&NTI460855), ((NI) ((*prc0).offset)));
  					{
  						NIM_BOOL LOC666;
  						NIM_BOOL LOC667;
  						Tnode294802* LOC671;
  						LOC666 = (NIM_BOOL)0;
  						LOC667 = (NIM_BOOL)0;
  						LOC667 = isemptytype_299440_850551059((*(*prc0).typ).sons->data[((NI) 0)]);
  						LOC666 = !(LOC667);
  						if (LOC666) goto LA668;
  						LOC666 = ((*prc0).kind == ((Tsymkind294435) 16));
  						LA668: ;
  						if (!LOC666) goto LA669;
  						LOC671 = (Tnode294802*)0;
  						LOC671 = getnullvalue_452401_1009139178((*(*prc0).typ).sons->data[((NI) 0)], (*prc0).info);
  						putintoreg_461292_2569374918((&(*newframe0).slots->data[((NI) 0)]), LOC671);
  					}
  					LA669: ;
  					{
  						NI i_468414_2569374918;
  						NI HEX3Atmp_472506_2569374918;
  						NI res_472509_2569374918;
  						i_468414_2569374918 = (NI)0;
  						HEX3Atmp_472506_2569374918 = (NI)0;
  						HEX3Atmp_472506_2569374918 = (NI)(((NI) (rc0)) - ((NI) 1));
  						res_472509_2569374918 = ((NI) 1);
  						{
  							while (1) {
  								if (!(res_472509_2569374918 <= ((NI) (HEX3Atmp_472506_2569374918)))) goto LA674;
  								i_468414_2569374918 = ((NI) (res_472509_2569374918));
  								genericAssign((void*)(&(*newframe0).slots->data[i_468414_2569374918]), (void*)(&regs0->data[(NI)(((NI) (rb0)) + ((NI) (i_468414_2569374918)))]), (&NTI460204));
  								res_472509_2569374918 += ((NI) 1);
  							} LA674: ;
  						}
  					}
  					{
  						if (!isclosure0) goto LA677;
  						(*newframe0).slots->data[rc0].kind = ((Tregisterkind460202) 1);
  						asgnRefNoCycle((void**) (&(*newframe0).slots->data[rc0].kindU.node), (*regs0->data[rb0].kindU.node).kindU.S6.sons->data[((NI) 1)]);
  					}
  					LA677: ;
  					tos0 = newframe0;
  					regs0 = (*newframe0).slots;
  					pc0 = (NI)(newpc0 - ((NI) 1));
  				}
  				goto LA635;
  				LA648: ;
  				{
  					Tsym294834* gensymowner0;
  					Tnode294802* macrocall0;
  					Tnode294802* LOC687;
  					Tnode294802* a0;
  					{
  						NIM_BOOL LOC682;
  						LOC682 = (NIM_BOOL)0;
  						LOC682 = !(((*tos0).next == NIM_NIL));
  						if (!(LOC682)) goto LA683;
  						LOC682 = !(((*(*tos0).next).prc == NIM_NIL));
  						LA683: ;
  						if (!LOC682) goto LA684;
  						gensymowner0 = (*(*tos0).next).prc;
  					}
  					goto LA680;
  					LA684: ;
  					{
  						gensymowner0 = (*c0).module;
  					}
  					LA680: ;
  					macrocall0 = newnodei_296197_850551059(((Tnodekind294020) 27), (*c0).debug->data[pc0]);
  					LOC687 = (Tnode294802*)0;
  					LOC687 = newsymnode_296183_850551059(prc0);
  					add_295136_850551059(macrocall0, LOC687);
  					{
  						NI i_468456_2569374918;
  						NI HEX3Atmp_472513_2569374918;
  						NI res_472516_2569374918;
  						i_468456_2569374918 = (NI)0;
  						HEX3Atmp_472513_2569374918 = (NI)0;
  						HEX3Atmp_472513_2569374918 = (NI)(((NI) (rc0)) - ((NI) 1));
  						res_472516_2569374918 = ((NI) 1);
  						{
  							while (1) {
  								Tnode294802* LOC691;
  								if (!(res_472516_2569374918 <= ((NI) (HEX3Atmp_472513_2569374918)))) goto LA690;
  								i_468456_2569374918 = ((NI) (res_472516_2569374918));
  								LOC691 = (Tnode294802*)0;
  								LOC691 = regtonode_461306_2569374918(regs0->data[(NI)(((NI) (rb0)) + ((NI) (i_468456_2569374918)))]);
  								add_295136_850551059(macrocall0, LOC691);
  								res_472516_2569374918 += ((NI) 1);
  							} LA690: ;
  						}
  					}
  					a0 = evaltemplate_459329_885920397(macrocall0, prc0, gensymowner0, NIM_FALSE);
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA694;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA694: ;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), a0);
  				}
  				LA635: ;
  			}
  			break;
  			case ((Topcode345015) 135):
  			{
  				NI rbx0;
  				rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kindU.intval == IL64(0)))) goto LA699;
  					pc0 += rbx0;
  				}
  				LA699: ;
  			}
  			break;
  			case ((Topcode345015) 136):
  			{
  				NI rbx0;
  				rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				{
  					if (!(regs0->data[ra_462234_2569374918].kindU.intval == IL64(0))) goto LA704;
  					pc0 += rbx0;
  				}
  				LA704: ;
  			}
  			break;
  			case ((Topcode345015) 137):
  			{
  				NI rbx0;
  				rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				pc0 += rbx0;
  			}
  			break;
  			case ((Topcode345015) 138):
  			{
  				NI rbx0;
  				rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				pc0 += rbx0;
  				{
  					if (!((*c0).loopiterations <= ((NI) 0))) goto LA710;
  					{
  						if (!(((*c0).features &(1U<<((NU)(((Tsandboxflag345021) 2))&7U)))!=0)) goto LA714;
  						(*c0).loopiterations = ((NI) 1500000);
  					}
  					goto LA712;
  					LA714: ;
  					{
  						msgwriteln_194450_155036129(((NimStringDesc*) &T2569374918_81), 0);
  						stacktraceaux_460231_2569374918(c0, tos0, pc0, ((NI) 100));
  						globalerror_198071_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 212), ((NimStringDesc*) &T2569374918_3));
  					}
  					LA712: ;
  				}
  				LA710: ;
  				(*c0).loopiterations -= ((NI) 1);
  			}
  			break;
  			case ((Topcode345015) 139):
  			{
  				Tnode294802* branch0;
  				NIM_BOOL cond0;
  				branch0 = HEX5BHEX5D_295238_850551059((*c0).constants, (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)));
  				cond0 = NIM_FALSE;
  				{
  					NI j_468591_2569374918;
  					NI HEX3Atmp_472525_2569374918;
  					NI LOC719;
  					NI res_472528_2569374918;
  					j_468591_2569374918 = (NI)0;
  					HEX3Atmp_472525_2569374918 = (NI)0;
  					LOC719 = (NI)0;
  					LOC719 = sonslen_297351_850551059(branch0);
  					HEX3Atmp_472525_2569374918 = (NI)(LOC719 - ((NI) 2));
  					res_472528_2569374918 = ((NI) 0);
  					{
  						while (1) {
  							if (!(res_472528_2569374918 <= HEX3Atmp_472525_2569374918)) goto LA721;
  							j_468591_2569374918 = res_472528_2569374918;
  							{
  								Tnode294802* LOC724;
  								NIM_BOOL LOC725;
  								LOC724 = (Tnode294802*)0;
  								LOC724 = regtonode_461306_2569374918(regs0->data[ra_462234_2569374918]);
  								LOC725 = (NIM_BOOL)0;
  								LOC725 = overlap_342006_452470228(LOC724, (*branch0).kindU.S6.sons->data[j_468591_2569374918]);
  								if (!LOC725) goto LA726;
  								cond0 = NIM_TRUE;
  								goto LA718;
  							}
  							LA726: ;
  							res_472528_2569374918 += ((NI) 1);
  						} LA721: ;
  					}
  				} LA718: ;
  				pc0 += ((NI) 1);
  				{
  					NU32 instr20;
  					NI rbx0;
  					if (!!(cond0)) goto LA730;
  					instr20 = (*c0).code->data[pc0];
  					rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr20) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  					pc0 += rbx0;
  				}
  				LA730: ;
  			}
  			break;
  			case ((Topcode345015) 140):
  			{
  				NI rbx0;
  				rbx0 = (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  				pushsafepoint_461323_2569374918(tos0, (NI)(pc0 + rbx0));
  			}
  			break;
  			case ((Topcode345015) 141):
  			{
  				NI rbx_469010_2569374918;
  				rbx_469010_2569374918 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				pc0 += rbx_469010_2569374918;
  				{
  					while (1) {
  						NI rbx0;
  						if (!(((Topcode345015) ((NU32)((*c0).code->data[(NI)(pc0 + ((NI) 1))] & ((NU32) 255)))) == ((Topcode345015) 141))) goto LA735;
  						rbx0 = (NI)((NI)(((NI) ((NU32)((NU32)((*c0).code->data[(NI)(pc0 + ((NI) 1))]) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  						pc0 += rbx0;
  					} LA735: ;
  				}
  				{
  					if (!!((((Topcode345015) ((NU32)((*c0).code->data[(NI)(pc0 + ((NI) 1))] & ((NU32) 255)))) == ((Topcode345015) 142)))) goto LA738;
  					popsafepoint_461361_2569374918(tos0);
  				}
  				LA738: ;
  			}
  			break;
  			case ((Topcode345015) 142):
  			{
  				popsafepoint_461361_2569374918(tos0);
  			}
  			break;
  			case ((Topcode345015) 143):
  			{
  				{
  					TY461397 LOC746;
  					NI newpc0;
  					Tstackframe460208* newtos0;
  					if (!!(((*c0).currentexceptiona == NIM_NIL))) goto LA744;
  					memset((void*)(&LOC746), 0, sizeof(LOC746));
  					cleanuponexception_461393_2569374918(c0, tos0, (&LOC746));
  					newpc0 = (NI)0;
  					newpc0 = LOC746.Field0;
  					newtos0 = (Tstackframe460208*)0;
  					newtos0 = LOC746.Field1;
  					{
  						if (!((NI)(newpc0 - ((NI) 1)) < ((NI) 0))) goto LA749;
  						bailout_460328_2569374918(c0, tos0);
  						goto BeforeRet;
  					}
  					LA749: ;
  					pc0 = (NI)(newpc0 - ((NI) 1));
  					{
  						if (!!((tos0 == newtos0))) goto LA753;
  						tos0 = newtos0;
  						regs0 = (*tos0).slots;
  					}
  					LA753: ;
  				}
  				LA744: ;
  			}
  			break;
  			case ((Topcode345015) 130):
  			{
  				Tnode294802* raised0;
  				TY461397 LOC756;
  				NI newpc0;
  				Tstackframe460208* newtos0;
  				raised0 = regs0->data[ra_462234_2569374918].kindU.node;
  				asgnRefNoCycle((void**) (&(*c0).currentexceptiona), raised0);
  				(*c0).exceptioninstr = pc0;
  				memset((void*)(&LOC756), 0, sizeof(LOC756));
  				cleanuponexception_461393_2569374918(c0, tos0, (&LOC756));
  				newpc0 = (NI)0;
  				newpc0 = LOC756.Field0;
  				newtos0 = (Tstackframe460208*)0;
  				newtos0 = LOC756.Field1;
  				{
  					if (!((NI)(newpc0 - ((NI) 1)) < ((NI) 0))) goto LA759;
  					bailout_460328_2569374918(c0, tos0);
  					goto BeforeRet;
  				}
  				LA759: ;
  				pc0 = (NI)(newpc0 - ((NI) 1));
  				{
  					if (!!((tos0 == newtos0))) goto LA763;
  					tos0 = newtos0;
  					regs0 = (*tos0).slots;
  				}
  				LA763: ;
  			}
  			break;
  			case ((Topcode345015) 144):
  			{
  				Ttype294840* typ0;
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA768;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA768: ;
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), getnullvalue_452401_1009139178(typ0, (*c0).debug->data[pc0]));
  				(*regs0->data[ra_462234_2569374918].kindU.node).flags |= ((NU16)1)<<((((Tnodeflag294427) 13))%(sizeof(NU16)*8));
  			}
  			break;
  			case ((Topcode345015) 145):
  			{
  				Ttype294840* typ0;
  				NU32 instr20;
  				NI count0;
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				pc0 += ((NI) 1);
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA773;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA773: ;
  				instr20 = (*c0).code->data[pc0];
  				count0 = ((NI) (regs0->data[((NI) ((NU32)((NU32)((NU32)(instr20) >> (NU32)(((NU32) 8))) & ((NU32) 255))))].kindU.intval));
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnodei_296197_850551059(((Tnodekind294020) 41), (*c0).debug->data[pc0]));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).typ), typ0);
  				if ((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons) nimGCunrefNoCycle((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons);
  				(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons = (Tnodeseq294796*) newSeqRC1((&NTI294796), ((NI) (count0)));
  				{
  					NI i_469231_2569374918;
  					NI HEX3Atmp_472544_2569374918;
  					NI res_472547_2569374918;
  					i_469231_2569374918 = (NI)0;
  					HEX3Atmp_472544_2569374918 = (NI)0;
  					HEX3Atmp_472544_2569374918 = (count0 - 1);
  					res_472547_2569374918 = ((NI) 0);
  					{
  						while (1) {
  							if (!(res_472547_2569374918 <= HEX3Atmp_472544_2569374918)) goto LA777;
  							i_469231_2569374918 = res_472547_2569374918;
  							asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons->data[i_469231_2569374918]), getnullvalue_452401_1009139178((*typ0).sons->data[((NI) 0)], (*c0).debug->data[pc0]));
  							res_472547_2569374918 += ((NI) 1);
  						} LA777: ;
  					}
  				}
  			}
  			break;
  			case ((Topcode345015) 134):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA781;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA781: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnodei_296197_850551059(((Tnodekind294020) 20), (*c0).debug->data[pc0]));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), mnewString(((NI) (((NI) (regs0->data[rb0].kindU.intval))))));
  			}
  			break;
  			case ((Topcode345015) 152):
  			{
  				NI rbx0;
  				rbx0 = (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA786;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA786: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (rbx0));
  			}
  			break;
  			case ((Topcode345015) 146):
  			{
  				Ttype294840* typ0;
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA791;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA791: ;
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), getnullvalue_452401_1009139178(typ0, (*c0).debug->data[pc0]));
  			}
  			break;
  			case ((Topcode345015) 147):
  			{
  				Ttype294840* typ0;
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				{
  					Ttype294840* LOC796;
  					LOC796 = (Ttype294840*)0;
  					LOC796 = skiptypes_298099_850551059(typ0, IL64(211106233624576));
  					if (!((*LOC796).kind >= ((Ttypekind294244) 36) && (*LOC796).kind <= ((Ttypekind294244) 39))) goto LA797;
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA801;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  					}
  					LA801: ;
  					regs0->data[ra_462234_2569374918].kindU.floatval = 0.0;
  				}
  				goto LA794;
  				LA797: ;
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA806;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  					}
  					LA806: ;
  					regs0->data[ra_462234_2569374918].kindU.intval = IL64(0);
  				}
  				LA794: ;
  			}
  			break;
  			case ((Topcode345015) 148):
  			{
  				NI rb0;
  				Tnode294802* cnst0;
  				rb0 = (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  				cnst0 = (*(*c0).constants).kindU.S6.sons->data[rb0];
  				{
  					NIM_BOOL LOC811;
  					LOC811 = (NIM_BOOL)0;
  					LOC811 = fitsregister_450844_1009139178((*cnst0).typ);
  					if (!LOC811) goto LA812;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					putintoreg_461292_2569374918((&regs0->data[ra_462234_2569374918]), cnst0);
  				}
  				goto LA809;
  				LA812: ;
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA817;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA817: ;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), cnst0);
  				}
  				LA809: ;
  			}
  			break;
  			case ((Topcode345015) 149):
  			{
  				NI rb0;
  				Tnode294802* cnst0;
  				rb0 = (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  				cnst0 = (*(*c0).constants).kindU.S6.sons->data[rb0];
  				{
  					NIM_BOOL LOC822;
  					LOC822 = (NIM_BOOL)0;
  					LOC822 = fitsregister_450844_1009139178((*cnst0).typ);
  					if (!LOC822) goto LA823;
  					putintoreg_461292_2569374918((&regs0->data[ra_462234_2569374918]), cnst0);
  				}
  				goto LA820;
  				LA823: ;
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA828;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA828: ;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copytree_298822_850551059(cnst0));
  				}
  				LA820: ;
  			}
  			break;
  			case ((Topcode345015) 150):
  			{
  				NI rb0;
  				rb0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA833;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA833: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), (*(*c0).globals).kindU.S6.sons->data[rb0]);
  			}
  			break;
  			case ((Topcode345015) 151):
  			{
  				NI rb0;
  				rb0 = (NI)((NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768)) - ((NI) 1));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 5)))) goto LA838;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 5);
  				}
  				LA838: ;
  				regs0->data[ra_462234_2569374918].kindU.nodeaddr = &(*(*c0).globals).kindU.S6.sons->data[rb0];
  			}
  			break;
  			case ((Topcode345015) 76):
  			{
  				NI rb0;
  				Tnode294802* LOC845;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA843;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA843: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				LOC845 = (Tnode294802*)0;
  				LOC845 = regtonode_461306_2569374918(regs0->data[rb0]);
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), rendertree_313044_382274130(LOC845, 12));
  			}
  			break;
  			case ((Topcode345015) 86):
  			{
  				{
  					Tnode294802* LOC851;
  					NI64 LOC852;
  					if (!((25 &(1U<<((NU)((*c0).mode)&7U)))!=0)) goto LA849;
  					message_198095_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 275), ((NimStringDesc*) &T2569374918_3));
  					LOC851 = (Tnode294802*)0;
  					LOC851 = regtonode_461306_2569374918(regs0->data[ra_462234_2569374918]);
  					LOC852 = (NI64)0;
  					LOC852 = getordvalue_322129_3876443242(LOC851);
  					msgquit_194149_155036129(((NI8) (LOC852)));
  				}
  				goto LA847;
  				LA849: ;
  				{
  					Tfullreg460204 LOC854;
  					memset((void*)(&LOC854), 0, sizeof(LOC854));
  					memset((void*)(&LOC854), 0, sizeof(LOC854));
  					LOC854.kind = ((Tregisterkind460202) 0);
  					genericShallowAssign((void*)Result, (void*)(&LOC854), (&NTI460204));
  					goto BeforeRet;
  				}
  				LA847: ;
  			}
  			break;
  			case ((Topcode345015) 77):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA858;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA858: ;
  				(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = setLengthStr((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval, ((NI) (((NI) (regs0->data[rb0].kindU.intval)))));
  			}
  			break;
  			case ((Topcode345015) 80):
  			{
  				NI rb0;
  				NI rc0;
  				Ttype294840* typ0;
  				NI LOC865;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA863;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA863: ;
  				typ0 = (*c0).types->data[regs0->data[rc0].kindU.intval];
  				LOC865 = (NI)0;
  				LOC865 = inheritancediff_328252_3876443242((*regs0->data[rb0].kindU.node).typ, typ0);
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((((NI) 0) <= LOC865)));
  			}
  			break;
  			case ((Topcode345015) 81):
  			{
  				NI rb0;
  				NI rc0;
  				Ttype294840* t10;
  				Ttype294840* t20;
  				NIM_BOOL match0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA869;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA869: ;
  				t10 = skiptypes_298099_850551059((*regs0->data[rb0].kindU.node).typ, 256);
  				t20 = (*c0).types->data[regs0->data[rc0].kindU.intval];
  				{
  					if (!((*t20).kind == ((Ttypekind294244) 52))) goto LA873;
  					match0 = NIM_TRUE;
  				}
  				goto LA871;
  				LA873: ;
  				{
  					match0 = sametype_326633_3876443242(t10, t20, 0);
  				}
  				LA871: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (match0));
  			}
  			break;
  			case ((Topcode345015) 78):
  			{
  				NI rb0;
  				NI newlen0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA879;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA879: ;
  				newlen0 = ((NI) (regs0->data[rb0].kindU.intval));
  				{
  					if (!regs0->data[ra_462234_2569374918].kindU.node == 0) goto LA883;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 85), ((NimStringDesc*) &T2569374918_3));
  				}
  				goto LA881;
  				LA883: ;
  				{
  					NI oldlen0;
  					oldlen0 = len_295081_850551059(regs0->data[ra_462234_2569374918].kindU.node);
  					(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons = (Tnodeseq294796*) setLengthSeq(&((*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons)->Sup, sizeof(Tnode294802*), ((NI) (newlen0)));
  					{
  						if (!(oldlen0 < newlen0)) goto LA888;
  						{
  							NI i_469744_2569374918;
  							NI HEX3Atmp_472574_2569374918;
  							NI res_472577_2569374918;
  							i_469744_2569374918 = (NI)0;
  							HEX3Atmp_472574_2569374918 = (NI)0;
  							HEX3Atmp_472574_2569374918 = (newlen0 - 1);
  							res_472577_2569374918 = oldlen0;
  							{
  								while (1) {
  									if (!(res_472577_2569374918 <= HEX3Atmp_472574_2569374918)) goto LA892;
  									i_469744_2569374918 = res_472577_2569374918;
  									asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S6.sons->data[i_469744_2569374918]), newnodei_296197_850551059(((Tnodekind294020) 1), (*c0).debug->data[pc0]));
  									res_472577_2569374918 += ((NI) 1);
  								} LA892: ;
  							}
  						}
  					}
  					LA888: ;
  				}
  				LA881: ;
  			}
  			break;
  			case ((Topcode345015) 87):
  			{
  				internalerror_198100_155036129((*c0).debug->data[pc0], ((NimStringDesc*) &T2569374918_92));
  			}
  			break;
  			case ((Topcode345015) 88):
  			{
  				NI rb0;
  				NI64 min0;
  				NI64 max0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA897;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA897: ;
  				min0 = -((NI64)((NU64)(IL64(1)) << (NU64)(((NI64) ((NI)(((NI) (rb0)) - ((NI) 1)))))));
  				max0 = (NI64)((NI64)((NU64)(IL64(1)) << (NU64)(((NI64) ((NI)(((NI) (rb0)) - ((NI) 1)))))) - IL64(1));
  				{
  					NIM_BOOL LOC901;
  					NimStringDesc* LOC905;
  					NimStringDesc* LOC906;
  					LOC901 = (NIM_BOOL)0;
  					LOC901 = (regs0->data[ra_462234_2569374918].kindU.intval < min0);
  					if (LOC901) goto LA902;
  					LOC901 = (max0 < regs0->data[ra_462234_2569374918].kindU.intval);
  					LA902: ;
  					if (!LOC901) goto LA903;
  					LOC905 = (NimStringDesc*)0;
  					LOC905 = msgkindtostring_194723_155036129(((Tmsgkind193002) 219));
  					LOC906 = (NimStringDesc*)0;
  					LOC906 = nsuFormatSingleElem(LOC905, ((NimStringDesc*) &T2569374918_93));
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), LOC906);
  				}
  				LA903: ;
  			}
  			break;
  			case ((Topcode345015) 89):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA910;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA910: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = (NI64)(regs0->data[ra_462234_2569374918].kindU.intval & (NI64)((NI64)((NU64)(IL64(1)) << (NU64)(((NI64) (rb0)))) - IL64(1)));
  			}
  			break;
  			case ((Topcode345015) 79):
  			{
  				NI rb0;
  				Tnode294802* node0;
  				NIM_BOOL LOC917;
  				NIM_BOOL LOC919;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA915;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA915: ;
  				node0 = regs0->data[rb0].kindU.node;
  				LOC917 = (NIM_BOOL)0;
  				LOC917 = ((*node0).kind == ((Tnodekind294020) 23));
  				if (LOC917) goto LA918;
  				LOC919 = (NIM_BOOL)0;
  				LOC919 = ((*node0).kind >= ((Tnodekind294020) 20) && (*node0).kind <= ((Tnodekind294020) 22));
  				if (!(LOC919)) goto LA920;
  				LOC919 = (*node0).kindU.S3.strval == 0;
  				LA920: ;
  				LOC917 = LOC919;
  				LA918: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (LOC917));
  			}
  			break;
  			case ((Topcode345015) 153):
  			{
  				NI rbx0;
  				rbx0 = (NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA924;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA924: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copytree_298822_850551059((*(*c0).constants).kindU.S6.sons->data[rbx0]));
  			}
  			break;
  			case ((Topcode345015) 131):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				Tnode294802* src0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA929;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA929: ;
  				idx0 = ((NI) (regs0->data[rc0].kindU.intval));
  				src0 = regs0->data[rb0].kindU.node;
  				{
  					NIM_BOOL LOC933;
  					NI LOC935;
  					LOC933 = (NIM_BOOL)0;
  					LOC933 = !(((*src0).kind >= ((Tnodekind294020) 1) && (*src0).kind <= ((Tnodekind294020) 23)));
  					if (!(LOC933)) goto LA934;
  					LOC935 = (NI)0;
  					LOC935 = len_295081_850551059(src0);
  					LOC933 = ((NU32)(idx0) < (NU32)(LOC935));
  					LA934: ;
  					if (!LOC933) goto LA936;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), (*src0).kindU.S6.sons->data[idx0]);
  				}
  				goto LA931;
  				LA936: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA931: ;
  			}
  			break;
  			case ((Topcode345015) 132):
  			{
  				NI rb0;
  				NI rc0;
  				NI idx0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA942;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA942: ;
  				idx0 = ((NI) (regs0->data[rb0].kindU.intval));
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC946;
  					NI LOC948;
  					LOC946 = (NIM_BOOL)0;
  					LOC946 = !(((*dest0).kind >= ((Tnodekind294020) 1) && (*dest0).kind <= ((Tnodekind294020) 23)));
  					if (!(LOC946)) goto LA947;
  					LOC948 = (NI)0;
  					LOC948 = len_295081_850551059(dest0);
  					LOC946 = ((NU32)(idx0) < (NU32)(LOC948));
  					LA947: ;
  					if (!LOC946) goto LA949;
  					asgnRefNoCycle((void**) (&(*dest0).kindU.S6.sons->data[idx0]), regs0->data[rc0].kindU.node);
  				}
  				goto LA944;
  				LA949: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 86), ((NimStringDesc*) &T2569374918_3));
  				}
  				LA944: ;
  			}
  			break;
  			case ((Topcode345015) 94):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* u0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA955;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA955: ;
  				u0 = regs0->data[rb0].kindU.node;
  				{
  					if (!!(((*u0).kind >= ((Tnodekind294020) 1) && (*u0).kind <= ((Tnodekind294020) 23)))) goto LA959;
  					add_295136_850551059(u0, regs0->data[rc0].kindU.node);
  				}
  				goto LA957;
  				LA959: ;
  				{
  					NimStringDesc* LOC962;
  					LOC962 = (NimStringDesc*)0;
  					LOC962 = rawNewString(reprEnum((NI)(*u0).kind, (&NTI294020))->Sup.len + 25);
  appendString(LOC962, ((NimStringDesc*) &T2569374918_94));
  appendString(LOC962, reprEnum((NI)(*u0).kind, (&NTI294020)));
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), LOC962);
  				}
  				LA957: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), u0);
  			}
  			break;
  			case ((Topcode345015) 95):
  			{
  				NI rb0;
  				NI rc0;
  				Tnode294802* x0;
  				Tnode294802* u0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA966;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA966: ;
  				x0 = regs0->data[rc0].kindU.node;
  				u0 = regs0->data[rb0].kindU.node;
  				{
  					if (!!(((*u0).kind >= ((Tnodekind294020) 1) && (*u0).kind <= ((Tnodekind294020) 23)))) goto LA970;
  					{
  						NI i_470169_2569374918;
  						NI HEX3Atmp_472603_2569374918;
  						NI LOC973;
  						NI res_472606_2569374918;
  						i_470169_2569374918 = (NI)0;
  						HEX3Atmp_472603_2569374918 = (NI)0;
  						LOC973 = (NI)0;
  						LOC973 = len_295081_850551059(x0);
  						HEX3Atmp_472603_2569374918 = (LOC973 - 1);
  						res_472606_2569374918 = ((NI) 0);
  						{
  							while (1) {
  								if (!(res_472606_2569374918 <= HEX3Atmp_472603_2569374918)) goto LA975;
  								i_470169_2569374918 = res_472606_2569374918;
  								add_295136_850551059(u0, (*x0).kindU.S6.sons->data[i_470169_2569374918]);
  								res_472606_2569374918 += ((NI) 1);
  							} LA975: ;
  						}
  					}
  				}
  				goto LA968;
  				LA970: ;
  				{
  					NimStringDesc* LOC977;
  					LOC977 = (NimStringDesc*)0;
  					LOC977 = rawNewString(reprEnum((NI)(*u0).kind, (&NTI294020))->Sup.len + 25);
  appendString(LOC977, ((NimStringDesc*) &T2569374918_94));
  appendString(LOC977, reprEnum((NI)(*u0).kind, (&NTI294020)));
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), LOC977);
  				}
  				LA968: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), u0);
  			}
  			break;
  			case ((Topcode345015) 96):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA981;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA981: ;
  				regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((*regs0->data[rb0].kindU.node).kind));
  				(*c0).comesfromheuristic = (*regs0->data[rb0].kindU.node).info;
  			}
  			break;
  			case ((Topcode345015) 97):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA986;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA986: ;
  				a0 = regs0->data[rb0].kindU.node;
  				switch ((*a0).kind) {
  				case ((Tnodekind294020) 5) ... ((Tnodekind294020) 15):
  				{
  					regs0->data[ra_462234_2569374918].kindU.intval = (*a0).kindU.S1.intval;
  				}
  				break;
  				default:
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_95));
  				}
  				break;
  				}
  			}
  			break;
  			case ((Topcode345015) 98):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 3)))) goto LA993;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 3);
  				}
  				LA993: ;
  				a0 = regs0->data[rb0].kindU.node;
  				switch ((*a0).kind) {
  				case ((Tnodekind294020) 16) ... ((Tnodekind294020) 18):
  				{
  					regs0->data[ra_462234_2569374918].kindU.floatval = (*a0).kindU.S2.floatval;
  				}
  				break;
  				default:
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_96));
  				}
  				break;
  				}
  			}
  			break;
  			case ((Topcode345015) 99):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1000;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1000: ;
  				a0 = regs0->data[rb0].kindU.node;
  				{
  					if (!((*a0).kind == ((Tnodekind294020) 3))) goto LA1004;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copynode_298528_850551059(a0));
  				}
  				goto LA1002;
  				LA1004: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_85));
  				}
  				LA1002: ;
  			}
  			break;
  			case ((Topcode345015) 100):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1010;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1010: ;
  				a0 = regs0->data[rb0].kindU.node;
  				{
  					if (!((*a0).kind == ((Tnodekind294020) 2))) goto LA1014;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copynode_298528_850551059(a0));
  				}
  				goto LA1012;
  				LA1014: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_97));
  				}
  				LA1012: ;
  			}
  			break;
  			case ((Topcode345015) 101):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				switch (rc0) {
  				case ((NI) 0):
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1021;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA1021: ;
  					{
  						NIM_BOOL LOC1025;
  						LOC1025 = (NIM_BOOL)0;
  						LOC1025 = (regs0->data[rb0].kind == ((Tregisterkind460202) 1));
  						if (!(LOC1025)) goto LA1026;
  						LOC1025 = !(((*regs0->data[rb0].kindU.node).typ == NIM_NIL));
  						LA1026: ;
  						if (!LOC1025) goto LA1027;
  						asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), opmaptypetoast_456667_2143341386((*regs0->data[rb0].kindU.node).typ, (*c0).debug->data[pc0]));
  					}
  					goto LA1023;
  					LA1027: ;
  					{
  						stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_98));
  					}
  					LA1023: ;
  				}
  				break;
  				case ((NI) 1):
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA1033;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  					}
  					LA1033: ;
  					{
  						NIM_BOOL LOC1037;
  						LOC1037 = (NIM_BOOL)0;
  						LOC1037 = (regs0->data[rb0].kind == ((Tregisterkind460202) 1));
  						if (!(LOC1037)) goto LA1038;
  						LOC1037 = !(((*regs0->data[rb0].kindU.node).typ == NIM_NIL));
  						LA1038: ;
  						if (!LOC1037) goto LA1039;
  						regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) ((*(*regs0->data[rb0].kindU.node).typ).kind));
  					}
  					LA1039: ;
  				}
  				break;
  				case ((NI) 2):
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1044;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA1044: ;
  					{
  						NIM_BOOL LOC1048;
  						LOC1048 = (NIM_BOOL)0;
  						LOC1048 = (regs0->data[rb0].kind == ((Tregisterkind460202) 1));
  						if (!(LOC1048)) goto LA1049;
  						LOC1048 = !(((*regs0->data[rb0].kindU.node).typ == NIM_NIL));
  						LA1049: ;
  						if (!LOC1048) goto LA1050;
  						asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), opmaptypeinsttoast_456672_2143341386((*regs0->data[rb0].kindU.node).typ, (*c0).debug->data[pc0]));
  					}
  					goto LA1046;
  					LA1050: ;
  					{
  						stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_98));
  					}
  					LA1046: ;
  				}
  				break;
  				default:
  				{
  					{
  						if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1056;
  						myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  						regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  					}
  					LA1056: ;
  					{
  						NIM_BOOL LOC1060;
  						LOC1060 = (NIM_BOOL)0;
  						LOC1060 = (regs0->data[rb0].kind == ((Tregisterkind460202) 1));
  						if (!(LOC1060)) goto LA1061;
  						LOC1060 = !(((*regs0->data[rb0].kindU.node).typ == NIM_NIL));
  						LA1061: ;
  						if (!LOC1060) goto LA1062;
  						asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), opmaptypeimpltoast_456677_2143341386((*regs0->data[rb0].kindU.node).typ, (*c0).debug->data[pc0]));
  					}
  					goto LA1058;
  					LA1062: ;
  					{
  						stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), ((NimStringDesc*) &T2569374918_98));
  					}
  					LA1058: ;
  				}
  				break;
  				}
  			}
  			break;
  			case ((Topcode345015) 102):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1068;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1068: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				a0 = regs0->data[rb0].kindU.node;
  				{
  					NimStringDesc* LOC1074;
  					if (!((*a0).kind >= ((Tnodekind294020) 20) && (*a0).kind <= ((Tnodekind294020) 22))) goto LA1072;
  					LOC1074 = (NimStringDesc*)0;
  					LOC1074 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*a0).kindU.S3.strval);
  					if (LOC1074) nimGCunrefNoCycle(LOC1074);
  				}
  				goto LA1070;
  				LA1072: ;
  				{
  					NimStringDesc* LOC1078;
  					if (!((*a0).kind == ((Tnodekind294020) 125))) goto LA1076;
  					LOC1078 = (NimStringDesc*)0;
  					LOC1078 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*a0).comment);
  					if (LOC1078) nimGCunrefNoCycle(LOC1078);
  				}
  				goto LA1070;
  				LA1076: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_99));
  				}
  				LA1070: ;
  			}
  			break;
  			case ((Topcode345015) 114):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1083;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1083: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), opslurp_456024_2143341386((*regs0->data[rb0].kindU.node).kindU.S3.strval, (*c0).debug->data[pc0], (*c0).module));
  			}
  			break;
  			case ((Topcode345015) 115):
  			{
  				NI rb0;
  				NI rc0;
  				NI rd0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1088;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1088: ;
  				pc0 += ((NI) 1);
  				rd0 = ((NI) ((NU32)((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), opgorge_456008_2143341386((*regs0->data[rb0].kindU.node).kindU.S3.strval, (*regs0->data[rc0].kindU.node).kindU.S3.strval, (*regs0->data[rd0].kindU.node).kindU.S3.strval));
  			}
  			break;
  			case ((Topcode345015) 119):
  			{
  				stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 236), (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval);
  			}
  			break;
  			case ((Topcode345015) 120):
  			{
  				message_198095_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 267), (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval);
  			}
  			break;
  			case ((Topcode345015) 121):
  			{
  				message_198095_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 290), (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval);
  			}
  			break;
  			case ((Topcode345015) 116):
  			{
  				NI rb0;
  				Tnode294802* ast0;
  				NimStringDesc* LOC1098;
  				Terrorhandler287172 LOC1099;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1096;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1096: ;
  				LOC1098 = (NimStringDesc*)0;
  				LOC1098 = tofullpath_194264_155036129((*c0).debug->data[pc0].fileindex);
  				memset((void*)(&LOC1099), 0, sizeof(LOC1099));
  				LOC1099.ClPrc = HEX3Aanonymous_470758_2569374918; LOC1099.ClEnv = HEX3Aenv_472237_2569374918;
  				ast0 = parsestring_311340_1574654094((*regs0->data[rb0].kindU.node).kindU.S3.strval, LOC1098, ((NI) ((*c0).debug->data[pc0].line)), LOC1099);
  				{
  					NimStringDesc* LOC1104;
  					if (!!((*HEX3Aenv_472237_2569374918).error470755 == 0)) goto LA1102;
  					LOC1104 = (NimStringDesc*)0;
  					LOC1104 = (*c0).errorflag; (*c0).errorflag = copyStringRC1((*HEX3Aenv_472237_2569374918).error470755);
  					if (LOC1104) nimGCunrefNoCycle(LOC1104);
  				}
  				goto LA1100;
  				LA1102: ;
  				{
  					NI LOC1106;
  					LOC1106 = (NI)0;
  					LOC1106 = sonslen_297351_850551059(ast0);
  					if (!!((LOC1106 == ((NI) 1)))) goto LA1107;
  					asgnRefNoCycle((void**) (&(*c0).errorflag), formatmsg_196649_155036129((*c0).debug->data[pc0], ((Tmsgkind193002) 62), ((NimStringDesc*) &T2569374918_100)));
  				}
  				goto LA1100;
  				LA1107: ;
  				{
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), (*ast0).kindU.S6.sons->data[((NI) 0)]);
  				}
  				LA1100: ;
  			}
  			break;
  			case ((Topcode345015) 117):
  			{
  				NI rb0;
  				Tnode294802* ast0;
  				NimStringDesc* LOC1115;
  				Terrorhandler287172 LOC1116;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1113;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1113: ;
  				LOC1115 = (NimStringDesc*)0;
  				LOC1115 = tofullpath_194264_155036129((*c0).debug->data[pc0].fileindex);
  				memset((void*)(&LOC1116), 0, sizeof(LOC1116));
  				LOC1116.ClPrc = HEX3Aanonymous_470808_2569374918; LOC1116.ClEnv = HEX3Aenv_472237_2569374918;
  				ast0 = parsestring_311340_1574654094((*regs0->data[rb0].kindU.node).kindU.S3.strval, LOC1115, ((NI) ((*c0).debug->data[pc0].line)), LOC1116);
  				{
  					NimStringDesc* LOC1121;
  					if (!!((*HEX3Aenv_472237_2569374918).error470805 == 0)) goto LA1119;
  					LOC1121 = (NimStringDesc*)0;
  					LOC1121 = (*c0).errorflag; (*c0).errorflag = copyStringRC1((*HEX3Aenv_472237_2569374918).error470805);
  					if (LOC1121) nimGCunrefNoCycle(LOC1121);
  				}
  				goto LA1117;
  				LA1119: ;
  				{
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), ast0);
  				}
  				LA1117: ;
  			}
  			break;
  			case ((Topcode345015) 118):
  			{
  				NimStringDesc* LOC1124;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				LOC1124 = (NimStringDesc*)0;
  				LOC1124 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*c0).errorflag);
  				if (LOC1124) nimGCunrefNoCycle(LOC1124);
  				(*c0).errorflag = setLengthStr((*c0).errorflag, ((NI) 0));
  			}
  			break;
  			case ((Topcode345015) 133):
  			{
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1128;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1128: ;
  				{
  					if (!!(((*c0).callsite == NIM_NIL))) goto LA1132;
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), (*c0).callsite);
  				}
  				goto LA1130;
  				LA1132: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_101));
  				}
  				LA1130: ;
  			}
  			break;
  			case ((Topcode345015) 122):
  			{
  				NI rb0;
  				Tnode294802* n0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1138;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1138: ;
  				n0 = regs0->data[rb0].kindU.node;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), tofilelinecol_194427_155036129((*n0).info));
  				(*regs0->data[ra_462234_2569374918].kindU.node).info = (*c0).debug->data[pc0];
  			}
  			break;
  			case ((Topcode345015) 123):
  			{
  				NI rb0;
  				NI rc0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 2)))) goto LA1143;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 2);
  				}
  				LA1143: ;
  				{
  					NIM_BOOL LOC1147;
  					LOC1147 = (NIM_BOOL)0;
  					LOC1147 = ((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 2));
  					if (!(LOC1147)) goto LA1148;
  					LOC1147 = ((*regs0->data[rc0].kindU.node).kind == ((Tnodekind294020) 2));
  					LA1148: ;
  					if (!LOC1147) goto LA1149;
  					regs0->data[ra_462234_2569374918].kindU.intval = ((NI64) (((*(*regs0->data[rb0].kindU.node).kindU.S5.ident).Sup.id == (*(*regs0->data[rc0].kindU.node).kindU.S5.ident).Sup.id)));
  				}
  				goto LA1145;
  				LA1149: ;
  				{
  					regs0->data[ra_462234_2569374918].kindU.intval = IL64(0);
  				}
  				LA1145: ;
  			}
  			break;
  			case ((Topcode345015) 124):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1155;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1155: ;
  				{
  					if (!!(((*regs0->data[rb0].kindU.node).kind >= ((Tnodekind294020) 20) && (*regs0->data[rb0].kindU.node).kind <= ((Tnodekind294020) 22)))) goto LA1159;
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_99));
  				}
  				goto LA1157;
  				LA1159: ;
  				{
  					asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnodei_296197_850551059(((Tnodekind294020) 2), (*c0).debug->data[pc0]));
  					asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S5.ident), getident_201441_791273810((*regs0->data[rb0].kindU.node).kindU.S3.strval));
  				}
  				LA1157: ;
  			}
  			break;
  			case ((Topcode345015) 125):
  			{
  				NI rb0;
  				Tnode294802* a0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1165;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1165: ;
  				a0 = regs0->data[rb0].kindU.node;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				(*regs0->data[ra_462234_2569374918].kindU.node).info = (*c0).debug->data[pc0];
  				{
  					NimStringDesc* LOC1171;
  					if (!((*a0).kind == ((Tnodekind294020) 3))) goto LA1169;
  					LOC1171 = (NimStringDesc*)0;
  					LOC1171 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*(*(*a0).kindU.S4.sym).name).s);
  					if (LOC1171) nimGCunrefNoCycle(LOC1171);
  				}
  				goto LA1167;
  				LA1169: ;
  				{
  					NimStringDesc* LOC1175;
  					if (!((*a0).kind == ((Tnodekind294020) 2))) goto LA1173;
  					LOC1175 = (NimStringDesc*)0;
  					LOC1175 = (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval; (*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval = copyStringRC1((*(*a0).kindU.S5.ident).s);
  					if (LOC1175) nimGCunrefNoCycle(LOC1175);
  				}
  				goto LA1167;
  				LA1173: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_97));
  				}
  				LA1167: ;
  			}
  			break;
  			case ((Topcode345015) 154):
  			{
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1180;
  					internalerror_198100_155036129((*c0).debug->data[pc0], ((NimStringDesc*) &T2569374918_105));
  				}
  				LA1180: ;
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).typ), (*c0).types->data[(NI)(((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))))) - ((NI) 32768))]);
  			}
  			break;
  			case ((Topcode345015) 84):
  			{
  				NI rb0;
  				Ttype294840* desttyp0;
  				Ttype294840* srctyp0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				pc0 += ((NI) 1);
  				desttyp0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				pc0 += ((NI) 1);
  				srctyp0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				{
  					NIM_BOOL LOC1185;
  					NimStringDesc* LOC1188;
  					TY195153 LOC1189;
  					NimStringDesc* LOC1190;
  					LOC1185 = (NIM_BOOL)0;
  					LOC1185 = opconv_461734_2569374918((&regs0->data[ra_462234_2569374918]), regs0->data[rb0], desttyp0, srctyp0);
  					if (!LOC1185) goto LA1186;
  					LOC1188 = (NimStringDesc*)0;
  					LOC1188 = msgkindtostring_194723_155036129(((Tmsgkind193002) 146));
  					memset((void*)LOC1189, 0, sizeof(LOC1189));
  					LOC1189[0] = typetostring_322017_3876443242(srctyp0, ((Tprefereddesc322011) 0));
  					LOC1189[1] = typetostring_322017_3876443242(desttyp0, ((Tprefereddesc322011) 0));
  					LOC1190 = (NimStringDesc*)0;
  					LOC1190 = nsuFormatOpenArray(LOC1188, LOC1189, 2);
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 4), LOC1190);
  				}
  				LA1186: ;
  			}
  			break;
  			case ((Topcode345015) 85):
  			{
  				NI rb0;
  				Ttype294840* desttyp0;
  				Ttype294840* srctyp0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				pc0 += ((NI) 1);
  				desttyp0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				pc0 += ((NI) 1);
  				srctyp0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				globalerror_198076_155036129((*c0).debug->data[pc0], ((NimStringDesc*) &T2569374918_111));
  			}
  			break;
  			case ((Topcode345015) 103):
  			{
  				NI rb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1195;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1195: ;
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC1199;
  					LOC1199 = (NIM_BOOL)0;
  					LOC1199 = ((*dest0).kind >= ((Tnodekind294020) 5) && (*dest0).kind <= ((Tnodekind294020) 15));
  					if (!(LOC1199)) goto LA1200;
  					LOC1199 = ((4 &(1U<<((NU)(regs0->data[rb0].kind)&7U)))!=0);
  					LA1200: ;
  					if (!LOC1199) goto LA1201;
  					(*dest0).kindU.S1.intval = regs0->data[rb0].kindU.intval;
  				}
  				goto LA1197;
  				LA1201: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_95));
  				}
  				LA1197: ;
  			}
  			break;
  			case ((Topcode345015) 104):
  			{
  				NI rb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1207;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1207: ;
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC1211;
  					LOC1211 = (NIM_BOOL)0;
  					LOC1211 = ((*dest0).kind >= ((Tnodekind294020) 16) && (*dest0).kind <= ((Tnodekind294020) 18));
  					if (!(LOC1211)) goto LA1212;
  					LOC1211 = ((8 &(1U<<((NU)(regs0->data[rb0].kind)&7U)))!=0);
  					LA1212: ;
  					if (!LOC1211) goto LA1213;
  					(*dest0).kindU.S2.floatval = regs0->data[rb0].kindU.floatval;
  				}
  				goto LA1209;
  				LA1213: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_96));
  				}
  				LA1209: ;
  			}
  			break;
  			case ((Topcode345015) 105):
  			{
  				NI rb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1219;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1219: ;
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC1223;
  					LOC1223 = (NIM_BOOL)0;
  					LOC1223 = ((*dest0).kind == ((Tnodekind294020) 3));
  					if (!(LOC1223)) goto LA1224;
  					LOC1223 = ((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 3));
  					LA1224: ;
  					if (!LOC1223) goto LA1225;
  					asgnRefNoCycle((void**) (&(*dest0).kindU.S4.sym), (*regs0->data[rb0].kindU.node).kindU.S4.sym);
  				}
  				goto LA1221;
  				LA1225: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_85));
  				}
  				LA1221: ;
  			}
  			break;
  			case ((Topcode345015) 106):
  			{
  				NI rb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1231;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1231: ;
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC1235;
  					LOC1235 = (NIM_BOOL)0;
  					LOC1235 = ((*dest0).kind == ((Tnodekind294020) 2));
  					if (!(LOC1235)) goto LA1236;
  					LOC1235 = ((*regs0->data[rb0].kindU.node).kind == ((Tnodekind294020) 2));
  					LA1236: ;
  					if (!LOC1235) goto LA1237;
  					asgnRefNoCycle((void**) (&(*dest0).kindU.S5.ident), (*regs0->data[rb0].kindU.node).kindU.S5.ident);
  				}
  				goto LA1233;
  				LA1237: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_97));
  				}
  				LA1233: ;
  			}
  			break;
  			case ((Topcode345015) 107):
  			{
  				NI rb0;
  				Tnode294802* b0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1243;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1243: ;
  				b0 = regs0->data[rb0].kindU.node;
  				{
  					NIM_BOOL LOC1247;
  					NimStringDesc* LOC1251;
  					LOC1247 = (NIM_BOOL)0;
  					LOC1247 = ((*b0).kind == ((Tnodekind294020) 3));
  					if (!(LOC1247)) goto LA1248;
  					LOC1247 = ((*(*b0).kindU.S4.sym).kind == ((Tsymkind294435) 7));
  					LA1248: ;
  					if (!!(LOC1247)) goto LA1249;
  					LOC1251 = (NimStringDesc*)0;
  					LOC1251 = HEX24_198185_1689653243(T2569374918_112);
  					internalerror_198113_155036129(LOC1251);
  				}
  				LA1249: ;
  				{
  					NimStringDesc* LOC1256;
  					if (!!(!((regs0->data[ra_462234_2569374918].kindU.node == NIM_NIL)))) goto LA1254;
  					LOC1256 = (NimStringDesc*)0;
  					LOC1256 = HEX24_198185_1689653243(T2569374918_114);
  					internalerror_198113_155036129(LOC1256);
  				}
  				LA1254: ;
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).typ), (*(*b0).kindU.S4.sym).typ);
  			}
  			break;
  			case ((Topcode345015) 108):
  			{
  				NI rb0;
  				Tnode294802* dest0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1260;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1260: ;
  				dest0 = regs0->data[ra_462234_2569374918].kindU.node;
  				{
  					NIM_BOOL LOC1264;
  					NimStringDesc* LOC1268;
  					LOC1264 = (NIM_BOOL)0;
  					LOC1264 = ((*dest0).kind >= ((Tnodekind294020) 20) && (*dest0).kind <= ((Tnodekind294020) 22));
  					if (!(LOC1264)) goto LA1265;
  					LOC1264 = ((2 &(1U<<((NU)(regs0->data[rb0].kind)&7U)))!=0);
  					LA1265: ;
  					if (!LOC1264) goto LA1266;
  					LOC1268 = (NimStringDesc*)0;
  					LOC1268 = (*dest0).kindU.S3.strval; (*dest0).kindU.S3.strval = copyStringRC1((*regs0->data[rb0].kindU.node).kindU.S3.strval);
  					if (LOC1268) nimGCunrefNoCycle(LOC1268);
  				}
  				goto LA1262;
  				LA1266: ;
  				{
  					stacktrace_460312_2569374918(c0, tos0, pc0, ((Tmsgkind193002) 214), ((NimStringDesc*) &T2569374918_99));
  				}
  				LA1262: ;
  			}
  			break;
  			case ((Topcode345015) 109):
  			{
  				NI rb0;
  				NI rc0;
  				NI64 k0;
  				Tnode294802* cc0;
  				Tlineinfo193336 LOC1281;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1273;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1273: ;
  				k0 = regs0->data[rb0].kindU.intval;
  				{
  					NIM_BOOL LOC1277;
  					LOC1277 = (NIM_BOOL)0;
  					LOC1277 = (k0 < IL64(0));
  					if (LOC1277) goto LA1278;
  					LOC1277 = (IL64(158) < k0);
  					LA1278: ;
  					if (!LOC1277) goto LA1279;
  					internalerror_198100_155036129((*c0).debug->data[pc0], ((NimStringDesc*) &T2569374918_115));
  				}
  				LA1279: ;
  				cc0 = regs0->data[rc0].kindU.node;
  				{
  					if (!!(((*cc0).kind == ((Tnodekind294020) 23)))) goto LA1284;
  					LOC1281 = (*cc0).info;
  				}
  				goto LA1282;
  				LA1284: ;
  				{
  					if (!(((NI16) -1) < (*c0).comesfromheuristic.line)) goto LA1287;
  					LOC1281 = (*c0).comesfromheuristic;
  				}
  				goto LA1282;
  				LA1287: ;
  				{
  					NIM_BOOL LOC1290;
  					NI LOC1292;
  					Tnode294802* LOC1295;
  					LOC1290 = (NIM_BOOL)0;
  					LOC1290 = !(((*c0).callsite == NIM_NIL));
  					if (!(LOC1290)) goto LA1291;
  					LOC1292 = (NI)0;
  					LOC1292 = safelen_295103_850551059((*c0).callsite);
  					LOC1290 = (((NI) 1) < LOC1292);
  					LA1291: ;
  					if (!LOC1290) goto LA1293;
  					LOC1295 = (Tnode294802*)0;
  					LOC1295 = HEX5BHEX5D_295238_850551059((*c0).callsite, ((NI) 1));
  					LOC1281 = (*LOC1295).info;
  				}
  				goto LA1282;
  				LA1293: ;
  				{
  					LOC1281 = (*c0).debug->data[pc0];
  				}
  				LA1282: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnodei_296197_850551059(((Tnodekind294020) (((NI) (k0)))), LOC1281));
  				(*regs0->data[ra_462234_2569374918].kindU.node).flags |= ((NU16)1)<<((((Tnodeflag294427) 13))%(sizeof(NU16)*8));
  			}
  			break;
  			case ((Topcode345015) 110):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1300;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1300: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copynode_298528_850551059(regs0->data[rb0].kindU.node));
  			}
  			break;
  			case ((Topcode345015) 111):
  			{
  				NI rb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1305;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1305: ;
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), copytree_298822_850551059(regs0->data[rb0].kindU.node));
  			}
  			break;
  			case ((Topcode345015) 112):
  			{
  				NI rb0;
  				NI rc0;
  				NI bb0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1310;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1310: ;
  				bb0 = ((NI) (regs0->data[rb0].kindU.intval));
  				{
  					NI i_471965_2569374918;
  					NI HEX3Atmp_472681_2569374918;
  					NI res_472684_2569374918;
  					i_471965_2569374918 = (NI)0;
  					HEX3Atmp_472681_2569374918 = (NI)0;
  					HEX3Atmp_472681_2569374918 = (NI)(((NI) (regs0->data[rc0].kindU.intval)) - ((NI) 1));
  					res_472684_2569374918 = ((NI) 0);
  					{
  						while (1) {
  							if (!(res_472684_2569374918 <= HEX3Atmp_472681_2569374918)) goto LA1314;
  							i_471965_2569374918 = res_472684_2569374918;
  							delson_298481_850551059(regs0->data[ra_462234_2569374918].kindU.node, bb0);
  							res_472684_2569374918 += ((NI) 1);
  						} LA1314: ;
  					}
  				}
  			}
  			break;
  			case ((Topcode345015) 113):
  			{
  				NI rb0;
  				NI rc0;
  				NI64 k0;
  				NimStringDesc* name0;
  				Tsym294834* sym0;
  				Tident201010* LOC1331;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				rc0 = ((NI) ((NU32)((NU32)(instr0) >> (NU32)(((NU32) 24)))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1318;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1318: ;
  				k0 = regs0->data[rb0].kindU.intval;
  				{
  					if (!(((*regs0->data[rc0].kindU.node).kindU.S3.strval ? (*regs0->data[rc0].kindU.node).kindU.S3.strval->Sup.len : 0) == ((NI) 0))) goto LA1322;
  					name0 = copyString(((NimStringDesc*) &T2569374918_116));
  				}
  				goto LA1320;
  				LA1322: ;
  				{
  					name0 = (*regs0->data[rc0].kindU.node).kindU.S3.strval;
  				}
  				LA1320: ;
  				{
  					NIM_BOOL LOC1327;
  					LOC1327 = (NIM_BOOL)0;
  					LOC1327 = (k0 < IL64(0));
  					if (LOC1327) goto LA1328;
  					LOC1327 = (IL64(24) < k0);
  					LA1328: ;
  					if (!LOC1327) goto LA1329;
  					internalerror_198100_155036129((*c0).debug->data[pc0], ((NimStringDesc*) &T2569374918_117));
  				}
  				LA1329: ;
  				LOC1331 = (Tident201010*)0;
  				LOC1331 = getident_201441_791273810(name0);
  				sym0 = newsym_295684_850551059(((Tsymkind294435) (k0)), LOC1331, (*c0).module, (*c0).debug->data[pc0]);
  				(*sym0).flags |= ((NU32)1)<<((((Tsymflag294184) 31))%(sizeof(NU32)*8));
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newsymnode_296183_850551059(sym0));
  			}
  			break;
  			case ((Topcode345015) 155):
  			{
  				NI rb0;
  				Ttype294840* typ0;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1335;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1335: ;
  				typ0 = (*regs0->data[rb0].kindU.node).typ;
  				{
  					NimStringDesc* LOC1341;
  					if (!!(!((typ0 == NIM_NIL)))) goto LA1339;
  					LOC1341 = (NimStringDesc*)0;
  					LOC1341 = HEX24_198185_1689653243(T2569374918_118);
  					internalerror_198113_155036129(LOC1341);
  				}
  				LA1339: ;
  				{
  					while (1) {
  						NIM_BOOL LOC1344;
  						NI LOC1346;
  						LOC1344 = (NIM_BOOL)0;
  						LOC1344 = ((*typ0).kind == ((Ttypekind294244) 8));
  						if (!(LOC1344)) goto LA1345;
  						LOC1346 = (NI)0;
  						LOC1346 = len_297339_850551059(typ0);
  						LOC1344 = (((NI) 0) < LOC1346);
  						LA1345: ;
  						if (!LOC1344) goto LA1343;
  						typ0 = (*typ0).sons->data[((NI) 0)];
  					} LA1343: ;
  				}
  				asgnRefNoCycle((void**) (&regs0->data[ra_462234_2569374918].kindU.node), newnode_295401_850551059(((Tnodekind294020) 20)));
  				asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), typetostring_322017_3876443242(typ0, ((Tprefereddesc322011) 2)));
  			}
  			break;
  			case ((Topcode345015) 156):
  			{
  				NI ra0;
  				NI rb0;
  				Ttype294840* typ0;
  				Tnode294802* LOC1348;
  				ra0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 8))) & ((NU32) 255))));
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				pc0 += ((NI) 1);
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				LOC1348 = (Tnode294802*)0;
  				LOC1348 = loadany_458364_2499857528((*regs0->data[rb0].kindU.node).kindU.S3.strval, typ0);
  				putintoreg_461292_2569374918((&regs0->data[ra0]), LOC1348);
  			}
  			break;
  			case ((Topcode345015) 157):
  			{
  				NI rb0;
  				Ttype294840* typ0;
  				Tnode294802* LOC1358;
  				rb0 = ((NI) ((NU32)((NU32)((NU32)(instr0) >> (NU32)(((NU32) 16))) & ((NU32) 255))));
  				{
  					if (!!((regs0->data[ra_462234_2569374918].kind == ((Tregisterkind460202) 1)))) goto LA1352;
  					myreset_460401_2569374918((&regs0->data[ra_462234_2569374918]));
  					regs0->data[ra_462234_2569374918].kind = ((Tregisterkind460202) 1);
  				}
  				LA1352: ;
  				pc0 += ((NI) 1);
  				typ0 = (*c0).types->data[(NI)(((NI) ((NU32)((NU32)((*c0).code->data[pc0]) >> (NU32)(((NU32) 16))))) - ((NI) 32768))];
  				createstrkeepnode_460440_2569374918((&regs0->data[ra_462234_2569374918]), NIM_TRUE);
  				{
  					if (!(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval == 0) goto LA1356;
  					asgnRefNoCycle((void**) (&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), rawNewString(((NI) 1000)));
  				}
  				LA1356: ;
  				LOC1358 = (Tnode294802*)0;
  				LOC1358 = regtonode_461306_2569374918(regs0->data[rb0]);
  				storeany_457571_2499857528((&(*regs0->data[ra_462234_2569374918].kindU.node).kindU.S3.strval), typ0, LOC1358);
  			}
  			break;
  			}
  			pc0 += ((NI) 1);
  		}
  	}
  	}BeforeRet: ;
  }
  
  N_NIMCALL(Tnode294802*, evalmacrocall_473869_2569374918)(Tsym294834* module0, Tnode294802* n0, Tnode294802* norig0, Tsym294834* sym0) {
  	Tnode294802* result0;
  	Tctx345035* c0;
  	NI start0;
  	Tstackframe460208* tos0;
  	Tstackframe460208* LOC18;
  	NI maxslots0;
  	NI L0;
  	Tnode294802* gp0;
  	Tfullreg460204 LOC41;
  	result0 = (Tnode294802*)0;
  	evalmacrocounter_473867_2569374918 += ((NI) 1);
  	{
  		if (!(((NI) 100) < evalmacrocounter_473867_2569374918)) goto LA3;
  		globalerror_198071_155036129((*n0).info, ((Tmsgkind193002) 188), ((NimStringDesc*) &T2569374918_3));
  	}
  	LA3: ;
  	{
  		NIM_BOOL LOC7;
  		NI LOC8;
  		NI LOC9;
  		NI LOC11;
  		TY195140 LOC14;
  		NI LOC15;
  		NI LOC16;
  		NimStringDesc* LOC17;
  		LOC7 = (NIM_BOOL)0;
  		LOC8 = (NI)0;
  		LOC8 = safelen_295103_850551059(n0);
  		LOC9 = (NI)0;
  		LOC9 = len_297339_850551059((*sym0).typ);
  		LOC7 = (LOC8 < LOC9);
  		if (!(LOC7)) goto LA10;
  		LOC11 = (NI)0;
  		LOC11 = len_297339_850551059((*sym0).typ);
  		LOC7 = (((NI) 1) < LOC11);
  		LA10: ;
  		if (!LOC7) goto LA12;
  		memset((void*)LOC14, 0, sizeof(LOC14));
  		LOC14[0] = rendertree_313044_382274130(n0, 0);
  		LOC15 = (NI)0;
  		LOC15 = safelen_295103_850551059(n0);
  		LOC14[1] = nimIntToStr((LOC15 - 1));
  		LOC16 = (NI)0;
  		LOC16 = len_297339_850551059((*sym0).typ);
  		LOC14[2] = nimIntToStr((LOC16 - 1));
  		LOC17 = (NimStringDesc*)0;
  		LOC17 = nsuFormatOpenArray(((NimStringDesc*) &T2569374918_4), LOC14, 3);
  		globalerror_198076_155036129((*n0).info, LOC17);
  	}
  	LA12: ;
  	setupglobalctx_473247_2569374918(module0);
  	c0 = globalctx_473241_2569374918;
  	asgnRefNoCycle((void**) (&(*c0).callsite), norig0);
  	start0 = genproc_453867_1009139178(c0, sym0);
  	LOC18 = (Tstackframe460208*)0;
  	LOC18 = (Tstackframe460208*) newObj((&NTI460206), sizeof(Tstackframe460208));
  	asgnRefNoCycle((void**) (&(*LOC18).prc), sym0);
  	(*LOC18).comesfrom = ((NI) 0);
  	asgnRef((void**) (&(*LOC18).next), NIM_NIL);
  	tos0 = LOC18;
  	maxslots0 = (*sym0).offset;
  	if ((*tos0).slots) nimGCunrefNoCycle((*tos0).slots);
  	(*tos0).slots = (TY460855*) newSeqRC1((&NTI460855), ((NI) (maxslots0)));
  	L0 = safelen_295103_850551059(n0);
  	{
  		if (!(L0 == ((NI) 0))) goto LA21;
  		L0 = ((NI) 1);
  	}
  	LA21: ;
  	(*tos0).slots->data[((NI) 0)].kind = ((Tregisterkind460202) 1);
  	asgnRefNoCycle((void**) (&(*tos0).slots->data[((NI) 0)].kindU.node), newnodei_296197_850551059(((Tnodekind294020) 1), (*n0).info));
  	{
  		NI i_473946_2569374918;
  		NI HEX3Atmp_474011_2569374918;
  		NI LOC24;
  		NI res_474014_2569374918;
  		i_473946_2569374918 = (NI)0;
  		HEX3Atmp_474011_2569374918 = (NI)0;
  		LOC24 = (NI)0;
  		LOC24 = len_297339_850551059((*sym0).typ);
  		HEX3Atmp_474011_2569374918 = (LOC24 - 1);
  		res_474014_2569374918 = ((NI) 1);
  		{
  			while (1) {
  				if (!(res_474014_2569374918 <= HEX3Atmp_474011_2569374918)) goto LA26;
  				i_473946_2569374918 = res_474014_2569374918;
  				setupmacroparam_473835_2569374918((*n0).kindU.S6.sons->data[i_473946_2569374918], (*(*sym0).typ).sons->data[i_473946_2569374918], (&(*tos0).slots->data[i_473946_2569374918]));
  				res_474014_2569374918 += ((NI) 1);
  			} LA26: ;
  		}
  	}
  	gp0 = HEX5BHEX5D_295238_850551059((*sym0).ast, ((NI) 2));
  	{
  		NI i_473969_2569374918;
  		NI HEX3Atmp_474019_2569374918;
  		NI LOC28;
  		NI res_474022_2569374918;
  		i_473969_2569374918 = (NI)0;
  		HEX3Atmp_474019_2569374918 = (NI)0;
  		LOC28 = (NI)0;
  		LOC28 = len_295081_850551059(gp0);
  		HEX3Atmp_474019_2569374918 = (LOC28 - 1);
  		res_474022_2569374918 = ((NI) 0);
  		{
  			while (1) {
  				if (!(res_474022_2569374918 <= HEX3Atmp_474019_2569374918)) goto LA30;
  				i_473969_2569374918 = res_474022_2569374918;
  				{
  					NI idx0;
  					NI LOC35;
  					Tnode294802* LOC36;
  					if (!!((((*sym0).flags &(1U<<((NU)(((Tsymflag294184) 25))&31U)))!=0))) goto LA33;
  					LOC35 = (NI)0;
  					LOC35 = len_297339_850551059((*sym0).typ);
  					idx0 = (NI)(LOC35 + i_473969_2569374918);
  					LOC36 = (Tnode294802*)0;
  					LOC36 = HEX5BHEX5D_295238_850551059(gp0, i_473969_2569374918);
  					setupmacroparam_473835_2569374918((*n0).kindU.S6.sons->data[idx0], (*(*LOC36).kindU.S4.sym).typ, (&(*tos0).slots->data[idx0]));
  				}
  				goto LA31;
  				LA33: ;
  				{
  					Tnode294802* LOC38;
  					LOC38 = (Tnode294802*)0;
  					LOC38 = HEX5BHEX5D_295238_850551059(gp0, i_473969_2569374918);
  					if (!((*(*(*LOC38).kindU.S4.sym).typ).kind == ((Ttypekind294244) 59) || (*(*(*LOC38).kindU.S4.sym).typ).kind == ((Ttypekind294244) 8))) goto LA39;
  					globalerror_198076_155036129((*n0).info, ((NimStringDesc*) &T2569374918_78));
  				}
  				goto LA31;
  				LA39: ;
  				LA31: ;
  				res_474022_2569374918 += ((NI) 1);
  			} LA30: ;
  		}
  	}
  	memset((void*)(&LOC41), 0, sizeof(LOC41));
  	rawexecute_462204_2569374918(c0, start0, tos0, (&LOC41));
  	result0 = regtonode_461306_2569374918(LOC41);
  	{
  		if (!((*result0).info.line < ((NI16) 0))) goto LA44;
  		(*result0).info = (*n0).info;
  	}
  	LA44: ;
  	{
  		NIM_BOOL LOC48;
  		LOC48 = (NIM_BOOL)0;
  		LOC48 = cyclictree_320287_2616423590(result0);
  		if (!LOC48) goto LA49;
  		globalerror_198071_155036129((*n0).info, ((Tmsgkind193002) 220), ((NimStringDesc*) &T2569374918_3));
  	}
  	LA49: ;
  	evalmacrocounter_473867_2569374918 -= ((NI) 1);
  	asgnRefNoCycle((void**) (&(*c0).callsite), NIM_NIL);
  	return result0;
  }
  
  N_NIMCALL(Tnode294802*, evalconstexpraux_473409_2569374918)(Tsym294834* module0, Tsym294834* prc0, Tnode294802* n_473413_2569374918, Tevalmode345019 mode0) {
  	Tnode294802* volatile result0;
  	Tnode294802* n0;
  	Tctx345035* c0;
  	Tevalmode345019 oldmode0;
  	TSafePoint T2569374918_119;
  {	result0 = (Tnode294802*)0;
  	n0 = transformexpr_446801_534969805(module0, n_473413_2569374918);
  	setupglobalctx_473247_2569374918(module0);
  	c0 = globalctx_473241_2569374918;
  	oldmode0 = (*c0).mode;
  	pushSafePoint(&T2569374918_119);
  	T2569374918_119.status = setjmp(T2569374918_119.context);
  	if (T2569374918_119.status == 0) {
  		NI start0;
  		Tstackframe460208* tos0;
  		Tstackframe460208* LOC6;
  		Tfullreg460204 LOC7;
  		(*c0).mode = mode0;
  		start0 = genexpr_454638_1009139178(c0, n0, !((mode0 == ((Tevalmode345019) 4))));
  		{
  			if (!(((Topcode345015) ((NU32)((*c0).code->data[start0] & ((NU32) 255)))) == ((Topcode345015) 0))) goto LA4;
  			result0 = emptynode_295801_850551059;
  			popSafePoint();
  			(*c0).mode = oldmode0;
  			goto BeforeRet;
  		}
  		LA4: ;
  		LOC6 = (Tstackframe460208*)0;
  		LOC6 = (Tstackframe460208*) newObj((&NTI460206), sizeof(Tstackframe460208));
  		asgnRefNoCycle((void**) (&(*LOC6).prc), prc0);
  		(*LOC6).comesfrom = ((NI) 0);
  		asgnRef((void**) (&(*LOC6).next), NIM_NIL);
  		tos0 = LOC6;
  		if ((*tos0).slots) nimGCunrefNoCycle((*tos0).slots);
  		(*tos0).slots = (TY460855*) newSeqRC1((&NTI460855), ((NI) ((*(*c0).prc).maxslots)));
  		memset((void*)(&LOC7), 0, sizeof(LOC7));
  		rawexecute_462204_2569374918(c0, start0, tos0, (&LOC7));
  		result0 = regtonode_461306_2569374918(LOC7);
  		{
  			if (!((*result0).info.line < ((NI16) 0))) goto LA10;
  			(*result0).info = (*n0).info;
  		}
  		LA10: ;
  		popSafePoint();
  	}
  	else {
  		popSafePoint();
  	}
  	{
  		(*c0).mode = oldmode0;
  	}
  	if (T2569374918_119.status != 0) reraiseException();
  	}BeforeRet: ;
  	return result0;
  }
  
  N_NIMCALL(Tnode294802*, evalstaticexpr_473820_2569374918)(Tsym294834* module0, Tnode294802* e0, Tsym294834* prc0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	result0 = evalconstexpraux_473409_2569374918(module0, prc0, e0, ((Tevalmode345019) 3));
  	return result0;
  }
  
  N_NIMCALL(Tnode294802*, evalconstexpr_473815_2569374918)(Tsym294834* module0, Tnode294802* e0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	result0 = evalconstexpraux_473409_2569374918(module0, NIM_NIL, e0, ((Tevalmode345019) 1));
  	return result0;
  }
  
  N_NIMCALL(void, setupcompiletimevar_473831_2569374918)(Tsym294834* module0, Tnode294802* n0) {
  	Tnode294802* LOC1;
  	LOC1 = (Tnode294802*)0;
  	LOC1 = evalconstexpraux_473409_2569374918(module0, NIM_NIL, n0, ((Tevalmode345019) 4));
  }
  
  N_NIMCALL(void, evalstaticstmt_473826_2569374918)(Tsym294834* module0, Tnode294802* e0, Tsym294834* prc0) {
  	Tnode294802* LOC1;
  	LOC1 = (Tnode294802*)0;
  	LOC1 = evalconstexpraux_473409_2569374918(module0, prc0, e0, ((Tevalmode345019) 4));
  }
  
  N_NIMCALL(Tpasscontext343002*, myopen_473258_2569374918)(Tsym294834* module0) {
  	Tpasscontext343002* result0;
  	result0 = (Tpasscontext343002*)0;
  	setupglobalctx_473247_2569374918(module0);
  	result0 = &globalctx_473241_2569374918->Sup;
  	return result0;
  }
  
  N_NIMCALL(Tnode294802*, execute_472702_2569374918)(Tctx345035* c0, NI start0) {
  	Tnode294802* result0;
  	Tstackframe460208* tos0;
  	Tstackframe460208* LOC1;
  	Tfullreg460204 LOC2;
  	result0 = (Tnode294802*)0;
  	LOC1 = (Tstackframe460208*)0;
  	LOC1 = (Tstackframe460208*) newObj((&NTI460206), sizeof(Tstackframe460208));
  	asgnRefNoCycle((void**) (&(*LOC1).prc), NIM_NIL);
  	(*LOC1).comesfrom = ((NI) 0);
  	asgnRef((void**) (&(*LOC1).next), NIM_NIL);
  	tos0 = LOC1;
  	if ((*tos0).slots) nimGCunrefNoCycle((*tos0).slots);
  	(*tos0).slots = (TY460855*) newSeqRC1((&NTI460855), ((NI) ((*(*c0).prc).maxslots)));
  	memset((void*)(&LOC2), 0, sizeof(LOC2));
  	rawexecute_462204_2569374918(c0, start0, tos0, (&LOC2));
  	result0 = regtonode_461306_2569374918(LOC2);
  	return result0;
  }
  
  N_NIMCALL(void, evalstmt_472815_2569374918)(Tctx345035* c0, Tnode294802* n_472818_2569374918) {
  	Tnode294802* n0;
  	NI start0;
  	n0 = transformexpr_446801_534969805((*c0).module, n_472818_2569374918);
  	start0 = genstmt_454622_1009139178(c0, n0);
  	{
  		Tnode294802* LOC5;
  		if (!!((((Topcode345015) ((NU32)((*c0).code->data[start0] & ((NU32) 255)))) == ((Topcode345015) 0)))) goto LA3;
  		LOC5 = (Tnode294802*)0;
  		LOC5 = execute_472702_2569374918(c0, start0);
  	}
  	LA3: ;
  }
  
  N_NIMCALL(Tnode294802*, myprocess_473403_2569374918)(Tpasscontext343002* c0, Tnode294802* n0) {
  	Tnode294802* result0;
  	result0 = (Tnode294802*)0;
  	{
  		if (!(olderrorcount_473401_2569374918 == gerrorcounter_194072_155036129)) goto LA3;
  		evalstmt_472815_2569374918(((Tctx345035*) (c0)), n0);
  		result0 = emptynode_295801_850551059;
  	}
  	goto LA1;
  	LA3: ;
  	{
  		result0 = n0;
  	}
  	LA1: ;
  	olderrorcount_473401_2569374918 = gerrorcounter_194072_155036129;
  	return result0;
  }
  
  N_NIMCALL(void, setresult_460942_2569374918)(Vmargs345029* a0, TY136002* v0) {
  	TY460855* s0;
  	Tnode294802* n0;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 1)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 1);
  	}
  	LA3: ;
  	n0 = newnode_295401_850551059(((Tnodekind294020) 41));
  	{
  		NimStringDesc* x_460969_2569374918;
  		NI i_460977_2569374918;
  		NI L_460979_2569374918;
  		x_460969_2569374918 = (NimStringDesc*)0;
  		i_460977_2569374918 = ((NI) 0);
  		L_460979_2569374918 = (v0 ? v0->Sup.len : 0);
  		{
  			while (1) {
  				Tnode294802* LOC8;
  				if (!(i_460977_2569374918 < L_460979_2569374918)) goto LA7;
  				x_460969_2569374918 = v0->data[i_460977_2569374918];
  				LOC8 = (Tnode294802*)0;
  				LOC8 = newstrnode_295678_850551059(((Tnodekind294020) 20), x_460969_2569374918);
  				add_295136_850551059(n0, LOC8);
  				i_460977_2569374918 += ((NI) 1);
  			} LA7: ;
  		}
  	}
  	asgnRefNoCycle((void**) (&s0->data[(*a0).ra].kindU.node), n0);
  }
  
  N_NIMCALL(void, setresult_460831_2569374918)(Vmargs345029* a0, NI64 v0) {
  	TY460855* s0;
  	s0 = (TY460855*)0;
  	s0 = ((TY460855*) ((*a0).slots));
  	{
  		if (!!((s0->data[(*a0).ra].kind == ((Tregisterkind460202) 2)))) goto LA3;
  		myreset_460401_2569374918((&s0->data[(*a0).ra]));
  		s0->data[(*a0).ra].kind = ((Tregisterkind460202) 2);
  	}
  	LA3: ;
  	s0->data[(*a0).ra].kindU.intval = v0;
  }
  NIM_EXTERNC N_NOINLINE(void, compiler_vmInit000)(void) {
  nimRegisterGlobalMarker(T2569374918_2);
  }
  
  NIM_EXTERNC N_NOINLINE(void, compiler_vmDatInit000)(void) {
  static TNimNode* T2569374918_6[6];
  NI T2569374918_8;
  static char* NIM_CONST T2569374918_7[6] = {
  "rkNone", 
  "rkNode", 
  "rkInt", 
  "rkFloat", 
  "rkRegisterAddr", 
  "rkNodeAddr"};
  static TNimNode* T2569374918_75[5];
  static TNimNode* T2569374918_79[3];
  static TNimNode T2569374918_0[24];
  NTI460204.size = sizeof(Tfullreg460204);
  NTI460204.kind = 18;
  NTI460204.base = 0;
  NTI460204.flags = 2;
  NTI460202.size = sizeof(Tregisterkind460202);
  NTI460202.kind = 14;
  NTI460202.base = 0;
  NTI460202.flags = 3;
  for (T2569374918_8 = 0; T2569374918_8 < 6; T2569374918_8++) {
  T2569374918_0[T2569374918_8+1].kind = 1;
  T2569374918_0[T2569374918_8+1].offset = T2569374918_8;
  T2569374918_0[T2569374918_8+1].name = T2569374918_7[T2569374918_8];
  T2569374918_6[T2569374918_8] = &T2569374918_0[T2569374918_8+1];
  }
  T2569374918_0[7].len = 6; T2569374918_0[7].kind = 2; T2569374918_0[7].sons = &T2569374918_6[0];
  NTI460202.node = &T2569374918_0[7];
  T2569374918_0[0].kind = 3;
  T2569374918_0[0].offset = offsetof(Tfullreg460204, kind);
  T2569374918_0[0].typ = (&NTI460202);
  T2569374918_0[0].name = "kind";
  T2569374918_0[0].sons = &NimDT_460204_kind[0];
  T2569374918_0[0].len = 6;
  T2569374918_0[8].len = 0; T2569374918_0[8].kind = 2;
  NimDT_460204_kind[0] = &T2569374918_0[8];
  T2569374918_0[9].kind = 1;
  T2569374918_0[9].offset = offsetof(Tfullreg460204, kindU.intval);
  T2569374918_0[9].typ = (&NTI7288);
  T2569374918_0[9].name = "intVal";
  NimDT_460204_kind[2] = &T2569374918_0[9];
  T2569374918_0[10].kind = 1;
  T2569374918_0[10].offset = offsetof(Tfullreg460204, kindU.floatval);
  T2569374918_0[10].typ = (&NTI7290);
  T2569374918_0[10].name = "floatVal";
  NimDT_460204_kind[3] = &T2569374918_0[10];
  T2569374918_0[11].kind = 1;
  T2569374918_0[11].offset = offsetof(Tfullreg460204, kindU.node);
  T2569374918_0[11].typ = (&NTI294794);
  T2569374918_0[11].name = "node";
  NimDT_460204_kind[1] = &T2569374918_0[11];
  NTI460219.size = sizeof(Tfullreg460204*);
  NTI460219.kind = 21;
  NTI460219.base = (&NTI460204);
  NTI460219.flags = 3;
  T2569374918_0[12].kind = 1;
  T2569374918_0[12].offset = offsetof(Tfullreg460204, kindU.regaddr);
  T2569374918_0[12].typ = (&NTI460219);
  T2569374918_0[12].name = "regAddr";
  NimDT_460204_kind[4] = &T2569374918_0[12];
  T2569374918_0[13].kind = 1;
  T2569374918_0[13].offset = offsetof(Tfullreg460204, kindU.nodeaddr);
  T2569374918_0[13].typ = (&NTI460221);
  T2569374918_0[13].name = "nodeAddr";
  NimDT_460204_kind[5] = &T2569374918_0[13];
  NTI460204.node = &T2569374918_0[0];
  NTI460208.size = sizeof(Tstackframe460208);
  NTI460208.kind = 18;
  NTI460208.base = 0;
  T2569374918_75[0] = &T2569374918_0[15];
  T2569374918_0[15].kind = 1;
  T2569374918_0[15].offset = offsetof(Tstackframe460208, prc);
  T2569374918_0[15].typ = (&NTI294800);
  T2569374918_0[15].name = "prc";
  T2569374918_75[1] = &T2569374918_0[16];
  NTI460855.size = sizeof(TY460855*);
  NTI460855.kind = 24;
  NTI460855.base = (&NTI460204);
  NTI460855.flags = 2;
  NTI460855.marker = T2569374918_76;
  T2569374918_0[16].kind = 1;
  T2569374918_0[16].offset = offsetof(Tstackframe460208, slots);
  T2569374918_0[16].typ = (&NTI460855);
  T2569374918_0[16].name = "slots";
  T2569374918_75[2] = &T2569374918_0[17];
  T2569374918_0[17].kind = 1;
  T2569374918_0[17].offset = offsetof(Tstackframe460208, next);
  T2569374918_0[17].typ = (&NTI460206);
  T2569374918_0[17].name = "next";
  T2569374918_75[3] = &T2569374918_0[18];
  T2569374918_0[18].kind = 1;
  T2569374918_0[18].offset = offsetof(Tstackframe460208, comesfrom);
  T2569374918_0[18].typ = (&NTI104);
  T2569374918_0[18].name = "comesFrom";
  T2569374918_75[4] = &T2569374918_0[19];
  T2569374918_0[19].kind = 1;
  T2569374918_0[19].offset = offsetof(Tstackframe460208, safepoints);
  T2569374918_0[19].typ = (&NTI370521);
  T2569374918_0[19].name = "safePoints";
  T2569374918_0[14].len = 5; T2569374918_0[14].kind = 2; T2569374918_0[14].sons = &T2569374918_75[0];
  NTI460208.node = &T2569374918_0[14];
  NTI460206.size = sizeof(Tstackframe460208*);
  NTI460206.kind = 22;
  NTI460206.base = (&NTI460208);
  NTI460206.marker = T2569374918_77;
  NTI472230.size = sizeof(TY472230);
  NTI472230.kind = 18;
  NTI472230.base = 0;
  NTI472230.flags = 2;
  T2569374918_79[0] = &T2569374918_0[21];
  T2569374918_0[21].kind = 1;
  T2569374918_0[21].offset = offsetof(TY472230, HEX3Astate);
  T2569374918_0[21].typ = (&NTI104021);
  T2569374918_0[21].name = ":state";
  T2569374918_79[1] = &T2569374918_0[22];
  T2569374918_0[22].kind = 1;
  T2569374918_0[22].offset = offsetof(TY472230, error470755);
  T2569374918_0[22].typ = (&NTI138);
  T2569374918_0[22].name = "error470755";
  T2569374918_79[2] = &T2569374918_0[23];
  T2569374918_0[23].kind = 1;
  T2569374918_0[23].offset = offsetof(TY472230, error470805);
  T2569374918_0[23].typ = (&NTI138);
  T2569374918_0[23].name = "error470805";
  T2569374918_0[20].len = 3; T2569374918_0[20].kind = 2; T2569374918_0[20].sons = &T2569374918_79[0];
  NTI472230.node = &T2569374918_0[20];
  NTI472229.size = sizeof(TY472230*);
  NTI472229.kind = 22;
  NTI472229.base = (&NTI472230);
  NTI472229.flags = 2;
  NTI472229.marker = T2569374918_80;
  }
  
  