Skip to content

Instantly share code, notes, and snippets.

@Muratam
Created September 21, 2019 19:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Muratam/4b3369be66a44fb42bd2538e46da82be to your computer and use it in GitHub Desktop.
Save Muratam/4b3369be66a44fb42bd2538e46da82be to your computer and use it in GitHub Desktop.
bench.nim
import sequtils,times
template stopwatch(body) = (let t1 = cpuTime();body;stderr.writeLine "TIME:",(cpuTime() - t1) * 1000,"ms")
const N = 10_000_0000
proc newSeqProc*(len: int): seq[int] =
result = newSeq[int](len)
proc newSeqProc2*(len: int): seq[int] =
let x = newSeq[int](len)
return x
template newSeqTemplate*(len: int): seq[int] =
let result = newSeq[int](len)
result
# at nim 0.20.0
block:
stopwatch: # TIME:388.494ms
let s = newSeq[int](N)
echo s[^1]
block:
stopwatch: # TIME:387.783ms
let s = newSeqProc(N)
echo s[^1]
block:
stopwatch: # TIME:965.893ms
let s = newSeqProc2(N)
echo s[^1]
block:
stopwatch: # TIME:1257.918ms
let s = newSeqTemplate(N)
echo s[^1]
@Muratam
Copy link
Author

Muratam commented Sep 21, 2019

/* Generated by Nim Compiler v0.20.0 */
/*   (c) 2019 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: MacOSX, amd64, clang */
/* Command for C compiler:
   clang++ -c  -w  -O3   -I/Users/murata/.choosenim/toolchains/nim-0.20.0/lib -I/Users/murata/codes/sandbox -o /Users/murata/.cache/nim/hoge_r/hoge.nim.cpp.o /Users/murata/.cache/nim/hoge_r/hoge.nim.cpp */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
struct tySequence_qwqHTkRvwhrRyENtudHQ7g;
struct TGenericSeq;
struct TNimType;
struct TNimNode;
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA;
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
struct NimStringDesc;
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc_ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef N_NIMCALL_PTR(void, tyProc_T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray_BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* tyArray_N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray_N1u1nqOgmuJN9cSZrnMHgOQ tyArray_B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA {
tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw {
tyArray_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray_BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray_B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
struct NimStringDesc : public TGenericSeq {
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NimStringDesc* tyArray_nHXaesL0DJZHyVS07ARPRA[1];
struct tySequence_qwqHTkRvwhrRyENtudHQ7g : TGenericSeq {
  NI data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_2)(void);
N_NIMCALL(void, nimRegisterGlobalMarker)(tyProc_T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
N_LIB_PRIVATE N_NIMCALL(tySequence_qwqHTkRvwhrRyENtudHQ7g*, newSeq_eA9b5cYyFZe7gRm4F9aRTKlA)(NI len);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w& s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NI, X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem)(NI* s, NI sLen_0, NI i);
static N_INLINE(NI, subInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_4)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence_qwqHTkRvwhrRyENtudHQ7g*, newSeqProc_AKPBldfL8fzzJrui8ENyMg)(NI len);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_5)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence_qwqHTkRvwhrRyENtudHQ7g*, newSeqProc2_AKPBldfL8fzzJrui8ENyMg_2)(NI len);
N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_6)(void);
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_7)(void);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_posixInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
tySequence_qwqHTkRvwhrRyENtudHQ7g* s_CWYDzPezH9c2ZRKWyBg9adrg;
extern TNimType NTI_qwqHTkRvwhrRyENtudHQ7g_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
tySequence_qwqHTkRvwhrRyENtudHQ7g* s_CWYDzPezH9c2ZRKWyBg9adrg_2;
tySequence_qwqHTkRvwhrRyENtudHQ7g* s_CWYDzPezH9c2ZRKWyBg9adrg_3;
tySequence_qwqHTkRvwhrRyENtudHQ7g* s_CWYDzPezH9c2ZRKWyBg9adrg_4;
tySequence_qwqHTkRvwhrRyENtudHQ7g* result_G6TWE6zUO8yU6ig76qSxww;
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_2)(void) {
	nimGCvisit((void*)s_CWYDzPezH9c2ZRKWyBg9adrg, 0);
}

