3d5e022272
git-svn-id: http://picoc.googlecode.com/svn/trunk@598 21eae674-98b7-11dd-bd71-f92a316d2d60
443 lines
15 KiB
C
443 lines
15 KiB
C
#include <stdio.h>
|
|
int print_hash_value = 1;
|
|
static void platform_main_begin(void)
|
|
{
|
|
}
|
|
static unsigned crc32_tab[256];
|
|
static unsigned crc32_context = 0xFFFFFFFFUL;
|
|
static void
|
|
crc32_gentab (void)
|
|
{
|
|
unsigned crc;
|
|
unsigned poly = 0xEDB88320UL;
|
|
int i, j;
|
|
for (i = 0; i < 256; i++) {
|
|
crc = i;
|
|
for (j = 8; j > 0; j--) {
|
|
if (crc & 1) {
|
|
crc = (crc >> 1) ^ poly;
|
|
} else {
|
|
crc >>= 1;
|
|
}
|
|
}
|
|
crc32_tab[i] = crc;
|
|
}
|
|
}
|
|
static void
|
|
crc32_byte (unsigned char b) {
|
|
crc32_context =
|
|
((crc32_context >> 8) & 0x00FFFFFF) ^
|
|
crc32_tab[(crc32_context ^ b) & 0xFF];
|
|
}
|
|
extern int strcmp ( char *, char *);
|
|
static void
|
|
crc32_8bytes (unsigned val)
|
|
{
|
|
crc32_byte ((val>>0) & 0xff);
|
|
crc32_byte ((val>>8) & 0xff);
|
|
crc32_byte ((val>>16) & 0xff);
|
|
crc32_byte ((val>>24) & 0xff);
|
|
}
|
|
static void
|
|
transparent_crc (unsigned val, char* vname, int flag)
|
|
{
|
|
crc32_8bytes(val);
|
|
if (flag) {
|
|
printf("...checksum after hashing %s : %X\n", vname, crc32_context ^ 0xFFFFFFFFU);
|
|
}
|
|
}
|
|
static void
|
|
platform_main_end (int x, int flag)
|
|
{
|
|
if (!flag) printf ("checksum = %x\n", x);
|
|
}
|
|
static long __undefined;
|
|
void csmith_compute_hash(void);
|
|
void step_hash(int stmt_id);
|
|
static unsigned g_4 = 1UL;
|
|
static int g_87 = 0x236C2177L;
|
|
static unsigned char g_101 = 252UL;
|
|
static int **g_133 = (void*)0;
|
|
static int g_186 = 1L;
|
|
static int *g_242 = (void*)0;
|
|
static int **g_241 = &g_242;
|
|
static int g_247 = (-9L);
|
|
static int *g_311 = &g_87;
|
|
static int g_322 = 0x6B9971ADL;
|
|
static short func_1(void);
|
|
static unsigned short func_13(int p_14);
|
|
static short func_22(unsigned char p_23, signed char p_24, unsigned p_25);
|
|
static unsigned short func_30(signed char p_31, unsigned char p_32, unsigned char p_33, short p_34);
|
|
static unsigned func_44(short p_45, unsigned p_46);
|
|
static short func_47(unsigned char p_48, unsigned p_49, short p_50, unsigned char p_51, short p_52);
|
|
static unsigned func_57(unsigned char p_58, unsigned p_59);
|
|
static int func_73(unsigned short p_74, unsigned p_75, int p_76, signed char p_77, unsigned char p_78);
|
|
static int * func_81(int * p_82);
|
|
static int * func_83(int * p_84, int * p_85);
|
|
static short func_1(void)
|
|
{
|
|
unsigned short l_26 = 0xF839L;
|
|
step_hash(184);
|
|
(*g_311) = ((short)((g_4 >= (((unsigned char)g_4 >> (unsigned char)2) == ((0x0444L && ((signed char)0xFEL / (signed char)((int)((unsigned short)func_13(g_4) * (unsigned short)((short)((unsigned char)(~((0x90611BC3L != g_4) & ((((short)func_22(l_26, g_4, g_4) - (short)l_26) | g_4) <= l_26))) >> (unsigned char)6) * (short)0x1FA6L)) - (int)l_26))) != l_26))) ^ g_247) * (short)g_247);
|
|
step_hash(185);
|
|
return g_101;
|
|
}
|
|
static unsigned short func_13(int p_14)
|
|
{
|
|
unsigned char l_15 = 0x58L;
|
|
step_hash(2);
|
|
return l_15;
|
|
}
|
|
static short func_22(unsigned char p_23, signed char p_24, unsigned p_25)
|
|
{
|
|
short l_29 = 0x4CA7L;
|
|
int *l_339 = &g_87;
|
|
int ***l_342 = &g_133;
|
|
int *l_345 = &g_322;
|
|
signed char l_390 = 0xFBL;
|
|
int *l_393 = (void*)0;
|
|
int *l_394 = (void*)0;
|
|
step_hash(145);
|
|
(*g_311) = ((signed char)l_29 + (signed char)func_13((func_30(g_4, l_29, (((unsigned char)g_4 % (unsigned char)((unsigned short)((short)((l_29 > 0xB8CFF26AL) ^ g_4) + (short)((func_13(g_4) & 0xC5AD058BL) || p_24)) * (unsigned short)0x2F23L)) & 1L), l_29) | g_247)));
|
|
step_hash(177);
|
|
for (p_25 = 3; (p_25 != 23); p_25 += 5)
|
|
{
|
|
signed char l_343 = (-7L);
|
|
int *l_344 = &g_247;
|
|
int *l_351 = &g_87;
|
|
int l_378 = 0x9B3B63D6L;
|
|
step_hash(149);
|
|
(*g_311) = (((((unsigned short)(0UL >= ((int)((unsigned char)((unsigned)g_87 + (unsigned)func_13(((int)((unsigned)func_13(((l_339 != l_339) < ((unsigned)((*l_339) & ((void*)0 != l_342)) % (unsigned)l_343))) / (unsigned)p_25) - (int)0xEFD678DBL))) / (unsigned char)p_24) / (int)0x38A90558L)) - (unsigned short)l_343) <= 0L) <= p_24) > 0x492FC4D6L);
|
|
step_hash(150);
|
|
(*g_241) = l_345;
|
|
step_hash(176);
|
|
for (g_101 = (-1); (g_101 > 24); g_101 += 6)
|
|
{
|
|
int *l_348 = &g_186;
|
|
unsigned char l_358 = 0xDFL;
|
|
int ***l_359 = &g_241;
|
|
int l_364 = 0xF82136C5L;
|
|
unsigned char l_388 = 2UL;
|
|
step_hash(154);
|
|
(*l_339) = p_23;
|
|
step_hash(155);
|
|
l_348 = l_344;
|
|
step_hash(156);
|
|
(*l_345) = ((((unsigned)g_247 / (unsigned)0x0BBCD69BL) || 0xE1L) < 0xB6DCFAA1L);
|
|
}
|
|
}
|
|
step_hash(182);
|
|
for (g_186 = 0; (g_186 == (-28)); --g_186)
|
|
{
|
|
step_hash(181);
|
|
(*l_339) = (l_393 == l_394);
|
|
}
|
|
step_hash(183);
|
|
return g_322;
|
|
}
|
|
static unsigned short func_30(signed char p_31, unsigned char p_32, unsigned char p_33, short p_34)
|
|
{
|
|
int l_43 = 0x633933B8L;
|
|
int *l_321 = &g_322;
|
|
step_hash(142);
|
|
(*l_321) ^= ((unsigned char)(p_33 || (l_43 > func_44(func_47(p_34, l_43, g_4, l_43, p_34), g_247))) % (unsigned char)g_4);
|
|
step_hash(143);
|
|
(*g_241) = &l_43;
|
|
step_hash(144);
|
|
return g_4;
|
|
}
|
|
static unsigned func_44(short p_45, unsigned p_46)
|
|
{
|
|
int *l_318 = &g_186;
|
|
int l_319 = 0L;
|
|
unsigned l_320 = 0x3B00657DL;
|
|
step_hash(137);
|
|
(*g_242) &= p_45;
|
|
step_hash(138);
|
|
l_318 = l_318;
|
|
step_hash(139);
|
|
(**g_241) = (0x00B7L < (0xDE41467EL >= (*l_318)));
|
|
step_hash(140);
|
|
(*g_311) = l_319;
|
|
step_hash(141);
|
|
return l_320;
|
|
}
|
|
static short func_47(unsigned char p_48, unsigned p_49, short p_50, unsigned char p_51, short p_52)
|
|
{
|
|
signed char l_64 = 0x6BL;
|
|
int l_315 = 0xE94F4A13L;
|
|
step_hash(134);
|
|
if ((((((short)((((signed char)(func_57(p_51, ((signed char)g_4 + (signed char)((short)l_64 * (short)((l_64 == (+((unsigned)((unsigned char)((short)((unsigned char)func_13(func_73(g_4, ((+(((unsigned short)65535UL * (unsigned short)func_13(l_64)) == p_51)) && l_64), g_4, g_4, l_64)) << (unsigned char)g_247) << (short)l_64) / (unsigned char)g_4) / (unsigned)l_64))) ^ g_247)))) <= 0x6A5DDA62L) * (signed char)1L) == g_247) | 0x567F5F9CL) * (short)0x01ADL) != g_247) & l_64) > p_52))
|
|
{
|
|
step_hash(130);
|
|
(*g_311) = ((4294967289UL == g_4) < func_57(g_247, p_49));
|
|
step_hash(131);
|
|
(*g_311) = func_57(p_48, l_315);
|
|
}
|
|
else
|
|
{
|
|
step_hash(133);
|
|
(*g_242) ^= ((signed char)0xFDL - (signed char)l_315);
|
|
}
|
|
step_hash(135);
|
|
return l_64;
|
|
}
|
|
static unsigned func_57(unsigned char p_58, unsigned p_59)
|
|
{
|
|
unsigned short l_312 = 0x013EL;
|
|
step_hash(128);
|
|
return l_312;
|
|
}
|
|
static int func_73(unsigned short p_74, unsigned p_75, int p_76, signed char p_77, unsigned char p_78)
|
|
{
|
|
int *l_86 = &g_87;
|
|
step_hash(125);
|
|
(*g_241) = func_81(func_83(l_86, l_86));
|
|
step_hash(126);
|
|
return (*g_311);
|
|
}
|
|
static int * func_81(int * p_82)
|
|
{
|
|
int l_176 = 6L;
|
|
int *l_181 = &g_87;
|
|
int *l_310 = &l_176;
|
|
step_hash(81);
|
|
for (g_87 = 0; (g_87 == (-14)); g_87 -= 4)
|
|
{
|
|
signed char l_188 = 0x9DL;
|
|
int *l_190 = &l_176;
|
|
unsigned l_191 = 0x60A43F84L;
|
|
step_hash(70);
|
|
for (g_101 = 19; (g_101 < 30); ++g_101)
|
|
{
|
|
signed char l_184 = 0x11L;
|
|
int l_189 = 0x99DD4A88L;
|
|
step_hash(62);
|
|
if (l_176)
|
|
break;
|
|
step_hash(68);
|
|
for (l_176 = (-23); (l_176 >= 5); l_176++)
|
|
{
|
|
int *l_185 = &g_186;
|
|
int **l_187 = &l_181;
|
|
step_hash(66);
|
|
(*l_185) = ((int)((0xFBL && g_87) && func_13(((void*)0 != l_181))) - (int)((unsigned short)l_184 << (unsigned short)7));
|
|
step_hash(67);
|
|
(*l_187) = (void*)0;
|
|
}
|
|
step_hash(69);
|
|
l_189 = l_188;
|
|
}
|
|
step_hash(71);
|
|
(*l_190) = 8L;
|
|
step_hash(79);
|
|
if ((*p_82))
|
|
{
|
|
step_hash(73);
|
|
if (g_87)
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
int **l_192 = &l_181;
|
|
step_hash(75);
|
|
(*l_190) = (*p_82);
|
|
step_hash(76);
|
|
(*l_190) |= l_191;
|
|
step_hash(77);
|
|
(*l_192) = p_82;
|
|
step_hash(78);
|
|
return &g_186;
|
|
}
|
|
step_hash(80);
|
|
(*l_190) = 9L;
|
|
}
|
|
step_hash(82);
|
|
(*p_82) &= l_176;
|
|
step_hash(90);
|
|
for (g_186 = 0; (g_186 != (-4)); --g_186)
|
|
{
|
|
int l_199 = 0xB6223421L;
|
|
step_hash(86);
|
|
if (g_4)
|
|
break;
|
|
step_hash(87);
|
|
(*p_82) = (((short)(func_13((g_101 >= ((unsigned short)(l_199 < ((g_4 && ((short)(((short)l_199 >> (short)14) == ((signed char)l_199 * (signed char)g_87)) / (short)((((short)(func_13(l_199) <= (((unsigned char)(+((((signed char)(l_199 != l_199) / (signed char)g_186) && g_101) > l_199)) * (unsigned char)l_199) & (*p_82))) % (short)8UL) & g_101) | l_199))) < g_186)) / (unsigned short)0x001AL))) == 4294967295UL) << (short)2) < 1UL);
|
|
step_hash(88);
|
|
(*p_82) = ((signed char)0x93L - (signed char)l_176);
|
|
step_hash(89);
|
|
if ((*p_82))
|
|
break;
|
|
}
|
|
step_hash(123);
|
|
for (g_101 = 0; (g_101 >= 20); g_101 += 1)
|
|
{
|
|
unsigned char l_248 = 0xAEL;
|
|
int l_259 = 0xE881EA7AL;
|
|
unsigned l_260 = 1UL;
|
|
step_hash(121);
|
|
for (g_87 = (-7); (g_87 != (-7)); g_87 += 7)
|
|
{
|
|
unsigned l_232 = 1UL;
|
|
int *l_249 = &g_186;
|
|
}
|
|
step_hash(122);
|
|
(*g_241) = (void*)0;
|
|
}
|
|
step_hash(124);
|
|
return g_311;
|
|
}
|
|
static int * func_83(int * p_84, int * p_85)
|
|
{
|
|
int l_90 = 0xEC7E1EFCL;
|
|
short l_99 = 1L;
|
|
unsigned char l_112 = 249UL;
|
|
unsigned l_113 = 0x16C3B14AL;
|
|
int *l_135 = &l_90;
|
|
int **l_134 = &l_135;
|
|
step_hash(52);
|
|
if (((unsigned char)(&g_87 == (void*)0) % (unsigned char)l_90))
|
|
{
|
|
int *l_92 = &l_90;
|
|
int **l_91 = &l_92;
|
|
int l_100 = 0L;
|
|
step_hash(9);
|
|
(*l_91) = (void*)0;
|
|
step_hash(10);
|
|
(*p_85) = (func_13(((((short)((unsigned short)g_4 % (unsigned short)((unsigned short)g_4 - (unsigned short)l_99)) - (short)l_100) || g_87) <= g_101)) > (func_13(((((short)(((signed char)(+(((unsigned char)(((unsigned char)(l_99 ^ ((signed char)0x89L + (signed char)g_101)) - (unsigned char)l_99) < g_4) * (unsigned char)l_99) <= l_112)) - (signed char)g_4) > (*p_84)) << (short)5) > g_101) <= l_112)) < 0x8E5B495AL));
|
|
step_hash(11);
|
|
(*l_91) = &l_90;
|
|
step_hash(12);
|
|
return p_85;
|
|
}
|
|
else
|
|
{
|
|
unsigned short l_117 = 1UL;
|
|
int *l_130 = &g_87;
|
|
step_hash(18);
|
|
if ((*p_85))
|
|
{
|
|
int l_114 = (-4L);
|
|
step_hash(15);
|
|
(*p_85) = (func_13((g_87 && l_113)) <= l_114);
|
|
}
|
|
else
|
|
{
|
|
signed char l_124 = (-10L);
|
|
int *l_125 = &g_87;
|
|
step_hash(17);
|
|
l_90 = ((int)(l_117 ^ ((*p_85) || ((signed char)l_112 % (signed char)(((l_117 && ((((((unsigned)l_124 - (unsigned)(((((l_125 == (void*)0) || ((unsigned short)l_113 >> (unsigned short)7)) == func_13((l_112 && g_4))) >= g_87) == 1L)) > 0L) < (*l_125)) <= l_117) >= g_4)) & 0x1DFF66F6L) & 2L)))) + (int)g_87);
|
|
}
|
|
step_hash(49);
|
|
if (l_117)
|
|
{
|
|
int *l_128 = &g_87;
|
|
int **l_129 = &l_128;
|
|
step_hash(20);
|
|
(*l_129) = l_128;
|
|
step_hash(21);
|
|
return l_130;
|
|
}
|
|
else
|
|
{
|
|
unsigned short l_136 = 0x2D78L;
|
|
int **l_158 = &l_130;
|
|
int ***l_159 = &g_133;
|
|
step_hash(35);
|
|
if ((*p_84))
|
|
{
|
|
unsigned short l_139 = 0x40FDL;
|
|
step_hash(24);
|
|
(*l_130) = ((g_133 == l_134) == (((~func_13((*p_84))) ^ (-2L)) < 2L));
|
|
step_hash(25);
|
|
(*l_130) = (*p_84);
|
|
step_hash(26);
|
|
(*p_84) = (l_136 && ((unsigned char)((*l_130) | l_136) + (unsigned char)(l_139 || ((unsigned short)0x8C87L * (unsigned short)((((short)(**l_134) >> (short)((l_136 ^ (((0xDE5CCA7CL >= (*p_85)) <= (*l_130)) ^ 0L)) != l_136)) && l_136) > l_139)))));
|
|
step_hash(32);
|
|
if ((+g_4))
|
|
{
|
|
int l_154 = 0x43366FBBL;
|
|
step_hash(28);
|
|
(*l_134) = (*l_134);
|
|
step_hash(29);
|
|
(*l_135) = (((unsigned short)(((((((void*)0 != g_133) >= ((short)((short)1L / (short)(*l_130)) >> (short)6)) | (((unsigned)(((unsigned short)(*l_130) + (unsigned short)(g_101 | (*l_135))) >= ((*l_130) | 4UL)) % (unsigned)g_87) | 65535UL)) || g_101) >= (*l_130)) < l_154) + (unsigned short)0x13BBL) < 0x31L);
|
|
}
|
|
else
|
|
{
|
|
step_hash(31);
|
|
(**l_134) |= g_87;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
step_hash(34);
|
|
return p_84;
|
|
}
|
|
step_hash(42);
|
|
for (g_101 = 0; (g_101 != 32); ++g_101)
|
|
{
|
|
signed char l_157 = 0x86L;
|
|
step_hash(39);
|
|
(*l_130) |= l_136;
|
|
step_hash(40);
|
|
(*l_134) = p_85;
|
|
step_hash(41);
|
|
(**l_134) &= (l_157 == func_13(func_13(((void*)0 == &p_84))));
|
|
}
|
|
step_hash(43);
|
|
(*l_159) = l_158;
|
|
step_hash(48);
|
|
if (((**g_133) & (((unsigned short)(**l_158) >> (unsigned short)(*l_130)) > (((signed char)((unsigned char)((((unsigned short)((signed char)g_87 >> (signed char)(*l_130)) >> (unsigned short)g_101) ^ g_101) <= 0xCE8EB294L) / (unsigned char)1L) + (signed char)(*l_130)) >= (**l_134)))))
|
|
{
|
|
unsigned char l_170 = 251UL;
|
|
step_hash(45);
|
|
(**l_134) = l_170;
|
|
}
|
|
else
|
|
{
|
|
int *l_171 = &g_87;
|
|
step_hash(47);
|
|
return l_171;
|
|
}
|
|
}
|
|
step_hash(50);
|
|
(*g_133) = (void*)0;
|
|
step_hash(51);
|
|
(*p_85) = (*p_85);
|
|
}
|
|
step_hash(53);
|
|
(*l_134) = (*l_134);
|
|
step_hash(54);
|
|
return p_85;
|
|
}
|
|
void csmith_compute_hash(void)
|
|
{
|
|
transparent_crc(g_4, "g_4", print_hash_value);
|
|
transparent_crc(g_87, "g_87", print_hash_value);
|
|
transparent_crc(g_101, "g_101", print_hash_value);
|
|
transparent_crc(g_186, "g_186", print_hash_value);
|
|
transparent_crc(g_247, "g_247", print_hash_value);
|
|
transparent_crc(g_322, "g_322", print_hash_value);
|
|
}
|
|
void step_hash(int stmt_id)
|
|
{
|
|
int i = 0;
|
|
csmith_compute_hash();
|
|
printf("before stmt(%d): checksum = %X\n", stmt_id, crc32_context ^ 0xFFFFFFFFUL);
|
|
crc32_context = 0xFFFFFFFFUL;
|
|
for (i = 0; i < 256; i++) {
|
|
crc32_tab[i] = 0;
|
|
}
|
|
crc32_gentab();
|
|
}
|
|
int main (void)
|
|
{
|
|
int print_hash_value = 0;
|
|
platform_main_begin();
|
|
crc32_gentab();
|
|
func_1();
|
|
csmith_compute_hash();
|
|
platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
|
|
return 0;
|
|
}
|