[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[csmith-dev] likely bug



I'm looking at this program (also attached):

/home/regehr/csmith/src/csmith -s 131059261 --bitfields --force-globals-static --unions --output rand001069.c

Below is the result of "grep g_497". Every reference into this array is to cell [9][4][0]. This does not seem very "random". What is going on?

John




static union U3 *g_496 = &g_497[9][4][0];
	     ((safe_46 (g_497[9][4][0].f0, g_425.f2.f0)) | g_376[8][0][4].
			 (1U & (safe_4 (p_4, g_497[9][4][0].f2.f0))));
	      union U3 *l_559 = &g_497[9][4][0];
				 (g_497[9][4][0].f3,
	      if ((l_617 > g_497[9][4][0].f1))
							  (g_497[9][4][0].
				      g_497[9][4][0].f4.f3) ^ 4294967293U)),
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.1.0
 * Git version: 498f306
 * Options:   -s 131059261 --bitfields --force-globals-static --unions --output rand001069.c
 * Seed:      131059261
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
struct S0 {
   const volatile int32_t  f0;
   uint16_t  f1;
   uint32_t  f2;
   int16_t  f3;
};

struct S1 {
   unsigned f0 : _CSMITH_BITFIELD(13);
};

union U2 {
   struct S0  f0;
   const int32_t  f1;
};

union U3 {
   int32_t  f0;
   const int8_t  f1;
   struct S1  f2;
   volatile uint16_t  f3;
   volatile struct S0  f4;
};

union U4 {
   volatile signed f0 : _CSMITH_BITFIELD(55);
   volatile signed f1 : _CSMITH_BITFIELD(17);
   struct S0  f2;
   int64_t  f3;
   volatile uint64_t  f4;
};