static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
}

static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
	return result;
}

static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_Y66tOYFjgwJ0k4aLz4bc0Q(gch_IcYaEuuWivYAS86vFMTS3Q.zct, c);
}

static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
	{
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
{		rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_3system(c);
}	}
	LA3_: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
{		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T5_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef_AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
}	}
	LA3_: ;
	{
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
{		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T10_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef_AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
}	}
	LA8_: ;
	(*dest) = src;
}

static N_INLINE(void, nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_ = memset(a, v, ((size_t) (size)));
}

static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}

static N_INLINE(NI, subInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) - (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
{		goto BeforeRet_;
}	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

static N_INLINE(NI, X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem)(NI* s, NI sLen_0, NI i) {
	NI result;
	NI TM_xCDHUD7N9aKHG0sXQWeKxsA_3;
	result = (NI)0;
	TM_xCDHUD7N9aKHG0sXQWeKxsA_3 = subInt(sLen_0, i);
	if ((NU)((NI)(TM_xCDHUD7N9aKHG0sXQWeKxsA_3)) >= (NU)(sLen_0)) raiseIndexError2((NI)(TM_xCDHUD7N9aKHG0sXQWeKxsA_3),sLen_0-1);
	result = s[(NI)(TM_xCDHUD7N9aKHG0sXQWeKxsA_3)];
	return result;
}
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_4)(void) {
	nimGCvisit((void*)s_CWYDzPezH9c2ZRKWyBg9adrg_2, 0);
}

static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {
	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
{		result = i;
		goto BeforeRet_;
}	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tySequence_qwqHTkRvwhrRyENtudHQ7g*, newSeqProc_AKPBldfL8fzzJrui8ENyMg)(NI len) {
	tySequence_qwqHTkRvwhrRyENtudHQ7g* result;
	result = (tySequence_qwqHTkRvwhrRyENtudHQ7g*)0;
	result = newSeq_eA9b5cYyFZe7gRm4F9aRTKlA(((NI)chckRange(len, ((NI) 0), ((NI) IL64(9223372036854775807)))));
	return result;
}
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_5)(void) {
	nimGCvisit((void*)s_CWYDzPezH9c2ZRKWyBg9adrg_3, 0);
}

