text: /*
   * This is a RANDOMLY GENERATED PROGRAM.
   *
   * Generator: csmith 2.3.0
   * Git version: 30dccd7
   * Options:   (none)
   * Seed:      707538960594160420
   */
  
  #include "csmith.h"
  
  
  static long __undefined;
  
  /* --- Struct/Union Declarations --- */
  struct S0 {
     volatile signed f0 : 18;
     unsigned f1 : 30;
     volatile unsigned f2 : 2;
  };
  
  #pragma pack(push)
  #pragma pack(1)
  struct S1 {
     volatile signed f0 : 6;
     const volatile unsigned f1 : 5;
     unsigned f2 : 15;
     signed f3 : 8;
     unsigned f4 : 12;
     unsigned f5 : 10;
     volatile signed f6 : 30;
     signed f7 : 20;
     volatile signed f8 : 27;
     volatile unsigned f9 : 4;
  };
  #pragma pack(pop)
  
  union U2 {
     const volatile unsigned f0 : 8;
  };
  
  /* --- GLOBAL VARIABLES --- */
  static volatile int64_t g_15 = 0x1D102278213AF72BLL;/* VOLATILE GLOBAL g_15 */
  static int32_t g_25 = 0x523DD972L;
  static int32_t *g_24[7] = {&g_25,&g_25,&g_25,&g_25,&g_25,&g_25,&g_25};
  static uint32_t g_30 = 18446744073709551614UL;
  static int32_t *g_39 = &g_25;
  static int32_t **g_38 = &g_39;
  static uint32_t g_56 = 0x3C289E41L;
  static int32_t g_63 = 0L;
  static int32_t g_67 = 1L;
  static uint16_t g_68 = 0x43A2L;
  static uint16_t g_71 = 65535UL;
  static int16_t g_80 = 0x75DDL;
  static uint8_t g_108 = 250UL;
  static int8_t g_113 = 4L;
  static union U2 g_119 = {0x61316C4FL};/* VOLATILE GLOBAL g_119 */
  static struct S0 g_125 = {178,8196,1};/* VOLATILE GLOBAL g_125 */
  static struct S0 *g_124 = &g_125;
  static struct S0 g_127 = {53,18587,0};/* VOLATILE GLOBAL g_127 */
  static struct S0 *g_126 = &g_127;
  static union U2 g_129 = {4294967295UL};/* VOLATILE GLOBAL g_129 */
  static union U2 *g_128 = &g_129;
  static uint64_t g_134[7][10] = {{0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0x622FD341E3A302D8LL},{0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL},{0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL},{0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0x622FD341E3A302D8LL,0x622FD341E3A302D8LL,18446744073709551611UL,0xDA17F8C634FB4D53LL},{0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL,0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL,0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL,0xDA17F8C634FB4D53LL},{18446744073709551611UL,0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL,0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL,0xDA17F8C634FB4D53LL,18446744073709551611UL,18446744073709551611UL},{0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL,0xDA17F8C634FB4D53LL,0x622FD341E3A302D8LL,0xDA17F8C634FB4D53LL}};
  static int8_t g_147 = (-1L);
  static volatile struct S0 g_159 = {310,31163,0};/* VOLATILE GLOBAL g_159 */
  static volatile struct S0 * volatile g_158 = &g_159;/* VOLATILE GLOBAL g_158 */
  static volatile struct S0 * volatile *g_157 = &g_158;
  static struct S0 g_162 = {422,11277,0};/* VOLATILE GLOBAL g_162 */
  static struct S0 *g_165 = (void*)0;
  static struct S0 **g_164[3][6][5] = {{{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,(void*)0},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165}},{{&g_165,&g_165,&g_165,&g_165,(void*)0},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,(void*)0},{&g_165,&g_165,&g_165,&g_165,&g_165}},{{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,(void*)0},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165,&g_165}}};
  static uint32_t g_167 = 0UL;
  static volatile uint32_t g_178[6][1][6] = {{{4294967292UL,0UL,0UL,4294967292UL,0x79B65F2BL,4294967292UL}},{{4294967292UL,0x79B65F2BL,4294967292UL,0UL,0UL,4294967292UL}},{{4294967294UL,4294967294UL,0UL,0x78594709L,0UL,4294967294UL}},{{0UL,0x79B65F2BL,0x78594709L,0x78594709L,0x79B65F2BL,0UL}},{{4294967294UL,0UL,0x78594709L,0UL,4294967294UL,4294967294UL}},{{4294967292UL,0UL,0UL,4294967292UL,0x79B65F2BL,4294967292UL}}};
  static struct S0 *** volatile g_181[6][7] = {{&g_164[1][1][4],(void*)0,&g_164[1][1][4],(void*)0,&g_164[0][3][0],&g_164[1][1][4],&g_164[2][4][2]},{&g_164[1][3][3],&g_164[2][1][3],&g_164[0][3][1],&g_164[0][3][1],&g_164[2][1][3],&g_164[1][3][3],&g_164[2][1][3]},{&g_164[1][1][4],(void*)0,&g_164[0][3][0],&g_164[1][1][4],&g_164[2][4][2],&g_164[1][1][4],&g_164[0][3][0]},{&g_164[1][1][4],&g_164[1][1][4],&g_164[1][3][3],&g_164[0][3][1],&g_164[1][3][3],&g_164[1][1][4],&g_164[1][1][4]},{&g_164[1][1][2],(void*)0,&g_164[1][2][1],(void*)0,&g_164[1][1][2],(void*)0,&g_164[1][1][4]},{&g_164[0][3][1],&g_164[1][1][4],&g_164[0][3][1],&g_164[1][1][4],&g_164[1][1][4],&g_164[0][3][1],&g_164[1][1][4]}};
  static struct S0 *** volatile g_182[7][8][2] = {{{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[2][5][3],(void*)0},{(void*)0,(void*)0},{(void*)0,(void*)0}},{{&g_164[2][5][3],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[2][5][3]}},{{(void*)0,(void*)0},{(void*)0,(void*)0},{(void*)0,&g_164[2][5][3]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0}},{{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[2][5][3],(void*)0},{(void*)0,(void*)0},{(void*)0,(void*)0},{&g_164[2][5][3],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0}},{{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[2][5][3]},{(void*)0,(void*)0},{(void*)0,(void*)0},{(void*)0,&g_164[2][5][3]}},{{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[2][5][3],(void*)0}},{{(void*)0,(void*)0},{(void*)0,(void*)0},{&g_164[2][5][3],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0},{&g_164[1][1][4],(void*)0},{(void*)0,&g_164[1][1][4]},{(void*)0,(void*)0}}};
  static union U2 ** volatile g_193 = &g_128;/* VOLATILE GLOBAL g_193 */
  static struct S1 g_263 = {-3,4,82,8,39,4,-8755,395,-8769,0};/* VOLATILE GLOBAL g_263 */
  static struct S1 g_275[1] = {{6,4,66,10,10,20,-25298,111,5526,0}};
  static struct S1 *g_274 = &g_275[0];
  static int32_t g_322 = (-1L);
  static uint8_t g_361 = 2UL;
  static uint8_t g_373 = 0x51L;
  static int16_t g_406 = (-1L);
  static volatile struct S0 g_407 = {-348,16672,1};/* VOLATILE GLOBAL g_407 */
  static const uint32_t g_458 = 0x78EB67EAL;
  static const uint32_t g_460[1] = {0UL};
  static const uint32_t *g_459 = &g_460[0];
  static uint32_t *g_482 = (void*)0;
  static uint32_t **g_481[10] = {&g_482,&g_482,&g_482,&g_482,&g_482,&g_482,&g_482,&g_482,&g_482,&g_482};
  
  
  /* --- FORWARD DECLARATIONS --- */
  uint32_t  func_1(void);
  const uint8_t  func_2(uint32_t  p_3);
  uint32_t  func_9(const uint16_t  p_10, int32_t  p_11, const uint8_t  p_12);
  int64_t  func_16(uint32_t  p_17, int16_t  p_18, uint32_t  p_19, const uint32_t  p_20);
  uint32_t  func_21(int64_t  p_22);
  uint8_t  func_35(uint16_t  p_36, int32_t ** p_37);
  uint32_t  func_40(uint16_t  p_41);
  uint16_t  func_47(uint32_t  p_48, uint64_t  p_49, uint32_t  p_50);
  union U2 * func_74(uint32_t  p_75);
  int16_t  func_91(int8_t  p_92, union U2 * p_93, uint32_t  p_94, uint32_t * p_95, uint32_t * p_96);
  
  
  /* --- FUNCTIONS --- */
  /* ------------------------------------------ */
  /* 
   * reads : g_15 g_24 g_38 g_25 g_39 g_56 g_68 g_71 g_80 g_108 g_63 g_67 g_128 g_113 g_127.f1 g_147 g_157 g_125.f1 g_30 g_178 g_129.f0 g_167 g_361 g_193 g_129 g_158 g_159 g_263.f7 g_373 g_119.f0 g_322 g_481 g_460 g_458 g_406 g_274 g_459
   * writes: g_24 g_30 g_63 g_68 g_25 g_71 g_80 g_108 g_113 g_124 g_126 g_128 g_134 g_147 g_39 g_164 g_167 g_178 g_162 g_459 g_481
   */
  uint32_t  func_1(void)
  { /* block id: 0 */
      uint16_t l_23[10] = {0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L,0x3CA3L};
      uint32_t *l_29 = &g_30;
      struct S0 *l_161[7];
      struct S0 **l_160 = &l_161[5];
      struct S0 ***l_163[6] = {&l_160,&l_160,&l_160,&l_160,&l_160,&l_160};
      uint32_t *l_166 = &g_167;
      int32_t *l_184 = &g_25;
      int32_t l_198 = 0xD647C19EL;
      uint16_t l_199 = 0xCA79L;
      int32_t l_292 = 0x654F5CE1L;
      int32_t l_293 = 0xDE39BCACL;
      int32_t l_294[1];
      int8_t l_327 = (-6L);
      struct S0 **l_343 = &l_161[5];
      uint32_t l_376[5] = {4294967295UL,4294967295UL,4294967295UL,4294967295UL,4294967295UL};
      uint64_t l_381 = 4UL;
      int16_t l_397 = (-1L);
      uint32_t l_427 = 18446744073709551615UL;
      uint16_t l_452 = 1UL;
      const int8_t l_469 = (-8L);
      struct S1 **l_470 = (void*)0;
      struct S1 **l_472 = &g_274;
      int16_t l_473[3];
      struct S1 *l_490[9] = {&g_263,&g_263,&g_263,&g_263,&g_263,&g_263,&g_263,&g_263,&g_263};
      struct S1 **l_489 = &l_490[1];
      int i;
      for (i = 0; i < 7; i++)
          l_161[i] = &g_162;
      for (i = 0; i < 1; i++)
          l_294[i] = (-8L);
      for (i = 0; i < 3; i++)
          l_473[i] = 0xDA52L;
      (*l_184) = ((func_2(((!((safe_add_func_int64_t_s_s((safe_mul_func_uint16_t_u_u((func_9((safe_sub_func_int16_t_s_s(g_15, ((func_16(((*l_29) = func_21(l_23[0])), l_23[2], ((*l_166) = (safe_div_func_uint8_t_u_u((safe_lshift_func_uint8_t_u_s((((func_35(l_23[0], g_38) < ((((g_157 == (g_164[1][1][4] = l_160)) == l_23[0]) , l_23[5]) >= g_125.f1)) && l_23[0]) < 0UL), g_56)), g_67))), g_67) != (-1L)) && 18446744073709551608UL))), l_23[1], l_23[0]) <= (-5L)), 65535UL)), g_125.f1)) | l_23[6])) || g_80)) , g_56) | g_67);
      if ((*g_39))
      { /* block id: 57 */
          uint32_t l_189 = 0xE963C0F9L;
          int32_t l_190 = 0x0B18F1BFL;
          int32_t l_217[7][3][2] = {{{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L}},{{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L}},{{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L}},{{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L}},{{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L}},{{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L}},{{1L,0x11BF31F2L},{0x72E7577DL,0x11BF31F2L},{1L,0x11BF31F2L}}};
          struct S0 **l_245 = &g_165;
          int32_t **l_283 = &g_24[4];
          int64_t l_428 = 0x45061204A0615B9FLL;
          uint32_t l_429 = 0x16AFCF42L;
          uint32_t **l_440 = &l_29;
          int16_t l_446 = 0xD10BL;
          uint64_t l_448 = 0xF64FEAE600A4EA4BLL;
          int32_t *l_451[8][2][10] = {{{&l_294[0],&l_217[2][1][0],&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],(void*)0,&l_294[0],&l_294[0],(void*)0},{&l_293,&l_294[0],&g_322,&l_217[2][1][0],&l_217[6][2][0],(void*)0,&l_292,&g_322,&l_292,(void*)0}},{{&l_217[6][2][0],(void*)0,(void*)0,(void*)0,&l_217[6][2][0],&l_294[0],&l_294[0],(void*)0,&l_217[2][1][0],(void*)0},{&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],&l_217[6][2][0],&l_293,&l_217[2][1][0],&l_217[6][2][0],(void*)0,(void*)0}},{{(void*)0,&l_294[0],&l_190,&l_294[0],&l_217[6][2][0],&l_217[6][2][0],&l_294[0],&l_190,&l_294[0],(void*)0},{&l_294[0],&l_217[2][1][0],&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],(void*)0,&l_294[0],&l_294[0],(void*)0}},{{&l_293,&l_294[0],&g_322,&l_217[2][1][0],&l_217[6][2][0],(void*)0,&l_292,&g_322,&l_292,(void*)0},{&l_217[6][2][0],(void*)0,(void*)0,(void*)0,&l_217[6][2][0],&l_294[0],&l_294[0],(void*)0,&l_217[2][1][0],(void*)0}},{{&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],&l_217[6][2][0],&l_293,&l_217[2][1][0],&l_217[6][2][0],(void*)0,(void*)0},{(void*)0,&l_294[0],&l_190,&l_294[0],&l_217[6][2][0],&l_217[6][2][0],&l_294[0],&l_190,&l_294[0],(void*)0}},{{&l_294[0],&l_217[2][1][0],&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],(void*)0,&l_294[0],&l_294[0],(void*)0},{&l_293,&l_294[0],&g_322,&l_217[2][1][0],&l_217[6][2][0],(void*)0,&l_292,&g_322,&l_292,(void*)0}},{{&l_217[6][2][0],(void*)0,(void*)0,(void*)0,&l_217[6][2][0],&l_294[0],&l_294[0],(void*)0,&l_217[2][1][0],(void*)0},{&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],&l_217[6][2][0],&l_293,&l_217[2][1][0],&l_217[6][2][0],(void*)0,(void*)0}},{{(void*)0,&l_294[0],&l_190,&l_294[0],&l_217[6][2][0],&l_217[6][2][0],&l_294[0],&l_190,&l_294[0],(void*)0},{&l_294[0],&l_217[2][1][0],&l_294[0],&l_292,&l_217[6][2][0],&l_294[0],(void*)0,&l_294[0],&l_294[0],(void*)0}}};
          const uint32_t **l_455 = (void*)0;
          const uint32_t *l_457 = &g_458;
          const uint32_t **l_456[8] = {&l_457,&l_457,&l_457,&l_457,&l_457,&l_457,&l_457,&l_457};
          uint16_t *l_468 = &l_452;
          struct S1 ***l_471 = &l_470;
          int i, j, k;
          for (g_80 = 0; (g_80 > 11); g_80 = safe_add_func_int8_t_s_s(g_80, 6))
          { /* block id: 60 */
              int32_t l_194 = 4L;
              int32_t l_209 = 0xD65CAE71L;
              int32_t l_216[1][6] = {{1L,1L,1L,1L,1L,1L}};
              struct S0 **l_243[6][3][3] = {{{(void*)0,&l_161[0],(void*)0},{(void*)0,&l_161[5],&l_161[5]},{&l_161[5],&l_161[5],(void*)0}},{{(void*)0,(void*)0,&l_161[5]},{&l_161[5],(void*)0,(void*)0},{(void*)0,&l_161[5],&l_161[5]}},{{&l_161[5],&l_161[5],(void*)0},{&l_161[5],&g_126,&l_161[5]},{&l_161[5],&l_161[6],(void*)0}},{{&l_161[5],&g_124,&l_161[5]},{(void*)0,&l_161[6],&l_161[5]},{&l_161[5],&g_126,&l_161[5]}},{{(void*)0,&l_161[5],&l_161[5]},{&l_161[5],&l_161[5],(void*)0},{(void*)0,(void*)0,&l_161[5]}},{{&l_161[5],(void*)0,(void*)0},{(void*)0,&l_161[5],&l_161[5]},{&l_161[5],&l_161[5],(void*)0}}};
              int16_t l_295 = 0xEE26L;
              int64_t l_296 = (-8L);
              int32_t **l_301 = (void*)0;
              int32_t **l_303 = &g_24[2];
              uint8_t l_329[3][9] = {{0x22L,0x22L,0x1BL,0x0BL,0x1BL,0x22L,0x22L,0x1BL,0x0BL},{1UL,255UL,1UL,0UL,0UL,1UL,255UL,1UL,0UL},{0x1AL,0x1BL,0x1BL,0x1AL,0UL,0x1AL,0x1BL,0x1BL,0x1AL}};
              uint64_t l_401 = 0UL;
              int8_t l_404 = 1L;
              int i, j, k;
          }
          for (l_397 = 0; (l_397 != (-10)); l_397 = safe_sub_func_int32_t_s_s(l_397, 2))
          { /* block id: 165 */
              int32_t *l_443 = &l_292;
              int32_t *l_444 = &l_292;
              int32_t *l_445[4][6] = {{&l_217[6][2][0],&g_322,&g_25,&g_322,&l_217[6][2][0],&l_217[6][2][0]},{(void*)0,&g_322,&g_322,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,&g_322,&g_322,(void*)0},{&l_217[6][2][0],&l_217[6][2][0],&g_322,&g_25,&g_322,&l_217[6][2][0]}};
              int32_t l_447 = 0L;
              int i, j;
              (*g_38) = ((safe_sub_func_int32_t_s_s(1L, ((((safe_lshift_func_uint16_t_u_s(0x27CDL, 5)) > (g_127.f1 & g_361)) == (((safe_rshift_func_int16_t_s_u((safe_add_func_uint8_t_u_u(g_127.f1, (((**g_193) , l_440) != (void*)0))), 14)) , (0x982659E2L ^ 4294967287UL)) , g_80)) , 2L))) , (*g_38));
              for (g_30 = 0; (g_30 <= 43); g_30++)
              { /* block id: 169 */
                  (*g_38) = ((*l_184) , (*g_38));
                  (**l_343) = (**g_157);
              }
              (**l_160) = (*g_158);
              l_448++;
          }
          l_452--;
          l_294[0] ^= ((&g_30 != (g_459 = &g_30)) , (!(safe_mod_func_uint16_t_u_u((((65530UL == ((((((g_263.f7 < ((((safe_div_func_int8_t_s_s((g_373 <= ((((((*l_468) = ((void*)0 == &g_24[1])) != l_469) , ((((((*l_471) = l_470) == l_472) && 0x436C2EC2L) > g_119.f0) , 0xD0L)) != g_127.f1) >= (**g_38))), 0xD9L)) & (*l_184)) , &l_283) != &l_283)) , g_322) == g_147) , (void*)0) == (void*)0) >= 0x196A1100970D8364LL)) == l_473[0]) <= (*l_184)), 0x30D2L))));
      }
      else
      { /* block id: 181 */
          union U2 *l_476[2][5] = {{&g_129,&g_129,&g_119,&g_119,&g_129},{&g_129,&g_129,&g_119,&g_119,&g_129}};
          union U2 **l_477 = &l_476[1][0];
          uint32_t ** const l_480[3] = {&l_29,&l_29,&l_29};
          uint32_t ***l_483 = &g_481[9];
          uint16_t *l_484 = &g_68;
          int32_t l_485 = 0xF5354602L;
          int32_t l_486 = 0L;
          int i, j;
          l_486 &= (safe_mod_func_int64_t_s_s(((*l_184) && ((1L && (((((*l_477) = l_476[1][4]) == (*g_193)) && (safe_add_func_int64_t_s_s(((&g_24[1] != (((0x21122E34L == (l_480[1] == ((*l_483) = g_481[9]))) != ((((*l_484) ^= (6L != 0UL)) , g_159.f2) >= 0xD1L)) , &g_39)) | g_373), g_460[0]))) & g_458)) , l_485)), g_406));
      }
      (*l_184) = (safe_lshift_func_int8_t_s_u(((*l_472) == ((*l_489) = (void*)0)), 3));
      return (*g_459);
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_167
   * writes:
   */
  const uint8_t  func_2(uint32_t  p_3)
  { /* block id: 53 */
      struct S0 **l_183 = &g_126;
      l_183 = &g_126;
      return g_167;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_178 g_129.f0
   * writes: g_178
   */
  uint32_t  func_9(const uint16_t  p_10, int32_t  p_11, const uint8_t  p_12)
  { /* block id: 50 */
      int32_t *l_177[10] = {&g_25,&g_63,&g_25,(void*)0,(void*)0,&g_25,&g_63,&g_25,(void*)0,(void*)0};
      int i;
      g_178[0][0][4]--;
      return g_129.f0;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_56 g_30 g_39 g_147
   * writes: g_113 g_25
   */
  int64_t  func_16(uint32_t  p_17, int16_t  p_18, uint32_t  p_19, const uint32_t  p_20)
  { /* block id: 45 */
      uint64_t l_170[7];
      int32_t l_173 = 0L;
      int8_t *l_176 = &g_113;
      int i;
      for (i = 0; i < 7; i++)
          l_170[i] = 18446744073709551611UL;
      (*g_39) = (safe_lshift_func_uint8_t_u_s(((l_170[1] = 0xABL) != (safe_rshift_func_uint16_t_u_s(l_173, 10))), (safe_div_func_int8_t_s_s(g_56, ((*l_176) = g_30)))));
      return g_147;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_24
   * writes: g_24
   */
  uint32_t  func_21(int64_t  p_22)
  { /* block id: 1 */
      int32_t **l_26[5];
      uint8_t l_27 = 247UL;
      uint32_t l_28 = 1UL;
      int i;
      for (i = 0; i < 5; i++)
          l_26[i] = (void*)0;
      g_24[3] = g_24[1];
      l_28 |= l_27;
      return p_22;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_25 g_39 g_56 g_68 g_38 g_71 g_80 g_108 g_63 g_67 g_128 g_113 g_127.f1 g_147
   * writes: g_63 g_68 g_25 g_71 g_80 g_108 g_113 g_124 g_126 g_128 g_134 g_147 g_39
   */
  uint8_t  func_35(uint16_t  p_36, int32_t ** p_37)
  { /* block id: 6 */
      uint64_t *l_133[8][6] = {{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]},{&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7],&g_134[0][7]}};
      union U2 ** const l_144 = &g_128;
      const uint32_t l_145 = 4294967292UL;
      int8_t *l_146 = &g_147;
      int32_t **l_148 = &g_39;
      int32_t *l_149 = &g_63;
      struct S0 *l_154[2];
      int32_t l_156 = 4L;
      int i, j;
      for (i = 0; i < 2; i++)
          l_154[i] = (void*)0;
      (*l_149) = (func_40(g_25) , (safe_add_func_uint64_t_u_u((g_134[6][4] = 0x970B70258B70B0F0LL), ((!((safe_add_func_uint16_t_u_u(g_113, (((safe_mul_func_uint8_t_u_u((((*g_39) = (safe_lshift_func_int8_t_s_u(((*l_146) = (safe_mul_func_uint16_t_u_u(((void*)0 != l_144), l_145))), 5))) && ((((((void*)0 != l_133[0][5]) == g_127.f1) < p_36) & 0xF6L) & g_108)), l_145)) , l_148) == (void*)0))) && 0xD8L)) <= g_71))));
      (*l_148) = (*p_37);
      l_156 &= ((safe_div_func_uint8_t_u_u(((g_147 , (*l_149)) == (safe_lshift_func_uint8_t_u_u((g_63 , ((void*)0 == l_154[0])), 0))), (+(**l_148)))) | 65533UL);
      return (*l_149);
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_25 g_39 g_56 g_68 g_38 g_71 g_80 g_108 g_63 g_67 g_128
   * writes: g_63 g_68 g_25 g_71 g_80 g_108 g_113 g_124 g_126 g_128
   */
  uint32_t  func_40(uint16_t  p_41)
  { /* block id: 7 */
      uint32_t *l_55 = &g_56;
      uint32_t *l_58 = (void*)0;
      int16_t *l_79 = &g_80;
      int32_t l_81 = 6L;
      union U2 **l_130 = &g_128;
      for (p_41 = (-9); (p_41 > 46); ++p_41)
      { /* block id: 10 */
          const uint32_t l_46 = 18446744073709551614UL;
          uint32_t **l_57 = &l_55;
          int32_t *l_60 = (void*)0;
          int32_t *l_61 = (void*)0;
          int32_t *l_62 = &g_63;
          (**g_38) = (safe_sub_func_int16_t_s_s((l_46 > func_47((g_25 | ((((safe_mod_func_uint8_t_u_u(((safe_lshift_func_uint8_t_u_u((((&l_46 == (l_58 = ((*l_57) = l_55))) != 0x68L) , p_41), (!3L))) != p_41), ((((*l_62) = (*g_39)) ^ 6UL) , p_41))) , (void*)0) != (void*)0) || 2UL)), g_56, p_41)), p_41));
      }
      (*l_130) = func_74((safe_div_func_uint8_t_u_u(((**g_38) == (~((*l_79) ^= (&l_58 == &l_55)))), l_81)));
      return g_56;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_68 g_38 g_39 g_71
   * writes: g_68 g_25 g_71
   */
  uint16_t  func_47(uint32_t  p_48, uint64_t  p_49, uint32_t  p_50)
  { /* block id: 14 */
      int32_t *l_64 = (void*)0;
      int32_t *l_65 = (void*)0;
      int32_t *l_66[8][3][6] = {{{&g_25,&g_25,&g_25,&g_63,&g_63,&g_63},{(void*)0,&g_25,&g_63,&g_25,&g_25,&g_25},{(void*)0,(void*)0,&g_25,&g_63,&g_63,&g_63}},{{&g_25,&g_25,&g_25,&g_25,&g_25,&g_25},{&g_25,&g_25,(void*)0,&g_25,&g_25,&g_25},{&g_63,(void*)0,&g_63,&g_25,&g_25,&g_63}},{{&g_63,(void*)0,&g_63,(void*)0,&g_25,&g_25},{&g_25,&g_25,(void*)0,&g_25,&g_25,(void*)0},{&g_25,&g_25,&g_25,(void*)0,&g_25,(void*)0}},{{&g_25,&g_63,(void*)0,&g_63,&g_25,&g_25},{&g_63,&g_25,(void*)0,&g_63,&g_25,(void*)0},{&g_25,&g_63,&g_25,(void*)0,&g_63,(void*)0}},{{(void*)0,&g_63,(void*)0,&g_25,&g_63,&g_25},{(void*)0,&g_25,&g_63,(void*)0,&g_25,&g_63},{&g_25,&g_25,&g_63,(void*)0,&g_63,&g_25}},{{(void*)0,&g_25,(void*)0,&g_25,&g_25,&g_25},{(void*)0,&g_25,&g_25,(void*)0,&g_25,&g_25},{&g_25,&g_25,(void*)0,&g_63,(void*)0,&g_63}},{{&g_63,&g_25,&g_25,&g_63,(void*)0,&g_63},{&g_25,&g_25,&g_25,(void*)0,&g_25,&g_25},{&g_25,&g_25,&g_25,&g_25,&g_25,&g_25}},{{&g_25,&g_25,(void*)0,(void*)0,&g_63,&g_63},{&g_63,&g_25,(void*)0,&g_25,&g_25,&g_63},{&g_63,&g_25,(void*)0,&g_25,&g_63,&g_25}}};
      int i, j, k;
      --g_68;
      (**g_38) = p_48;
      ++g_71;
      return p_50;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_71 g_38 g_39 g_25 g_108 g_63 g_68 g_67 g_128
   * writes: g_108 g_113 g_25 g_68 g_124 g_126
   */
  union U2 * func_74(uint32_t  p_75)
  { /* block id: 22 */
      uint64_t l_101[10][9] = {{18446744073709551608UL,0x2A3428438D7A1001LL,0xB476EADDFB177962LL,0xCE59AEBFD9C85C18LL,0xB476EADDFB177962LL,0x2A3428438D7A1001LL,18446744073709551608UL,0UL,18446744073709551615UL},{0x3A76A61A6B3F764ALL,18446744073709551610UL,0x336EAB1F273F2F43LL,0x772BF5F293FBD44CLL,18446744073709551606UL,0x772BF5F293FBD44CLL,0x336EAB1F273F2F43LL,18446744073709551610UL,0x3A76A61A6B3F764ALL},{0x2A3428438D7A1001LL,7UL,0x20EA3011AC9FAB1CLL,0UL,0xC47E747E018F5FB7LL,0xB476EADDFB177962LL,0xC47E747E018F5FB7LL,0UL,0x20EA3011AC9FAB1CLL},{7UL,7UL,0x0C6050D3AC3EA961LL,18446744073709551613UL,18446744073709551610UL,0xCE8D70DEC899BC1BLL,0x3A76A61A6B3F764ALL,0xCE8D70DEC899BC1BLL,18446744073709551610UL},{0x2A3428438D7A1001LL,0xC47E747E018F5FB7LL,0xC47E747E018F5FB7LL,0x2A3428438D7A1001LL,4UL,18446744073709551615UL,0xCE59AEBFD9C85C18LL,0x20EA3011AC9FAB1CLL,0xCE59AEBFD9C85C18LL},{0x3A76A61A6B3F764ALL,0x772BF5F293FBD44CLL,0x0C6050D3AC3EA961LL,0x0C6050D3AC3EA961LL,0x772BF5F293FBD44CLL,0x3A76A61A6B3F764ALL,18446744073709551606UL,7UL,0x9A6A1C6E98833D7ALL},{18446744073709551608UL,18446744073709551615UL,0x20EA3011AC9FAB1CLL,4UL,4UL,0x20EA3011AC9FAB1CLL,18446744073709551615UL,18446744073709551608UL,7UL},{0x9A6A1C6E98833D7ALL,0x0C6050D3AC3EA961LL,0x0A5B3A4ADEF71BA7LL,18446744073709551610UL,0x9A6A1C6E98833D7ALL,0x9A6A1C6E98833D7ALL,18446744073709551610UL,0x0A5B3A4ADEF71BA7LL,7UL},{7UL,1UL,0x20EA3011AC9FAB1CLL,0x2A3428438D7A1001LL,0xCE59AEBFD9C85C18LL,18446744073709551608UL,18446744073709551608UL,0xCE59AEBFD9C85C18LL,0x2A3428438D7A1001LL},{0x772BF5F293FBD44CLL,18446744073709551606UL,0x772BF5F293FBD44CLL,0x336EAB1F273F2F43LL,18446744073709551610UL,0x3A76A61A6B3F764ALL,18446744073709551613UL,18446744073709551613UL,0x3A76A61A6B3F764ALL}};
      int32_t *l_102 = &g_25;
      uint8_t *l_107[5] = {&g_108,&g_108,&g_108,&g_108,&g_108};
      int64_t l_111 = 0x33FCB7661C5061D6LL;
      int8_t *l_112 = &g_113;
      union U2 *l_118 = &g_119;
      uint16_t *l_121 = &g_68;
      struct S0 *l_122 = (void*)0;
      struct S0 **l_123[10][1] = {{&l_122},{&l_122},{(void*)0},{(void*)0},{&l_122},{&l_122},{&l_122},{(void*)0},{(void*)0},{&l_122}};
      int i, j;
      (*g_39) = ((safe_div_func_uint32_t_u_u((+(safe_mod_func_int16_t_s_s((safe_mod_func_int8_t_s_s((safe_lshift_func_int8_t_s_s(((*l_112) = (((*l_121) |= ((func_91(((safe_sub_func_uint16_t_u_u((p_75 || (((safe_add_func_int64_t_s_s(l_101[9][3], (l_102 != l_102))) > g_71) || (**g_38))), ((safe_mul_func_int8_t_s_s((safe_rshift_func_uint8_t_u_u((g_108--), 3)), ((*l_112) = ((*l_102) , l_111)))) & ((!(safe_unary_minus_func_int16_t_s(((safe_div_func_int32_t_s_s((((p_75 , (void*)0) == l_112) ^ 0x1698A3390C0CC138LL), (**g_38))) | (*l_102))))) | g_63)))) ^ (*l_102)), l_118, p_75, l_102, &g_56) , 0L) <= g_71)) & g_67)), 0)), 7L)), p_75))), p_75)) , 0x355BA672L);
      g_126 = (g_124 = l_122);
      return g_128;
  }
  
  
  /* ------------------------------------------ */
  /* 
   * reads : g_39 g_25 g_71
   * writes: g_25
   */
  int16_t  func_91(int8_t  p_92, union U2 * p_93, uint32_t  p_94, uint32_t * p_95, uint32_t * p_96)
  { /* block id: 25 */
      uint64_t l_120 = 0UL;
      (*g_39) |= l_120;
      return g_71;
  }
  
  
  
  
  /* ---------------------------------------- */
  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_15, "g_15", print_hash_value);
      transparent_crc(g_25, "g_25", print_hash_value);
      transparent_crc(g_30, "g_30", print_hash_value);
      transparent_crc(g_56, "g_56", print_hash_value);
      transparent_crc(g_63, "g_63", print_hash_value);
      transparent_crc(g_67, "g_67", print_hash_value);
      transparent_crc(g_68, "g_68", print_hash_value);
      transparent_crc(g_71, "g_71", print_hash_value);
      transparent_crc(g_80, "g_80", print_hash_value);
      transparent_crc(g_108, "g_108", print_hash_value);
      transparent_crc(g_113, "g_113", print_hash_value);
      transparent_crc(g_119.f0, "g_119.f0", print_hash_value);
      transparent_crc(g_125.f0, "g_125.f0", print_hash_value);
      transparent_crc(g_125.f1, "g_125.f1", print_hash_value);
      transparent_crc(g_125.f2, "g_125.f2", print_hash_value);
      transparent_crc(g_127.f0, "g_127.f0", print_hash_value);
      transparent_crc(g_127.f1, "g_127.f1", print_hash_value);
      transparent_crc(g_127.f2, "g_127.f2", print_hash_value);
      transparent_crc(g_129.f0, "g_129.f0", print_hash_value);
      for (i = 0; i < 7; i++)
      {
          for (j = 0; j < 10; j++)
          {
              transparent_crc(g_134[i][j], "g_134[i][j]", print_hash_value);
              if (print_hash_value) printf("index = [%d][%d]\n", i, j);
  
          }
      }
      transparent_crc(g_147, "g_147", print_hash_value);
      transparent_crc(g_159.f0, "g_159.f0", print_hash_value);
      transparent_crc(g_159.f1, "g_159.f1", print_hash_value);
      transparent_crc(g_159.f2, "g_159.f2", print_hash_value);
      transparent_crc(g_162.f0, "g_162.f0", print_hash_value);
      transparent_crc(g_162.f1, "g_162.f1", print_hash_value);
      transparent_crc(g_162.f2, "g_162.f2", print_hash_value);
      transparent_crc(g_167, "g_167", print_hash_value);
      for (i = 0; i < 6; i++)
      {
          for (j = 0; j < 1; j++)
          {
              for (k = 0; k < 6; k++)
              {
                  transparent_crc(g_178[i][j][k], "g_178[i][j][k]", print_hash_value);
                  if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);
  
              }
          }
      }
      transparent_crc(g_263.f0, "g_263.f0", print_hash_value);
      transparent_crc(g_263.f1, "g_263.f1", print_hash_value);
      transparent_crc(g_263.f2, "g_263.f2", print_hash_value);
      transparent_crc(g_263.f3, "g_263.f3", print_hash_value);
      transparent_crc(g_263.f4, "g_263.f4", print_hash_value);
      transparent_crc(g_263.f5, "g_263.f5", print_hash_value);
      transparent_crc(g_263.f6, "g_263.f6", print_hash_value);
      transparent_crc(g_263.f7, "g_263.f7", print_hash_value);
      transparent_crc(g_263.f8, "g_263.f8", print_hash_value);
      transparent_crc(g_263.f9, "g_263.f9", print_hash_value);
      for (i = 0; i < 1; i++)
      {
          transparent_crc(g_275[i].f0, "g_275[i].f0", print_hash_value);
          transparent_crc(g_275[i].f1, "g_275[i].f1", print_hash_value);
          transparent_crc(g_275[i].f2, "g_275[i].f2", print_hash_value);
          transparent_crc(g_275[i].f3, "g_275[i].f3", print_hash_value);
          transparent_crc(g_275[i].f4, "g_275[i].f4", print_hash_value);
          transparent_crc(g_275[i].f5, "g_275[i].f5", print_hash_value);
          transparent_crc(g_275[i].f6, "g_275[i].f6", print_hash_value);
          transparent_crc(g_275[i].f7, "g_275[i].f7", print_hash_value);
          transparent_crc(g_275[i].f8, "g_275[i].f8", print_hash_value);
          transparent_crc(g_275[i].f9, "g_275[i].f9", print_hash_value);
          if (print_hash_value) printf("index = [%d]\n", i);
  
      }
      transparent_crc(g_322, "g_322", print_hash_value);
      transparent_crc(g_361, "g_361", print_hash_value);
      transparent_crc(g_373, "g_373", print_hash_value);
      transparent_crc(g_406, "g_406", print_hash_value);
      transparent_crc(g_407.f0, "g_407.f0", print_hash_value);
      transparent_crc(g_407.f1, "g_407.f1", print_hash_value);
      transparent_crc(g_407.f2, "g_407.f2", print_hash_value);
      transparent_crc(g_458, "g_458", print_hash_value);
      for (i = 0; i < 1; i++)
      {
          transparent_crc(g_460[i], "g_460[i]", print_hash_value);
          if (print_hash_value) printf("index = [%d]\n", i);
  
      }
      platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
      return 0;
  }
  
  /************************ statistics *************************
  XXX max struct depth: 1
  breakdown:
     depth: 0, occurrence: 99
     depth: 1, occurrence: 2
  XXX total union variables: 0
  
  XXX non-zero bitfields defined in structs: 14
  XXX zero bitfields defined in structs: 0
  XXX const bitfields defined in structs: 2
  XXX volatile bitfields defined in structs: 8
  XXX structs with bitfields in the program: 22
  breakdown:
     indirect level: 0, occurrence: 2
     indirect level: 1, occurrence: 8
     indirect level: 2, occurrence: 12
  XXX full-bitfields structs in the program: 2
  breakdown:
     indirect level: 0, occurrence: 2
  XXX times a bitfields struct's address is taken: 19
  XXX times a bitfields struct on LHS: 0
  XXX times a bitfields struct on RHS: 4
  XXX times a single bitfield on LHS: 1
  XXX times a single bitfield on RHS: 40
  
  XXX max expression depth: 35
  breakdown:
     depth: 1, occurrence: 50
     depth: 2, occurrence: 6
     depth: 4, occurrence: 1
     depth: 6, occurrence: 1
     depth: 7, occurrence: 1
     depth: 8, occurrence: 1
     depth: 15, occurrence: 1
     depth: 21, occurrence: 2
     depth: 22, occurrence: 1
     depth: 30, occurrence: 1
     depth: 34, occurrence: 1
     depth: 35, occurrence: 1
  
  XXX total number of pointers: 123
  
  XXX times a variable address is taken: 299
  XXX times a pointer is dereferenced on RHS: 46
  breakdown:
     depth: 1, occurrence: 29
     depth: 2, occurrence: 17
  XXX times a pointer is dereferenced on LHS: 58
  breakdown:
     depth: 1, occurrence: 50
     depth: 2, occurrence: 8
  XXX times a pointer is compared with null: 4
  XXX times a pointer is compared with address of another variable: 0
  XXX times a pointer is compared with another pointer: 3
  XXX times a pointer is qualified to be dereferenced: 1694
  
  XXX max dereference level: 3
  breakdown:
     level: 0, occurrence: 0
     level: 1, occurrence: 164
     level: 2, occurrence: 82
     level: 3, occurrence: 1
  XXX number of pointers point to pointers: 45
  XXX number of pointers point to scalars: 63
  XXX number of pointers point to structs: 10
  XXX percent of pointers has null in alias set: 32.5
  XXX average alias set size: 1.46
  
  XXX times a non-volatile is read: 304
  XXX times a non-volatile is write: 177
  XXX times a volatile is read: 24
  XXX    times read thru a pointer: 3
  XXX times a volatile is write: 4
  XXX    times written thru a pointer: 2
  XXX times a volatile is available for access: 1.19e+03
  XXX percentage of non-volatile access: 94.5
  
  XXX forward jumps: 0
  XXX backward jumps: 2
  
  XXX stmts: 41
  XXX max block depth: 3
  breakdown:
     depth: 0, occurrence: 29
     depth: 1, occurrence: 6
     depth: 2, occurrence: 4
     depth: 3, occurrence: 2
  
  XXX percentage a fresh-made variable is used: 14.2
  XXX percentage an existing variable is used: 85.8
  FYI: the random generator makes assumptions about the integer size. See platform.info for more details.
  ********************* end of statistics **********************/
  
  