/* --- GLOBAL VARIABLES --- */
static int32_t g_14 = 0x4142B919L;
static int32_t g_17[10] = {0x7F5AEE0CL, 0xBD004DDEL, 0x80643B8AL, 1L, 1L, 0x80643B8AL, 0xBD004DDEL, 0x7F5AEE0CL, 0x80643B8AL, 0x7F5AEE0CL};
static const union U2 g_37[5] = {{{-5L,0xAB83L,0xE37D660FL,0L}}, {{-5L,0xAB83L,0xE37D660FL,0L}}, {{-5L,0xAB83L,0xE37D660FL,0L}}, {{-5L,0xAB83L,0xE37D660FL,0L}}, {{-5L,0xAB83L,0xE37D660FL,0L}}};
static union U2 g_48[9][1] = {{{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}, {{{-4L,0x4A2BL,0x2F109D40L,0x69FFL}}}};
static union U2 *g_47 = &g_48[1][0];
static volatile int32_t g_53 = (-1L);/* VOLATILE GLOBAL g_53 */
static volatile int32_t g_54[8][8] = {{0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}, {0xC4D35571L, 0xCFE89070L, (-1L), 0x8D8C4114L, (-1L), 1L, 0xC4D35571L, (-1L)}};
static int32_t g_55[4][4][4] = {{{1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}}, {{1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}}, {{1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}}, {{1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}, {1L, 0x567AB627L, 0x0D9FD67DL, 0x3C750651L}}};
static volatile int32_t g_56 = 0x0AF1AAC2L;/* VOLATILE GLOBAL g_56 */
static int32_t g_57 = 0x71DC8D5AL;
static int32_t g_63 = 0xA7CD71D5L;
static union U4 g_100 = {0xFF48D525L};/* VOLATILE GLOBAL g_100 */
static union U4 g_106 = {0x78D8C438L};/* VOLATILE GLOBAL g_106 */
static union U4 *g_105 = &g_106;
static union U4 g_108 = {-6L};/* VOLATILE GLOBAL g_108 */
static struct S1 g_119 = {57};
static struct S1 * volatile g_118 = &g_119;/* VOLATILE GLOBAL g_118 */
static int32_t *g_126 = 0;
static int32_t g_139[7][2][8] = {{{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}, {{0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}, {0xF798932AL, 0x7D7012D8L, 6L, 0x012C7D4EL, 0L, 2L, 0xB9513A8BL, 1L}}};
static union U2 ** volatile g_154 = &g_47;/* VOLATILE GLOBAL g_154 */
static union U2 ** volatile *g_153[6] = {&g_154, &g_154, &g_154, &g_154, &g_154, &g_154};
static const union U2 *g_159 = 0;
static int32_t * volatile g_166 = &g_139[4][0][4];/* VOLATILE GLOBAL g_166 */
static struct S1 * volatile g_175[10][10][2] = {{{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}};
static struct S1 * volatile g_176 = &g_119;/* VOLATILE GLOBAL g_176 */
static struct S0 *g_191 = 0;
static struct S0 ** volatile g_190 = &g_191;/* VOLATILE GLOBAL g_190 */
static union U3 g_194 = {-1L};/* VOLATILE GLOBAL g_194 */
static union U2 **g_197 = &g_47;
static union U2 *** volatile g_196 = &g_197;/* VOLATILE GLOBAL g_196 */
static union U4 ** volatile g_199 = 0;/* VOLATILE GLOBAL g_199 */
static union U4 ** volatile g_200[1][7] = {{&g_105, &g_105, &g_105, &g_105, &g_105, &g_105, &g_105}};
static union U4 ** volatile g_201 = &g_105;/* VOLATILE GLOBAL g_201 */
static struct S1 * volatile g_238 = &g_194.f2;/* VOLATILE GLOBAL g_238 */
static union U4 ** volatile g_243 = &g_105;/* VOLATILE GLOBAL g_243 */
static union U4 ** volatile g_250 = &g_105;/* VOLATILE GLOBAL g_250 */
static union U2 g_273 = {{0xB727D727L,65530U,0xC27D4551L,1L}};/* VOLATILE GLOBAL g_273 */
static struct S1 *g_288 = &g_194.f2;
static struct S1 **g_287 = &g_288;
static struct S1 *** volatile g_286 = &g_287;/* VOLATILE GLOBAL g_286 */
static union U3 g_292 = {0L};/* VOLATILE GLOBAL g_292 */
static volatile int32_t *g_304[10][1] = {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}};
static volatile int32_t ** volatile g_303 = &g_304[9][0];/* VOLATILE GLOBAL g_303 */
static int32_t g_314 = 0L;
static struct S0 g_354 = {0xBFB1D0A0L,0xCAD6L,18446744073709551608U,9L};/* VOLATILE GLOBAL g_354 */
static volatile uint64_t g_370 = 0U;/* VOLATILE GLOBAL g_370 */
static struct S0 g_374 = {0xF1969B31L,0x9DF3L,18446744073709551612U,0xE4FDL};/* VOLATILE GLOBAL g_374 */
static union U4 g_376[9][2][6] = {{{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}, {{{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}, {{3L}, {3L}, {3L}, {3L}, {3L}, {3L}}}};
static volatile int32_t ** const  volatile g_377[8][10][3] = {{{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}, {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}}};
static union U4 ** volatile g_387 = &g_105;/* VOLATILE GLOBAL g_387 */
static int32_t * volatile *g_408 = &g_126;
static union U3 g_425 = {0x947211DBL};/* VOLATILE GLOBAL g_425 */
static union U3 g_476 = {-1L};/* VOLATILE GLOBAL g_476 */
static struct S0 g_493 = {-1L,0xA5A5L,1U,5L};/* VOLATILE GLOBAL g_493 */
static union U3 g_497[10][10][1] = {{{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}, {{{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}, {{0x7FF818D2L}}}};
static union U3 *g_496 = &g_497[9][4][0];
static int32_t * volatile g_500 = 0;/* VOLATILE GLOBAL g_500 */
static int32_t * volatile g_501 = &g_476.f0;/* VOLATILE GLOBAL g_501 */
static union U4 *** volatile g_513 = 0;/* VOLATILE GLOBAL g_513 */
static union U4 **g_515 = &g_105;
static union U4 *** volatile g_514 = &g_515;/* VOLATILE GLOBAL g_514 */
static struct S0 g_522 = {0xB56F7A7FL,0x5053L,0x2952155AL,1L};/* VOLATILE GLOBAL g_522 */
static int32_t * volatile g_536 = 0;/* VOLATILE GLOBAL g_536 */
static union U2 g_576 = {{1L,0U,18446744073709551610U,-9L}};/* VOLATILE GLOBAL g_576 */
static volatile union U3 * volatile g_612 = 0;/* VOLATILE GLOBAL g_612 */
static volatile union U3 * volatile *g_611 = &g_612;
static volatile union U3 * volatile * volatile *g_610 = &g_611;
static volatile union U3 g_625 = {0x1843DC0BL};/* VOLATILE GLOBAL g_625 */
static struct S0 ** volatile g_670 = &g_191;/* VOLATILE GLOBAL g_670 */
static int32_t * const  volatile g_695 = &g_139[2][1][7];/* VOLATILE GLOBAL g_695 */
static struct S0 ** volatile g_709 = 0;/* VOLATILE GLOBAL g_709 */
static int32_t * volatile g_732 = &g_17[1];/* VOLATILE GLOBAL g_732 */
static const int32_t *g_734 = &g_55[3][2][3];
static const int32_t ** volatile g_733 = &g_734;/* VOLATILE GLOBAL g_733 */


/* --- FORWARD DECLARATIONS --- */
static struct S1  func_1(void);
static int32_t * func_2(int8_t  p_3, int32_t  p_4);
static int32_t  func_8(int32_t  p_9, struct S1  p_10, int32_t * p_11, uint64_t  p_12, int32_t  p_13);
static union U2 * const  func_24(int32_t  p_25, uint16_t  p_26, int32_t * p_27, int32_t * p_28);
static int32_t * func_33(const union U2 * p_34, const int16_t  p_35);
static int64_t  func_38(union U2 * p_39);
static union U2 * func_40(const int16_t  p_41, int64_t  p_42, struct S1  p_43, union U2 * p_44);
static int32_t * func_64(uint64_t  p_65, int64_t  p_66);
static int16_t  func_74(int64_t  p_75, int8_t  p_76, int32_t ** p_77, int32_t * p_78, int64_t  p_79);
static uint8_t  func_83(int8_t  p_84, int32_t  p_85);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_14 g_17 g_37.f0.f1 g_47 g_55 g_57 g_37.f0.f0 g_54 g_514 g_476.f0 g_190 g_191 g_53 g_37.f1 g_105 g_100.f2.f2 g_100.f3 g_118 g_119 g_288 g_408 g_126 g_287 g_354.f0 g_611 g_612 g_610 g_497.f3 g_292.f1 g_497.f1 g_376.f3 g_625.f4.f1 g_292.f2.f0 g_576.f0.f2 g_106.f2.f1 g_106.f2.f0 g_493.f2 g_476.f1 g_314 g_376.f2.f0 g_166 g_670 g_374.f3 g_497.f4.f3 g_139 g_374.f2 g_176 g_197 g_108.f2.f0 g_354.f1 g_695 g_154 g_501 g_497.f0 g_425.f2.f0 g_100.f2.f1 g_196 g_476.f4.f0 g_522.f2 g_273.f0.f1 g_497.f2.f0 g_732 g_733 g_194.f4.f0
 * writes: g_55 g_57 g_17 g_63 g_515 g_493.f2 g_100.f3 g_194.f2 g_288 g_612 g_476.f0 g_496 g_273.f0.f2 g_374.f3 g_126 g_139 g_576.f0.f1 g_191 g_47 g_374.f2 g_100.f2.f1 g_106.f3 g_108.f2.f1 g_106.f2.f1 g_734
 */
static struct S1  func_1(void)
{ /* block id: 0 */
    uint64_t l_7 = 0U;
    struct S1 l_15 = {78};
    int32_t *l_16 = &g_17[1];
    int32_t l_20 = 0x512DC6D0L;
    int32_t l_23 = 0L;
    int32_t l_699 = 0xC84273E1L;
    (*g_408) = func_2((safe_add_func_int32_t_s_s(l_7, (l_7 < func_8(g_14, l_15, l_16, (0U & (safe_rshift_func_int8_t_s_s(l_20, (*l_16)))), (safe_lshift_func_uint16_t_u_u(l_23, 11)))))), (l_699 | ((safe_div_func_uint8_t_u_u(g_497[9][4][0].f0, g_425.f2.f0)) | g_376[8][0][4].f3)));
    (*g_126) |= (safe_mod_func_uint64_t_u_u(1U, g_194.f4.f0));
    return (*g_176);
}


/* ------------------------------------------ */
/* 
 * reads : g_670 g_191 g_288 g_695 g_408 g_196 g_197 g_118 g_119 g_287 g_476.f4.f0 g_522.f2 g_273.f0.f1 g_55 g_37.f1 g_47 g_105 g_497.f2.f0 g_732 g_733 g_374.f2 g_100.f2.f1
 * writes: g_374.f2 g_100.f2.f1 g_106.f3 g_191 g_194.f2 g_139 g_57 g_126 g_108.f2.f1 g_63 g_55 g_288 g_496 g_106.f2.f1 g_17 g_734
 */
static int32_t * func_2(int8_t  p_3, int32_t  p_4)
{ /* block id: 657 */
    int8_t l_724 = 1L;
    const union U2 *l_735[5];
    int32_t *l_736 = 0;
    int32_t *l_737[2][9][9];
    uint64_t l_738 = 4U;
    int i, j, k;
    for (i = 0; i < 5; i++)
        l_735[i] = &g_48[2][0];
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 9; j++)
        {
            for (k = 0; k < 9; k++)
                l_737[i][j][k] = &g_55[1][0][3];
        }
    }
    for (g_374.f2 = 22; (g_374.f2 == 27); g_374.f2 = safe_add_func_uint16_t_u_u(g_374.f2, 5))
    { /* block id: 660 */
        const union U2 *l_711 = &g_576;
        const int32_t l_712 = 0xEBD00372L;
        union U3 **l_725 = &g_496;
        for (g_100.f2.f1 = 0; (g_100.f2.f1 >= 55); g_100.f2.f1 = safe_add_func_uint8_t_u_u(g_100.f2.f1, 1))
        { /* block id: 663 */
            uint16_t l_706 = 65535U;
            struct S1 l_727 = {51};
            if ((l_706 & 2U))
            { /* block id: 664 */
                for (g_106.f3 = 0; (g_106.f3 != 6); g_106.f3 = safe_add_func_uint64_t_u_u(g_106.f3, 7))
                { /* block id: 667 */
                    struct S0 **l_710 = &g_191;
                    (*l_710) = (*g_670);
                }
                if (p_4)
                    break;
                (*g_408) = func_33(l_711, l_712);
            }
            else
            { /* block id: 672 */
                union U2 **l_716[4];
                int i;
                for (i = 0; i < 4; i++)
                    l_716[i] = 0;
                for (g_108.f2.f1 = 11; (g_108.f2.f1 < 56); g_108.f2.f1 = safe_add_func_uint16_t_u_u(g_108.f2.f1, 1))
                { /* block id: 675 */
                    int32_t *l_715 = &g_63;
                    (*l_715) |= p_3;
                    if (((*g_196) == l_716[3]))
                    { /* block id: 677 */
                        struct S1 l_717 = {41};
                        int32_t l_726[3];
                        int i;
                        for (i = 0; i < 3; i++)
                            l_726[i] = 0xB6EC193AL;
                        (*g_288) = (*g_118);
                        (**g_287) = l_717;
                        (*l_715) ^= ((p_4 | g_476.f4.f0) < g_522.f2);
                        l_726[1] = (safe_sub_func_uint64_t_u_u(l_706, func_83(((!p_4) > 8U), ((~(safe_rshift_func_uint8_t_u_u((safe_div_func_uint64_t_u_u(p_3, g_273.f0.f1)), l_724))) != (l_725 != 0)))));
                    }
                    else
                    { /* block id: 682 */
                        (*l_715) ^= 0xDEE4A601L;
                    }
                }
                (*g_288) = l_727;
            }
            if ((p_3 < l_706))
            { /* block id: 688 */
                uint16_t l_728 = 0x6611L;
                l_728 |= l_727.f0;
                (*g_287) = (*g_287);
                (*g_408) = func_64(l_706, l_724);
            }
            else
            { /* block id: 692 */
                for (g_106.f2.f1 = 0; (g_106.f2.f1 <= 3); g_106.f2.f1 += 1)
                { /* block id: 695 */
                    int32_t *l_729 = &g_63;
                    return l_729;
                }
                (*g_732) &= func_83(((l_712 == p_3) > (0x93B1L ^ 8U)), (1U & (safe_mul_func_int8_t_s_s(p_4, g_497[9][4][0].f2.f0))));
                (*g_733) = &l_712;
            }
        }
        return &g_55[1][2][2];
    }
    l_736 = func_33(l_735[0], p_4);
    l_738 = p_3;
    return &g_17[8];
}


/* ------------------------------------------ */
/* 
 * reads : g_14 g_37.f0.f1 g_17 g_47 g_55 g_57 g_37.f0.f0 g_54 g_514 g_476.f0 g_190 g_191 g_53 g_37.f1 g_105 g_100.f2.f2 g_100.f3 g_118 g_119 g_288 g_408 g_126 g_287 g_354.f0 g_611 g_612 g_610 g_497.f3 g_292.f1 g_497.f1 g_376.f3 g_625.f4.f1 g_292.f2.f0 g_576.f0.f2 g_106.f2.f1 g_106.f2.f0 g_493.f2 g_476.f1 g_314 g_376.f2.f0 g_166 g_670 g_374.f3 g_497.f4.f3 g_139 g_374.f2 g_176 g_197 g_108.f2.f0 g_354.f1 g_695 g_154 g_501
 * writes: g_55 g_57 g_17 g_63 g_515 g_493.f2 g_100.f3 g_194.f2 g_288 g_612 g_476.f0 g_496 g_273.f0.f2 g_374.f3 g_126 g_139 g_576.f0.f1 g_191 g_47
 */
static int32_t  func_8(int32_t  p_9, struct S1  p_10, int32_t * p_11, uint64_t  p_12, int32_t  p_13)
{ /* block id: 1 */
    int16_t l_29 = 4L;
    int64_t l_32 = (-1L);
    const union U2 *l_36[5][7][7];
    int32_t *l_45 = &g_17[1];
    struct S1 l_46 = {67};
    int i, j, k;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 7; j++)
        {
            for (k = 0; k < 7; k++)
                l_36[i][j][k] = &g_37[2];
        }
    }
    l_36[1][6][4] = func_24((l_29 || (((l_29 & (safe_rshift_func_uint8_t_u_s(g_14, p_13))) <= l_29) <= 0L)), (l_32 <= p_10.f0), func_33(l_36[3][5][2], (func_38(func_40((&p_9 == l_45), (g_37[2].f0.f1 == (*p_11)), l_46, g_47)) >= (((p_10.f0 ^ p_9) <= (safe_mul_func_int8_t_s_s(p_9, g_354.f1))) == 0L))), l_45);
    (*g_288) = l_46;
    p_11 = 0;
    return (*g_501);
}


/* ------------------------------------------ */
/* 
 * reads : g_154 g_47
 * writes: g_191
 */
static union U2 * const  func_24(int32_t  p_25, uint16_t  p_26, int32_t * p_27, int32_t * p_28)
{ /* block id: 650 */
    struct S0 **l_698 = &g_191;
    (*l_698) = 0;
    return (*g_154);
}


/* ------------------------------------------ */
/* 
 * reads : g_288 g_695
 * writes: g_194.f2 g_139 g_57
 */
static int32_t * func_33(const union U2 * p_34, const int16_t  p_35)
{ /* block id: 645 */
    struct S1 l_693 = {37};
    int32_t *l_694 = 0;
    int32_t l_696 = 0x96D52A2DL;
    int32_t *l_697 = &g_57;
    (*g_288) = l_693;
    (*g_695) |= p_35;
    (*l_697) &= l_696;
    return l_694;
}


/* ------------------------------------------ */
/* 
 * reads : g_55 g_17 g_37.f0.f0 g_14 g_54 g_514 g_476.f0 g_190 g_191 g_53 g_37.f1 g_47 g_105 g_100.f2.f2 g_100.f3 g_118 g_119 g_288 g_408 g_126 g_287 g_354.f0 g_611 g_612 g_610 g_497.f3 g_292.f1 g_497.f1 g_376.f3 g_625.f4.f1 g_292.f2.f0 g_576.f0.f2 g_106.f2.f1 g_106.f2.f0 g_493.f2 g_476.f1 g_314 g_376.f2.f0 g_166 g_670 g_374.f3 g_497.f4.f3 g_139 g_374.f2 g_176 g_197 g_108.f2.f0 g_57
 * writes: g_55 g_57 g_17 g_63 g_515 g_493.f2 g_100.f3 g_194.f2 g_288 g_612 g_476.f0 g_496 g_273.f0.f2 g_374.f3 g_126 g_139 g_576.f0.f1 g_191 g_47
 */
static int64_t  func_38(union U2 * p_39)
{ /* block id: 9 */
    int32_t l_62 = 0x8DB56EC4L;
    int32_t *l_110 = &g_57;
    int32_t **l_109 = &l_110;
    union U4 **l_512 = &g_105;
    int8_t l_518 = 0x6BL;
    struct S0 *l_521 = &g_522;
    int64_t l_535 = 9L;
    struct S1 **l_545 = 0;
    union U2 **l_585 = &g_47;
    for (g_55[3][2][3] = 9; (g_55[3][2][3] >= 0); g_55[3][2][3] -= 1)
    { /* block id: 12 */
        uint16_t l_59[2][10] = {{0U, 0xE32EL, 0x39EBL, 6U, 6U, 0x39EBL, 0xE32EL, 0U, 0x39EBL, 0U}, {0U, 0xE32EL, 0x39EBL, 6U, 6U, 0x39EBL, 0xE32EL, 0U, 0x39EBL, 0U}};
        int i, j;
        for (g_57 = 0; (g_57 <= 9); g_57 += 1)
        { /* block id: 15 */
            int32_t *l_58 = &g_17[1];
            int i;
            (*l_58) = g_17[g_55[3][2][3]];
            return g_37[2].f0.f0;
        }
        return l_59[1][6];
    }
    for (g_57 = 12; (g_57 == 14); g_57 = safe_add_func_int32_t_s_s(g_57, 1))
    { /* block id: 23 */
        uint32_t l_490 = 0x67D03D15L;
        int32_t *l_531 = &g_17[6];
        uint16_t l_620 = 0x7325L;
        const union U4 *l_622 = 0;
        volatile union U3 * volatile l_624 = &g_625;/* VOLATILE GLOBAL l_624 */
        union U2 **l_627 = &g_47;
        int16_t l_636 = 1L;
        const struct S0 *l_653 = 0;
        if (g_14)
            break;
        if (l_62)
        { /* block id: 25 */
            int64_t l_71[4];
            int32_t *l_73 = &g_17[1];
            int32_t **l_72 = &l_73;
            int64_t l_504 = 0x37A474A702519E11LL;
            union U4 *l_505 = &g_376[8][0][4];
            int i;
            for (i = 0; i < 4; i++)
                l_71[i] = 0x19EAC3B263C45F46LL;
            if (l_62)
                break;
            for (l_62 = 0; (l_62 <= 3); l_62 += 1)
            { /* block id: 29 */
                int32_t l_82 = 9L;
                struct S1 l_499[4] = {{78}, {78}, {78}, {78}};
                int i, j;
                for (g_63 = 2; (g_63 <= 7); g_63 += 1)
                { /* block id: 32 */
                    int i, j, k;
                    if (g_55[l_62][l_62][l_62])
                        break;
                }
                if (g_54[(l_62 + 3)][(l_62 + 2)])
                    continue;
            }
        }
        else
        { /* block id: 512 */
            (*g_514) = l_512;
            return l_490;
        }
        if ((9U != (safe_mod_func_uint8_t_u_u((((l_490 ^ l_518) != g_476.f0) ^ (l_490 > ((*g_190) != l_521))), 1L))))
        { /* block id: 516 */
            uint8_t l_523 = 0x93L;
            int32_t *l_524 = &g_17[1];
            union U2 ** const *l_532 = &g_197;
            int32_t **l_594 = &l_531;
            (*l_524) = l_523;
            (*l_531) &= (func_83(g_53, l_490) == (safe_add_func_int32_t_s_s((safe_div_func_uint16_t_u_u(l_490, (safe_add_func_uint32_t_u_u(g_100.f2.f2, (((*l_109) != l_531) < 0x74E29A59L))))), (l_532 == 0))));
            for (g_493.f2 = 0; (g_493.f2 >= 43); g_493.f2 = safe_add_func_uint16_t_u_u(g_493.f2, 1))
            { /* block id: 521 */
                uint32_t l_538 = 18446744073709551615U;
                union U3 *l_559 = &g_497[9][4][0];
                struct S1 l_574 = {20};
                union U2 *l_575 = &g_576;
                int32_t * const l_577 = &g_476.f0;
                int32_t l_599[3];
                int i;
                for (i = 0; i < 3; i++)
                    l_599[i] = 0xD3D3423EL;
            }
        }
        else
        { /* block id: 572 */
            int32_t l_617 = (-10L);
            union U3 **l_681 = &g_496;
            for (g_100.f3 = 0; (g_100.f3 <= 0); g_100.f3 += 1)
            { /* block id: 575 */
                int32_t * volatile l_618 = &g_476.f0;/* VOLATILE GLOBAL l_618 */
                int8_t l_661 = (-6L);
                union U3 ** const l_680 = &g_496;
                int i;
                g_17[g_100.f3] = l_617;
                (*g_288) = (*g_118);
                if ((g_17[g_100.f3] >= g_17[g_100.f3]))
                { /* block id: 578 */
                    l_618 = (*g_408);
                    (*g_287) = (*g_287);
                }
                else
                { /* block id: 581 */
                    int32_t *l_619 = &g_17[g_100.f3];
                    (*l_109) = l_619;
                    if (func_83(l_620, (*l_618)))
                    { /* block id: 583 */
                        int32_t l_623 = 0xEB21E131L;
                        int i, j;
                        (*l_110) = (func_83((safe_unary_minus_func_int64_t_s((((l_622 == l_622) == (!g_17[5])) || (*l_531)))), (g_354.f0 != 1L)) == l_623);
                        (*l_109) = 0;
                        (*l_531) = l_617;
                    }
                    else
                    { /* block id: 587 */
                        uint32_t l_626 = 0x3AE843C6L;
                        l_624 = (*g_611);
                        (**l_109) = l_626;
                        (*l_110) = l_617;
                        (*l_531) |= l_617;
                    }
                    (**g_610) = l_624;
                    (*l_618) = func_83(g_119.f0, ((0 == l_627) & (safe_mod_func_int16_t_s_s((safe_add_func_int16_t_s_s(g_497[9][4][0].f3, (safe_add_func_uint32_t_u_u(func_83(g_476.f0, (*l_619)), (safe_mul_func_int16_t_s_s(g_292.f1, l_617)))))), l_636))));
                }
                if ((l_617 > g_497[9][4][0].f1))
                { /* block id: 596 */
                    int16_t l_640 = (-4L);
                    const uint32_t l_641 = 4U;
                    if ((g_376[8][0][4].f3 < g_625.f4.f1))
                    { /* block id: 597 */
                        const int32_t l_637 = (-1L);
                        (*l_531) = func_83(g_292.f2.f0, (l_637 | 0x44FF30B7L));
                        (*l_109) = func_64((safe_add_func_uint32_t_u_u((~g_17[g_100.f3]), 0U)), (l_640 > l_637));
                        (*l_531) &= l_641;
                    }
                    else
                    { /* block id: 601 */
                        int32_t l_644 = 0x8463A536L;
                        l_617 ^= (0x5D37L && ((*g_610) != (*g_610)));
                        (*l_109) = func_64(l_640, l_644);
                    }
                }
                else
                { /* block id: 605 */
                    uint64_t l_650 = 0U;
                    for (g_273.f0.f2 = 0; (g_273.f0.f2 <= 1); g_273.f0.f2 += 1)
                    { /* block id: 608 */
                        uint32_t l_645[3] = {0xE44D2B02L, 18446744073709551615U, 0xE44D2B02L};
                        int i;
                        (*l_531) &= l_645[1];
                        (*l_531) = (*l_531);
                        (*l_531) = (((safe_sub_func_int32_t_s_s(l_617, func_83(g_576.f0.f2, g_106.f2.f1))) == (((g_106.f2.f0 > (g_497[9][4][0].f1 ^ g_17[g_100.f3])) & (l_645[1] <= (safe_rshift_func_uint16_t_u_s(g_493.f2, 12)))) <= ((g_17[g_100.f3] | (g_17[g_100.f3] < l_650)) & g_17[g_100.f3]))) <= ((*l_531) & (0 != &l_622)));
                        (*l_109) = 0;
                    }
                    for (g_374.f3 = 1; (g_374.f3 >= 0); g_374.f3 -= 1)
                    { /* block id: 616 */
                        const struct S0 *l_652 = &g_100.f2;
                        const struct S0 **l_651[7];
                        int32_t l_654 = 0x34D1B38CL;
                        int i;
                        for (i = 0; i < 7; i++)
                            l_651[i] = &l_652;
                        l_653 = 0;
                        return l_654;
                    }
                    (*g_408) = func_64((g_17[1] ^ g_476.f1), (func_83((9U && l_650), func_83((safe_mod_func_int16_t_s_s(l_650, g_314)), (safe_sub_func_int64_t_s_s(g_376[8][0][4].f2.f0, (safe_sub_func_int64_t_s_s(l_661, l_617)))))) == (safe_lshift_func_uint16_t_u_s((safe_add_func_int64_t_s_s(g_17[g_100.f3], 9U)), 14))));
                    (*g_166) = (safe_unary_minus_func_int32_t_s((*l_531)));
                }
                for (g_576.f0.f1 = 0; (g_576.f0.f1 <= 1); g_576.f0.f1 += 1)
                { /* block id: 625 */
                    int32_t l_667[3] = {0x1940FD5DL, 1L, 0x1940FD5DL};
                    int32_t l_690 = 0x8F774A69L;
                    int i;
                    (*l_531) &= func_83(l_667[2], (l_622 != (*l_512)));
                    if (l_667[2])
                    { /* block id: 627 */
                        int32_t *l_668 = &g_139[1][0][2];
                        struct S0 *l_669 = &g_100.f2;
                        (*l_109) = l_668;
                        (*g_670) = l_669;
                        (*g_408) = func_64((safe_lshift_func_int8_t_s_u(func_83(g_374.f3, (func_83((safe_lshift_func_int16_t_s_u(l_667[0], 7)), g_497[9][4][0].f4.f3) ^ 4294967293U)), 6)), (*l_531));
                        (*g_197) = func_40((safe_mod_func_int64_t_s_s(func_83((*l_668), (*l_668)), (safe_lshift_func_uint8_t_u_u((*l_668), g_374.f2)))), l_667[2], (*g_176), p_39);
                    }
                    else
                    { /* block id: 632 */
                        int16_t l_679 = 0x0667L;
                        (*l_627) = (*l_627);
                        return l_679;
                    }
                    (*l_531) = (*g_166);
                    l_690 ^= ((l_680 != l_681) | (((safe_sub_func_int64_t_s_s(l_617, (safe_rshift_func_uint16_t_u_s((l_667[2] != l_617), 0)))) <= l_667[2]) & ((safe_div_func_uint8_t_u_u(0x12L, g_108.f2.f0)) > (safe_sub_func_int16_t_s_s((**l_109), (l_627 != &g_159))))));
                }
            }
            (*l_531) |= l_518;
        }
        (*g_408) = 0;
    }
    return g_108.f2.f0;
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static union U2 * func_40(const int16_t  p_41, int64_t  p_42, struct S1  p_43, union U2 * p_44)
{ /* block id: 2 */
    for (p_42 = 0; (p_42 < 25); p_42 = safe_add_func_uint64_t_u_u(p_42, 1))
    { /* block id: 5 */
        int32_t *l_52 = &g_17[8];
        int32_t **l_51 = &l_52;
        (*l_51) = &g_17[7];
    }
    return &g_48[1][0];
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes: g_496
 */
static int32_t * func_64(uint64_t  p_65, int64_t  p_66)
{ /* block id: 493 */
    struct S0 * const l_491 = &g_273.f0;
    struct S0 *l_492[7][7];
    union U3 *l_494 = &g_476;
    union U3 **l_495[6][10];
    int32_t *l_498 = 0;
    int i, j;
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 7; j++)
            l_492[i][j] = &g_493;
    }
    for (i = 0; i < 6; i++)
    {
        for (j = 0; j < 10; j++)
            l_495[i][j] = &l_494;
    }
    l_492[3][2] = l_491;
    g_496 = l_494;
    return l_498;
}


/* ------------------------------------------ */
/* 
 * reads : g_48.f0.f0 g_118 g_63 g_57 g_55 g_37.f1 g_47 g_105 g_108.f2.f3 g_17 g_119 g_108.f2.f1 g_139 g_106.f2.f1 g_153 g_37.f0.f2 g_37.f0.f0 g_166 g_48.f0.f2 g_176 g_106.f2.f3 g_56 g_286 g_287 g_288 g_292.f0 g_106.f2.f2 g_370 g_100.f2.f1 g_408 g_425.f4.f0 g_374.f3 g_14 g_194.f0 g_48.f0.f1 g_194.f4.f1 g_194.f2.f0 g_54 g_354.f1 g_190 g_354.f2 g_108.f0 g_292.f2.f0 g_314 g_354.f3
 * writes: g_100.f2.f1 g_119 g_63 g_55 g_108.f2.f3 g_126 g_106.f3 g_54 g_106.f2.f2 g_159 g_139 g_166 g_100.f3 g_17 g_273.f0.f2 g_408 g_108.f2.f2 g_194.f2 g_354.f1 g_374.f2 g_108.f2.f1 g_314 g_273.f0.f3 g_191 g_194.f0 g_354.f3 g_354.f2 g_476.f0
 */
static int16_t  func_74(int64_t  p_75, int8_t  p_76, int32_t ** p_77, int32_t * p_78, int64_t  p_79)
{ /* block id: 61 */
    union U4 * const *l_137 = &g_105;
    const union U2 *l_158 = &g_48[1][0];
    const struct S1 l_178 = {33};
    int32_t *l_184 = &g_139[5][1][3];
    uint64_t l_186 = 1U;
    union U2 ***l_208 = &g_197;
    int32_t l_223[8] = {6L, 0x9D902B26L, 0L, 0L, 0x9D902B26L, 6L, 0x9D902B26L, 0L};
    union U3 *l_291 = &g_292;
    uint32_t l_301 = 0xCD1A0305L;
    volatile int32_t *l_355[1];
    union U3 * const * const l_385 = &l_291;
    union U3 * const * const *l_384[8];
    int32_t *l_480 = &g_17[1];
    int i;
    for (i = 0; i < 1; i++)
        l_355[i] = &g_53;
    for (i = 0; i < 8; i++)
        l_384[i] = &l_385;
    for (p_75 = 0; (p_75 == (-11)); p_75 = safe_sub_func_uint16_t_u_u(p_75, 8))
    { /* block id: 64 */
        int32_t *l_120 = &g_63;
        uint16_t l_132 = 0U;
        int32_t l_140[9];
        struct S1 l_162 = {70};
        union U4 * const *l_169 = 0;
        struct S0 *l_189 = 0;
        uint8_t l_224 = 253U;
        union U3 *l_246[4];
        union U3 ** const l_245 = &l_246[3];
        int i;
        for (i = 0; i < 9; i++)
            l_140[i] = 0x84EFA1E0L;
        for (i = 0; i < 4; i++)
            l_246[i] = &g_194;
        if (g_48[1][0].f0.f0)
        { /* block id: 65 */
            struct S1 l_117 = {85};
            int32_t l_123[5][8][2] = {{{0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}}, {{0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}}, {{0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}}, {{0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}}, {{0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}, {0x815EE981L, (-3L)}}};
            int32_t *l_173 = &l_123[1][3][0];
            int i, j, k;
            (*p_78) &= (0 != (*p_77));
            for (g_100.f2.f1 = 0; (g_100.f2.f1 == 8); g_100.f2.f1 = safe_add_func_int16_t_s_s(g_100.f2.f1, 1))
            { /* block id: 69 */
                for (p_79 = (-13); (p_79 > (-28)); p_79 = safe_sub_func_int32_t_s_s(p_79, 1))
                { /* block id: 72 */
                    (*g_118) = l_117;
                }
            }
            if ((**p_77))
            { /* block id: 76 */
                (*p_78) ^= (**p_77);
                l_123[0][4][1] ^= func_83((l_120 != 0), (safe_div_func_uint8_t_u_u(g_48[1][0].f0.f0, p_75)));
                (*p_78) |= 0x1E5EC640L;
                for (g_108.f2.f3 = 6; (g_108.f2.f3 >= 3); g_108.f2.f3 -= 1)
                { /* block id: 82 */
                    volatile int32_t **l_124 = 0;
                    volatile int32_t *l_125[9][2][4];
                    int i, j, k;
                    for (i = 0; i < 9; i++)
                    {
                        for (j = 0; j < 2; j++)
                        {
                            for (k = 0; k < 4; k++)
                                l_125[i][j][k] = &g_54[1][7];
                        }
                    }
                    l_125[4][0][1] = &g_54[g_108.f2.f3][g_108.f2.f3];
                    g_126 = &g_17[(g_108.f2.f3 + 2)];
                    for (g_106.f3 = 9; (g_106.f3 >= 3); g_106.f3 -= 1)
                    { /* block id: 87 */
                        int i, j;
                        g_54[(g_108.f2.f3 + 1)][(g_108.f2.f3 + 1)] ^= (safe_sub_func_int8_t_s_s(g_17[(g_108.f2.f3 + 3)], g_17[(g_108.f2.f3 + 1)]));
                    }
                    for (p_79 = 6; (p_79 >= 2); p_79 -= 1)
                    { /* block id: 92 */
                        struct S1 *l_129 = &g_119;
                        (*l_129) = (*g_118);
                    }
                }
            }
            else
            { /* block id: 96 */
                union U4 **l_138 = &g_105;
                const union U2 *l_142 = 0;
                const union U2 ** const l_141[8] = {&l_142, &l_142, &l_142, &l_142, &l_142, &l_142, &l_142, &l_142};
                int32_t l_171 = 0L;
                struct S1 *l_179 = &l_162;
                int i;
                if (l_117.f0)
                { /* block id: 97 */
                    int64_t l_157 = (-9L);
                    for (g_108.f2.f3 = 24; (g_108.f2.f3 != (-8)); g_108.f2.f3 = safe_sub_func_uint16_t_u_u(g_108.f2.f3, 8))
                    { /* block id: 100 */
                        const union U2 **l_144 = &l_142;
                        const union U2 ***l_143 = &l_144;
                        (*p_77) = 0;
                        l_140[3] ^= func_83(((l_132 != (((g_108.f2.f1 != g_63) >= (safe_sub_func_int64_t_s_s(p_79, p_75))) || (l_137 == l_138))) == g_139[2][1][7]), g_106.f2.f1);
                        (*l_143) = l_141[6];
                    }
                    for (g_106.f2.f2 = 0; (g_106.f2.f2 >= 16); g_106.f2.f2 = safe_add_func_int16_t_s_s(g_106.f2.f2, 4))
                    { /* block id: 107 */
                        (*l_120) = ((safe_mod_func_int32_t_s_s(func_83((safe_add_func_uint32_t_u_u(p_79, (*l_120))), (safe_mul_func_uint16_t_u_u((g_153[1] != 0), (*l_120)))), (safe_lshift_func_uint16_t_u_u(l_157, 1)))) == g_37[2].f0.f2);
                        (*l_120) = g_37[2].f0.f0;
                        g_159 = l_158;
                    }
                    return l_157;
                }
                else
                { /* block id: 113 */
                    for (g_108.f2.f3 = (-9); (g_108.f2.f3 == 6); g_108.f2.f3 = safe_add_func_uint8_t_u_u(g_108.f2.f3, 1))
                    { /* block id: 116 */
                        (*l_120) &= 1L;
                        return p_79;
                    }
                    if ((*p_78))
                        continue;
                    if (((*l_120) & g_139[6][1][1]))
                    { /* block id: 121 */
                        l_162 = (*g_118);
                    }
                    else
                    { /* block id: 123 */
                        uint16_t l_163 = 0x5801L;
                        (*p_78) ^= ((*l_120) ^ l_163);
                        (*p_77) = (*p_77);
                        (*g_166) |= (((*p_78) || (safe_rshift_func_int16_t_s_s(((*l_120) ^ 0xAEL), p_75))) == 1L);
                    }
                    (*p_78) |= (**p_77);
                }
                if (((((p_75 != ((*l_120) >= p_76)) <= p_75) >= (p_75 == p_76)) == ((safe_add_func_int16_t_s_s((g_55[3][2][3] | ((!p_75) || (*l_120))), g_48[1][0].f0.f2)) | p_79)))
                { /* block id: 130 */
                    union U4 * const **l_170 = &l_137;
                    (*l_170) = l_169;
                    if ((**p_77))
                    { /* block id: 132 */
                        struct S1 *l_172 = &g_119;
                        l_171 ^= (*p_78);
                        (*l_172) = (*g_118);
                        (*l_172) = (*g_118);
                        (*p_78) |= (*l_120);
                    }
                    else
                    { /* block id: 137 */
                        struct S1 l_174 = {56};
                        int32_t *l_177[3][8];
                        int i, j;
                        for (i = 0; i < 3; i++)
                        {
                            for (j = 0; j < 8; j++)
                                l_177[i][j] = &g_63;
                        }
                        g_166 = &g_55[3][2][3];
                        l_173 = &l_123[3][3][1];
                        (*g_176) = l_174;
                        (*p_77) = l_177[2][4];
                    }
                    (*p_77) = (*p_77);
                }
                else
                { /* block id: 144 */
                    return p_76;
                }
                (*l_179) = l_178;
            }
        }
        else
        { /* block id: 149 */
            union U3 *l_193 = &g_194;
            union U2 **l_195 = 0;
            union U4 *l_198[3];
            const int32_t l_207 = 1L;
            struct S1 l_240[9] = {{39}, {39}, {39}, {39}, {39}, {39}, {39}, {39}, {39}};
            int i;
            for (i = 0; i < 3; i++)
                l_198[i] = &g_100;
            for (g_100.f3 = (-8); (g_100.f3 > 1); g_100.f3 = safe_add_func_int32_t_s_s(g_100.f3, 1))
            { /* block id: 152 */
                int32_t *l_203 = 0;
                union U2 **l_217 = &g_47;
                for (p_79 = 0; (p_79 == 14); p_79 = safe_add_func_int16_t_s_s(p_79, 1))
                { /* block id: 155 */
                    return g_37[2].f0.f0;
                }
            }
        }
    }
    if ((p_79 & ((1U ^ (*l_184)) != (0 != l_137))))
    { /* block id: 235 */
        uint16_t l_270 = 8U;
        union U3 *l_275[9];
        struct S1 *l_285 = &g_194.f2;
        struct S1 **l_284 = &l_285;
        int32_t *l_348 = &g_139[4][0][7];
        struct S0 *l_373 = &g_374;
        union U4 *l_386 = 0;
        const int32_t l_429 = 0xD5DF2E02L;
        int i;
        for (i = 0; i < 9; i++)
            l_275[i] = 0;
        (*p_78) |= (*g_166);
        if (((safe_div_func_int16_t_s_s((((safe_mul_func_int8_t_s_s(g_119.f0, (*l_184))) & g_106.f2.f3) && g_56), p_76)) > (*l_184)))
        { /* block id: 237 */
            uint16_t l_269 = 0x1550L;
            union U2 **l_283 = &g_47;
            int32_t l_302 = (-5L);
            struct S0 *l_352 = 0;
            struct S1 l_388 = {68};
            for (g_100.f2.f1 = 0; (g_100.f2.f1 == 39); g_100.f2.f1 = safe_add_func_int32_t_s_s(g_100.f2.f1, 5))
            { /* block id: 240 */
                union U3 *l_268 = 0;
                union U2 *l_272 = &g_273;
                int32_t l_305 = 4L;
            }
            (*l_284) = (**g_286);
            for (g_63 = 0; (g_63 == 5); g_63 = safe_add_func_int8_t_s_s(g_63, 1))
            { /* block id: 303 */
                int32_t l_321 = (-5L);
                int32_t l_347 = (-10L);
                struct S0 *l_353 = &g_354;
                const int32_t *l_368 = &g_63;
                int32_t l_381 = 0L;
            }
        }
        else
        { /* block id: 368 */
            uint16_t l_404[2][4][2] = {{{1U, 65535U}, {1U, 65535U}, {1U, 65535U}, {1U, 65535U}}, {{1U, 65535U}, {1U, 65535U}, {1U, 65535U}, {1U, 65535U}}};
            int32_t l_415 = (-1L);
            struct S1 l_416 = {42};
            int i, j, k;
            g_17[1] ^= (((((0x32FFL == (*l_348)) || ((safe_sub_func_int32_t_s_s((*p_78), (*l_184))) >= (*l_348))) | (&l_373 != 0)) && p_76) != ((*l_184) || (safe_rshift_func_uint8_t_u_u(func_83(((safe_rshift_func_uint16_t_u_s(p_75, 6)) & l_404[1][0][1]), l_404[1][0][1]), (safe_lshift_func_uint8_t_u_u((0x81L && g_292.f0), ((safe_unary_minus_func_uint16_t_u(g_106.f2.f2)) || (g_370 < p_75))))))));
            for (g_100.f2.f1 = 1; (g_100.f2.f1 <= 9); g_100.f2.f1 += 1)
            { /* block id: 372 */
                int64_t l_420 = 4L;
                union U3 *l_424 = &g_425;
                for (g_273.f0.f2 = 0; (g_273.f0.f2 <= 9); g_273.f0.f2 += 1)
                { /* block id: 375 */
                    struct S1 l_417 = {58};
                    union U3 *l_423 = &g_194;
                    g_408 = &g_166;
                    for (g_108.f2.f2 = 0; (g_108.f2.f2 <= 1); g_108.f2.f2 += 1)
                    { /* block id: 379 */
                        union U3 **l_414[3][3];
                        union U3 ***l_413 = &l_414[2][2];
                        int i, j;
                        for (i = 0; i < 3; i++)
                        {
                            for (j = 0; j < 3; j++)
                                l_414[i][j] = &l_291;
                        }
                        l_415 ^= (safe_rshift_func_int16_t_s_u((safe_add_func_uint64_t_u_u(func_83(((0 != l_413) < 5U), g_17[g_100.f2.f1]), (*l_348))), 8));
                        (**l_284) = l_416;
                        (*l_285) = l_417;
                        for (g_354.f1 = 0; (g_354.f1 <= 1); g_354.f1 += 1)
                        { /* block id: 385 */
                            (**g_408) = (safe_sub_func_int64_t_s_s(p_76, (l_420 >= (safe_lshift_func_int8_t_s_s(p_79, 5)))));
                            l_424 = l_423;
                            (*l_348) = (**g_408);
                        }
                    }
                }
                for (l_420 = 1; (l_420 >= 0); l_420 -= 1)
                { /* block id: 394 */
                    const int16_t l_426 = 0L;
                    for (l_301 = 0; (l_301 <= 0); l_301 += 1)
                    { /* block id: 397 */
                        int i, j;
                        (*p_78) ^= l_426;
                    }
                    (*l_184) = (safe_sub_func_uint32_t_u_u(l_429, l_415));
                    if (l_426)
                        continue;
                    for (g_374.f2 = 0; (g_374.f2 <= 1); g_374.f2 += 1)
                    { /* block id: 404 */
                        l_415 &= (safe_rshift_func_int16_t_s_u((g_425.f4.f0 > p_76), (safe_mul_func_int16_t_s_s(p_76, g_17[1]))));
                    }
                }
                return l_420;
            }
            return g_374.f3;
        }
        (*l_184) ^= (*p_78);
    }
    else
    { /* block id: 413 */
        uint32_t l_446 = 0x056F5268L;
        uint8_t l_469[2];
        int32_t *l_470 = &g_194.f0;
        uint16_t l_481 = 65535U;
        int i;
        for (i = 0; i < 2; i++)
            l_469[i] = 1U;
        if ((*l_184))
        { /* block id: 414 */
            union U3 *l_445 = &g_292;
            int32_t l_458 = (-7L);
            if ((safe_rshift_func_uint16_t_u_s((safe_div_func_uint64_t_u_u((g_14 == 0U), (safe_rshift_func_int16_t_s_u(g_194.f0, 12)))), 13)))
            { /* block id: 415 */
                struct S1 **l_462 = &g_288;
                for (g_108.f2.f1 = 0; (g_108.f2.f1 == 15); g_108.f2.f1 = safe_add_func_int32_t_s_s(g_108.f2.f1, 1))
                { /* block id: 418 */
                    uint32_t l_444 = 0U;
                    if ((safe_add_func_uint32_t_u_u(p_79, l_444)))
                    { /* block id: 419 */
                        (*p_77) = (*p_77);
                        (*p_77) = (*p_77);
                    }
                    else
                    { /* block id: 422 */
                        (*p_78) = (l_445 == &g_292);
                    }
                    if (g_108.f2.f1)
                        goto lbl_461;
                }
lbl_461:
                if ((p_79 < g_139[2][1][7]))
                { /* block id: 426 */
                    int32_t l_453 = (-1L);
                    (*g_408) = 0;
                    (*l_184) |= l_446;
                    (*l_184) = (func_83(g_48[1][0].f0.f1, ((safe_div_func_int16_t_s_s((safe_rshift_func_uint8_t_u_u((safe_div_func_uint16_t_u_u(l_446, g_106.f2.f3)), l_453)), l_446)) && (*l_184))) <= (safe_div_func_int8_t_s_s(p_79, g_194.f4.f1)));
                }
                else
                { /* block id: 430 */
                    (*l_184) ^= ((safe_sub_func_int32_t_s_s(l_458, g_194.f2.f0)) < (p_75 <= l_446));
                    (*l_184) |= (*p_78);
                    (*p_78) ^= (**p_77);
                    for (g_314 = 0; (g_314 != (-19)); g_314 = safe_sub_func_int8_t_s_s(g_314, 1))
                    { /* block id: 436 */
                        return g_54[6][7];
                    }
                }
                for (g_354.f1 = 0; (g_354.f1 <= 0); g_354.f1 += 1)
                { /* block id: 443 */
                    int i;
                    l_462 = 0;
                    (*g_166) = l_223[(g_354.f1 + 3)];
                    for (g_273.f0.f3 = 0; (g_273.f0.f3 >= 0); g_273.f0.f3 -= 1)
                    { /* block id: 448 */
                        int i, j;
                        (*g_190) = 0;
                        l_469[1] ^= (safe_mul_func_int64_t_s_s((safe_rshift_func_uint8_t_u_u((safe_lshift_func_uint16_t_u_s(((*p_78) >= (-1L)), l_446)), (1L > l_458))), (g_17[1] <= p_75)));
                    }
                }
            }
            else
            { /* block id: 453 */
                if (l_446)
                { /* block id: 454 */
                    return p_76;
                }
                else
                { /* block id: 456 */
                    (*g_408) = l_470;
                    (*g_288) = l_178;
                    return p_79;
                }
            }
        }
        else
        { /* block id: 462 */
            const union U3 *l_474[9];
            int i;
            for (i = 0; i < 9; i++)
                l_474[i] = &g_292;
            (*p_78) &= (**p_77);
            (*l_470) = (*p_78);
            for (g_354.f3 = 19; (g_354.f3 != 6); g_354.f3 = safe_sub_func_uint64_t_u_u(g_354.f3, 1))
            { /* block id: 467 */
                int16_t l_473 = 9L;
                union U4 *l_478[4];
                int32_t l_479[2];
                int i;
                for (i = 0; i < 4; i++)
                    l_478[i] = &g_376[8][0][4];
                for (i = 0; i < 2; i++)
                    l_479[i] = 0L;
                (*l_184) |= l_473;
                for (g_354.f2 = 0; (g_354.f2 <= 5); g_354.f2 += 1)
                { /* block id: 471 */
                    const union U3 *l_475 = &g_476;
                    int i, j;
                    l_475 = l_474[8];
                    if (g_54[g_354.f2][(g_354.f2 + 1)])
                    { /* block id: 473 */
                        union U4 *l_477 = &g_100;
                        int i, j;
                        g_54[(g_354.f2 + 2)][g_354.f2] ^= (l_477 != l_478[1]);
                    }
                    else
                    { /* block id: 475 */
                        int i, j;
                        l_479[0] |= g_54[(g_354.f2 + 2)][g_354.f2];
                        (*l_470) = 0xDD644A72L;
                        (*p_78) &= (*l_470);
                    }
                    for (g_476.f0 = 0; (g_476.f0 <= 5); g_476.f0 += 1)
                    { /* block id: 482 */
                        return (*l_470);
                    }
                }
            }
            (*p_77) = l_480;
        }
        (*l_480) |= (l_481 & g_108.f0);
    }
    (*l_184) = (safe_mul_func_int8_t_s_s((safe_rshift_func_int8_t_s_s((safe_mul_func_uint8_t_u_u(((safe_div_func_uint8_t_u_u(g_370, (g_292.f2.f0 && p_79))) > (*l_184)), p_79)), (*l_480))), p_79));
    return (*l_184);
}


/* ------------------------------------------ */
/* 
 * reads : g_55 g_37.f1 g_47 g_105
 * writes: g_63 g_55
 */
static uint8_t  func_83(int8_t  p_84, int32_t  p_85)
{ /* block id: 36 */
    const int16_t l_92 = 1L;
    union U2 *l_97 = 0;
    int32_t *l_102 = &g_55[0][3][1];
    union U4 *l_107 = &g_108;
    for (p_85 = (-17); (p_85 != (-27)); p_85 = safe_sub_func_int32_t_s_s(p_85, 1))
    { /* block id: 39 */
        uint32_t l_93 = 6U;
        if ((safe_rshift_func_uint16_t_u_s(0xD702L, 7)))
        { /* block id: 40 */
            return g_55[0][3][3];
        }
        else
        { /* block id: 42 */
            int32_t *l_98 = &g_63;
            union U4 *l_99 = &g_100;
            union U4 **l_101 = &l_99;
            for (p_84 = 9; (p_84 > (-17)); p_84 = safe_sub_func_int16_t_s_s(p_84, 1))
            { /* block id: 45 */
                if ((l_92 & l_93))
                { /* block id: 46 */
                    int32_t *l_94[7];
                    int i;
                    for (i = 0; i < 7; i++)
                        l_94[i] = &g_55[1][3][3];
                    g_63 |= p_84;
                    if (p_85)
                        break;
                    return g_55[3][2][3];
                }
                else
                { /* block id: 50 */
                    return g_37[2].f1;
                }
            }
            (*l_98) = (safe_sub_func_uint32_t_u_u(1U, (g_47 == l_97)));
            (*l_101) = l_99;
        }
    }
    (*l_102) ^= 0x3EF347DCL;
    (*l_102) = (safe_rshift_func_uint16_t_u_u((g_105 != l_107), 7));
    return (*l_102);
}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    int i, j, k;
    int print_hash_value = 0;
    if (argc == 2 && strcmp(argv[1], "1") == 0) print_hash_value = 1;
    platform_main_begin();
    crc32_gentab();
    func_1();
    transparent_crc(g_14, "g_14", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_17[i], "g_17[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_37[i].f0.f0, "g_37[i].f0.f0", print_hash_value);
        transparent_crc(g_37[i].f0.f1, "g_37[i].f0.f1", print_hash_value);
        transparent_crc(g_37[i].f0.f2, "g_37[i].f0.f2", print_hash_value);
        transparent_crc(g_37[i].f0.f3, "g_37[i].f0.f3", print_hash_value);
        transparent_crc(g_37[i].f1, "g_37[i].f1", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j < 1; j++)
        {
            transparent_crc(g_48[i][j].f0.f0, "g_48[i][j].f0.f0", print_hash_value);
            transparent_crc(g_48[i][j].f0.f1, "g_48[i][j].f0.f1", print_hash_value);
            transparent_crc(g_48[i][j].f0.f2, "g_48[i][j].f0.f2", print_hash_value);
            transparent_crc(g_48[i][j].f0.f3, "g_48[i][j].f0.f3", print_hash_value);
            transparent_crc(g_48[i][j].f1, "g_48[i][j].f1", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_53, "g_53", print_hash_value);
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 8; j++)
        {
            transparent_crc(g_54[i][j], "g_54[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {
            for (k = 0; k < 4; k++)
            {
                transparent_crc(g_55[i][j][k], "g_55[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_56, "g_56", print_hash_value);
    transparent_crc(g_57, "g_57", print_hash_value);
    transparent_crc(g_63, "g_63", print_hash_value);
    transparent_crc(g_100.f0, "g_100.f0", print_hash_value);
    transparent_crc(g_100.f1, "g_100.f1", print_hash_value);
    transparent_crc(g_100.f2.f0, "g_100.f2.f0", print_hash_value);
    transparent_crc(g_100.f2.f1, "g_100.f2.f1", print_hash_value);
    transparent_crc(g_100.f2.f2, "g_100.f2.f2", print_hash_value);
    transparent_crc(g_100.f2.f3, "g_100.f2.f3", print_hash_value);
    transparent_crc(g_100.f3, "g_100.f3", print_hash_value);
    transparent_crc(g_100.f4, "g_100.f4", print_hash_value);
    transparent_crc(g_106.f0, "g_106.f0", print_hash_value);
    transparent_crc(g_106.f1, "g_106.f1", print_hash_value);
    transparent_crc(g_106.f2.f0, "g_106.f2.f0", print_hash_value);
    transparent_crc(g_106.f2.f1, "g_106.f2.f1", print_hash_value);
    transparent_crc(g_106.f2.f2, "g_106.f2.f2", print_hash_value);
    transparent_crc(g_106.f2.f3, "g_106.f2.f3", print_hash_value);
    transparent_crc(g_106.f3, "g_106.f3", print_hash_value);
    transparent_crc(g_106.f4, "g_106.f4", print_hash_value);
    transparent_crc(g_108.f0, "g_108.f0", print_hash_value);
    transparent_crc(g_108.f1, "g_108.f1", print_hash_value);
    transparent_crc(g_108.f2.f0, "g_108.f2.f0", print_hash_value);
    transparent_crc(g_108.f2.f1, "g_108.f2.f1", print_hash_value);
    transparent_crc(g_108.f2.f2, "g_108.f2.f2", print_hash_value);
    transparent_crc(g_108.f2.f3, "g_108.f2.f3", print_hash_value);
    transparent_crc(g_108.f3, "g_108.f3", print_hash_value);
    transparent_crc(g_108.f4, "g_108.f4", print_hash_value);
    transparent_crc(g_119.f0, "g_119.f0", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 2; j++)
        {
            for (k = 0; k < 8; k++)
            {
                transparent_crc(g_139[i][j][k], "g_139[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_194.f0, "g_194.f0", print_hash_value);
    transparent_crc(g_194.f1, "g_194.f1", print_hash_value);
    transparent_crc(g_194.f2.f0, "g_194.f2.f0", print_hash_value);
    transparent_crc(g_194.f3, "g_194.f3", print_hash_value);
    transparent_crc(g_194.f4.f0, "g_194.f4.f0", print_hash_value);
    transparent_crc(g_194.f4.f1, "g_194.f4.f1", print_hash_value);
    transparent_crc(g_194.f4.f2, "g_194.f4.f2", print_hash_value);
    transparent_crc(g_194.f4.f3, "g_194.f4.f3", print_hash_value);
    transparent_crc(g_273.f0.f0, "g_273.f0.f0", print_hash_value);
    transparent_crc(g_273.f0.f1, "g_273.f0.f1", print_hash_value);
    transparent_crc(g_273.f0.f2, "g_273.f0.f2", print_hash_value);
    transparent_crc(g_273.f0.f3, "g_273.f0.f3", print_hash_value);
    transparent_crc(g_273.f1, "g_273.f1", print_hash_value);
    transparent_crc(g_292.f0, "g_292.f0", print_hash_value);
    transparent_crc(g_292.f1, "g_292.f1", print_hash_value);
    transparent_crc(g_292.f2.f0, "g_292.f2.f0", print_hash_value);
    transparent_crc(g_292.f3, "g_292.f3", print_hash_value);
    transparent_crc(g_292.f4.f0, "g_292.f4.f0", print_hash_value);
    transparent_crc(g_292.f4.f1, "g_292.f4.f1", print_hash_value);
    transparent_crc(g_292.f4.f2, "g_292.f4.f2", print_hash_value);
    transparent_crc(g_292.f4.f3, "g_292.f4.f3", print_hash_value);
    transparent_crc(g_314, "g_314", print_hash_value);
    transparent_crc(g_354.f0, "g_354.f0", print_hash_value);
    transparent_crc(g_354.f1, "g_354.f1", print_hash_value);
    transparent_crc(g_354.f2, "g_354.f2", print_hash_value);
    transparent_crc(g_354.f3, "g_354.f3", print_hash_value);
    transparent_crc(g_370, "g_370", print_hash_value);
    transparent_crc(g_374.f0, "g_374.f0", print_hash_value);
    transparent_crc(g_374.f1, "g_374.f1", print_hash_value);
    transparent_crc(g_374.f2, "g_374.f2", print_hash_value);
    transparent_crc(g_374.f3, "g_374.f3", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j < 2; j++)
        {
            for (k = 0; k < 6; k++)
            {
                transparent_crc(g_376[i][j][k].f0, "g_376[i][j][k].f0", print_hash_value);
                transparent_crc(g_376[i][j][k].f1, "g_376[i][j][k].f1", print_hash_value);
                transparent_crc(g_376[i][j][k].f2.f0, "g_376[i][j][k].f2.f0", print_hash_value);
                transparent_crc(g_376[i][j][k].f2.f1, "g_376[i][j][k].f2.f1", print_hash_value);
                transparent_crc(g_376[i][j][k].f2.f2, "g_376[i][j][k].f2.f2", print_hash_value);
                transparent_crc(g_376[i][j][k].f2.f3, "g_376[i][j][k].f2.f3", print_hash_value);
                transparent_crc(g_376[i][j][k].f3, "g_376[i][j][k].f3", print_hash_value);
                transparent_crc(g_376[i][j][k].f4, "g_376[i][j][k].f4", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_425.f0, "g_425.f0", print_hash_value);
    transparent_crc(g_425.f1, "g_425.f1", print_hash_value);
    transparent_crc(g_425.f2.f0, "g_425.f2.f0", print_hash_value);
    transparent_crc(g_425.f3, "g_425.f3", print_hash_value);
    transparent_crc(g_425.f4.f0, "g_425.f4.f0", print_hash_value);
    transparent_crc(g_425.f4.f1, "g_425.f4.f1", print_hash_value);
    transparent_crc(g_425.f4.f2, "g_425.f4.f2", print_hash_value);
    transparent_crc(g_425.f4.f3, "g_425.f4.f3", print_hash_value);
    transparent_crc(g_476.f0, "g_476.f0", print_hash_value);
    transparent_crc(g_476.f1, "g_476.f1", print_hash_value);
    transparent_crc(g_476.f2.f0, "g_476.f2.f0", print_hash_value);
    transparent_crc(g_476.f3, "g_476.f3", print_hash_value);
    transparent_crc(g_476.f4.f0, "g_476.f4.f0", print_hash_value);
    transparent_crc(g_476.f4.f1, "g_476.f4.f1", print_hash_value);
    transparent_crc(g_476.f4.f2, "g_476.f4.f2", print_hash_value);
    transparent_crc(g_476.f4.f3, "g_476.f4.f3", print_hash_value);
    transparent_crc(g_493.f0, "g_493.f0", print_hash_value);
    transparent_crc(g_493.f1, "g_493.f1", print_hash_value);
    transparent_crc(g_493.f2, "g_493.f2", print_hash_value);
    transparent_crc(g_493.f3, "g_493.f3", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10; j++)
        {
            for (k = 0; k < 1; k++)
            {
                transparent_crc(g_497[i][j][k].f0, "g_497[i][j][k].f0", print_hash_value);
                transparent_crc(g_497[i][j][k].f1, "g_497[i][j][k].f1", print_hash_value);
                transparent_crc(g_497[i][j][k].f2.f0, "g_497[i][j][k].f2.f0", print_hash_value);
                transparent_crc(g_497[i][j][k].f3, "g_497[i][j][k].f3", print_hash_value);
                transparent_crc(g_497[i][j][k].f4.f0, "g_497[i][j][k].f4.f0", print_hash_value);
                transparent_crc(g_497[i][j][k].f4.f1, "g_497[i][j][k].f4.f1", print_hash_value);
                transparent_crc(g_497[i][j][k].f4.f2, "g_497[i][j][k].f4.f2", print_hash_value);
                transparent_crc(g_497[i][j][k].f4.f3, "g_497[i][j][k].f4.f3", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_522.f0, "g_522.f0", print_hash_value);
    transparent_crc(g_522.f1, "g_522.f1", print_hash_value);
    transparent_crc(g_522.f2, "g_522.f2", print_hash_value);
    transparent_crc(g_522.f3, "g_522.f3", print_hash_value);
    transparent_crc(g_576.f0.f0, "g_576.f0.f0", print_hash_value);
    transparent_crc(g_576.f0.f1, "g_576.f0.f1", print_hash_value);
    transparent_crc(g_576.f0.f2, "g_576.f0.f2", print_hash_value);
    transparent_crc(g_576.f0.f3, "g_576.f0.f3", print_hash_value);
    transparent_crc(g_576.f1, "g_576.f1", print_hash_value);
    transparent_crc(g_625.f0, "g_625.f0", print_hash_value);
    transparent_crc(g_625.f1, "g_625.f1", print_hash_value);
    transparent_crc(g_625.f2.f0, "g_625.f2.f0", print_hash_value);
    transparent_crc(g_625.f3, "g_625.f3", print_hash_value);
    transparent_crc(g_625.f4.f0, "g_625.f4.f0", print_hash_value);
    transparent_crc(g_625.f4.f1, "g_625.f4.f1", print_hash_value);
    transparent_crc(g_625.f4.f2, "g_625.f4.f2", print_hash_value);
    transparent_crc(g_625.f4.f3, "g_625.f4.f3", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 1
breakdown:
   depth: 0, occurrence: 203
   depth: 1, occurrence: 18
XXX total union variables: 0

XXX non-zero bitfields defined in structs: 3
XXX zero bitfields defined in structs: 0
XXX const bitfields defined in structs: 0
XXX volatile bitfields defined in structs: 2
XXX structs with bitfields in the program: 40
breakdown:
   indirect level: 0, occurrence: 18
   indirect level: 1, occurrence: 15
   indirect level: 2, occurrence: 7
XXX full-bitfields structs in the program: 18
breakdown:
   indirect level: 0, occurrence: 18
XXX times a bitfields struct's address is taken: 6
XXX times a bitfields struct on LHS: 1
XXX times a bitfields struct on RHS: 22
XXX times a single bitfield on LHS: 0
XXX times a single bitfield on RHS: 21

XXX max expression depth: 1
breakdown:
   depth: 0, occurrence: 308
   depth: 1, occurrence: 26

XXX total number of pointers: 195

XXX times a variable address is taken: 69
XXX times a pointer is dereferenced on RHS: 155
breakdown:
   depth: 1, occurrence: 133
   depth: 2, occurrence: 22
XXX times a pointer is dereferenced on LHS: 194
breakdown:
   depth: 1, occurrence: 186
   depth: 2, occurrence: 8
XXX times a pointer is compared with null: 19
XXX times a pointer is compared with address of another variable: 16
XXX times a pointer is compared with another pointer: 10
XXX times a pointer is qualified to be dereferenced: 880

XXX max dereference level: 2
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 901
   level: 2, occurrence: 144
XXX number of pointers point to pointers: 71
XXX number of pointers point to scalars: 55
XXX number of pointers point to structs: 24
XXX percent of pointers has null in alias set: 27.2
XXX average alias set size: 1.25

XXX times a non-volatile is read: 873
XXX times a non-volatile is write: 474
XXX times a volatile is read: 83
XXX    times read thru a pointer: 5
XXX times a volatile is write: 45
XXX    times written thru a pointer: 13
XXX times a volatile is available for access: 709
XXX percentage of non-volatile access: 91.3

XXX forward jumps: 1
XXX backward jumps: 1

XXX stmts: 710

XXX percentage a fresh-made variable is used: 23.4
XXX percentage an existing variable is used: 76.6
********************* end of statistics **********************/