N_LIB_PRIVATE N_NIMCALL(tySequence_qwqHTkRvwhrRyENtudHQ7g*, newSeqProc2_AKPBldfL8fzzJrui8ENyMg_2)(NI len) {
	tySequence_qwqHTkRvwhrRyENtudHQ7g* result;
	tySequence_qwqHTkRvwhrRyENtudHQ7g* x;
{	result = (tySequence_qwqHTkRvwhrRyENtudHQ7g*)0;
	x = newSeq_eA9b5cYyFZe7gRm4F9aRTKlA(((NI)chckRange(len, ((NI) 0), ((NI) IL64(9223372036854775807)))));
	genericSeqAssign((&result), x, (&NTI_qwqHTkRvwhrRyENtudHQ7g_));
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_6)(void) {
	nimGCvisit((void*)s_CWYDzPezH9c2ZRKWyBg9adrg_4, 0);
}
static N_NIMCALL(void, TM_xCDHUD7N9aKHG0sXQWeKxsA_7)(void) {
	nimGCvisit((void*)result_G6TWE6zUO8yU6ig76qSxww, 0);
}

static N_INLINE(void, initStackBottomWith)(void* locals) {
	nimGC_setStackBottom(locals);
}

void PreMainInner(void) {
	stdlib_posixInit000();
	stdlib_timesInit000();
}

int cmdCount;
char** cmdLine;
char** gEnv;
void PreMain(void) {
	void (*volatile inner)(void);
	inner = PreMainInner;
	systemDatInit000();
	initStackBottomWith((void *)&inner);
	systemInit000();
	stdlib_timesDatInit000();
	(*inner)();
}

N_CDECL(void, NimMainInner)(void) {
	NimMainModule();
}

N_CDECL(void, NimMain)(void) {
	void (*volatile inner)(void);
	PreMain();
	inner = NimMainInner;
	initStackBottomWith((void *)&inner);
	(*inner)();
}

int main(int argc, char** args, char** env) {
	cmdLine = args;
	cmdCount = argc;
	gEnv = env;
	NimMain();
	return nim_program_result;
}

N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{

	nimRegisterGlobalMarker(TM_xCDHUD7N9aKHG0sXQWeKxsA_2);


	nimRegisterGlobalMarker(TM_xCDHUD7N9aKHG0sXQWeKxsA_4);


	nimRegisterGlobalMarker(TM_xCDHUD7N9aKHG0sXQWeKxsA_5);


	nimRegisterGlobalMarker(TM_xCDHUD7N9aKHG0sXQWeKxsA_6);


	nimRegisterGlobalMarker(TM_xCDHUD7N9aKHG0sXQWeKxsA_7);

	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T2_;
		asgnRef((void**) (&s_CWYDzPezH9c2ZRKWyBg9adrg), newSeq_eA9b5cYyFZe7gRm4F9aRTKlA(((NI) 100000000)));
		nimZeroMem((void*)T2_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		NI T3_ = X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem(s_CWYDzPezH9c2ZRKWyBg9adrg->data, (s_CWYDzPezH9c2ZRKWyBg9adrg ? s_CWYDzPezH9c2ZRKWyBg9adrg->len : 0), ((NI) 1));
		T2_[0] = nimIntToStr(T3_);
		echoBinSafe(T2_, 1);
	}
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T5_;
		asgnRef((void**) (&s_CWYDzPezH9c2ZRKWyBg9adrg_2), newSeqProc_AKPBldfL8fzzJrui8ENyMg(((NI) 100000000)));
		nimZeroMem((void*)T5_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		NI T6_ = X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem(s_CWYDzPezH9c2ZRKWyBg9adrg_2->data, (s_CWYDzPezH9c2ZRKWyBg9adrg_2 ? s_CWYDzPezH9c2ZRKWyBg9adrg_2->len : 0), ((NI) 1));
		T5_[0] = nimIntToStr(T6_);
		echoBinSafe(T5_, 1);
	}
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T8_;
		asgnRef((void**) (&s_CWYDzPezH9c2ZRKWyBg9adrg_3), newSeqProc2_AKPBldfL8fzzJrui8ENyMg_2(((NI) 100000000)));
		nimZeroMem((void*)T8_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		NI T9_ = X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem(s_CWYDzPezH9c2ZRKWyBg9adrg_3->data, (s_CWYDzPezH9c2ZRKWyBg9adrg_3 ? s_CWYDzPezH9c2ZRKWyBg9adrg_3->len : 0), ((NI) 1));
		T8_[0] = nimIntToStr(T9_);
		echoBinSafe(T8_, 1);
	}
	{
		tyArray_nHXaesL0DJZHyVS07ARPRA T11_;
		asgnRef((void**) (&result_G6TWE6zUO8yU6ig76qSxww), newSeq_eA9b5cYyFZe7gRm4F9aRTKlA(((NI) 100000000)));
		genericSeqAssign((&s_CWYDzPezH9c2ZRKWyBg9adrg_4), result_G6TWE6zUO8yU6ig76qSxww, (&NTI_qwqHTkRvwhrRyENtudHQ7g_));
		nimZeroMem((void*)T11_, sizeof(tyArray_nHXaesL0DJZHyVS07ARPRA));
		NI T12_ = X5BX5D__Mrb19bQd0xExIxD8fc6O8RAsystem(s_CWYDzPezH9c2ZRKWyBg9adrg_4->data, (s_CWYDzPezH9c2ZRKWyBg9adrg_4 ? s_CWYDzPezH9c2ZRKWyBg9adrg_4->len : 0), ((NI) 1));
		T11_[0] = nimIntToStr(T12_);
		echoBinSafe(T11_, 1);
	}
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment