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

Re: [csmith-bugs] [csmith-project/csmith] 6349ed: apply command line option "--force-non-uniform-arr...



   apply command line option "--force-non-uniform-arrays" to struct arrays

Can you explain what is the intended behavior of the current version?

The attached program, created by the current revision, contains some extremely non-random initializers. Examples below.

John




static union U1 g_287[3][5][8] = {{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}},{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}},{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}}};



 union U2 l_843[9] = {{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L}};



int32_t l_713[8][4][4] = {{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}}};



struct S0 l_722[6][6][1] = {{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,1844674
4073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,
18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}}};
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.1.0
 * Git version: bc1dbc2
 * Options:   --force-globals-static --unions --no-union-read-type-sensitive --force-non-uniform-arrays
 * Seed:      2423730268
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
struct S0 {
   int8_t  f0;
   int16_t  f1;
   uint32_t  f2;
   uint64_t  f3;
   int64_t  f4;
};

union U1 {
   uint16_t  f0;
   uint16_t  f1;
};

union U2 {
   int8_t  f0;
};

union U3 {
   uint8_t  f0;
   const volatile struct S0  f1;
};

union U4 {
   volatile struct S0  f0;
   const volatile int8_t  f1;
   struct S0  f2;
};

union U5 {
   int32_t  f0;
};

union U6 {
   volatile struct S0  f0;
   int32_t  f1;
   uint32_t  f2;
};

union U7 {
   volatile uint32_t  f0;
   struct S0  f1;
   int32_t  f2;
   uint8_t  f3;
};

union U8 {
   const int32_t  f0;
   uint16_t  f1;
   int8_t * f2;
};

/* --- GLOBAL VARIABLES --- */
static int32_t g_3 = (-5L);
static volatile int32_t g_4 = 0xC309AB83L;/* VOLATILE GLOBAL g_4 */
static volatile int32_t g_5[10][1] = {{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L},{0xD58E7EA1L}};
static volatile int32_t g_6 = 9L;/* VOLATILE GLOBAL g_6 */
static int32_t g_7 = 1L;
static volatile int8_t *g_10 = 0;
static const int8_t g_42 = 0x93L;
static int8_t *g_61 = 0;
static int16_t g_66 = (-8L);
static union U7 g_74 = {18446744073709551615U};/* VOLATILE GLOBAL g_74 */
static const union U7 g_77[7][3] = {{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}},{{18446744073709551612U},{18446744073709551612U},{18446744073709551612U}}};
static const union U7 *g_76 = &g_77[1][0];
static int32_t g_81 = 0x7AD18499L;
static union U4 g_83 = {{-4L,1L,1U,1U,3L}};/* VOLATILE GLOBAL g_83 */
static struct S0 g_86[3] = {{0x54L,0xA7EFL,18446744073709551615U,0xC41F2E98D3579F7DLL,0L},{0x54L,0xA7EFL,18446744073709551615U,0xC41F2E98D3579F7DLL,0L},{0x54L,0xA7EFL,18446744073709551615U,0xC41F2E98D3579F7DLL,0L}};
static union U5 g_92 = {-9L};
static volatile struct S0 * volatile g_104 = 0;/* VOLATILE GLOBAL g_104 */
static volatile struct S0 * volatile *g_103 = &g_104;
static volatile struct S0 * volatile g_106[2] = {0,0};
static int32_t *g_114 = &g_81;
static volatile union U6 g_121 = {{-1L,0xCF63L,0x62D627FBL,18446744073709551614U,-9L}};/* VOLATILE GLOBAL g_121 */
static volatile union U6 *g_120 = &g_121;
static union U7 g_148 = {0xEA00FD19L};/* VOLATILE GLOBAL g_148 */
static uint16_t g_162 = 0xE10FL;
static const volatile union U3 g_165 = {1U};/* VOLATILE GLOBAL g_165 */
static const volatile union U3 *g_164 = &g_165;
static int32_t g_170 = 0L;
static union U8 g_201 = {9L};
static union U4 g_240 = {{0x92L,0x499DL,0x8BDBBCF2L,0xEA5D77D440B17604LL,0xF828A1B20B8C973ALL}};/* VOLATILE GLOBAL g_240 */
static union U4 g_243 = {{0x57L,1L,0x8F9B7D9BL,1U,0xB1DDC82D9593F4F3LL}};/* VOLATILE GLOBAL g_243 */
static union U1 g_287[3][5][8] = {{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}},{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}},{{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}},{{0U},{0U},{0U},{0U},{0U},{0U},{0U},{0U}}}};
static union U4 g_303[8] = {{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}},{{0x0BL,0x1BC1L,18446744073709551613U,0U,6L}}};
static union U4 g_306 = {{-9L,-2L,0x2613B4B8L,0x22DBC187AC4B2DB7LL,0xA0DB0851E8DE0ABFLL}};/* VOLATILE GLOBAL g_306 */
static union U4 *g_305[7][7][5] = {{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}},{{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306},{&g_306,&g_306,&g_306,&g_306,&g_306}}};
static union U4 g_312 = {{-7L,0xC127L,18446744073709551615U,18446744073709551615U,1L}};/* VOLATILE GLOBAL g_312 */
static union U7 *g_367 = &g_74;
static union U7 ** volatile g_366 = &g_367;/* VOLATILE GLOBAL g_366 */
static int32_t ** volatile g_378 = &g_114;/* VOLATILE GLOBAL g_378 */
static union U1 *** volatile g_381 = 0;/* VOLATILE GLOBAL g_381 */
static union U6 g_384[4] = {{{0xCAL,1L,8U,0xBB4AE4E02DACFCA8LL,9L}},{{0xCAL,1L,8U,0xBB4AE4E02DACFCA8LL,9L}},{{0xCAL,1L,8U,0xBB4AE4E02DACFCA8LL,9L}},{{0xCAL,1L,8U,0xBB4AE4E02DACFCA8LL,9L}}};
static union U3 g_392 = {251U};/* VOLATILE GLOBAL g_392 */
static union U3 *g_394 = &g_392;
static union U3 ** volatile g_393[9] = {&g_394,&g_394,&g_394,&g_394,&g_394,&g_394,&g_394,&g_394,&g_394};
static union U3 g_398 = {0U};/* VOLATILE GLOBAL g_398 */
static union U7 ** volatile g_410 = &g_367;/* VOLATILE GLOBAL g_410 */
static int32_t * volatile g_421 = &g_81;/* VOLATILE GLOBAL g_421 */
static int32_t ** volatile g_431 = &g_114;/* VOLATILE GLOBAL g_431 */
static struct S0 * volatile g_439 = &g_83.f2;/* VOLATILE GLOBAL g_439 */
static struct S0 *g_452 = 0;
static struct S0 ** const  volatile g_451[6] = {&g_452,&g_452,&g_452,&g_452,&g_452,&g_452};
static struct S0 ** volatile g_453 = &g_452;/* VOLATILE GLOBAL g_453 */
static int32_t * volatile g_461 = &g_81;/* VOLATILE GLOBAL g_461 */
static union U6 *g_463 = &g_384[0];
static union U6 ** volatile g_462 = &g_463;/* VOLATILE GLOBAL g_462 */
static union U4 g_468 = {{-1L,0xC548L,0x9BAD08FAL,0x1D50A4F5C8454C82LL,-5L}};/* VOLATILE GLOBAL g_468 */
static int16_t g_479 = 0L;
static int32_t ** volatile g_485 = &g_114;/* VOLATILE GLOBAL g_485 */
static int32_t ** volatile g_490[2][6][5] = {{{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114}},{{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114},{&g_114,&g_114,&g_114,&g_114,&g_114}}};
static union U4 ** volatile g_493 = &g_305[2][3][1];/* VOLATILE GLOBAL g_493 */
static int16_t g_516 = 0x3661L;
static volatile union U1 g_521 = {0x6F72L};/* VOLATILE GLOBAL g_521 */
static volatile union U1 * volatile g_520 = &g_521;/* VOLATILE GLOBAL g_520 */
static volatile union U1 * volatile *g_519 = &g_520;
static union U3 * const g_557[5] = {&g_392,&g_392,&g_392,&g_392,&g_392};
static int8_t g_579[6] = {0x19L,(-1L),0x7CL,0x7CL,(-1L),0x19L};
static int32_t ** volatile g_580 = 0;/* VOLATILE GLOBAL g_580 */
static int32_t ** volatile g_581 = &g_114;/* VOLATILE GLOBAL g_581 */
static union U3 **g_590 = &g_394;
static union U3 *** volatile g_589 = &g_590;/* VOLATILE GLOBAL g_589 */
static struct S0 * volatile g_592 = 0;/* VOLATILE GLOBAL g_592 */
static int32_t **g_595 = &g_114;
static int32_t *** volatile g_594 = &g_595;/* VOLATILE GLOBAL g_594 */
static union U2 g_597 = {-1L};
static union U2 *g_613 = 0;
static union U2 ** volatile g_612 = &g_613;/* VOLATILE GLOBAL g_612 */
static union U3 g_618 = {0x90L};/* VOLATILE GLOBAL g_618 */
static union U8 *g_621 = &g_201;
static union U8 ** volatile g_620 = &g_621;/* VOLATILE GLOBAL g_620 */
static volatile int32_t * volatile g_640 = 0;/* VOLATILE GLOBAL g_640 */
static volatile int32_t * const  volatile g_641[9][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}}};
static volatile int32_t * volatile g_642 = &g_6;/* VOLATILE GLOBAL g_642 */
static union U5 *g_644[5] = {&g_92,&g_92,&g_92,&g_92,&g_92};
static int32_t * volatile g_655 = 0;/* VOLATILE GLOBAL g_655 */
static int32_t * const  volatile g_656 = 0;/* VOLATILE GLOBAL g_656 */
static int32_t * volatile g_659 = &g_170;/* VOLATILE GLOBAL g_659 */
static int8_t *g_683[8] = {0,0,0,0,0,0,0,0};
static struct S0 * volatile g_703[6][3][7] = {{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}},{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}},{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}},{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}},{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}},{{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1},{&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1,&g_148.f1}}};
static union U1 *g_726 = 0;
static union U1 ** volatile g_725 = &g_726;/* VOLATILE GLOBAL g_725 */
static int8_t *g_740 = &g_468.f2.f0;
static union U7 ** volatile g_782 = &g_367;/* VOLATILE GLOBAL g_782 */
static union U7 ** const  volatile g_799 = 0;/* VOLATILE GLOBAL g_799 */
static union U7 ** volatile g_800 = &g_367;/* VOLATILE GLOBAL g_800 */
static int32_t * volatile g_804[2][3] = {{&g_81,&g_81,&g_81},{&g_81,&g_81,&g_81}};
static union U7 ** volatile g_818 = &g_367;/* VOLATILE GLOBAL g_818 */
static int32_t *g_837 = &g_81;
static union U8 ** volatile g_908 = &g_621;/* VOLATILE GLOBAL g_908 */
static uint64_t g_915 = 0x781E46F014D277B0LL;


/* --- FORWARD DECLARATIONS --- */
static int8_t  func_1(void);
static int8_t  func_17(int8_t * p_18, int8_t * p_19, uint32_t  p_20);
static int8_t * func_21(int16_t  p_22, int32_t  p_23, int8_t * p_24, int8_t  p_25, const union U2  p_26);
static int32_t  func_27(uint64_t  p_28);
static int32_t  func_31(int8_t  p_32, union U1  p_33, int8_t * p_34, int8_t * p_35, const int8_t * p_36);
static union U1  func_37(uint8_t  p_38, struct S0  p_39, int8_t * p_40);
static struct S0  func_44(int32_t  p_45, uint8_t  p_46, int8_t * p_47, int8_t  p_48);
static int8_t * func_49(union U8  p_50, int8_t * p_51);
static union U8  func_52(int8_t * p_53, uint64_t  p_54);
static int8_t * func_55(union U2  p_56, int32_t  p_57, int64_t  p_58, int8_t * p_59);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_10 g_6 g_7 g_5 g_595 g_114 g_81 g_83.f2.f1 g_597 g_3 g_240.f2.f1 g_148.f1.f0 g_366 g_367 g_384.f0.f0 g_612 g_468.f2.f0 g_398.f0 g_485 g_620 g_306.f2.f1 g_683 g_312.f2.f1 g_421 g_66 g_86 g_520 g_521 g_170 g_42 g_378 g_4 g_77.f1.f3 g_148.f1.f3 g_240.f2.f0 g_410 g_392.f1.f3 g_240.f0.f4 g_479 g_461 g_243.f2.f0 g_725 g_597.f0 g_74.f1.f0 g_800 g_148.f1.f1 g_306.f0.f2 g_392.f1.f0 g_818 g_659 g_303.f2.f0 g_312.f2.f0 g_74.f1.f3 g_837 g_240.f2.f2 g_516 g_77.f1.f2 g_74.f1.f2 g_740 g_621 g_201 g_384.f2 g_303.f2.f3 g_312.f2.f2 g_92.f0 g_77.f1.f4 g_77.f3 g_148.f1.f2 g_201.f0 g_74.f1.f4 g_74.f1.f1 g_240.f2.f4 g_77.f1.f0 g_162 g_76 g_148.f2 g_305 g_165.f1.f0 g_287.f0 g_579 g_77.f1.f1 g_398.f1.f3 g_77.f2 g_243.f0.f4 g_83.f0.f2 g_468.f2.f1 g_618.f0 g_103 g_104 g_908 g_915
 * writes: g_3 g_7 g_66 g_148.f3 g_306.f2.f1 g_367 g_613 g_92.f0 g_81 g_114 g_621 g_312.f2.f1 g_243.f2.f1 g_398.f0 g_170 g_74.f3 g_5 g_306.f2.f3 g_240.f2.f3 g_243.f2.f3 g_4 g_74.f1.f4 g_148.f1.f2 g_148.f1.f0 g_468.f2.f3 g_726 g_240.f2.f4 g_597.f0 g_392.f0 g_644 g_83.f2.f3 g_74.f1.f1 g_86 g_243.f2 g_162 g_148.f2 g_240.f2.f0 g_305 g_76 g_312.f2.f0 g_306.f2 g_148.f1.f4 g_303.f2
 */
static int8_t  func_1(void)
{ /* block id: 0 */
    struct S0 l_2[9] = {{0x6BL,1L,0x3E19F23EL,3U,0x9E71B35D56974EDFLL},{0x3EL,0x0C65L,0x8AAB5641L,9U,0xEAE215169FF4CAA5LL},{0x6BL,-1L,18446744073709551615U,0x228D5FEAF86F25DBLL,0xB058EFA97F51EF99LL},{0x3EL,0x0C65L,0x8AAB5641L,9U,0xEAE215169FF4CAA5LL},{0x6BL,1L,0x3E19F23EL,3U,0x9E71B35D56974EDFLL},{0x5DL,-10L,0x3267E6AAL,0U,1L},{0x6BL,1L,0x3E19F23EL,3U,0x9E71B35D56974EDFLL},{0x3EL,0x0C65L,0x8AAB5641L,9U,0xEAE215169FF4CAA5LL},{0x6BL,-1L,18446744073709551615U,0x228D5FEAF86F25DBLL,0xB058EFA97F51EF99LL}};
    int32_t l_596 = 0xC47FAB66L;
    int8_t *l_684 = &g_243.f2.f0;
    union U7 *l_817 = &g_148;
    int32_t l_842 = 1L;
    union U2 l_843[9] = {{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L},{1L}};
    struct S0 l_871 = {-10L,0xB196L,6U,0x282727D0C6DD4D77LL,0x349398016CFFDBF8LL};
    union U2 l_897 = {1L};
    union U8 *l_907 = &g_201;
    struct S0 *l_917 = &g_303[1].f2;
    int i;
    for (g_3 = 8; (g_3 >= 0); g_3 -= 1)
    { /* block id: 3 */
        uint32_t l_15 = 0x54384F3AL;
        uint8_t l_812 = 255U;
        union U2 l_846 = {-3L};
        union U1 l_855 = {1U};
        uint16_t l_870[4][1][3] = {{{65526U,0x4440L,65526U}},{{65526U,0x4440L,65526U}},{{65526U,0x4440L,65526U}},{{65526U,0x4440L,65526U}}};
        union U3 ***l_898[3][10];
        int32_t l_916[6] = {(-1L),(-7L),6L,6L,(-7L),(-1L)};
        int i, j, k;
        for (i = 0; i < 3; i++)
        {
            for (j = 0; j < 10; j++)
                l_898[i][j] = &g_590;
        }
        for (g_7 = 0; (g_7 <= 8); g_7 += 1)
        { /* block id: 6 */
            uint64_t l_16 = 0xB06862EAE2646899LL;
            uint64_t l_600 = 0xFE81E330FC84EF7ELL;
            union U6 **l_810[10];
            union U8 l_859 = {0xCFF84680L};
            int8_t *l_899 = &l_871.f0;
            int i;
            for (i = 0; i < 10; i++)
                l_810[i] = 0;
            if (((((safe_add_func_uint16_t_u_u((g_10 == g_10), (safe_lshift_func_int8_t_s_s((safe_mod_func_uint16_t_u_u(g_6, g_7)), (l_15 ^ g_7))))) || g_6) == l_16) && func_17(func_21(l_15, ((func_27(g_5[5][0]) & (g_83.f2.f1 > l_596)) != l_16), func_55(g_597, (((**g_595) || (**g_595)) == (safe_add_func_uint32_t_u_u(l_600, (**g_595)))), (((*g_595) != (*g_595)) == l_600), &g_579[1]), (~g_240.f2.f1), g_597), l_684, g_83.f2.f1)))
            { /* block id: 732 */
                int8_t l_831 = 0x49L;
                int32_t *l_836 = 0;
                int8_t *l_849 = &l_843[8].f0;
                uint32_t l_858 = 0x0A852FA1L;
                const uint32_t l_881 = 0x1342D805L;
                union U6 *l_888[9];
                int i;
                for (i = 0; i < 9; i++)
                    l_888[i] = 0;
                for (g_392.f0 = 0; (g_392.f0 <= 8); g_392.f0 += 1)
                { /* block id: 735 */
                    int32_t *l_811 = &g_81;
                    union U5 *l_821 = &g_92;
                    (*l_811) ^= (safe_lshift_func_uint8_t_u_u(0U, (l_16 <= ((safe_rshift_func_int16_t_s_u((g_148.f1.f1 != g_306.f0.f2), 10)) > (0 == l_810[1])))));
                    if ((*g_461))
                    { /* block id: 737 */
                        l_596 ^= (!l_812);
                        (*l_811) = ((*l_811) < (safe_rshift_func_uint8_t_u_u(g_392.f1.f0, (safe_rshift_func_uint8_t_u_s(l_812, 5)))));
                        return (*l_811);
                    }
                    else
                    { /* block id: 741 */
                        union U5 **l_822 = &g_644[3];
                        (*g_818) = l_817;
                        (*l_811) ^= ((0 == &g_579[4]) && (safe_div_func_uint16_t_u_u(l_15, l_16)));
                        (*l_822) = l_821;
                        (*l_811) |= (*g_659);
                    }
                }
                l_2[g_7] = func_44((((safe_lshift_func_int8_t_s_u((safe_mul_func_int8_t_s_s((safe_sub_func_uint64_t_u_u(g_4, g_74.f1.f0)), l_831)), (safe_rshift_func_uint16_t_u_s(g_303[1].f2.f0, 7)))) & g_312.f2.f0) != (l_812 >= ((safe_mod_func_uint64_t_u_u((g_367 != l_817), (l_842 && g_7))) ^ (g_74.f1.f3 != ((*g_837) == l_812))))), g_240.f2.f2, func_55(l_843[8], g_516, ((safe_mod_func_uint16_t_u_u(1U, l_16)) | g_77[1][0].f1.f2), func_55(l_846, g_74.f1.f2, ((safe_sub_func_uint16_t_u_u((l_843[8].f0 & l_600), (g_83.f2.f1 & (*g_740)))) & (*g_837)), func_49((*g_621), l_849))), (g_148.f1.f0 && ((-4L) & (((g_77[1][0].f1.f3 != g_384[0].f2) && (g_303[1].f2.f3 < g_306.f2.f1)) >= g_312.f2.f2))));
                if (((l_600 ^ ((l_15 != l_16) & l_16)) != 1U))
                { /* block id: 749 */
                    int32_t *l_850 = &g_170;
                    uint32_t l_864 = 0x1216DAFDL;
                    l_836 = l_850;
                    for (g_392.f0 = 0; (g_392.f0 <= 8); g_392.f0 += 1)
                    { /* block id: 753 */
                        int64_t l_869[4] = {0x2ACB8B813B59847CLL,(-1L),0x2ACB8B813B59847CLL,(-1L)};
                        int i;
                        (*g_837) = (*l_836);
                        (*l_836) = (safe_add_func_int8_t_s_s((*g_740), (safe_sub_func_uint64_t_u_u((func_31((*l_850), l_855, l_684, func_55(l_843[7], (safe_sub_func_uint32_t_u_u((*l_836), l_858)), (g_165.f1.f0 ^ g_287[1][3][2].f0), &g_579[1]), func_49(l_859, func_49((*g_621), &g_579[1]))) == (+(safe_mul_func_int16_t_s_s(g_516, (safe_lshift_func_int8_t_s_s(l_864, 5)))))), (safe_lshift_func_int16_t_s_s(((l_812 >= (safe_mul_func_uint16_t_u_u(g_77[1][0].f1.f1, l_869[1]))) <= (l_870[0][0][0] >= (g_384[0].f2 && g_77[1][0].f1.f0))), 4))))));
                    }
                }
                else
                { /* block id: 757 */
                    if (l_870[1][0][2])
                    { /* block id: 758 */
                        int i;
                        l_871 = l_2[g_7];
                        return l_600;
                    }
                    else
                    { /* block id: 761 */
                        uint32_t l_872 = 1U;
                        (*g_837) = l_872;
                        if (l_831)
                            goto lbl_918;
                    }
                }
                for (g_312.f2.f0 = 0; (g_312.f2.f0 <= 0); g_312.f2.f0 += 1)
                { /* block id: 767 */
                    int32_t l_875 = 6L;
                    struct S0 *l_891 = &g_306.f2;
                    if (((-9L) < ((safe_add_func_uint8_t_u_u(l_858, (0 == &g_92))) ^ l_875)))
                    { /* block id: 768 */
                        uint64_t l_876 = 0xE88CE2A31D745942LL;
                        return l_876;
                    }
                    else
                    { /* block id: 770 */
                        const int32_t l_882 = (-1L);
                        int64_t l_885 = 0xE0FF40B4CB09A6F2LL;
                        int i, j, k;
                        (*g_837) &= (safe_sub_func_uint32_t_u_u(l_871.f0, (((safe_lshift_func_int16_t_s_s((l_16 < (l_881 & l_882)), g_398.f1.f3)) <= (g_516 == ((safe_lshift_func_uint8_t_u_u(g_77[1][0].f2, 1)) != (l_885 | l_882)))) ^ g_303[1].f2.f0)));
                        (*g_837) ^= l_871.f4;
                        (*g_837) |= (0xD4L >= (safe_sub_func_int8_t_s_s((g_243.f0.f4 | l_875), l_855.f0)));
                        l_888[4] = 0;
                    }
                    (*g_837) = ((g_83.f0.f2 < g_74.f1.f4) | (((0x050AL | l_855.f0) & l_843[8].f0) & (safe_add_func_uint32_t_u_u(g_312.f2.f2, (g_468.f2.f1 > g_468.f2.f0)))));
                    (*l_891) = l_2[g_7];
                }
            }
            else
            { /* block id: 779 */
                int32_t *l_892 = &g_81;
                struct S0 l_914[1] = {{6L,-3L,0U,0x2170B1315CFD4F44LL,-1L}};
                int i;
                (*g_595) = l_892;
                if ((safe_mul_func_uint16_t_u_u(g_579[1], (0 != &g_644[3]))))
                { /* block id: 781 */
                    int8_t l_895 = 6L;
                    int8_t *l_896[3];
                    int i;
                    for (i = 0; i < 3; i++)
                        l_896[i] = &g_240.f2.f0;
                    (*l_892) = (((func_31((l_895 > ((*l_892) != l_895)), (*g_520), l_896[1], func_55(l_897, l_16, (l_898[0][6] != &g_590), l_899), &g_579[1]) != g_312.f2.f1) != l_895) & ((safe_mod_func_uint16_t_u_u(g_618.f0, 0xE2D7L)) | g_243.f2.f0));
                }
                else
                { /* block id: 783 */
                    for (g_597.f0 = 0; (g_597.f0 >= (-20)); g_597.f0 = safe_sub_func_int32_t_s_s(g_597.f0, 1))
                    { /* block id: 786 */
                        uint64_t l_906 = 0x82CBDECBDD8D1EE7LL;
                        (*g_837) &= ((safe_mul_func_int16_t_s_s(l_906, g_74.f1.f1)) != (0x215DCCCF2D68FA58LL <= ((*g_103) != 0)));
                        (*g_908) = l_907;
                    }
                    for (g_148.f1.f4 = 0; (g_148.f1.f4 != 23); g_148.f1.f4 = safe_add_func_int8_t_s_s(g_148.f1.f4, 1))
                    { /* block id: 792 */
                        int64_t l_911 = (-1L);
                        l_911 |= (*g_421);
                        (**g_595) &= (safe_sub_func_uint32_t_u_u(l_871.f4, l_859.f0));
                    }
                }
                l_914[0] = l_914[0];
            }
            return g_915;
        }
        if (l_846.f0)
            continue;
        (*g_114) &= l_916[0];
    }
    (*g_114) |= (-5L);
lbl_918:
    (*l_917) = l_2[5];
    return l_871.f4;
}


/* ------------------------------------------ */
/* 
 * reads : g_595 g_421 g_81 g_66 g_86 g_114 g_520 g_521 g_170 g_42 g_366 g_378 g_3 g_4 g_77.f1.f3 g_148.f1.f3 g_240.f2.f0 g_410 g_392.f1.f3 g_240.f0.f4 g_479 g_461 g_485 g_243.f2.f0 g_725 g_597.f0 g_5 g_74.f1.f0 g_800 g_312.f2.f1
 * writes: g_312.f2.f1 g_243.f2.f1 g_114 g_398.f0 g_66 g_148.f3 g_170 g_74.f3 g_367 g_5 g_306.f2.f3 g_240.f2.f3 g_243.f2.f3 g_4 g_74.f1.f4 g_148.f1.f2 g_81 g_148.f1.f0 g_468.f2.f3 g_726 g_240.f2.f4 g_597.f0 g_613
 */
static int8_t  func_17(int8_t * p_18, int8_t * p_19, uint32_t  p_20)
{ /* block id: 578 */
    uint32_t l_685[8] = {0x36F946D9L,2U,0x36F946D9L,2U,0x36F946D9L,2U,0x36F946D9L,2U};
    int32_t ** const *l_686 = &g_595;
    struct S0 l_706 = {0x0DL,0xFE2FL,6U,0xC29F4D792E1C9F6ELL,0x192F29CEABFC4672LL};
    int8_t *l_716 = &g_240.f2.f0;
    int32_t l_717 = 0xE25CB76EL;
    union U1 l_739[3] = {{0x57B5L},{0x57B5L},{0x57B5L}};
    uint16_t l_755 = 65535U;
    union U3 * const l_784 = &g_398;
    uint32_t l_796 = 0xA563BAAEL;
    union U7 *l_798 = 0;
    int i;
    if ((l_685[6] == (&g_581 == l_686)))
    { /* block id: 579 */
        int64_t l_692 = 1L;
        union U5 **l_710 = &g_644[3];
        int32_t l_711 = 0x0279658CL;
        struct S0 l_731 = {0xB7L,7L,18446744073709551615U,18446744073709551615U,3L};
        struct S0 *l_741 = &g_303[1].f2;
        for (g_312.f2.f1 = 0; (g_312.f2.f1 <= 0); g_312.f2.f1 = safe_add_func_uint16_t_u_u(g_312.f2.f1, 1))
        { /* block id: 582 */
            int32_t *l_691[6];
            struct S0 l_707 = {-3L,0x86F7L,7U,0x5335A259558E84E0LL,0L};
            int64_t l_714[3];
            int i;
            for (i = 0; i < 6; i++)
                l_691[i] = 0;
            for (i = 0; i < 3; i++)
                l_714[i] = 0x52F72BACED1DB994LL;
            for (g_243.f2.f1 = (-21); (g_243.f2.f1 < (-14)); g_243.f2.f1 = safe_add_func_uint8_t_u_u(g_243.f2.f1, 9))
            { /* block id: 585 */
                if (p_20)
                    break;
                (*g_595) = l_691[1];
                l_692 |= 0x8C89D464L;
            }
            if (p_20)
            { /* block id: 590 */
                int16_t l_695 = (-1L);
                struct S0 l_705 = {0xF8L,0L,18446744073709551606U,0x722EA556E8BB4451LL,0x847C8F52535677E8LL};
                uint16_t l_709 = 5U;
                if (((251U < (safe_rshift_func_uint16_t_u_s(l_695, p_20))) | (safe_sub_func_uint64_t_u_u(l_692, (safe_lshift_func_uint16_t_u_u(l_692, 2))))))
                { /* block id: 591 */
                    for (g_398.f0 = (-14); (g_398.f0 < 8); g_398.f0 = safe_add_func_int32_t_s_s(g_398.f0, 4))
                    { /* block id: 594 */
                        int16_t l_702[3] = {0x462BL,0L,0x462BL};
                        int i;
                        return l_702[2];
                    }
                }
                else
                { /* block id: 597 */
                    int32_t l_708 = 0xA79DF1A7L;
                    if ((*g_421))
                        break;
                    for (g_66 = 2; (g_66 >= 0); g_66 -= 1)
                    { /* block id: 601 */
                        struct S0 *l_704[8][9];
                        int i, j;
                        for (i = 0; i < 8; i++)
                        {
                            for (j = 0; j < 9; j++)
                                l_704[i][j] = 0;
                        }
                        l_705 = g_86[g_66];
                        l_707 = l_706;
                        l_708 = p_20;
                        for (g_398.f0 = 0; (g_398.f0 <= 1); g_398.f0 += 1)
                        { /* block id: 607 */
                            return l_708;
                        }
                    }
                    l_709 = l_705.f2;
                    l_710 = &g_644[4];
                }
                l_711 = p_20;
            }
            else
            { /* block id: 615 */
                uint16_t l_712 = 0xECFAL;
                if (l_712)
                { /* block id: 616 */
                    int32_t l_713[8][4][4] = {{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}},{{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)},{0xDDBE7BC7L,(-7L),9L,(-7L)}}};
                    int32_t l_718 = 0xB6B62DB9L;
                    uint32_t l_720 = 0x54DFE226L;
                    struct S0 l_723 = {7L,0xAFCDL,1U,0xBD94375F601FF443LL,-1L};
                    int i, j, k;
                    for (g_148.f3 = 0; (g_148.f3 <= 4); g_148.f3 += 1)
                    { /* block id: 619 */
                        uint64_t l_715 = 0U;
                        l_713[6][3][3] = (-8L);
                        (*g_595) = &l_711;
                        for (l_692 = 0; (l_692 <= 1); l_692 += 1)
                        { /* block id: 624 */
                            (***l_686) = func_27((l_714[2] != p_20));
                            return l_715;
                        }
                    }
                    if (p_20)
                    { /* block id: 629 */
                        int32_t *l_719 = 0;
                        l_717 ^= (l_712 != func_31(l_712, (*g_520), l_716, p_18, l_716));
                        l_718 = 0x64077A03L;
                        (**l_686) = l_719;
                        return (*p_19);
                    }
                    else
                    { /* block id: 634 */
                        uint8_t l_721[3][1][1];
                        struct S0 l_722[6][6][1] = {{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}},{{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}},{{1L,7L,18446744073709551615U,18446744073709551613U,0L}}}};
                        int i, j, k;
                        for (i = 0; i < 3; i++)
                        {
                            for (j = 0; j < 1; j++)
                            {
                                for (k = 0; k < 1; k++)
                                    l_721[i][j][k] = 251U;
                            }
                        }
                        (*g_595) = 0;
                        l_721[0][0][0] ^= (l_711 > l_720);
                        l_723 = l_722[5][3][0];
                        return l_692;
                    }
                }
                else
                { /* block id: 640 */
                    union U1 *l_724 = &g_287[0][4][7];
                    if (p_20)
                        break;
                    (*g_725) = l_724;
                }
                for (g_148.f1.f2 = 0; (g_148.f1.f2 < 43); g_148.f1.f2 = safe_add_func_int16_t_s_s(g_148.f1.f2, 1))
                { /* block id: 646 */
                    const union U5 *l_735 = 0;
                    const union U5 **l_734[4][2][6];
                    const union U5 ***l_733 = &l_734[0][1][2];
                    struct S0 l_736[7] = {{-1L,0xD654L,1U,0xF40EB36004C20563LL,0xED552C0BE492ECD5LL},{6L,-5L,0xB39B3458L,0x231AFE4729F3D8ABLL,-1L},{-1L,0xD654L,1U,0xF40EB36004C20563LL,0xED552C0BE492ECD5LL},{6L,-5L,0xB39B3458L,0x231AFE4729F3D8ABLL,-1L},{-1L,0xD654L,1U,0xF40EB36004C20563LL,0xED552C0BE492ECD5LL},{6L,-5L,0xB39B3458L,0x231AFE4729F3D8ABLL,-1L},{-1L,0xD654L,1U,0xF40EB36004C20563LL,0xED552C0BE492ECD5LL}};
                    int i, j, k;
                    for (i = 0; i < 4; i++)
                    {
                        for (j = 0; j < 2; j++)
                        {
                            for (k = 0; k < 6; k++)
                                l_734[i][j][k] = &l_735;
                        }
                    }
                    for (g_240.f2.f4 = 0; (g_240.f2.f4 <= (-13)); g_240.f2.f4 = safe_sub_func_int64_t_s_s(g_240.f2.f4, 1))
                    { /* block id: 649 */
                        struct S0 *l_732 = &l_731;
                        (*l_732) = l_731;
                    }
                    (*l_733) = 0;
                    if (l_712)
                        break;
                    l_706 = l_736[0];
                }
            }
        }
        for (l_706.f0 = 0; (l_706.f0 <= 0); l_706.f0 += 1)
        { /* block id: 660 */
            union U1 **l_751[7];
            union U1 ** const * const l_750 = &l_751[0];
            union U7 *l_781 = &g_148;
            int32_t l_783 = 0L;
            int i;
            for (i = 0; i < 7; i++)
                l_751[i] = &g_726;
            for (g_597.f0 = 0; (g_597.f0 <= 1); g_597.f0 += 1)
            { /* block id: 663 */
                union U2 **l_742 = &g_613;
                int32_t l_747 = 7L;
                int i, j;
                g_5[(g_597.f0 + 3)][l_706.f0] &= (0x3CD4L < (1U == p_20));
                if (l_731.f0)
                    continue;
                (*l_742) = 0;
                for (g_74.f1.f4 = 0; (g_74.f1.f4 <= 2); g_74.f1.f4 += 1)
                { /* block id: 669 */
                    union U1 **l_749[3][10][7];
                    union U1 ***l_748[4];
                    int32_t *l_752 = 0;
                    int i, j, k;
                    for (i = 0; i < 3; i++)
                    {
                        for (j = 0; j < 10; j++)
                        {
                            for (k = 0; k < 7; k++)
                                l_749[i][j][k] = 0;
                        }
                    }
                    for (i = 0; i < 4; i++)
                        l_748[i] = &l_749[2][0][3];
                    g_170 &= ((8L == (safe_lshift_func_uint16_t_u_u(g_5[(l_706.f0 + 7)][l_706.f0], 7))) != (((g_74.f1.f0 ^ ((l_747 || p_20) != (l_748[3] == l_750))) || 0x49B43130L) || l_747));
                    l_711 &= p_20;
                }
            }
            for (l_706.f3 = 0; (l_706.f3 <= 2); l_706.f3 += 1)
            { /* block id: 676 */
                int32_t *l_756[9][2][8];
                struct S0 l_772 = {-3L,-1L,4U,0x8B116A3BFEB019D1LL,1L};
                int i, j, k;
                for (i = 0; i < 9; i++)
                {
                    for (j = 0; j < 2; j++)
                    {
                        for (k = 0; k < 8; k++)
                            l_756[i][j][k] = &g_170;
                    }
                }
            }
        }
        return (*p_19);
    }
    else
    { /* block id: 727 */
        union U2 *l_803 = 0;
        int32_t l_805 = 0xE4E10855L;
        (*g_800) = l_798;
        l_805 = (safe_add_func_uint64_t_u_u((l_803 == 0), 18446744073709551607U));
    }
    return (*p_19);
}


/* ------------------------------------------ */
/* 
 * reads : g_148.f1.f0 g_366 g_367 g_384.f0.f0 g_595 g_114 g_81 g_612 g_468.f2.f0 g_398.f0 g_485 g_620 g_306.f2.f1 g_683
 * writes: g_148.f3 g_306.f2.f1 g_367 g_613 g_92.f0 g_81 g_114 g_621
 */
static int8_t * func_21(int16_t  p_22, int32_t  p_23, int8_t * p_24, int8_t  p_25, const union U2  p_26)
{ /* block id: 502 */
    union U3 *l_617 = &g_618;
    int32_t *l_622 = &g_3;
    volatile int32_t *l_643 = 0;
    uint32_t l_650 = 0xB5C4DB49L;
    if ((safe_add_func_int64_t_s_s(g_148.f1.f0, (safe_lshift_func_uint8_t_u_u(p_23, p_25)))))
    { /* block id: 503 */
        for (g_148.f3 = 21; (g_148.f3 > 48); g_148.f3 = safe_add_func_uint16_t_u_u(g_148.f3, 2))
        { /* block id: 506 */
            const int8_t l_607 = (-5L);
            int32_t l_611[5] = {1L,1L,(-4L),1L,1L};
            int i;
            if (l_607)
                break;
            for (g_306.f2.f1 = 0; (g_306.f2.f1 < 27); g_306.f2.f1 = safe_add_func_uint16_t_u_u(g_306.f2.f1, 1))
            { /* block id: 510 */
                union U7 **l_610 = &g_367;
                (*l_610) = (*g_366);
                if ((func_27((4294967295U || (p_22 | (func_27(g_384[0].f0.f0) >= 0x0DFB7ED7D2406A5DLL)))) < ((l_611[4] >= p_26.f0) == l_611[1])))
                { /* block id: 512 */
                    (*g_612) = &g_597;
                }
                else
                { /* block id: 514 */
                    int8_t *l_619 = &g_579[1];
                    for (g_92.f0 = 21; (g_92.f0 <= (-8)); g_92.f0 = safe_sub_func_uint32_t_u_u(g_92.f0, 1))
                    { /* block id: 517 */
                        union U3 * const l_616 = &g_392;
                        (*g_114) = (g_468.f2.f0 ^ g_398.f0);
                        l_617 = l_616;
                        return l_619;
                    }
                    if (l_611[2])
                        break;
                    (*g_595) = (*g_485);
                    (*g_620) = &g_201;
                }
            }
        }
    }
    else
    { /* block id: 528 */
        int16_t l_627 = (-1L);
        union U5 *l_629 = &g_92;
        union U5 **l_628[1][9];
        union U1 *l_654 = 0;
        int32_t l_658 = 0x5A04BEB3L;
        int i, j;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 9; j++)
                l_628[i][j] = &l_629;
        }
lbl_682:
        (*g_595) = l_622;
        for (g_306.f2.f1 = 0; (g_306.f2.f1 > (-22)); g_306.f2.f1 = safe_sub_func_uint16_t_u_u(g_306.f2.f1, 1))
        { /* block id: 532 */
            union U5 **l_630 = &l_629;
            int32_t l_631 = 0x655CBAF6L;
            uint64_t l_649[1][2];
            union U2 l_675 = {0x3DL};
            int i, j;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 2; j++)
                    l_649[i][j] = 18446744073709551615U;
            }
        }
        l_622 = &l_658;
        if (g_306.f2.f1)
            goto lbl_682;
    }
    return g_683[3];
}


/* ------------------------------------------ */
/* 
 * reads : g_595 g_114 g_81 g_3
 * writes:
 */
static int32_t  func_27(uint64_t  p_28)
{ /* block id: 7 */
    int32_t *l_489[1];
    union U4 *l_492 = &g_312;
    struct S0 l_544 = {-8L,0xF582L,0U,5U,1L};
    uint64_t l_564 = 0xF8696917C942A9D6LL;
    const int16_t l_572 = 0x1645L;
    int i;
    for (i = 0; i < 1; i++)
        l_489[i] = &g_7;
    for (p_28 = 20; (p_28 < 56); p_28 = safe_add_func_uint64_t_u_u(p_28, 7))
    { /* block id: 10 */
        const int8_t * const l_41 = &g_42;
        int32_t l_43 = 0x15DA7723L;
        union U2 l_60 = {0x83L};
        union U8 l_356 = {1L};
        const int8_t *l_357 = &g_303[1].f2.f0;
        int8_t *l_500 = &g_303[1].f2.f0;
        struct S0 l_591[2][9][2] = {{{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}}},{{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}},{{-10L,0xAD52L,8U,0x2995FA702A3431CBLL,-8L},{-1L,0L,0x874EFEC7L,5U,0xEB76B359ED372D56LL}}}};
        struct S0 *l_593 = &g_74.f1;
        int i, j, k;
    }
    return (**g_595);
}


/* ------------------------------------------ */
/* 
 * reads : g_170 g_42 g_366 g_378 g_3 g_4 g_77.f1.f3 g_148.f1.f3 g_303.f2.f0 g_410 g_421 g_392.f1.f3 g_81 g_240.f0.f4 g_479 g_461 g_114 g_485 g_74.f3 g_74.f1.f4 g_148.f1.f0 g_240.f2.f0 g_243.f2.f0 g_579
 * writes: g_170 g_74.f3 g_367 g_5 g_306.f2.f3 g_240.f2.f3 g_243.f2.f3 g_114 g_4 g_74.f1.f4 g_148.f1.f2 g_81 g_148.f1.f0 g_66 g_468.f2.f3
 */
static int32_t  func_31(int8_t  p_32, union U1  p_33, int8_t * p_34, int8_t * p_35, const int8_t * p_36)
{ /* block id: 293 */
    int32_t *l_358 = &g_170;
    union U1 *l_380 = &g_287[1][2][6];
    union U1 **l_379 = &l_380;
    union U6 *l_383 = &g_384[0];
    union U4 **l_403 = 0;
    union U7 *l_409 = &g_74;
    struct S0 l_414 = {0x28L,0x6A3AL,5U,0x4B3191E6CDAA7D7ELL,0L};
    int32_t l_420 = 0x5EF00260L;
    int8_t *l_470 = &g_240.f2.f0;
    (*l_358) |= 1L;
    if ((safe_lshift_func_uint16_t_u_u(((safe_mod_func_int8_t_s_s((*l_358), (p_33.f0 ^ g_42))) > (*l_358)), (*l_358))))
    { /* block id: 295 */
        int32_t l_368[1][6][3] = {{{0x6410E499L,0x6410E499L,1L},{0x6410E499L,0x6410E499L,1L},{0x6410E499L,0x6410E499L,1L},{0x6410E499L,0x6410E499L,1L},{0x6410E499L,0x6410E499L,1L},{0x6410E499L,0x6410E499L,1L}}};
        union U6 *l_385 = &g_384[0];
        uint64_t l_390 = 0x503ACE0EB751AC89LL;
        union U3 *l_391 = &g_392;
        union U7 *l_432 = &g_148;
        struct S0 *l_450 = &l_414;
        union U4 *l_474 = 0;
        struct S0 l_488 = {0L,1L,18446744073709551613U,0x628A893BD6C85D35LL,-1L};
        int i, j, k;
        for (g_74.f3 = 0; (g_74.f3 == 19); g_74.f3 = safe_add_func_uint64_t_u_u(g_74.f3, 1))
        { /* block id: 298 */
            union U7 *l_365 = &g_74;
            union U3 *l_397 = &g_398;
            (*g_366) = l_365;
            g_5[3][0] ^= l_368[0][3][1];
            for (g_306.f2.f3 = 0; (g_306.f2.f3 != 4); g_306.f2.f3 = safe_add_func_uint32_t_u_u(g_306.f2.f3, 1))
            { /* block id: 303 */
                volatile int32_t *l_372 = &g_6;
                volatile int32_t **l_371 = &l_372;
                (*l_371) = &g_4;
                for (g_240.f2.f3 = (-6); (g_240.f2.f3 < 36); g_240.f2.f3 = safe_add_func_uint8_t_u_u(g_240.f2.f3, 9))
                { /* block id: 307 */
                    int32_t *l_377 = &g_3;
                    for (g_243.f2.f3 = 26; (g_243.f2.f3 >= 20); g_243.f2.f3 = safe_sub_func_uint8_t_u_u(g_243.f2.f3, 4))
                    { /* block id: 310 */
                        union U1 ***l_382 = &l_379;
                        (*g_378) = l_377;
                        (*l_372) = ((*l_377) <= ((*l_372) != g_77[1][0].f1.f3));
                        (*l_382) = l_379;
                        l_385 = l_383;
                    }
                    if (l_368[0][3][1])
                    { /* block id: 316 */
                        const uint32_t l_386 = 0x0BC60471L;
                        (*l_372) = l_386;
                    }
                    else
                    { /* block id: 318 */
                        const uint64_t l_389 = 0x20BA6A2CC60A6073LL;
                        union U3 **l_395 = 0;
                        union U3 **l_396[3][5][10];
                        int32_t *l_408 = &l_368[0][3][1];
                        int i, j, k;
                        for (i = 0; i < 3; i++)
                        {
                            for (j = 0; j < 5; j++)
                            {
                                for (k = 0; k < 10; k++)
                                    l_396[i][j][k] = &l_391;
                            }
                        }
                        l_390 &= ((*l_377) >= (safe_rshift_func_uint16_t_u_u(l_389, (~(g_148.f1.f3 != 0x0A70AB15L)))));
                        l_397 = l_391;
                        (*l_408) |= (safe_add_func_uint32_t_u_u(((*l_372) > p_32), (safe_sub_func_uint16_t_u_u(((l_403 != &g_305[1][3][3]) >= (safe_mul_func_int16_t_s_s((0U ^ (safe_mul_func_int8_t_s_s((*p_36), p_32))), p_33.f0))), (*l_358)))));
                    }
                }
                return p_33.f0;
            }
            (*g_410) = l_409;
        }
        for (g_74.f1.f4 = (-29); (g_74.f1.f4 <= (-19)); g_74.f1.f4 = safe_add_func_int8_t_s_s(g_74.f1.f4, 1))
        { /* block id: 330 */
            struct S0 l_413 = {5L,0x8DB4L,6U,0x65DC183FE73E8426LL,0L};
            const int32_t l_419 = 0x190B672CL;
            union U4 *l_467 = &g_468;
            l_414 = l_413;
            for (g_148.f1.f2 = 0; (g_148.f1.f2 <= 42); g_148.f1.f2 = safe_add_func_int64_t_s_s(g_148.f1.f2, 1))
            { /* block id: 334 */
                for (g_170 = 5; (g_170 < (-1)); g_170 = safe_sub_func_uint32_t_u_u(g_170, 1))
                { /* block id: 337 */
                    int32_t l_424[3][2][10] = {{{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L},{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L}},{{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L},{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L}},{{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L},{(-9L),(-3L),0x72AB70C2L,1L,0L,1L,0x8EBBB528L,(-3L),(-3L),0x8EBBB528L}}};
                    int32_t *l_425 = &g_81;
                    int i, j, k;
                    l_420 &= (18446744073709551613U > l_419);
                    (*g_421) = (~p_33.f0);
                    (*l_425) &= ((safe_rshift_func_int16_t_s_s((g_392.f1.f3 <= p_32), ((*l_358) > ((0x4EL || (p_33.f0 <= l_424[2][0][6])) || l_368[0][3][1])))) && 0x004BL);
                }
            }
            for (l_420 = 6; (l_420 < (-28)); l_420 = safe_sub_func_uint32_t_u_u(l_420, 4))
            { /* block id: 345 */
                const int16_t l_428 = 1L;
                struct S0 l_438 = {-1L,-1L,0x5A522300L,0U,0xC7B043DE333DFAE3LL};
                int8_t *l_471 = &g_306.f2.f0;
                int32_t l_472[3];
                int i;
                for (i = 0; i < 3; i++)
                    l_472[i] = 0x177A4A05L;
            }
        }
        for (g_148.f1.f0 = 3; (g_148.f1.f0 >= 0); g_148.f1.f0 -= 1)
        { /* block id: 384 */
            union U4 *l_473 = &g_83;
            int32_t l_477 = 1L;
            struct S0 l_487[7][9] = {{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}},{{0L,1L,0x6963E362L,8U,-2L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{7L,0xA876L,0x29849A9DL,0x0364ADE65356E20BLL,0x298004607CCEBBEELL},{0x49L,0x9E57L,1U,1U,0xE92726E73D61359ELL},{9L,-3L,18446744073709551615U,18446744073709551615U,-7L},{0L,0L,9U,18446744073709551612U,0xF82673A5223A8795LL}}};
            int i, j;
            (*l_450) = l_414;
            l_474 = l_473;
            if (p_33.f0)
            { /* block id: 387 */
                const uint32_t l_478 = 0xE77B9367L;
                (*l_358) ^= (g_81 != (safe_lshift_func_uint8_t_u_u((l_477 || l_478), (g_240.f0.f4 != (18446744073709551609U < p_32)))));
            }
            else
            { /* block id: 389 */
                int32_t **l_480 = &g_114;
                (*g_461) = g_479;
                (*l_480) = &l_420;
                for (g_66 = 3; (g_66 >= 0); g_66 -= 1)
                { /* block id: 394 */
                    union U4 *l_481[6][5];
                    int i, j;
                    for (i = 0; i < 6; i++)
                    {
                        for (j = 0; j < 5; j++)
                            l_481[i][j] = 0;
                    }
                    for (l_414.f3 = 0; (l_414.f3 <= 0); l_414.f3 += 1)
                    { /* block id: 397 */
                        union U4 **l_482[8];
                        int i, j;
                        for (i = 0; i < 8; i++)
                            l_482[i] = &l_481[2][3];
                        (*l_358) ^= (**g_378);
                        l_473 = l_481[3][2];
                        (*l_358) &= 4L;
                    }
                }
            }
            for (l_414.f4 = 0; (l_414.f4 >= 0); l_414.f4 -= 1)
            { /* block id: 406 */
                int32_t * const l_483 = &l_368[0][2][2];
                int i;
                if ((0 == &g_384[g_148.f1.f0]))
                { /* block id: 407 */
                    for (g_468.f2.f3 = 0; (g_468.f2.f3 <= 0); g_468.f2.f3 += 1)
                    { /* block id: 410 */
                        int32_t **l_484[4][1];
                        int i, j;
                        for (i = 0; i < 4; i++)
                        {
                            for (j = 0; j < 1; j++)
                                l_484[i][j] = 0;
                        }
                        (*g_485) = l_483;
                    }
                }
                else
                { /* block id: 413 */
                    int32_t **l_486 = &g_114;
                    (*l_486) = &l_477;
                }
                l_488 = l_487[2][5];
            }
        }
    }
    else
    { /* block id: 419 */
        (*l_358) = (*g_461);
    }
    return p_32;
}


/* ------------------------------------------ */
/* 
 * reads : g_162 g_5 g_287 g_306.f2.f1
 * writes: g_306.f2.f1 g_312.f2.f0 g_162 g_5
 */
static union U1  func_37(uint8_t  p_38, struct S0  p_39, int8_t * p_40)
{ /* block id: 259 */
    uint32_t l_343[8][4] = {{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L},{4294967294U,0xB84883A5L,4294967294U,0xB84883A5L}};
    const int32_t *l_354 = &g_81;
    union U1 l_355 = {65535U};
    int i, j;
    for (g_306.f2.f1 = 0; (g_306.f2.f1 <= 0); g_306.f2.f1 += 1)
    { /* block id: 262 */
        union U4 * const *l_347 = &g_305[0][4][2];
        struct S0 l_351 = {-3L,-5L,8U,0xC5ABF7687097D60DLL,0L};
        l_343[0][0] ^= (safe_lshift_func_uint16_t_u_u(g_162, 5));
        for (p_39.f3 = 0; (p_39.f3 <= 0); p_39.f3 += 1)
        { /* block id: 266 */
            struct S0 l_352 = {1L,0L,0x078620BEL,0U,1L};
            int i, j;
            if (g_5[(p_39.f3 + 7)][p_39.f3])
                break;
            for (g_312.f2.f0 = 0; (g_312.f2.f0 <= 2); g_312.f2.f0 += 1)
            { /* block id: 270 */
                volatile int32_t **l_344 = 0;
                volatile int32_t *l_346 = 0;
                volatile int32_t **l_345 = &l_346;
                uint8_t l_348 = 0x96L;
                (*l_345) = &g_5[(p_39.f3 + 7)][p_39.f3];
                for (g_162 = 0; (g_162 <= 2); g_162 += 1)
                { /* block id: 274 */
                    (*l_346) = (&g_305[2][3][1] != l_347);
                    return g_287[1][3][2];
                }
                (*l_346) = 0x9743ED16L;
                if ((+p_39.f4))
                { /* block id: 279 */
                    if (l_348)
                    { /* block id: 280 */
                        (*l_346) = (safe_div_func_uint64_t_u_u(g_5[(p_39.f3 + 7)][p_39.f3], 18446744073709551615U));
                        l_352 = l_351;
                    }
                    else
                    { /* block id: 283 */
                        int32_t *l_353 = &g_81;
                        (**l_345) = (l_353 != l_354);
                    }
                }
                else
                { /* block id: 286 */
                    return g_287[1][3][2];
                }
            }
        }
    }
    return l_355;
}


/* ------------------------------------------ */
/* 
 * reads : g_92.f0 g_86 g_81 g_77.f1.f4 g_77.f3 g_83.f2.f1 g_148.f1.f2 g_148.f1.f1 g_201.f0 g_74.f1.f4 g_74.f1.f1 g_240.f2.f4 g_240.f2.f0 g_114 g_3 g_148.f1.f0 g_77.f1.f0 g_243.f2.f0 g_77.f1.f3 g_162 g_76 g_148.f2 g_305 g_74.f1.f2 g_240.f2.f1 g_306.f2.f1 g_83.f2.f3
 * writes: g_83.f2.f3 g_81 g_92.f0 g_114 g_170 g_74.f1.f1 g_86 g_243.f2 g_162 g_148.f2 g_240.f2.f0 g_305 g_76 g_66
 */
