[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[csmith-bugs] accessing partially initialized union member in ea4762b
Hello.
In the following generated program,
local l_12 is initialized through member f0 (int16_t)
and then, at line 88, accessed through
member f3 (int32_t).
Pascal
/*
* This is a RANDOMLY GENERATED PROGRAM.
*
* Generator: csmith 2.1.0
* Git version: ea4762b
* Options: --max-pointer-depth 2 --max-funcs 2 --max-array-dim 2 --max-array-len-per-dim 4 --max-struct-fields 33 --no-volatiles --bitfields --\
no-argc --unions --seed 1543508199
* Seed: 1543508199
*/
#include "csmith.h"
static long __undefined;
/* --- Struct/Union Declarations --- */
union U0 {
const int16_t f0;
const unsigned f1 : 1;
unsigned : 0;
const uint16_t f2;
int32_t f3;
};
...
/*
* This is a RANDOMLY GENERATED PROGRAM.
*
* Generator: csmith 2.1.0
* Git version: ea4762b
* Options: --max-pointer-depth 2 --max-funcs 2 --max-array-dim 2 --max-array-len-per-dim 4 --max-struct-fields 33 --no-volatiles --bitfields --no-argc --unions --seed 1543508199
* Seed: 1543508199
*/
#include "csmith.h"
static long __undefined;
/* --- Struct/Union Declarations --- */
union U0 {
const int16_t f0;
const unsigned f1 : 1;
unsigned : 0;
const uint16_t f2;
int32_t f3;
};
/* --- GLOBAL VARIABLES --- */
static uint8_t g_11 = 255UL;
static uint32_t g_13[3][3] = {{0x3880E033L, 7UL, 0x3880E033L}, {0x3880E033L, 7UL, 0x3880E033L}, {0x3880E033L, 7UL, 0x3880E033L}};
static uint32_t g_24 = 0xBB75DA2CL;
static uint8_t g_28 = 1UL;
static int64_t g_53 = 1L;
static uint16_t g_68 = 65534UL;
static uint16_t g_71 = 65535UL;
static uint8_t *g_88 = &g_11;
static uint64_t g_93[4][2] = {{0xA36CEB12FA99DB6ALL, 0xA36CEB12FA99DB6ALL}, {0xA36CEB12FA99DB6ALL, 0xA36CEB12FA99DB6ALL}, {0xA36CEB12FA99DB6ALL, 0xA36CEB12FA99DB6ALL}, {0xA36CEB12FA99DB6ALL, 0xA36CEB12FA99DB6ALL}};
static int32_t g_109 = 0x5197363DL;
static uint16_t *g_119 = (void*)0;
static uint16_t **g_118 = &g_119;
static int16_t g_147 = 0xE60DL;
static uint32_t g_148 = 4294967295UL;
static uint16_t g_154 = 0xB946L;
static union U0 g_184 = {0x3F10L};
static union U0 *g_183 = &g_184;
static union U0 **g_182[4][3] = {{(void*)0, (void*)0, (void*)0}, {(void*)0, (void*)0, (void*)0}, {(void*)0, (void*)0, (void*)0}, {(void*)0, (void*)0, (void*)0}};
static int32_t g_209 = 0x950A55D3L;
static uint64_t g_219 = 18446744073709551609UL;
static uint32_t g_237 = 1UL;
static int32_t g_275 = 8L;
static int8_t g_276 = (-7L);
static const union U0 g_280 = {0xA62BL};
static uint8_t g_300 = 4UL;
static const union U0 g_337 = {0xC6D7L};
static const union U0 *g_336 = &g_337;
static uint32_t g_344 = 0UL;
static uint64_t g_385 = 4UL;
static int32_t g_390[2] = {0x4DD9D578L, 0x4DD9D578L};
static uint8_t **g_404 = (void*)0;
static int32_t *g_408[1] = {&g_390[0]};
static int32_t g_467[1] = {(-1L)};
/* --- FORWARD DECLARATIONS --- */
static const uint8_t func_1(void);
static uint8_t func_4(int64_t p_5);
/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/*
* reads : g_13 g_24 g_28 g_53 g_11 g_93 g_71 g_88 g_109 g_68 g_118 g_119 g_148 g_154 g_147 g_182 g_219 g_237 g_275 g_209 g_300 g_184 g_276 g_344 g_184.f0 g_280.f0 g_385 g_467 g_390
* writes: g_11 g_24 g_68 g_71 g_88 g_93 g_109 g_53 g_28 g_148 g_154 g_209 g_219 g_237 g_182 g_275 g_276 g_300 g_336 g_344 g_147 g_385 g_118 g_390
*/
static const uint8_t func_1(void)
{ /* block id: 0 */
uint8_t *l_10 = &g_11;
union U0 l_12 = {0x2A82L};
uint64_t l_22[3][2];
uint64_t *l_23[3];
uint8_t *l_27 = &g_28;
int32_t *l_468 = &g_390[0];
uint16_t l_469[4] = {0UL, 65530UL, 0UL, 65530UL};
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 2; j++)
l_22[i][j] = 0x0CF8651162F63069LL;
}
for (i = 0; i < 3; i++)
l_23[i] = &l_22[2][1];
(*l_468) &= (safe_sub_func_int64_t_s_s((func_4((((*l_10) = (safe_rshift_func_int16_t_s_s(0x1BABL, 9))) < ((l_12 , ((1L != g_13[2][0]) || ((((l_12.f0 , (safe_mod_func_uint16_t_u_u((safe_mul_func_int16_t_s_s((safe_add_func_int16_t_s_s((safe_add_func_int32_t_s_s(((l_22[1][1] || (++g_24)) > ((l_27 = l_10) != ((4UL >= (safe_mod_func_int32_t_s_s((((g_13[1][1] ^ l_12.f3) && g_28) && 0x52A2C7A2L), g_13[2][0]))) , l_10))), l_22[0][1])), g_28)), l_12.f3)), g_13[2][0]))) < g_13[2][0]) , l_22[2][0]) , 0x18DE0F4C9FF7503ALL))) == 0x0FL))) < 0x23L), l_12.f3));
(*l_468) = l_469[0];
return (*g_88);
}
/* ------------------------------------------ */
/*
* reads : g_28 g_13 g_53 g_11 g_93 g_71 g_88 g_109 g_68 g_118 g_119 g_148 g_154 g_147 g_182 g_219 g_237 g_275 g_209 g_300 g_184 g_24 g_276 g_344 g_184.f0 g_280.f0 g_385 g_467
* writes: g_68 g_71 g_88 g_93 g_109 g_53 g_28 g_148 g_154 g_11 g_209 g_219 g_24 g_237 g_182 g_275 g_276 g_300 g_336 g_344 g_147 g_385 g_118
*/
static uint8_t func_4(int64_t p_5)
{ /* block id: 4 */
int32_t l_37 = (-1L);
int8_t l_47 = 1L;
uint8_t * const l_55[2] = {&g_11, &g_11};
uint16_t l_134 = 0x3A23L;
int32_t l_216[3];
const union U0 *l_278 = &g_184;
uint32_t l_291 = 0x8194AD0AL;
uint16_t ***l_315 = &g_118;
uint32_t *l_355 = &g_344;
int16_t l_426 = 9L;
uint32_t l_463 = 0xF4E8CB38L;
int32_t *l_466 = &g_275;
int i;
for (i = 0; i < 3; i++)
l_216[i] = 0x739BA65EL;
lbl_432:
for (p_5 = 0; (p_5 >= (-4)); p_5--)
{ /* block id: 7 */
uint8_t l_42 = 0x6FL;
int64_t *l_52[3][2] = {{&g_53, (void*)0}, {&g_53, (void*)0}, {&g_53, (void*)0}};
int8_t l_54 = 0x8FL;
int32_t l_89 = 0x6E20FE2CL;
uint16_t l_106[4];
int32_t l_217 = 0x6A3A7D8DL;
uint16_t l_267 = 1UL;
union U0 *l_277 = &g_184;
const union U0 *l_279 = &g_280;
int32_t l_290 = 0xB31DF0D9L;
int32_t *l_294 = &l_216[0];
int32_t *l_295 = (void*)0;
int32_t *l_296 = &l_216[0];
int32_t *l_297 = &l_37;
int32_t *l_298 = &l_37;
int32_t *l_299[3][2] = {{&l_37, &g_275}, {&l_37, &g_275}, {&l_37, &g_275}};
int i, j;
for (i = 0; i < 4; i++)
l_106[i] = 0xD27EL;
if ((safe_div_func_int16_t_s_s((((((((safe_lshift_func_uint16_t_u_u((l_37 || p_5), (safe_rshift_func_int16_t_s_s((safe_div_func_uint16_t_u_u(l_42, g_28)), (safe_rshift_func_uint16_t_u_s(((18446744073709551615UL <= (l_54 = (g_13[2][0] && (safe_sub_func_int16_t_s_s(l_47, (safe_mod_func_uint64_t_u_u((safe_mod_func_int8_t_s_s((-6L), ((((l_47 && g_28) > p_5) && p_5) || 0UL))), l_47))))))) > 0x691445A1L), 11)))))) , p_5) >= 0x0C330E0EL) || (-2L)) , l_55[1]) == (void*)0) , g_13[2][1]), 0x8E03L)))
{ /* block id: 9 */
uint16_t *l_66 = (void*)0;
uint16_t *l_67 = &g_68;
int32_t l_69 = 0x5F054F52L;
uint16_t *l_70 = &g_71;
int32_t l_78 = 0x3CFF8552L;
int32_t l_79 = 0x129DC063L;
uint16_t **l_81 = &l_70;
uint16_t ***l_80 = &l_81;
int32_t *l_90 = (void*)0;
int32_t *l_91 = &l_37;
l_79 &= (((p_5 < (safe_lshift_func_uint8_t_u_u(((safe_rshift_func_uint16_t_u_u(0xB237L, (safe_mul_func_int16_t_s_s((((((((p_5 < (safe_mul_func_uint8_t_u_u((((*l_70) = (safe_add_func_uint16_t_u_u((l_69 = ((*l_67) = g_28)), l_54))) | g_53), (safe_sub_func_int16_t_s_s((safe_lshift_func_uint8_t_u_u((safe_rshift_func_uint16_t_u_u(0x20F5L, 15)), 3)), p_5))))) != g_28) == p_5) == g_53) && p_5) , l_47) & p_5), g_11)))) && g_13[2][2]), l_78))) <= 0x7F45EA77L) , l_47);
(*l_80) = &l_66;
(*l_91) = (~((l_37 == (((p_5 >= (safe_mod_func_int32_t_s_s(((safe_lshift_func_uint16_t_u_s((l_89 = ((*l_67) = ((((safe_add_func_int8_t_s_s(((((g_88 = &g_11) == (void*)0) >= (((-1L) <= g_13[2][2]) || g_13[1][1])) >= 18446744073709551615UL), ((0x7F0EF7C8L > 0L) | p_5))) <= 4UL) , l_42) >= g_28))), 10)) && p_5), l_47))) > g_28) | g_11)) && g_11));
}
else
{ /* block id: 19 */
int32_t *l_92 = &l_37;
g_93[0][1]++;
if (g_11)
{ /* block id: 21 */
uint64_t *l_97 = &g_93[1][0];
const int32_t l_107 = (-6L);
int32_t *l_108 = &l_89;
for (l_89 = 2; (l_89 >= 0); l_89 -= 1)
{ /* block id: 24 */
uint64_t *l_96 = &g_93[0][1];
int32_t l_102[1];
int i;
for (i = 0; i < 1; i++)
l_102[i] = 1L;
(*l_92) = (l_96 == l_97);
(*l_92) &= ((&g_53 == &p_5) == 0UL);
for (l_42 = 0; (l_42 <= 2); l_42 += 1)
{ /* block id: 29 */
uint16_t *l_103 = &g_71;
int i, j;
(*l_92) = (safe_mod_func_int16_t_s_s(((l_102[0] = g_13[l_89][l_42]) || 0x2A02F9331570527DLL), ((*l_103)++)));
if (g_13[l_89][l_42])
break;
}
}
(*l_108) = ((*l_92) = (l_106[1] != (l_107 & p_5)));
}
else
{ /* block id: 38 */
g_109 = (*l_92);
return p_5;
}
return (*g_88);
}
if (p_5)
{ /* block id: 44 */
int32_t *l_110 = &g_109;
for (l_54 = 1; (l_54 >= 0); l_54 -= 1)
{ /* block id: 47 */
if (l_54)
break;
}
(*l_110) ^= p_5;
}
else
{ /* block id: 51 */
int32_t l_111 = (-1L);
const union U0 l_123 = {0x2134L};
int8_t l_128 = 0x55L;
int32_t l_152 = 7L;
int32_t l_215[2][3] = {{0x0974D9EFL, 0x0974D9EFL, 0x6DE6BA9EL}, {0x0974D9EFL, 0x0974D9EFL, 0x6DE6BA9EL}};
int i, j;
if (l_111)
break;
if (g_93[3][1])
continue;
for (g_53 = 22; (g_53 < 6); g_53--)
{ /* block id: 56 */
union U0 l_114 = {0x01ADL};
int32_t l_131 = 0x4A5BE0B3L;
int32_t *l_151 = &l_37;
int32_t l_153 = (-10L);
int32_t *l_181 = &l_111;
if ((g_93[0][1] , l_111))
{ /* block id: 57 */
uint16_t *l_116 = (void*)0;
uint16_t ** const l_115 = &l_116;
int32_t l_117 = 0x3F0C8908L;
if (g_68)
{ /* block id: 58 */
int32_t *l_120 = &l_117;
g_109 &= ((l_114 , l_115) == ((255UL >= l_117) , g_118));
if (l_111)
continue;
(*l_120) ^= p_5;
if (p_5)
continue;
}
else
{ /* block id: 63 */
uint16_t *l_138 = (void*)0;
uint16_t *l_139 = &g_68;
uint16_t *l_140 = (void*)0;
uint16_t *l_141[3][1];
int32_t l_144 = 0x613B7DAFL;
int32_t *l_145 = &l_117;
int32_t *l_146[4][3] = {{&g_109, &l_89, &g_109}, {&g_109, &l_89, &g_109}, {&g_109, &l_89, &g_109}, {&g_109, &l_89, &g_109}};
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 1; j++)
l_141[i][j] = &g_71;
}
(*l_145) = (safe_div_func_int8_t_s_s((l_123 , (safe_mul_func_uint8_t_u_u((*g_88), p_5))), (((safe_lshift_func_int16_t_s_s((((l_131 |= (--g_28)) >= (safe_sub_func_int64_t_s_s(l_134, (safe_mul_func_int16_t_s_s((safe_unary_minus_func_uint16_t_u((l_37 = ((*l_139) = 0x7635L)))), (((safe_div_func_int8_t_s_s(g_53, (0x8BL & ((*g_118) != (*g_118))))) != 0x2412L) , 65529UL)))))) < (*g_88)), l_144)) , p_5) || 0xEB02B935C2CC3DE6LL)));
++g_148;
l_151 = &l_117;
--g_154;
}
}
else
{ /* block id: 73 */
int32_t *l_159 = &l_111;
int32_t *l_160 = &l_131;
(*l_160) ^= ((*l_159) = ((*l_151) = (safe_lshift_func_uint16_t_u_u(p_5, 2))));
}
if (l_89)
{ /* block id: 78 */
const union U0 *l_162 = &l_114;
const union U0 **l_161 = &l_162;
int32_t *l_177 = &l_37;
(*l_161) = &l_123;
if (p_5)
break;
(*l_177) &= ((safe_sub_func_int64_t_s_s(((l_42 != p_5) < ((safe_lshift_func_int16_t_s_s(((safe_rshift_func_uint8_t_u_s((p_5 != (!(safe_lshift_func_int8_t_s_s(((*g_88) , (+(safe_add_func_int16_t_s_s(p_5, (((0x68D1CA076940D3DBLL || (safe_mod_func_int16_t_s_s((l_111 & 1UL), (-1L)))) == g_11) != p_5))))), 7)))), g_147)) & g_11), 5)) >= g_109)), 0L)) < g_13[2][0]);
if (p_5)
{ /* block id: 82 */
int32_t **l_178 = &l_151;
(*l_177) ^= (-3L);
(*l_178) = (void*)0;
}
else
{ /* block id: 85 */
int32_t *l_179 = &l_111;
int32_t **l_180 = &l_177;
(*l_180) = (l_179 = &l_131);
}
}
else
{ /* block id: 89 */
l_89 &= p_5;
}
if (((*l_181) = p_5))
{ /* block id: 93 */
if ((g_71 ^ (g_182[2][0] == &g_183)))
{ /* block id: 94 */
return p_5;
}
else
{ /* block id: 96 */
int32_t **l_185 = &l_151;
(*l_185) = &l_89;
(*l_185) = &l_131;
}
return (*g_88);
}
else
{ /* block id: 101 */
uint32_t l_204 = 1UL;
for (g_68 = 0; (g_68 <= 1); g_68 += 1)
{ /* block id: 104 */
int i, j;
if (g_93[(g_68 + 2)][g_68])
break;
}
if ((safe_mul_func_int16_t_s_s(p_5, g_11)))
{ /* block id: 107 */
return p_5;
}
else
{ /* block id: 109 */
uint32_t l_197 = 18446744073709551611UL;
int32_t * const l_205[2][3] = {{&l_111, &l_111, &l_131}, {&l_111, &l_111, &l_131}};
int32_t **l_206[2][1];
int32_t **l_207 = &l_181;
int i, j;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 1; j++)
l_206[i][j] = &l_181;
}
(*l_181) |= (((safe_div_func_int16_t_s_s((safe_add_func_int32_t_s_s(p_5, (l_37 = (safe_unary_minus_func_uint8_t_u((g_28 = ((*g_88) = ((safe_sub_func_int16_t_s_s(((l_128 == 18446744073709551606UL) , (safe_div_func_int16_t_s_s(l_197, 0xA01DL))), (safe_rshift_func_uint16_t_u_s((safe_mul_func_int8_t_s_s((((l_152 < 0x36ED2B4DL) > p_5) <= (!(safe_mul_func_int16_t_s_s(g_53, l_204)))), 0x37L)), 6)))) , l_204)))))))), l_47)) | l_152) ^ l_123.f0);
(*l_207) = l_205[0][1];
}
(*l_181) ^= l_106[2];
}
for (g_68 = 0; (g_68 <= 3); g_68 += 1)
{ /* block id: 120 */
int32_t l_208 = 0x27D90806L;
int32_t l_218 = (-7L);
int32_t *l_222[2][1];
int i, j;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 1; j++)
l_222[i][j] = &l_217;
}
if (((g_209 = l_208) , ((g_147 && 0xD5C3D96CL) > (safe_mul_func_uint16_t_u_u(l_208, 1UL)))))
{ /* block id: 122 */
uint32_t l_212 = 0xD58AA3BBL;
return l_212;
}
else
{ /* block id: 124 */
int32_t *l_213 = &l_111;
int32_t *l_214[2];
int i;
for (i = 0; i < 2; i++)
l_214[i] = &l_208;
g_219--;
(*l_181) ^= (p_5 & g_93[0][1]);
(*l_213) &= l_217;
(*l_181) |= ((void*)0 != &g_118);
}
(*l_181) = p_5;
l_222[0][0] = &l_216[0];
}
}
}
for (l_89 = 11; (l_89 > 10); l_89 = safe_sub_func_uint64_t_u_u(l_89, 9))
{ /* block id: 137 */
int32_t *l_225 = &l_216[2];
union U0 * const *l_239 = &g_183;
int32_t l_242 = 0x1FBC1C67L;
const uint16_t *l_261[4];
const uint16_t **l_260 = &l_261[1];
uint16_t l_284[2][2];
int i, j;
for (i = 0; i < 4; i++)
l_261[i] = &l_106[1];
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
l_284[i][j] = 0x17E1L;
}
l_225 = &l_216[0];
for (l_47 = 0; (l_47 != 12); l_47 = safe_add_func_int64_t_s_s(l_47, 1))
{ /* block id: 141 */
(*l_225) |= p_5;
for (g_68 = 0; (g_68 > 59); g_68 = safe_add_func_int32_t_s_s(g_68, 8))
{ /* block id: 145 */
for (g_154 = 0; (g_154 <= 1); g_154 += 1)
{ /* block id: 148 */
int i;
if (l_106[g_154])
break;
}
(*l_225) = (p_5 & 0x86FCF0ECL);
if (p_5)
break;
}
}
for (g_24 = 10; (g_24 >= 56); g_24 = safe_add_func_int32_t_s_s(g_24, 4))
{ /* block id: 157 */
int32_t **l_232 = &l_225;
union U0 ***l_238 = &g_182[3][2];
int32_t *l_240 = &l_217;
int32_t *l_241[4] = {&l_37, (void*)0, &l_37, (void*)0};
int32_t l_283 = (-1L);
int i;
(*l_232) = &g_109;
if ((*l_225))
break;
l_242 ^= ((*l_240) ^= ((*l_225) = ((**l_232) ^ ((safe_rshift_func_int16_t_s_u((safe_sub_func_int32_t_s_s((g_237 |= (**l_232)), (((*l_238) = &g_183) != l_239))), 13)) ^ (**l_232)))));
if ((safe_sub_func_int16_t_s_s(g_53, (safe_mod_func_int8_t_s_s((safe_add_func_uint8_t_u_u((*g_88), p_5)), l_134)))))
{ /* block id: 165 */
int32_t l_262 = 0L;
int32_t *l_264[1][4];
int i, j;
for (i = 0; i < 1; i++)
{
for (j = 0; j < 4; j++)
l_264[i][j] = &l_216[1];
}
for (g_209 = (-19); (g_209 == 25); ++g_209)
{ /* block id: 168 */
uint64_t *l_257 = &g_219;
const int32_t l_263[4] = {0x0A8F4C84L, 0x0A8F4C84L, 0x0A8F4C84L, 0x0A8F4C84L};
int i;
g_109 = (safe_rshift_func_uint8_t_u_u((0x557BL & ((safe_div_func_int32_t_s_s((((l_134 && p_5) == (((((*g_88) = ((safe_add_func_int16_t_s_s((g_11 | (p_5 && ((*l_257) = p_5))), (g_93[0][1] && (l_54 && ((safe_rshift_func_uint16_t_u_u(l_37, (**l_232))) , 8UL))))) > l_89)) , l_260) == &g_119) | l_216[0])) != 0x3DB2L), l_262)) > l_263[3])), l_262));
(*l_232) = l_264[0][1];
return l_37;
}
if ((safe_div_func_uint8_t_u_u(5UL, (l_267 |= p_5))))
{ /* block id: 176 */
int32_t **l_274 = (void*)0;
g_276 = (g_275 ^= ((safe_sub_func_uint32_t_u_u(((p_5 ^ ((safe_lshift_func_int16_t_s_s(((*l_225) = g_147), p_5)) && (p_5 , (safe_div_func_uint32_t_u_u(((void*)0 == l_274), p_5))))) | (g_71 &= ((p_5 , (((*l_240) >= (-3L)) > 0x75B5L)) >= p_5))), p_5)) <= 0x67B5398DL));
(*l_240) &= (g_275 = ((*l_225) , (l_277 == (l_279 = l_278))));
}
else
{ /* block id: 184 */
(**l_232) = (g_209 , (safe_lshift_func_uint8_t_u_u(((*g_88) = l_267), l_283)));
(**l_232) ^= (-1L);
}
l_284[0][1] = (g_109 ^= 1L);
for (g_109 = (-28); (g_109 >= (-24)); g_109 = safe_add_func_int64_t_s_s(g_109, 1))
{ /* block id: 193 */
int64_t l_287 = 0x93621C67A743F5AALL;
int32_t l_288 = 1L;
int32_t l_289[2];
int i;
for (i = 0; i < 2; i++)
l_289[i] = (-7L);
(*l_232) = &l_89;
(*l_240) = p_5;
l_291++;
(*l_240) = p_5;
}
}
else
{ /* block id: 199 */
return p_5;
}
}
}
--g_300;
}
for (g_209 = (-16); (g_209 > 21); ++g_209)
{ /* block id: 208 */
uint64_t l_311 = 1UL;
int16_t l_314 = 2L;
uint16_t ***l_316 = &g_118;
uint32_t *l_317[1];
const union U0 *l_318 = &g_184;
int32_t l_332 = 8L;
int32_t l_334 = 5L;
int32_t l_374 = (-1L);
int32_t l_459[1];
int64_t l_462 = 0L;
int i;
for (i = 0; i < 1; i++)
l_317[i] = (void*)0;
for (i = 0; i < 1; i++)
l_459[i] = 0x52FAC2CCL;
if (((((*g_88) = (((void*)0 != &g_93[0][0]) & ((safe_sub_func_uint64_t_u_u((safe_rshift_func_int16_t_s_s((safe_mul_func_int8_t_s_s(l_311, (l_216[0] = ((safe_rshift_func_uint16_t_u_s(((((l_314 != p_5) >= ((void*)0 == l_315)) < (p_5 != ((l_37 |= ((void*)0 != l_316)) , 0x40D4L))) && 18446744073709551614UL), 13)) , 2L)))), 4)), g_209)) | p_5))) , (void*)0) == l_318))
{ /* block id: 212 */
int32_t *l_319 = &l_37;
union U0 ***l_333 = &g_182[2][1];
(*l_319) = l_314;
l_334 = ((+((l_311 <= g_53) == (((*l_318) , ((safe_lshift_func_uint8_t_u_s((safe_rshift_func_uint16_t_u_s(((safe_sub_func_uint8_t_u_u((l_332 = (safe_mul_func_int8_t_s_s((p_5 , (safe_rshift_func_uint8_t_u_s(((*g_88)++), 3))), p_5))), p_5)) || l_332), (((*l_333) = &g_183) == &l_278))), l_311)) , g_24)) , l_311))) , 1L);
}
else
{ /* block id: 218 */
const union U0 **l_335[4] = {&l_278, &l_278, &l_278, &l_278};
int32_t *l_339 = &g_275;
int32_t **l_338 = &l_339;
int i;
g_336 = l_318;
(*l_338) = &g_275;
for (g_276 = 2; (g_276 >= 0); g_276 -= 1)
{ /* block id: 223 */
int32_t *l_343[2];
int i;
for (i = 0; i < 2; i++)
l_343[i] = &l_334;
for (l_332 = 0; (l_332 <= 2); l_332 += 1)
{ /* block id: 226 */
int32_t * const l_340 = &l_332;
int32_t **l_341 = (void*)0;
int32_t **l_342 = &l_339;
(*l_342) = l_340;
}
g_344--;
}
}
for (l_332 = 0; (l_332 == (-15)); l_332 = safe_sub_func_int8_t_s_s(l_332, 1))
{ /* block id: 234 */
uint32_t *l_353 = &g_344;
uint32_t **l_354[2][1];
uint64_t *l_356[4][1];
int32_t l_357 = 0L;
int64_t *l_360[2][2];
int32_t *l_362 = &l_357;
int32_t **l_361 = &l_362;
int64_t l_401 = 0x1ED1543B7BEB819CLL;
uint8_t **l_405 = &g_88;
int32_t l_452 = 0x447B5313L;
int32_t l_455 = (-9L);
int32_t l_458[3][4] = {{0xA6F7DA1FL, 0xA6F7DA1FL, 0xDE7DCEC4L, 0xA6F7DA1FL}, {0xA6F7DA1FL, 0xA6F7DA1FL, 0xDE7DCEC4L, 0xA6F7DA1FL}, {0xA6F7DA1FL, 0xA6F7DA1FL, 0xDE7DCEC4L, 0xA6F7DA1FL}};
int32_t l_461 = 0xE25A3B67L;
int i, j;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 1; j++)
l_354[i][j] = &l_353;
}
for (i = 0; i < 4; i++)
{
for (j = 0; j < 1; j++)
l_356[i][j] = &g_93[1][1];
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
l_360[i][j] = &g_53;
}
(*l_361) = ((safe_add_func_uint64_t_u_u(l_332, ((safe_add_func_int16_t_s_s((((l_37 &= p_5) < g_13[2][0]) <= (p_5 , (l_216[1] = (l_317[0] == (l_355 = l_353))))), l_357)) ^ 0x485829AC4A103B81LL))) , ((safe_mod_func_uint64_t_u_u(((l_216[0] = ((p_5 <= 65535UL) || l_311)) < g_184.f0), g_11)) , &l_216[0]));
for (g_276 = (-24); (g_276 != (-1)); g_276++)
{ /* block id: 242 */
uint8_t l_367 = 0xE2L;
int32_t l_422 = 0x492C7CBFL;
for (l_47 = 0; (l_47 > (-30)); l_47 = safe_sub_func_int16_t_s_s(l_47, 8))
{ /* block id: 245 */
return l_367;
}
}
for (g_28 = 0; (g_28 >= 12); g_28++)
{ /* block id: 287 */
int32_t l_434 = 0x0E762CC4L;
int32_t l_456 = 0L;
int32_t l_457 = 0x10F9614FL;
int32_t l_460[3][3] = {{0x76B0B723L, 0x81074C56L, 0x76B0B723L}, {0x76B0B723L, 0x81074C56L, 0x76B0B723L}, {0x76B0B723L, 0x81074C56L, 0x76B0B723L}};
int i, j;
for (g_147 = 0; (g_147 <= 0); g_147 += 1)
{ /* block id: 290 */
if (g_184.f0)
goto lbl_432;
(**l_361) = p_5;
if (p_5)
break;
for (l_134 = 0; (l_134 <= 0); l_134 += 1)
{ /* block id: 296 */
int64_t l_433[4] = {0x93F2EAD4B9DE1968LL, 1L, 0x93F2EAD4B9DE1968LL, 1L};
int i;
(*l_361) = (*l_361);
l_433[1] = ((**l_361) = 0xE3919727L);
(*l_362) &= l_434;
(*l_362) |= (safe_rshift_func_uint16_t_u_u(g_280.f0, p_5));
}
}
if (p_5)
break;
for (g_385 = (-23); (g_385 < 9); g_385 = safe_add_func_int8_t_s_s(g_385, 7))
{ /* block id: 307 */
(*l_315) = &g_119;
}
for (g_344 = 0; (g_344 <= 2); g_344 += 1)
{ /* block id: 312 */
int32_t *l_439 = (void*)0;
int32_t *l_440 = (void*)0;
int32_t *l_441 = &l_374;
int32_t *l_442 = (void*)0;
int32_t *l_443 = &l_334;
int32_t *l_444 = &g_275;
int32_t *l_445 = &g_109;
int32_t *l_446 = &g_109;
int32_t *l_447 = &g_390[1];
int32_t *l_448 = &g_390[0];
int32_t *l_449 = (void*)0;
int32_t *l_450 = (void*)0;
int32_t *l_451 = &l_334;
int32_t *l_453 = (void*)0;
int32_t *l_454[1][4];
int i, j;
for (i = 0; i < 1; i++)
{
for (j = 0; j < 4; j++)
l_454[i][j] = &l_452;
}
(**l_361) = g_13[g_344][g_344];
l_463++;
for (g_219 = 0; (g_219 <= 2); g_219 += 1)
{ /* block id: 317 */
int i, j;
if (l_458[g_344][(g_344 + 1)])
break;
return p_5;
}
}
}
if (l_37)
continue;
}
}
(*l_466) = p_5;
return g_467[0];
}
/* ---------------------------------------- */
int main (void)
{
int i, j;
int print_hash_value = 0;
platform_main_begin();
crc32_gentab();
func_1();
transparent_crc(g_11, "g_11", print_hash_value);
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
transparent_crc(g_13[i][j], "g_13[i][j]", print_hash_value);
if (print_hash_value) printf("index = [%d][%d]\n", i, j);
}
}
transparent_crc(g_24, "g_24", print_hash_value);
transparent_crc(g_28, "g_28", print_hash_value);
transparent_crc(g_53, "g_53", print_hash_value);
transparent_crc(g_68, "g_68", print_hash_value);
transparent_crc(g_71, "g_71", print_hash_value);
for (i = 0; i < 4; i++)
{
for (j = 0; j < 2; j++)
{
transparent_crc(g_93[i][j], "g_93[i][j]", print_hash_value);
if (print_hash_value) printf("index = [%d][%d]\n", i, j);
}
}
transparent_crc(g_109, "g_109", print_hash_value);
transparent_crc(g_147, "g_147", print_hash_value);
transparent_crc(g_148, "g_148", print_hash_value);
transparent_crc(g_154, "g_154", print_hash_value);
transparent_crc(g_184.f0, "g_184.f0", print_hash_value);
transparent_crc(g_184.f3, "g_184.f3", print_hash_value);
transparent_crc(g_209, "g_209", print_hash_value);
transparent_crc(g_219, "g_219", print_hash_value);
transparent_crc(g_237, "g_237", print_hash_value);
transparent_crc(g_275, "g_275", print_hash_value);
transparent_crc(g_276, "g_276", print_hash_value);
transparent_crc(g_280.f0, "g_280.f0", print_hash_value);
transparent_crc(g_280.f3, "g_280.f3", print_hash_value);
transparent_crc(g_300, "g_300", print_hash_value);
transparent_crc(g_337.f0, "g_337.f0", print_hash_value);
transparent_crc(g_337.f3, "g_337.f3", print_hash_value);
transparent_crc(g_344, "g_344", print_hash_value);
transparent_crc(g_385, "g_385", print_hash_value);
for (i = 0; i < 2; i++)
{
transparent_crc(g_390[i], "g_390[i]", print_hash_value);
if (print_hash_value) printf("index = [%d]\n", i);
}
for (i = 0; i < 1; i++)
{
transparent_crc(g_467[i], "g_467[i]", print_hash_value);
if (print_hash_value) printf("index = [%d]\n", i);
}
platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
return 0;
}
/************************ statistics *************************
XXX max struct depth: 0
breakdown:
depth: 0, occurrence: 115
XXX total union variables: 3
XXX non-zero bitfields defined in structs: 2
XXX zero bitfields defined in structs: 1
XXX const bitfields defined in structs: 1
XXX volatile bitfields defined in structs: 0
XXX structs with bitfields in the program: 10
breakdown:
indirect level: 0, occurrence: 3
indirect level: 1, occurrence: 5
indirect level: 2, occurrence: 2
XXX full-bitfields structs in the program: 0
breakdown:
XXX times a bitfields struct's address is taken: 4
XXX times a bitfields struct on LHS: 0
XXX times a bitfields struct on RHS: 4
XXX times a single bitfield on LHS: 0
XXX times a single bitfield on RHS: 0
XXX max expression depth: 30
breakdown:
depth: 1, occurrence: 145
depth: 2, occurrence: 37
depth: 3, occurrence: 3
depth: 4, occurrence: 4
depth: 5, occurrence: 3
depth: 6, occurrence: 1
depth: 10, occurrence: 1
depth: 17, occurrence: 1
depth: 18, occurrence: 3
depth: 19, occurrence: 1
depth: 20, occurrence: 1
depth: 21, occurrence: 1
depth: 22, occurrence: 1
depth: 23, occurrence: 1
depth: 24, occurrence: 2
depth: 30, occurrence: 1
XXX total number of pointers: 133
XXX times a variable address is taken: 45
XXX times a pointer is dereferenced on RHS: 23
breakdown:
depth: 1, occurrence: 19
depth: 2, occurrence: 4
XXX times a pointer is dereferenced on LHS: 77
breakdown:
depth: 1, occurrence: 72
depth: 2, occurrence: 5
XXX times a pointer is compared with null: 6
XXX times a pointer is compared with address of another variable: 1
XXX times a pointer is compared with another pointer: 3
XXX times a pointer is qualified to be dereferenced: 902
XXX max dereference level: 2
breakdown:
level: 0, occurrence: 0
level: 1, occurrence: 243
level: 2, occurrence: 37
XXX number of pointers point to pointers: 29
XXX number of pointers point to scalars: 97
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 18.8
XXX average alias set size: 1.22
XXX times a non-volatile is read: 326
XXX times a non-volatile is write: 246
XXX times a volatile is read: 0
XXX times read thru a pointer: 0
XXX times a volatile is write: 0
XXX times written thru a pointer: 0
XXX times a volatile is available for access: 0
XXX percentage of non-volatile access: 100
XXX forward jumps: 0
XXX backward jumps: 1
XXX stmts: 137
XXX max block depth: 5
breakdown:
depth: 0, occurrence: 7
depth: 1, occurrence: 6
depth: 2, occurrence: 23
depth: 3, occurrence: 22
depth: 4, occurrence: 36
depth: 5, occurrence: 43
XXX percentage a fresh-made variable is used: 22.6
XXX percentage an existing variable is used: 77.4
FYI: the random generator makes assumptions about the integer size. See platform.info for more details.
********************* end of statistics **********************/