#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>

int main(int argc, char **argv){
	FILE *out;
	uint32_t num1;
	out = fopen("test.c", "w");


//(void)__builtin_memcpy(dest, src, size);

	//for(num1=1; num1<8193; num1++){

	for(num1=8192; num1>0; num1--){
//		fprintf(out, "\tfor(num1=0; num1<%u; num1++)\n", num1);
		//fprintf(out, "\t\tsrc[num1] = dest[num1] + (char)(LRAND(rseed) %% 256);\n");
//		fprintf(out, "\t\tsrc[num1] ^= dest[num1];\n");
		fprintf(out, "\tclocktmp = rdtsc();\n");
		fprintf(out, "\t(void)__builtin_memset(dest, src, %u);\n", num1);
		fprintf(out, "\tclocks[%u] = rdtsc()-clocktmp;\n", num1-1);
		//*(((char *)src)+num2) = (char)(LRAND(rseed) % 256);
	}

	fprintf(out, "\tfor(num1=0; num1<max_size; num1++)\n");
	fprintf(out, "\t\tclocktmp ^= dest[num1];\n");

	fprintf(out, "\tfor(num1=0; num1<max_size; num1++)\n");
	//fprintf(out, "\t\tclocktmp += dest[num1];\n");
	//fprintf(out, "\t\tfprintf(out, \"%"PRIu64"\n\", clocks[num1]);\n");

	fclose(out);

	return 0;
}