static struct S0  func_44(int32_t  p_45, uint8_t  p_46, int8_t * p_47, int8_t  p_48)
{ /* block id: 134 */
    int64_t l_207 = (-10L);
    struct S0 l_245 = {0x9CL,0x0651L,0U,0xFB83DA78BEC0A904LL,1L};
    union U5 *l_281 = 0;
    union U1 *l_286[2];
    int32_t l_307 = 0xB03C8F09L;
    uint32_t l_315 = 0xE52CF93EL;
    int i;
    for (i = 0; i < 2; i++)
        l_286[i] = &g_287[1][3][2];
    for (g_83.f2.f3 = 7; (g_83.f2.f3 <= 47); g_83.f2.f3 = safe_add_func_int64_t_s_s(g_83.f2.f3, 1))
    { /* block id: 137 */
        const uint32_t l_204[6][3][5] = {{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}},{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}},{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}},{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}},{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}},{{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U},{0x750F617FL,18446744073709551611U,0xF62E3C09L,1U,0U}}};
        int32_t *l_226 = 0;
        int32_t l_249 = 0xBB7E847FL;
        int32_t l_271[9][7] = {{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L},{0x77F54225L,(-1L),0x808C0821L,0x9139829FL,(-3L),(-1L),0L}};
        struct S0 l_334 = {0xEBL,0x71C6L,18446744073709551615U,0U,0x6C7DE986F67EDA57LL};
        int i, j, k;
        if (l_204[5][2][1])
        { /* block id: 138 */
            struct S0 l_222 = {0x62L,-8L,0xF4955D7BL,1U,9L};
            int32_t * const l_224[8] = {0,0,0,0,0,0,0,0};
            union U4 *l_242 = &g_243;
            union U4 **l_241 = &l_242;
            union U5 *l_244 = &g_92;
            int i;
            g_81 ^= 0x4D34D639L;
            for (p_45 = 0; (p_45 <= 2); p_45 += 1)
            { /* block id: 142 */
                int32_t **l_205 = &g_114;
                for (g_92.f0 = 2; (g_92.f0 >= 0); g_92.f0 -= 1)
                { /* block id: 145 */
                    int i;
                    return g_86[g_92.f0];
                }
                (*l_205) = &p_45;
                for (g_81 = 0; (g_81 <= 2); g_81 += 1)
                { /* block id: 151 */
                    int32_t *l_206 = &g_170;
                    int i;
                    (*l_206) |= 3L;
                    return g_86[g_81];
                }
            }
            if ((p_48 == l_207))
            { /* block id: 156 */
                uint32_t l_233 = 0xC5E05B46L;
                struct S0 l_247 = {0xA2L,0L,0x8E67CEB9L,1U,1L};
                int32_t l_254 = 0xC18ECF1CL;
                uint8_t l_255 = 0x7AL;
                if ((safe_sub_func_uint16_t_u_u(g_77[1][0].f1.f4, (safe_sub_func_int64_t_s_s(p_48, ((safe_add_func_int64_t_s_s(p_46, ((g_77[1][0].f3 > p_46) == g_83.f2.f1))) > (((safe_mod_func_int16_t_s_s(g_148.f1.f2, l_207)) > p_48) || (65528U == g_148.f1.f1))))))))
                { /* block id: 157 */
                    int32_t **l_225 = 0;
                    union U4 *l_239 = &g_240;
                    union U4 **l_238 = &l_239;
                    for (g_74.f1.f1 = 27; (g_74.f1.f1 == (-29)); g_74.f1.f1 = safe_sub_func_uint16_t_u_u(g_74.f1.f1, 3))
                    { /* block id: 160 */
                        int32_t **l_220 = &g_114;
                        int32_t ***l_221 = &l_220;
                        struct S0 *l_223[6];
                        int i;
                        for (i = 0; i < 6; i++)
                            l_223[i] = 0;
                        (*l_221) = l_220;
                        g_86[0] = l_222;
                    }
                    l_226 = l_224[4];
                    p_45 |= (safe_mul_func_uint16_t_u_u(((-8L) < (g_201.f0 <= (safe_div_func_int8_t_s_s(1L, (safe_sub_func_int64_t_s_s(p_46, g_74.f1.f4)))))), (l_233 != (safe_lshift_func_uint8_t_u_u((safe_lshift_func_int8_t_s_s((l_238 == l_241), 7)), (0 != l_244))))));
                }
                else
                { /* block id: 166 */
                    struct S0 *l_246[8];
                    int32_t l_248[1];
                    int i;
                    for (i = 0; i < 8; i++)
                        l_246[i] = &l_245;
                    for (i = 0; i < 1; i++)
                        l_248[i] = 0x181BC6CDL;
                    l_247 = l_245;
                    if (((l_248[0] != ((-8L) && (l_249 >= g_74.f1.f1))) | (g_240.f2.f4 <= (safe_mul_func_int8_t_s_s((g_148.f1.f1 && p_46), p_45)))))
                    { /* block id: 168 */
                        p_45 &= 0x81840488L;
                    }
                    else
                    { /* block id: 170 */
                        struct S0 l_252 = {0x6AL,9L,0U,0x1A2A8A7F0C4873E5LL,-8L};
                        g_243.f2 = l_252;
                        l_254 &= (safe_unary_minus_func_int64_t_s(g_240.f2.f0));
                    }
                }
                p_45 ^= l_255;
                if (l_245.f0)
                { /* block id: 176 */
                    int32_t **l_256 = &g_114;
                    (*l_256) = &g_3;
                    if ((*g_114))
                        continue;
                }
                else
                { /* block id: 179 */
                    for (g_162 = 0; g_162 < 3; g_162 += 1)
                    {
                        struct S0 tmp = {0L,0xFE87L,18446744073709551615U,18446744073709551610U,0xBAB79FDA063CE230LL};
                        g_86[g_162] = tmp;
                    }
                    return l_245;
                }
                p_45 = (*g_114);
            }
            else
            { /* block id: 184 */
                for (p_46 = 0; (p_46 == 18); p_46 = safe_add_func_uint8_t_u_u(p_46, 2))
                { /* block id: 187 */
                    uint16_t l_270[4];
                    int i;
                    for (i = 0; i < 4; i++)
                        l_270[i] = 0x0989L;
                    if (g_148.f1.f0)
                    { /* block id: 188 */
                        union U3 *l_260[7];
                        union U3 ** const l_259 = &l_260[3];
                        union U3 **l_262 = &l_260[0];
                        union U3 ***l_261 = &l_262;
                        int32_t **l_263 = &g_114;
                        int i;
                        for (i = 0; i < 7; i++)
                            l_260[i] = 0;
                        (*l_261) = l_259;
                        (*l_263) = &p_45;
                    }
                    else
                    { /* block id: 191 */
                        p_45 |= 0xDFF3299AL;
                        p_45 = (safe_add_func_uint32_t_u_u((safe_add_func_int64_t_s_s(l_207, (safe_mod_func_int16_t_s_s(l_270[0], g_77[1][0].f1.f0)))), g_74.f1.f1));
                        g_170 = l_207;
                    }
                    p_45 ^= p_46;
                    l_271[1][6] = p_46;
                }
            }
            p_45 ^= (safe_rshift_func_uint16_t_u_u(0xEF05L, 6));
        }
        else
        { /* block id: 201 */
            uint64_t l_291[10][4][6] = {{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}},{{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U},{0x27E1B0A813304496LL,18446744073709551610U,0xA373C5AB58A15284LL,0x7BD0F88D794C715CLL,0x7AFF5056D0770E1CLL,1U}}};
            union U4 *l_311 = &g_312;
            struct S0 l_332[5] = {{1L,0xAE74L,0x1527A616L,1U,9L},{1L,0xAE74L,0x1527A616L,1U,9L},{1L,0xAE74L,0x1527A616L,1U,9L},{1L,0xAE74L,0x1527A616L,1U,9L},{1L,0xAE74L,0x1527A616L,1U,9L}};
            int i, j, k;
            for (g_148.f2 = 0; (g_148.f2 != (-1)); g_148.f2 = safe_sub_func_uint64_t_u_u(g_148.f2, 7))
            { /* block id: 204 */
                union U5 *l_282 = &g_92;
                int32_t l_301 = 0x67EC7303L;
                uint32_t l_314 = 9U;
                int32_t *l_322[10][7][3];
                int i, j, k;
                for (i = 0; i < 10; i++)
                {
                    for (j = 0; j < 7; j++)
                    {
                        for (k = 0; k < 3; k++)
                            l_322[i][j][k] = &g_81;
                    }
                }
                for (g_240.f2.f0 = 0; (g_240.f2.f0 < (-12)); g_240.f2.f0 = safe_sub_func_int64_t_s_s(g_240.f2.f0, 8))
                { /* block id: 207 */
                    int32_t *l_278[6][2];
                    int i, j;
                    for (i = 0; i < 6; i++)
                    {
                        for (j = 0; j < 2; j++)
                            l_278[i][j] = &g_81;
                    }
                    p_45 = p_45;
                }
                if (g_92.f0)
                { /* block id: 210 */
                    int32_t ***l_289 = 0;
                    int32_t l_294[3][5][7] = {{{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL}},{{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL}},{{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL},{(-10L),0x77F97370L,(-10L),0xA98BC18BL,(-1L),0x2943134DL,0x9BEC043AL}}};
                    union U4 *l_302 = &g_303[1];
                    int i, j, k;
                    if ((((p_45 & (safe_sub_func_int32_t_s_s(((p_46 < p_46) & g_243.f2.f0), (0x6A2B3D12L == p_45)))) == g_77[1][0].f1.f4) != 0L))
                    { /* block id: 211 */
                        union U8 *l_284 = &g_201;
                        union U8 **l_283 = &l_284;
                        int32_t *l_285 = &g_81;
                        l_282 = l_281;
                        (*l_283) = 0;
                        (*l_285) |= g_77[1][0].f1.f3;
                    }
                    else
                    { /* block id: 215 */
                        union U1 *l_288 = &g_287[2][3][4];
                        int32_t *l_290[1][7][8];
                        int i, j, k;
                        for (i = 0; i < 1; i++)
                        {
                            for (j = 0; j < 7; j++)
                            {
                                for (k = 0; k < 8; k++)
                                    l_290[i][j][k] = &l_271[1][6];
                            }
                        }
                        l_288 = l_286[0];
                        p_45 &= (0 == l_289);
                        l_291[8][3][2] = 0x7031BFC0L;
                    }
                    g_81 &= (safe_add_func_int8_t_s_s(l_294[0][1][5], l_291[6][2][3]));
                    if ((((safe_mul_func_int8_t_s_s((safe_lshift_func_int16_t_s_u(p_45, (6U != g_162))), (l_291[8][3][2] && p_45))) | (safe_mul_func_uint16_t_u_u((1U & l_291[8][3][2]), l_301))) >= l_291[7][1][4]))
                    { /* block id: 221 */
                        union U4 **l_304[3][1][7];
                        const union U7 **l_308 = &g_76;
                        int i, j, k;
                        for (i = 0; i < 3; i++)
                        {
                            for (j = 0; j < 1; j++)
                            {
                                for (k = 0; k < 7; k++)
                                    l_304[i][j][k] = &l_302;
                            }
                        }
                        g_305[2][3][1] = l_302;
                        l_307 ^= l_301;
                        (*l_308) = g_76;
                        g_170 |= (safe_lshift_func_int8_t_s_u(p_45, g_148.f2));
                    }
                    else
                    { /* block id: 226 */
                        int32_t *l_313 = &g_170;
                        l_307 = (g_305[5][0][1] != l_311);
                        (*l_313) = (g_74.f1.f2 == p_48);
                    }
                }
                else
                { /* block id: 230 */
                    int32_t *l_320[9][1];
                    int32_t **l_321 = 0;
                    int i, j;
                    for (i = 0; i < 9; i++)
                    {
                        for (j = 0; j < 1; j++)
                            l_320[i][j] = 0;
                    }
                    if (l_314)
                        break;
                    l_315 |= g_240.f2.f1;
                    l_307 = ((safe_lshift_func_uint16_t_u_s((!65526U), (g_306.f2.f1 >= (g_201.f0 >= 0L)))) & (g_3 & ((247U <= (p_48 != 1L)) > 0x6EDD08027E6B401BLL)));
                    l_322[5][5][0] = &g_7;
                }
            }
            if ((!(safe_mul_func_uint16_t_u_u(((safe_mul_func_uint8_t_u_u(0x02L, l_291[4][0][1])) == (safe_rshift_func_int8_t_s_u(((g_306.f2.f1 || p_48) && (safe_div_func_int32_t_s_s(g_148.f1.f2, l_271[1][6]))), 3))), p_46))))
            { /* block id: 237 */
                p_45 |= l_291[0][3][4];
            }
            else
            { /* block id: 239 */
                int32_t *l_331 = &l_307;
                (*l_331) |= p_45;
                if (p_45)
                { /* block id: 241 */
                    struct S0 l_333 = {-8L,0xCDDDL,0x9F43A568L,18446744073709551612U,-1L};
                    struct S0 *l_335 = &l_332[2];
                    l_333 = l_332[1];
                    (*l_331) ^= p_45;
                    (*l_335) = l_334;
                    (*l_331) ^= p_46;
                }
                else
                { /* block id: 246 */
                    int64_t l_340 = 0x0BCB37DF4D30234BLL;
                    for (g_66 = 0; (g_66 >= 25); g_66 = safe_add_func_uint64_t_u_u(g_66, 1))
                    { /* block id: 249 */
                        int32_t **l_338 = 0;
                        int32_t **l_339 = &l_226;
                        (*l_339) = &g_81;
                    }
                    (*l_331) = l_340;
                }
            }
            g_81 = l_245.f2;
        }
    }
    return l_245;
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static int8_t * func_49(union U8  p_50, int8_t * p_51)
{ /* block id: 132 */
    return p_51;
}


/* ------------------------------------------ */
/* 
 * reads : g_74.f1.f0 g_7 g_77.f3 g_103 g_120 g_74.f1.f2 g_114 g_81 g_74.f1.f3 g_83.f2.f2 g_83.f2.f0 g_77.f1.f3 g_83.f2.f3 g_77.f1.f4 g_162 g_3 g_86 g_164 g_83.f2 g_148.f1.f4 g_148.f1.f2 g_42 g_77.f2 g_201
 * writes: g_66 g_76 g_81 g_74.f1.f2 g_114 g_120 g_86 g_83.f2 g_164 g_148.f1.f0 g_170 g_74.f3 g_162
 */
static union U8  func_52(int8_t * p_53, uint64_t  p_54)
{ /* block id: 19 */
    struct S0 l_67 = {0xB9L,0L,0x68580793L,0x616D9CD53D6C1C92LL,0xA5A418E4AA229768LL};
    struct S0 *l_68 = &l_67;
    union U4 *l_82 = &g_83;
    int32_t l_90 = (-7L);
    union U8 l_109 = {-3L};
    union U7 *l_147 = &g_148;
    union U7 **l_146[7];
    int32_t l_183 = (-5L);
    int i;
    for (i = 0; i < 7; i++)
        l_146[i] = &l_147;
    (*l_68) = l_67;
    for (l_67.f3 = (-19); (l_67.f3 == 31); l_67.f3 = safe_add_func_int64_t_s_s(l_67.f3, 1))
    { /* block id: 23 */
        uint64_t l_78 = 18446744073709551615U;
        union U4 **l_84 = 0;
        union U4 **l_85 = &l_82;
        int32_t *l_110[5];
        const struct S0 *l_137 = &g_86[2];
        int32_t *l_151 = &l_90;
        uint32_t l_157[9] = {1U,1U,0U,1U,1U,0U,1U,1U,0U};
        int i;
        for (i = 0; i < 5; i++)
            l_110[i] = &g_81;
        for (g_66 = (-16); (g_66 <= (-1)); g_66 = safe_add_func_uint16_t_u_u(g_66, 1))
        { /* block id: 26 */
            const union U7 *l_73 = &g_74;
            const union U7 **l_75 = 0;
            int32_t *l_79 = 0;
            int32_t *l_80 = &g_81;
            g_76 = l_73;
            if (l_78)
                continue;
            (*l_80) ^= p_54;
        }
        if (p_54)
            break;
        (*l_85) = l_82;
        if (l_78)
        { /* block id: 33 */
            union U5 * const l_91 = &g_92;
            union U5 *l_94[7][9];
            union U5 **l_93 = &l_94[6][1];
            int32_t *l_97 = 0;
            int32_t *l_98[10][10];
            int i, j;
            for (i = 0; i < 7; i++)
            {
                for (j = 0; j < 9; j++)
                    l_94[i][j] = &g_92;
            }
            for (i = 0; i < 10; i++)
            {
                for (j = 0; j < 10; j++)
                    l_98[i][j] = &l_90;
            }
            for (g_74.f1.f2 = 0; (g_74.f1.f2 <= 2); g_74.f1.f2 += 1)
            { /* block id: 36 */
                uint32_t l_89 = 0xF6D4BD0DL;
                l_90 = ((p_54 < (safe_mod_func_int64_t_s_s(g_74.f1.f0, g_74.f1.f0))) >= ((l_89 <= l_67.f2) == 1L));
            }
            (*l_93) = l_91;
            g_81 = ((safe_mod_func_int64_t_s_s(g_7, p_54)) >= 0U);
        }
        else
        { /* block id: 41 */
            int32_t *l_99 = &l_90;
            volatile struct S0 * volatile *l_105 = &g_106[1];
            union U8 l_123 = {0xBA12D9ECL};
            union U4 **l_187[2];
            int i;
            for (i = 0; i < 2; i++)
                l_187[i] = &l_82;
            (*l_99) ^= p_54;
            if (p_54)
            { /* block id: 43 */
                uint16_t l_102[7] = {0xCEDCL,0xD0D8L,0xCEDCL,0xD0D8L,0xCEDCL,0xD0D8L,0xCEDCL};
                int32_t l_142 = 0x4805D29AL;
                int32_t **l_169 = &l_151;
                int i;
                (*l_99) = (p_54 || g_77[1][0].f3);
                if ((safe_add_func_uint16_t_u_u(l_67.f3, p_54)))
                { /* block id: 45 */
                    struct S0 l_107[5] = {{1L,0xD63BL,18446744073709551612U,0U,6L},{1L,1L,18446744073709551608U,0xBD030DF63A0E5F25LL,0x90E88B3BFF73A4BFLL},{1L,0xD63BL,18446744073709551612U,0U,6L},{1L,1L,18446744073709551608U,0xBD030DF63A0E5F25LL,0x90E88B3BFF73A4BFLL},{1L,0xD63BL,18446744073709551612U,0U,6L}};
                    int32_t l_119 = 0x7B4968E5L;
                    int i;
                    if ((1U == (l_102[3] != p_54)))
                    { /* block id: 46 */
                        struct S0 l_108 = {0x3EL,9L,0xF8345FCBL,0x9B1B028D9ABBA40BLL,1L};
                        l_105 = g_103;
                        l_108 = l_107[3];
                        (*l_99) &= 0x00EC888EL;
                        return l_109;
                    }
                    else
                    { /* block id: 51 */
                        int32_t **l_111 = 0;
                        int32_t **l_112 = 0;
                        int32_t **l_113[10][4];
                        volatile union U6 **l_122 = &g_120;
                        int i, j;
                        for (i = 0; i < 10; i++)
                        {
                            for (j = 0; j < 4; j++)
                                l_113[i][j] = &l_110[2];
                        }
                        g_114 = l_110[4];
                        l_119 &= (p_54 != (safe_mul_func_int16_t_s_s((safe_div_func_uint64_t_u_u(0xB4D8F4AAFBA0E2E6LL, (*l_99))), p_54)));
                        (*l_122) = g_120;
                    }
                    return l_123;
                }
                else
                { /* block id: 57 */
                    int8_t l_134[5][2][1];
                    int64_t l_145 = 0xAA068DC4A0E6F0F1LL;
                    int i, j, k;
                    for (i = 0; i < 5; i++)
                    {
                        for (j = 0; j < 2; j++)
                        {
                            for (k = 0; k < 1; k++)
                                l_134[i][j][k] = 0xD1L;
                        }
                    }
                    l_142 = ((safe_add_func_int32_t_s_s(l_109.f0, ((safe_div_func_uint32_t_u_u((safe_sub_func_int64_t_s_s(p_54, (safe_mul_func_uint16_t_u_u(g_74.f1.f2, l_134[4][0][0])))), 0x23E3A335L)) <= (((l_134[1][0][0] || (*g_114)) != ((*l_99) > g_74.f1.f3)) > (g_83.f2.f2 == p_54))))) < ((p_54 > (l_137 == 0)) < (safe_sub_func_uint32_t_u_u(((safe_rshift_func_uint16_t_u_s(l_102[5], g_83.f2.f0)) == p_54), (l_102[4] == l_102[5])))));
                    if (((*l_99) >= ((safe_mod_func_uint8_t_u_u((l_145 && g_77[1][0].f1.f3), ((&g_76 != l_146[4]) & p_54))) != ((g_83.f2.f3 & (*l_99)) | (safe_div_func_uint8_t_u_u(p_54, (0xEAC4BFEEEDEE6F90LL & (p_54 != p_54))))))))
                    { /* block id: 59 */
                        int32_t **l_152[5][9];
                        int i, j;
                        for (i = 0; i < 5; i++)
                        {
                            for (j = 0; j < 9; j++)
                                l_152[i][j] = &l_99;
                        }
                        g_114 = l_151;
                    }
                    else
                    { /* block id: 61 */
                        int32_t **l_158 = &l_110[4];
                        struct S0 l_159 = {-1L,0x2FE8L,1U,0U,1L};
                        (*g_114) = (safe_div_func_int32_t_s_s(((l_102[3] != (((safe_div_func_int64_t_s_s(p_54, l_67.f4)) ^ p_54) <= g_77[1][0].f1.f4)) > l_157[1]), p_54));
                        (*l_158) = l_110[0];
                        g_86[2] = l_159;
                    }
                }
                if (((safe_sub_func_uint32_t_u_u((0 != &g_42), (g_162 | (g_3 && (0 == &g_120))))) < l_67.f0))
                { /* block id: 67 */
                    struct S0 *l_163 = &g_83.f2;
                    const volatile union U3 **l_166 = &g_164;
                    (*l_163) = (*l_137);
                    (*l_166) = g_164;
                    for (g_148.f1.f0 = 6; (g_148.f1.f0 >= 1); g_148.f1.f0 -= 1)
                    { /* block id: 72 */
                        int32_t **l_167 = 0;
                        int32_t *l_168 = &l_90;
                        l_168 = l_151;
                    }
                    (*l_163) = (*l_163);
                }
                else
                { /* block id: 76 */
                    (*g_114) ^= p_54;
                }
                (*l_169) = l_110[0];
            }
            else
            { /* block id: 80 */
                int32_t **l_171 = &l_110[1];
                g_170 &= (!(*g_114));
                (*l_171) = &g_7;
            }
            for (g_66 = 0; (g_66 < 2); g_66 = safe_add_func_int8_t_s_s(g_66, 7))
            { /* block id: 86 */
                int8_t l_182[5];
                int32_t l_184 = 0L;
                union U7 **l_191 = &l_147;
                int i;
                for (i = 0; i < 5; i++)
                    l_182[i] = (-1L);
                for (l_67.f4 = 0; (l_67.f4 != 5); l_67.f4 = safe_add_func_uint16_t_u_u(l_67.f4, 6))
                { /* block id: 89 */
                    if (p_54)
                        break;
                    for (l_90 = 0; (l_90 == (-23)); l_90 = safe_sub_func_int8_t_s_s(l_90, 1))
                    { /* block id: 93 */
                        l_183 ^= (safe_mod_func_uint8_t_u_u(g_148.f1.f4, (g_81 || (safe_sub_func_int64_t_s_s((p_54 & g_148.f1.f2), ((-2L) || l_182[0]))))));
                        l_184 |= p_54;
                        return l_109;
                    }
                }
                (*l_99) |= (p_54 | ((0L == (((l_182[0] || l_182[0]) || g_42) ^ g_77[1][0].f3)) || (0 != l_187[0])));
                for (p_54 = 0; (p_54 <= 1); p_54 += 1)
                { /* block id: 102 */
                    int32_t l_188[9];
                    int i;
                    for (i = 0; i < 9; i++)
                        l_188[i] = 0xEC47B7A4L;
                    g_86[p_54] = g_86[p_54];
                    for (g_74.f3 = 1; (g_74.f3 <= 8); g_74.f3 += 1)
                    { /* block id: 106 */
                        struct S0 *l_192 = &g_86[2];
                        int i;
                        l_184 ^= (*l_99);
                        l_188[4] ^= (*l_99);
                        (*g_114) = (safe_add_func_uint64_t_u_u(p_54, ((0x9418E7A1L != (&g_76 == l_191)) < (p_54 < 0x52EFL))));
                        (*l_192) = g_86[(p_54 + 1)];
                    }
                    if (l_182[3])
                        continue;
                    if (p_54)
                    { /* block id: 113 */
                        uint64_t l_195 = 0x33103EE402FC24BDLL;
                        struct S0 *l_196 = &g_86[1];
                        int i;
                        (*g_114) ^= p_54;
                        l_184 |= ((safe_add_func_int16_t_s_s((p_54 != l_195), l_182[0])) ^ p_54);
                        (*l_196) = g_86[(p_54 + 1)];
                    }
                    else
                    { /* block id: 117 */
                        int16_t l_197 = 0xCFADL;
                        (*l_99) &= (l_197 || p_54);
                    }
                }
            }
            (*l_99) |= 7L;
        }
    }
    (*g_114) &= (p_54 != g_77[1][0].f2);
    for (g_162 = 0; (g_162 < 49); g_162 = safe_add_func_int16_t_s_s(g_162, 1))
    { /* block id: 128 */
        uint16_t l_200 = 65534U;
        (*g_114) ^= l_200;
    }
    return g_201;
}


/* ------------------------------------------ */
/* 
 * reads : g_3
 * writes: g_66
 */
static int8_t * func_55(union U2  p_56, int32_t  p_57, int64_t  p_58, int8_t * p_59)
{ /* block id: 11 */
    uint16_t l_64 = 0xD024L;
    int32_t *l_65[5][7][2];
    int i, j, k;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 7; j++)
        {
            for (k = 0; k < 2; k++)
                l_65[i][j][k] = 0;
        }
    }
    for (p_58 = (-9); (p_58 >= 19); p_58 = safe_add_func_int8_t_s_s(p_58, 1))
    { /* block id: 14 */
        if (g_3)
            break;
    }
    g_66 = l_64;
    return p_59;
}




/* ---------------------------------------- */
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_3, "g_3", print_hash_value);
    transparent_crc(g_4, "g_4", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 1; j++)
        {
            transparent_crc(g_5[i][j], "g_5[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_6, "g_6", print_hash_value);
    transparent_crc(g_7, "g_7", print_hash_value);
    transparent_crc(g_42, "g_42", print_hash_value);
    transparent_crc(g_66, "g_66", print_hash_value);
    transparent_crc(g_74.f0, "g_74.f0", print_hash_value);
    transparent_crc(g_74.f1.f0, "g_74.f1.f0", print_hash_value);
    transparent_crc(g_74.f1.f1, "g_74.f1.f1", print_hash_value);
    transparent_crc(g_74.f1.f2, "g_74.f1.f2", print_hash_value);
    transparent_crc(g_74.f1.f3, "g_74.f1.f3", print_hash_value);
    transparent_crc(g_74.f1.f4, "g_74.f1.f4", print_hash_value);
    transparent_crc(g_74.f2, "g_74.f2", print_hash_value);
    transparent_crc(g_74.f3, "g_74.f3", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 3; j++)
        {
            transparent_crc(g_77[i][j].f0, "g_77[i][j].f0", print_hash_value);
            transparent_crc(g_77[i][j].f1.f0, "g_77[i][j].f1.f0", print_hash_value);
            transparent_crc(g_77[i][j].f1.f1, "g_77[i][j].f1.f1", print_hash_value);
            transparent_crc(g_77[i][j].f1.f2, "g_77[i][j].f1.f2", print_hash_value);
            transparent_crc(g_77[i][j].f1.f3, "g_77[i][j].f1.f3", print_hash_value);
            transparent_crc(g_77[i][j].f1.f4, "g_77[i][j].f1.f4", print_hash_value);
            transparent_crc(g_77[i][j].f2, "g_77[i][j].f2", print_hash_value);
            transparent_crc(g_77[i][j].f3, "g_77[i][j].f3", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

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

    }
    transparent_crc(g_92.f0, "g_92.f0", print_hash_value);
    transparent_crc(g_121.f0.f0, "g_121.f0.f0", print_hash_value);
    transparent_crc(g_121.f0.f1, "g_121.f0.f1", print_hash_value);
    transparent_crc(g_121.f0.f2, "g_121.f0.f2", print_hash_value);
    transparent_crc(g_121.f0.f3, "g_121.f0.f3", print_hash_value);
    transparent_crc(g_121.f0.f4, "g_121.f0.f4", print_hash_value);
    transparent_crc(g_121.f1, "g_121.f1", print_hash_value);
    transparent_crc(g_121.f2, "g_121.f2", print_hash_value);
    transparent_crc(g_148.f0, "g_148.f0", print_hash_value);
    transparent_crc(g_148.f1.f0, "g_148.f1.f0", print_hash_value);
    transparent_crc(g_148.f1.f1, "g_148.f1.f1", print_hash_value);
    transparent_crc(g_148.f1.f2, "g_148.f1.f2", print_hash_value);
    transparent_crc(g_148.f1.f3, "g_148.f1.f3", print_hash_value);
    transparent_crc(g_148.f1.f4, "g_148.f1.f4", print_hash_value);
    transparent_crc(g_148.f2, "g_148.f2", print_hash_value);
    transparent_crc(g_148.f3, "g_148.f3", print_hash_value);
    transparent_crc(g_162, "g_162", print_hash_value);
    transparent_crc(g_165.f0, "g_165.f0", print_hash_value);
    transparent_crc(g_165.f1.f0, "g_165.f1.f0", print_hash_value);
    transparent_crc(g_165.f1.f1, "g_165.f1.f1", print_hash_value);
    transparent_crc(g_165.f1.f2, "g_165.f1.f2", print_hash_value);
    transparent_crc(g_165.f1.f3, "g_165.f1.f3", print_hash_value);
    transparent_crc(g_165.f1.f4, "g_165.f1.f4", print_hash_value);
    transparent_crc(g_170, "g_170", print_hash_value);
    transparent_crc(g_201.f0, "g_201.f0", print_hash_value);
    transparent_crc(g_201.f1, "g_201.f1", print_hash_value);
    transparent_crc(g_240.f0.f0, "g_240.f0.f0", print_hash_value);
    transparent_crc(g_240.f0.f1, "g_240.f0.f1", print_hash_value);
    transparent_crc(g_240.f0.f2, "g_240.f0.f2", print_hash_value);
    transparent_crc(g_240.f0.f3, "g_240.f0.f3", print_hash_value);
    transparent_crc(g_240.f0.f4, "g_240.f0.f4", print_hash_value);
    transparent_crc(g_240.f1, "g_240.f1", print_hash_value);
    transparent_crc(g_240.f2.f0, "g_240.f2.f0", print_hash_value);
    transparent_crc(g_240.f2.f1, "g_240.f2.f1", print_hash_value);
    transparent_crc(g_240.f2.f2, "g_240.f2.f2", print_hash_value);
    transparent_crc(g_240.f2.f3, "g_240.f2.f3", print_hash_value);
    transparent_crc(g_240.f2.f4, "g_240.f2.f4", print_hash_value);
    transparent_crc(g_243.f0.f0, "g_243.f0.f0", print_hash_value);
    transparent_crc(g_243.f0.f1, "g_243.f0.f1", print_hash_value);
    transparent_crc(g_243.f0.f2, "g_243.f0.f2", print_hash_value);
    transparent_crc(g_243.f0.f3, "g_243.f0.f3", print_hash_value);
    transparent_crc(g_243.f0.f4, "g_243.f0.f4", print_hash_value);
    transparent_crc(g_243.f1, "g_243.f1", print_hash_value);
    transparent_crc(g_243.f2.f0, "g_243.f2.f0", print_hash_value);
    transparent_crc(g_243.f2.f1, "g_243.f2.f1", print_hash_value);
    transparent_crc(g_243.f2.f2, "g_243.f2.f2", print_hash_value);
    transparent_crc(g_243.f2.f3, "g_243.f2.f3", print_hash_value);
    transparent_crc(g_243.f2.f4, "g_243.f2.f4", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 5; j++)
        {
            for (k = 0; k < 8; k++)
            {
                transparent_crc(g_287[i][j][k].f0, "g_287[i][j][k].f0", print_hash_value);
                transparent_crc(g_287[i][j][k].f1, "g_287[i][j][k].f1", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

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

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

    }
    transparent_crc(g_392.f0, "g_392.f0", print_hash_value);
    transparent_crc(g_392.f1.f0, "g_392.f1.f0", print_hash_value);
    transparent_crc(g_392.f1.f1, "g_392.f1.f1", print_hash_value);
    transparent_crc(g_392.f1.f2, "g_392.f1.f2", print_hash_value);
    transparent_crc(g_392.f1.f3, "g_392.f1.f3", print_hash_value);
    transparent_crc(g_392.f1.f4, "g_392.f1.f4", print_hash_value);
    transparent_crc(g_398.f0, "g_398.f0", print_hash_value);
    transparent_crc(g_398.f1.f0, "g_398.f1.f0", print_hash_value);
    transparent_crc(g_398.f1.f1, "g_398.f1.f1", print_hash_value);
    transparent_crc(g_398.f1.f2, "g_398.f1.f2", print_hash_value);
    transparent_crc(g_398.f1.f3, "g_398.f1.f3", print_hash_value);
    transparent_crc(g_398.f1.f4, "g_398.f1.f4", print_hash_value);
    transparent_crc(g_468.f0.f0, "g_468.f0.f0", print_hash_value);
    transparent_crc(g_468.f0.f1, "g_468.f0.f1", print_hash_value);
    transparent_crc(g_468.f0.f2, "g_468.f0.f2", print_hash_value);
    transparent_crc(g_468.f0.f3, "g_468.f0.f3", print_hash_value);
    transparent_crc(g_468.f0.f4, "g_468.f0.f4", print_hash_value);
    transparent_crc(g_468.f1, "g_468.f1", print_hash_value);
    transparent_crc(g_468.f2.f0, "g_468.f2.f0", print_hash_value);
    transparent_crc(g_468.f2.f1, "g_468.f2.f1", print_hash_value);
    transparent_crc(g_468.f2.f2, "g_468.f2.f2", print_hash_value);
    transparent_crc(g_468.f2.f3, "g_468.f2.f3", print_hash_value);
    transparent_crc(g_468.f2.f4, "g_468.f2.f4", print_hash_value);
    transparent_crc(g_479, "g_479", print_hash_value);
    transparent_crc(g_516, "g_516", print_hash_value);
    transparent_crc(g_521.f0, "g_521.f0", print_hash_value);
    transparent_crc(g_521.f1, "g_521.f1", print_hash_value);
    for (i = 0; i < 6; i++)
    {
        transparent_crc(g_579[i], "g_579[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_597.f0, "g_597.f0", print_hash_value);
    transparent_crc(g_618.f0, "g_618.f0", print_hash_value);
    transparent_crc(g_618.f1.f0, "g_618.f1.f0", print_hash_value);
    transparent_crc(g_618.f1.f1, "g_618.f1.f1", print_hash_value);
    transparent_crc(g_618.f1.f2, "g_618.f1.f2", print_hash_value);
    transparent_crc(g_618.f1.f3, "g_618.f1.f3", print_hash_value);
    transparent_crc(g_618.f1.f4, "g_618.f1.f4", print_hash_value);
    transparent_crc(g_915, "g_915", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

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

XXX max expression depth: 2
breakdown:
   depth: 0, occurrence: 312
   depth: 1, occurrence: 33
   depth: 2, occurrence: 3

XXX total number of pointers: 269

XXX times a variable address is taken: 95
XXX times a pointer is dereferenced on RHS: 84
breakdown:
   depth: 1, occurrence: 75
   depth: 2, occurrence: 7
   depth: 3, occurrence: 2
XXX times a pointer is dereferenced on LHS: 141
breakdown:
   depth: 1, occurrence: 133
   depth: 2, occurrence: 6
   depth: 3, occurrence: 2
XXX times a pointer is compared with null: 17
XXX times a pointer is compared with address of another variable: 9
XXX times a pointer is compared with another pointer: 13
XXX times a pointer is qualified to be dereferenced: 892

XXX max dereference level: 3
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 1016
   level: 2, occurrence: 115
   level: 3, occurrence: 24
XXX number of pointers point to pointers: 98
XXX number of pointers point to scalars: 88
XXX number of pointers point to structs: 23
XXX percent of pointers has null in alias set: 26.4
XXX average alias set size: 1.28

XXX times a non-volatile is read: 900
XXX times a non-volatile is write: 452
XXX times a volatile is read: 65
XXX    times read thru a pointer: 7
XXX times a volatile is write: 39
XXX    times written thru a pointer: 7
XXX times a volatile is available for access: 661
XXX percentage of non-volatile access: 92.9

XXX forward jumps: 1
XXX backward jumps: 2

XXX stmts: 808

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