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

[csmith-bugs] Csmith bug report: union members and pointer aliasing



Hi,

I think I have found a bug in csmith that causes the generated code to have
undefined behavior.

I am using csmith built from git revision
34539040a2a4fe93d019ceee6b8a95f73137980f (Fri Mar 6 01:22:30 2015).

In the output of "csmith --seed 89795", global variable g_36 (defined on line
45) has a union type, but it is accessed through pointers of different types:
g_64, of "type uint64_t*", and g_117, of type "uint8_t*[]", as well as directly
through the union. This is undefined behavior according to C99 6.5/7.

This causes clang's code generation to change enough to change the checksum,
though it can be worked around with -fno-strict-aliasing:

$ csmith --seed 89795 --no-argc | sed 's/static //g' > 89795.c
$ clang -Icsmith/runtime 89795.c -O1 -w -o test && ./test
checksum = 50336FB
$ clang -Icsmith/runtime 89795.c -O3 -w -o test && ./test
checksum = 811FF0B8
$ clang -Icsmith/runtime 89795.c -O3 -fno-strict-aliasing -w -o test && ./test
checksum = 50336FB

Csmith does have an option that looks like it should prevent the address of a
union member being taken, --take-no-union-field-addr, but this does not seem to
have any effect on the generated code. Is this another bug, or have I
misunderstood what this option does?

Oliver

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2548782
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.3.0
 * Git version: 3453904
 * Options:   --seed 89795
 * Seed:      89795
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
union U0 {
   uint8_t  f0;
   int8_t  f1;
   signed f2 : 30;
   int32_t  f3;
};

union U1 {
   unsigned f0 : 15;
   const int8_t  f1;
   int8_t * volatile  f2;
};

union U2 {
   int32_t  f0;
   uint64_t  f1;
};

union U3 {
   const int16_t  f0;
   uint8_t  f1;
   const uint16_t  f2;
   uint64_t  f3;
};

/* --- GLOBAL VARIABLES --- */
static uint16_t g_17 = 65533UL;
static int32_t g_19[9] = {2L,0xF68593F9L,2L,2L,0xF68593F9L,2L,2L,0xF68593F9L,2L};
static int8_t g_32[7][7][3] = {{{9L,0xB2L,9L},{7L,0x63L,0x3AL},{0xEFL,0xF8L,0x03L},{7L,0x8EL,0xF3L},{9L,1L,1L},{7L,1L,3L},{0xEFL,0xB2L,0xEFL}},{{7L,0x26L,0x3AL},{9L,0xF8L,0L},{7L,0x51L,0xF3L},{0xEFL,1L,0x73L},{7L,(-1L),3L},{9L,(-9L),0x39L},{0xDCL,0xF3L,0xDCL}},{{4L,(-4L),0xE2L},{0xDCL,2L,1L},{0x39L,(-1L),(-1L)},{0xDCL,3L,(-8L)},{4L,(-9L),4L},{0xDCL,7L,0xDCL},{0x39L,(-4L),0xCFL}},{{0xDCL,0x3AL,1L},{4L,(-1L),0xF2L},{0xDCL,(-1L),(-8L)},{0x39L,(-9L),0x39L},{0xDCL,0xF3L,0xDCL},{4L,(-4L),0xE2L},{0xDCL,2L,1L}},{{0x39L,(-1L),(-1L)},{0xDCL,3L,(-8L)},{4L,(-9L),4L},{0xDCL,7L,0xDCL},{0x39L,(-4L),0xCFL},{0xDCL,0x3AL,1L},{4L,(-1L),0xF2L}},{{0xDCL,(-1L),(-8L)},{0x39L,(-9L),0x39L},{0xDCL,0xF3L,0xDCL},{4L,(-4L),0xE2L},{0xDCL,2L,1L},{0x39L,(-1L),(-1L)},{0xDCL,3L,(-8L)}},{{4L,(-9L),4L},{0xDCL,7L,0xDCL},{0x39L,(-4L),0xCFL},{0xDCL,0x3AL,1L},{4L,(-1L),0xF2L},{0xDCL,(-1L),(-8L)},{0x39L,(-9L),0x39L}}};
static union U3 g_36 = {0x0187L};
static uint32_t g_55 = 4294967295UL;
static uint64_t *g_64 = &g_36.f3;
static int32_t g_72 = 0x0BC0C019L;
static int32_t * volatile g_71 = &g_72;/* VOLATILE GLOBAL g_71 */
static int32_t * volatile g_73[3][2][7] = {{{&g_72,(void*)0,&g_72,&g_72,(void*)0,&g_72,&g_72},{(void*)0,(void*)0,&g_72,(void*)0,(void*)0,&g_72,(void*)0}},{{(void*)0,&g_72,&g_72,(void*)0,&g_72,&g_72,(void*)0},{&g_72,(void*)0,&g_72,&g_72,(void*)0,&g_72,&g_72}},{{(void*)0,(void*)0,&g_72,(void*)0,(void*)0,&g_72,(void*)0},{(void*)0,&g_72,&g_72,(void*)0,&g_72,&g_72,(void*)0}}};
static union U0 g_91 = {0x6BL};
static uint8_t * volatile g_117[9] = {&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1,&g_36.f1};
static int64_t g_134[2] = {0L,0L};
static uint8_t g_145 = 0x3DL;
static int32_t *g_166 = &g_19[6];
static int32_t ** volatile g_165[2][7] = {{&g_166,&g_166,&g_166,&g_166,&g_166,&g_166,&g_166},{&g_166,&g_166,&g_166,&g_166,&g_166,&g_166,&g_166}};
static int32_t ** volatile g_167 = &g_166;/* VOLATILE GLOBAL g_167 */
static int16_t g_184 = 0xDEA6L;
static int64_t g_189[6] = {(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)};
static int32_t g_190 = 1L;
static int8_t g_192 = 7L;
static uint16_t g_193 = 0UL;
static union U1 g_210 = {0xFC3AE16EL};/* VOLATILE GLOBAL g_210 */
static int32_t ** volatile g_243 = &g_166;/* VOLATILE GLOBAL g_243 */
static volatile union U2 g_268 = {0x80B8B4CFL};/* VOLATILE GLOBAL g_268 */
static uint32_t g_270[4][5] = {{0x70C1F8C9L,0x70C1F8C9L,0x096C0763L,0x70C1F8C9L,0x70C1F8C9L},{0xC19CCB66L,0x70C1F8C9L,0xC19CCB66L,0x096C0763L,0xC19CCB66L},{0xC19CCB66L,0x096C0763L,0x096C0763L,0xC19CCB66L,0x096C0763L},{0xC19CCB66L,0xC19CCB66L,0x70C1F8C9L,0xC19CCB66L,0xC19CCB66L}};
static union U1 g_281 = {0x2BB65246L};/* VOLATILE GLOBAL g_281 */
static const union U0 g_293 = {1UL};
static uint8_t g_314 = 0x65L;
static int32_t ** volatile g_317 = &g_166;/* VOLATILE GLOBAL g_317 */
static union U2 g_563 = {1L};
static union U2 *g_562 = &g_563;
static union U2 ** volatile g_561 = &g_562;/* VOLATILE GLOBAL g_561 */
static const union U1 g_578 = {0xFC81BD09L};/* VOLATILE GLOBAL g_578 */
static volatile union U1 g_605 = {3UL};/* VOLATILE GLOBAL g_605 */
static int8_t g_615 = 0x41L;
static volatile int8_t g_688 = 0xA8L;/* VOLATILE GLOBAL g_688 */
static uint32_t g_726 = 9UL;
static union U3 g_732 = {0x0B61L};
static union U3 *g_731 = &g_732;
static uint32_t g_745 = 0x3419BBD0L;
static union U0 * volatile * volatile g_746 = (void*)0;/* VOLATILE GLOBAL g_746 */
static int16_t g_767 = 0xEB2BL;
static int16_t g_769 = 0x4E0EL;
static const int32_t *g_836 = &g_19[2];
static const int32_t ** volatile g_835 = &g_836;/* VOLATILE GLOBAL g_835 */
static union U1 g_849 = {8UL};/* VOLATILE GLOBAL g_849 */
static union U0 *g_858 = &g_91;
static union U0 ** volatile g_857 = &g_858;/* VOLATILE GLOBAL g_857 */
static int32_t ** volatile g_863[4] = {&g_166,&g_166,&g_166,&g_166};
static int32_t ** volatile g_864 = &g_166;/* VOLATILE GLOBAL g_864 */
static uint64_t **g_910 = (void*)0;
static uint64_t *** const  volatile g_909 = &g_910;/* VOLATILE GLOBAL g_909 */
static int32_t g_1019 = 0xC89F3DB1L;
static volatile uint16_t g_1055 = 4UL;/* VOLATILE GLOBAL g_1055 */
static int32_t * volatile g_1066 = &g_19[6];/* VOLATILE GLOBAL g_1066 */
static int32_t * volatile g_1069 = &g_72;/* VOLATILE GLOBAL g_1069 */
static union U1 g_1112 = {0xCBBA67C9L};/* VOLATILE GLOBAL g_1112 */
static union U1 *g_1111 = &g_1112;
static union U1 ** volatile g_1113 = (void*)0;/* VOLATILE GLOBAL g_1113 */
static int64_t * volatile g_1177 = &g_134[1];/* VOLATILE GLOBAL g_1177 */
static int64_t * volatile * volatile g_1176 = &g_1177;/* VOLATILE GLOBAL g_1176 */
static volatile int64_t **g_1178 = (void*)0;
static union U1 g_1186 = {0x999D70C8L};/* VOLATILE GLOBAL g_1186 */
static int32_t ** volatile g_1192 = &g_166;/* VOLATILE GLOBAL g_1192 */
static volatile union U1 g_1241 = {0x3A1DFD13L};/* VOLATILE GLOBAL g_1241 */
static union U1 ** volatile g_1278 = (void*)0;/* VOLATILE GLOBAL g_1278 */
static union U3 ** volatile g_1289 = (void*)0;/* VOLATILE GLOBAL g_1289 */
static union U3 ** volatile g_1290 = (void*)0;/* VOLATILE GLOBAL g_1290 */
static union U3 ** volatile g_1296 = (void*)0;/* VOLATILE GLOBAL g_1296 */
static union U0 g_1315 = {251UL};
static volatile uint8_t * volatile *g_1339 = (void*)0;
static volatile uint8_t * volatile * volatile *g_1338 = &g_1339;
static uint8_t g_1447 = 0UL;
static union U2 **g_1477 = &g_562;
static union U2 *** volatile g_1476 = &g_1477;/* VOLATILE GLOBAL g_1476 */
static union U1 g_1541 = {4294967291UL};/* VOLATILE GLOBAL g_1541 */
static uint32_t *g_1561 = &g_726;
static uint32_t **g_1560 = &g_1561;
static union U2 ***g_1599[2] = {(void*)0,(void*)0};
static volatile union U1 g_1652 = {4294967291UL};/* VOLATILE GLOBAL g_1652 */
static union U1 g_1758[3] = {{0xAADD1AA5L},{0xAADD1AA5L},{0xAADD1AA5L}};
static union U3 ** volatile g_1842[7][8] = {{&g_731,&g_731,&g_731,&g_731,&g_731,&g_731,&g_731,&g_731},{&g_731,(void*)0,(void*)0,&g_731,&g_731,&g_731,&g_731,&g_731},{(void*)0,&g_731,(void*)0,&g_731,&g_731,&g_731,&g_731,(void*)0},{&g_731,&g_731,&g_731,&g_731,(void*)0,&g_731,&g_731,&g_731},{&g_731,(void*)0,&g_731,&g_731,&g_731,&g_731,(void*)0,&g_731},{(void*)0,&g_731,&g_731,&g_731,&g_731,&g_731,(void*)0,(void*)0},{&g_731,&g_731,&g_731,&g_731,&g_731,&g_731,&g_731,&g_731}};
static volatile union U1 g_1849 = {0UL};/* VOLATILE GLOBAL g_1849 */
static uint32_t * const **g_1855 = (void*)0;
static uint32_t *g_1861 = &g_745;
static uint32_t **g_1860 = &g_1861;
static uint32_t ***g_1859 = &g_1860;
static union U2 ** volatile g_1882[1] = {(void*)0};
static int32_t ** volatile g_1916 = &g_166;/* VOLATILE GLOBAL g_1916 */
static int32_t * volatile g_1939 = (void*)0;/* VOLATILE GLOBAL g_1939 */
static int8_t g_1941 = (-3L);
static int64_t *g_1981 = (void*)0;
static union U0 ** volatile g_2022 = &g_858;/* VOLATILE GLOBAL g_2022 */
static int32_t ** const  volatile g_2058 = &g_166;/* VOLATILE GLOBAL g_2058 */
static union U3 g_2087 = {2L};
static union U1 g_2090 = {4294967295UL};/* VOLATILE GLOBAL g_2090 */
static union U3 *g_2181 = &g_36;
static uint32_t ****g_2193 = &g_1859;
static volatile uint32_t g_2241 = 0x78FE9F74L;/* VOLATILE GLOBAL g_2241 */
static union U3 *g_2268[2][6][4] = {{{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0}},{{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0},{&g_36,(void*)0,&g_36,(void*)0}}};
static union U3 ** volatile g_2269 = &g_2268[0][2][3];/* VOLATILE GLOBAL g_2269 */
static const volatile int8_t *g_2279 = &g_688;
static const volatile int8_t **g_2278 = &g_2279;
static int32_t g_2373 = 0x6B1FB607L;
static int8_t g_2375 = 1L;
static volatile uint8_t g_2378 = 2UL;/* VOLATILE GLOBAL g_2378 */
static int8_t g_2399[8][3] = {{0x50L,0x50L,0x50L},{(-1L),(-1L),(-1L)},{0x50L,0x50L,0x50L},{(-1L),(-1L),(-1L)},{0x50L,0x50L,0x50L},{(-1L),(-1L),(-1L)},{0x50L,0x50L,0x50L},{(-1L),(-1L),(-1L)}};
static uint64_t * volatile g_2413 = &g_36.f3;/* VOLATILE GLOBAL g_2413 */
static union U2 ** const *g_2488[8][5][6] = {{{&g_1477,&g_1477,(void*)0,&g_1477,(void*)0,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477}},{{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,(void*)0,&g_1477,(void*)0,&g_1477,&g_1477}},{{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,&g_1477,&g_1477,(void*)0,(void*)0,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,(void*)0,&g_1477}},{{(void*)0,&g_1477,(void*)0,(void*)0,&g_1477,(void*)0},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,(void*)0,&g_1477,(void*)0,&g_1477,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0}},{{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,&g_1477,&g_1477,(void*)0,(void*)0,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,(void*)0,&g_1477},{(void*)0,&g_1477,(void*)0,(void*)0,&g_1477,(void*)0}},{{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,(void*)0,&g_1477,(void*)0,&g_1477,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0}},{{(void*)0,&g_1477,&g_1477,(void*)0,(void*)0,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{&g_1477,&g_1477,&g_1477,&g_1477,(void*)0,&g_1477},{(void*)0,&g_1477,(void*)0,(void*)0,&g_1477,(void*)0},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477}},{{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{(void*)0,(void*)0,&g_1477,(void*)0,&g_1477,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,(void*)0},{&g_1477,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477},{(void*)0,&g_1477,&g_1477,&g_1477,&g_1477,&g_1477}}};
static union U2 ** const **g_2487 = &g_2488[5][4][2];
static uint16_t g_2512 = 9UL;
static volatile int32_t g_2515 = 0x70C22F5FL;/* VOLATILE GLOBAL g_2515 */
static int32_t ** volatile g_2563[6] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
static volatile uint16_t g_2570 = 0x5338L;/* VOLATILE GLOBAL g_2570 */
static int32_t * volatile g_2635 = (void*)0;/* VOLATILE GLOBAL g_2635 */
static uint32_t g_2679[7][4] = {{0xD22636A9L,0x9F4A7669L,0x4D4C8AE5L,18446744073709551614UL},{0x9F4A7669L,0UL,0UL,0xD22636A9L},{0xFF5A6BA5L,0xC5FEE60AL,0xC5FEE60AL,0xFF5A6BA5L},{0xFF5A6BA5L,18446744073709551614UL,0UL,0xAA2B3F10L},{0x9F4A7669L,0xFF5A6BA5L,0x4D4C8AE5L,3UL},{0xD22636A9L,0x1A50E411L,0xD22636A9L,3UL},{0x4D4C8AE5L,0xFF5A6BA5L,0x9F4A7669L,0xAA2B3F10L}};
static int32_t ** volatile g_2690 = &g_166;/* VOLATILE GLOBAL g_2690 */
static uint8_t *g_2705 = (void*)0;
static uint8_t **g_2704 = &g_2705;
static uint8_t ***g_2703[10] = {(void*)0,&g_2704,(void*)0,&g_2704,(void*)0,&g_2704,(void*)0,&g_2704,(void*)0,&g_2704};
static int32_t *g_2729 = &g_19[1];
static volatile int32_t g_2805 = 0L;/* VOLATILE GLOBAL g_2805 */
static volatile int64_t g_2814 = 6L;/* VOLATILE GLOBAL g_2814 */
static const union U1 g_2881 = {0x2CC71799L};/* VOLATILE GLOBAL g_2881 */
static int64_t ***g_2887[4] = {(void*)0,(void*)0,(void*)0,(void*)0};
static int64_t ****g_2886[7][3] = {{&g_2887[2],&g_2887[2],&g_2887[2]},{(void*)0,(void*)0,(void*)0},{&g_2887[2],&g_2887[2],&g_2887[2]},{(void*)0,(void*)0,(void*)0},{&g_2887[2],&g_2887[2],&g_2887[2]},{(void*)0,(void*)0,(void*)0},{&g_2887[2],&g_2887[2],&g_2887[2]}};
static int32_t ** volatile g_2895 = &g_2729;/* VOLATILE GLOBAL g_2895 */
static int32_t ** volatile g_2897 = &g_2729;/* VOLATILE GLOBAL g_2897 */
static const union U1 g_2910 = {4294967288UL};/* VOLATILE GLOBAL g_2910 */
static const union U1 *g_2912 = &g_2881;
static const union U1 ** volatile g_2911 = &g_2912;/* VOLATILE GLOBAL g_2911 */
static union U3 g_2938 = {0x71A6L};
static int32_t ** volatile g_2970 = &g_2729;/* VOLATILE GLOBAL g_2970 */
static int16_t g_2993 = (-3L);
static union U0 * const *g_3062 = (void*)0;
static volatile union U1 g_3070 = {0x956011C7L};/* VOLATILE GLOBAL g_3070 */
static const int8_t *g_3138 = &g_2399[2][1];
static const int8_t **g_3137 = &g_3138;
static const int8_t ***g_3136[7][5][2] = {{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}},{{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137},{&g_3137,&g_3137}}};
static union U1 *g_3208[9] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
static int8_t g_3260 = (-1L);
static int32_t ** volatile g_3274 = &g_2729;/* VOLATILE GLOBAL g_3274 */
static int32_t g_3287 = 8L;
static const union U2 g_3322[8][4] = {{{0x36855476L},{0x10335BFDL},{-9L},{0xB282E12CL}},{{0xB282E12CL},{-1L},{-1L},{0x10335BFDL}},{{0L},{-1L},{-1L},{0L}},{{0xB282E12CL},{0x4C3C5191L},{-9L},{-1L}},{{0x36855476L},{0L},{-1L},{0x8932114EL}},{{-1L},{0x8932114EL},{0x27247B10L},{0x8932114EL}},{{-1L},{0L},{-1L},{-1L}},{{2L},{0x4C3C5191L},{0x8932114EL},{0L}}};
static const union U2 g_3324 = {9L};
static int8_t *g_3354 = &g_32[2][4][1];
static int8_t * volatile g_3362[2][10] = {{&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375},{&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375,&g_2375}};
static int8_t * volatile *g_3361 = &g_3362[1][0];
static int8_t * volatile **g_3360 = &g_3361;
static union U0 g_3366 = {255UL};
static union U1 g_3382 = {0x2FD270B3L};/* VOLATILE GLOBAL g_3382 */
static volatile union U1 g_3486 = {0x12368895L};/* VOLATILE GLOBAL g_3486 */
static volatile union U1 g_3490 = {4294967291UL};/* VOLATILE GLOBAL g_3490 */
static volatile int16_t g_3515 = (-2L);/* VOLATILE GLOBAL g_3515 */
static volatile int16_t *g_3514 = &g_3515;
static volatile int16_t ** const g_3513 = &g_3514;
static uint64_t g_3549 = 0x5E0CD724F38CDB1DLL;


/* --- FORWARD DECLARATIONS --- */
static union U0  func_1(void);
static int32_t * func_2(int32_t * p_3, uint64_t  p_4, union U0  p_5, int8_t * p_6, int8_t * p_7);
static int32_t * func_8(uint8_t  p_9, union U3  p_10, int32_t  p_11, uint32_t  p_12);
static uint8_t  func_13(const union U3  p_14, uint8_t  p_15);
static union U3 * func_29(uint32_t  p_30);
static int8_t * func_37(uint8_t  p_38, uint16_t  p_39);
static const uint16_t  func_42(int64_t  p_43, uint64_t  p_44);
static int64_t  func_45(uint64_t  p_46, union U0  p_47, union U0  p_48);
static const union U3  func_58(uint16_t  p_59, int8_t * p_60, uint32_t  p_61, uint64_t * p_62, int64_t  p_63);
static const uint64_t  func_87(uint64_t * p_88, union U0  p_89);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_17 g_563.f1 g_2278 g_166 g_2022 g_858 g_91 g_19 g_1758.f0 g_2193 g_1859 g_1860 g_1861 g_745 g_189 g_2279 g_688 g_2690 g_3274 g_857 g_2938.f1 g_2378 g_3287 g_3138 g_2399 g_64 g_605.f0 g_2679 g_1476 g_1477 g_562 g_2487 g_2488 g_1176 g_1177 g_32 g_767 g_134 g_864 g_1560 g_1561 g_726 g_2912 g_2881 g_3137 g_3324 g_3360 g_2087.f0 g_2373 g_1315.f3 g_72 g_769 g_1186.f0 g_1192 g_1916 g_2729 g_3366 g_3514 g_3515 g_3513 g_3366.f1 g_3324.f0
 * writes: g_563.f1 g_19 g_91.f1 g_732.f1 g_36.f3 g_184 g_2729 g_17 g_166 g_745 g_1599 g_1315.f1 g_189 g_2512 g_3354 g_314 g_1315.f3 g_562 g_72 g_2087.f3 g_563.f0 g_3366.f1
 */
static union U0  func_1(void)
{ /* block id: 0 */
    const union U3 l_16[7][3] = {{{-3L},{0xB441L},{0xB441L}},{{8L},{0x8373L},{0x8373L}},{{-3L},{0xB441L},{0xB441L}},{{8L},{0x8373L},{0x8373L}},{{-3L},{0xB441L},{0xB441L}},{{8L},{0x8373L},{0x8373L}},{{-3L},{0xB441L},{0xB441L}}};
    uint8_t *l_2289 = (void*)0;
    uint8_t *l_2290 = (void*)0;
    uint8_t *l_2291 = (void*)0;
    int32_t l_2292 = 0xB54E963DL;
    uint8_t *l_2293[1];
    int32_t l_2294[4] = {(-1L),(-1L),(-1L),(-1L)};
    uint8_t l_2295[2][8][3] = {{{0x7FL,0xE2L,0xE2L},{0xE2L,255UL,1UL},{0x7FL,255UL,0x7FL},{4UL,0xE2L,1UL},{4UL,4UL,0xE2L},{0x7FL,0xE2L,0xE2L},{0xE2L,255UL,1UL},{0x7FL,255UL,0x7FL}},{{4UL,0xE2L,1UL},{4UL,4UL,0xE2L},{0x7FL,0xE2L,0xE2L},{0xE2L,255UL,1UL},{0x7FL,255UL,0x7FL},{4UL,0xE2L,1UL},{4UL,4UL,0xE2L},{0x7FL,0xE2L,0xE2L}}};
    int8_t *l_2298 = (void*)0;
    union U1 **l_3279 = &g_1111;
    uint64_t **l_3282 = &g_64;
    uint16_t *l_3286 = &g_17;
    int64_t l_3300 = 0x81177F417AFDC8C3LL;
    const uint8_t l_3302 = 0xADL;
    uint32_t *****l_3306 = &g_2193;
    int32_t **l_3345[9];
    int8_t *l_3351 = (void*)0;
    uint16_t l_3392 = 0UL;
    int32_t l_3438 = 6L;
    int8_t *l_3529[3][7][8] = {{{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1}},{{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1}},{{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1},{&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1,&g_1315.f1}}};
    int16_t l_3536 = 0x4F2BL;
    uint32_t l_3539[1];
    int64_t l_3540 = 0L;
    int8_t l_3541 = 0xBAL;
    uint64_t *l_3545 = &g_36.f3;
    uint64_t *l_3546 = (void*)0;
    uint64_t *l_3547 = &g_36.f3;
    uint64_t *l_3548[4][7][8] = {{{&g_3549,(void*)0,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,(void*)0},{&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,(void*)0},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,(void*)0,&g_3549},{&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0},{(void*)0,(void*)0,(void*)0,&g_3549,(void*)0,&g_3549,(void*)0,&g_3549},{&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549},{&g_3549,&g_563.f1,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0}},{{(void*)0,&g_3549,&g_563.f1,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,(void*)0},{&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,(void*)0},{&g_3549,&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549},{&g_3549,(void*)0,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549}},{{&g_3549,(void*)0,(void*)0,&g_3549,(void*)0,(void*)0,&g_563.f1,&g_3549},{&g_3549,(void*)0,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,(void*)0},{&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_563.f1,(void*)0},{(void*)0,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0},{&g_3549,(void*)0,&g_3549,(void*)0,(void*)0,&g_3549,(void*)0,&g_3549},{(void*)0,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549}},{{(void*)0,&g_3549,(void*)0,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549},{&g_3549,&g_3549,(void*)0,(void*)0,&g_3549,&g_3549,(void*)0,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549,(void*)0,(void*)0},{(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,(void*)0,&g_3549},{&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,(void*)0,&g_3549,&g_3549},{(void*)0,(void*)0,&g_3549,&g_3549,&g_3549,&g_3549,(void*)0,&g_3549}}};
    uint16_t l_3550[3][2] = {{1UL,1UL},{1UL,1UL},{1UL,1UL}};
    uint32_t l_3551 = 0x1D0A598AL;
    int i, j, k;
    for (i = 0; i < 1; i++)
        l_2293[i] = &g_36.f1;
    for (i = 0; i < 9; i++)
        l_3345[i] = &g_166;
    for (i = 0; i < 1; i++)
        l_3539[i] = 0x883F5339L;
    (*g_3274) = func_2(func_8(func_13(l_16[6][1], l_16[6][1].f1), l_16[2][1], g_17, g_17), (!(l_2295[1][7][2]--)), (**g_2022), l_2291, l_2298);
    if ((safe_sub_func_int8_t_s_s((((**g_2022) , (((**g_857) , (((l_2292 = (((((safe_rshift_func_uint8_t_u_u(((l_3279 == ((((*l_3286) = (((safe_mul_func_uint16_t_u_u(((((void*)0 == l_3282) >= ((safe_add_func_uint8_t_u_u(l_2295[0][3][1], (l_2294[3] &= (+l_16[6][1].f1)))) != (-1L))) <= l_16[6][1].f0), l_2295[1][7][2])) == l_16[6][1].f1) <= 0x34L)) == g_2938.f1) , (void*)0)) > g_2378), l_2295[1][0][0])) > g_3287) > l_16[6][1].f1) != l_2295[0][1][0]) ^ (*g_3138))) == 1L) < (-8L))) && 250UL)) > 4294967295UL), 0x3EL)))
    { /* block id: 1477 */
        uint16_t l_3301[2][8][5] = {{{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0x019BL,3UL,0x019BL,0x37F7L},{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0xAE3FL,65535UL,0x019BL,65535UL},{65535UL,65535UL,1UL,65535UL,65535UL},{65535UL,0x019BL,65535UL,0xAE3FL,0x37F7L},{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0x019BL,3UL,0x019BL,0x37F7L}},{{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0xAE3FL,65535UL,0x019BL,65535UL},{65535UL,65535UL,1UL,65535UL,65535UL},{65535UL,0x019BL,65535UL,0xAE3FL,0x37F7L},{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0x019BL,3UL,0x019BL,0x37F7L},{65535UL,65535UL,65535UL,65535UL,65535UL},{0x37F7L,0xAE3FL,65535UL,0x019BL,65535UL}}};
        int32_t l_3303 = (-1L);
        union U3 l_3304 = {0xDC58L};
        int32_t **l_3305 = &g_166;
        int i, j, k;
        (*l_3305) = (l_2295[1][7][2] , func_8(((l_3303 = (safe_mod_func_int32_t_s_s((safe_sub_func_int32_t_s_s(0x90E759B5L, ((safe_mod_func_uint32_t_u_u((((0x13F3L & (safe_mul_func_uint16_t_u_u(((*l_3286) = ((((safe_rshift_func_uint16_t_u_s((g_1758[1].f0 ^ (safe_sub_func_int8_t_s_s(1L, l_3300))), 12)) & ((*g_64) = 0x92DED8AFCC47B73CLL)) && (l_2295[1][0][1] , (***g_1859))) && 3UL)), g_605.f0))) & l_3301[0][1][2]) == l_3301[0][1][0]), l_3302)) & l_3300))), (*g_166)))) , 2UL), l_3304, l_3304.f2, l_3300));
    }
    else
    { /* block id: 1482 */
        int16_t *l_3316 = &g_184;
        int16_t **l_3315[3][4];
        union U2 ***l_3317 = &g_1477;
        const union U2 *l_3323 = &g_3324;
        int32_t l_3329 = 0x213DE512L;
        int32_t l_3336 = 0x53CC4A51L;
        union U0 l_3338 = {7UL};
        int8_t *l_3364 = &g_91.f1;
        int8_t l_3365 = 0x14L;
        int32_t *l_3404 = &g_563.f0;
        uint16_t l_3492 = 0x2E60L;
        int32_t l_3521 = 0xBE86BB34L;
        int32_t l_3522 = 0x16728897L;
        int32_t l_3523 = (-10L);
        uint32_t l_3524 = 0x86364DA6L;
        int i, j;
        for (i = 0; i < 3; i++)
        {
            for (j = 0; j < 4; j++)
                l_3315[i][j] = &l_3316;
        }
        if (((void*)0 == l_3306))
        { /* block id: 1483 */
            int64_t *l_3309 = (void*)0;
            union U2 ****l_3318 = &g_1599[1];
            const union U2 *l_3321[10][2][5] = {{{(void*)0,&g_3322[5][1],&g_3322[6][1],&g_3322[5][1],&g_3322[5][1]},{(void*)0,&g_3322[5][1],&g_3322[3][3],&g_3322[5][1],(void*)0}},{{&g_3322[3][3],&g_3322[5][1],&g_3322[1][3],&g_3322[5][1],&g_3322[1][3]},{&g_3322[7][1],&g_3322[5][1],(void*)0,&g_3322[5][1],(void*)0}},{{&g_3322[7][1],&g_3322[5][2],&g_3322[5][1],&g_3322[6][1],&g_3322[5][1]},{&g_3322[3][3],&g_3322[5][1],&g_3322[5][1],&g_3322[7][1],&g_3322[7][1]}},{{(void*)0,&g_3322[5][1],(void*)0,&g_3322[6][1],&g_3322[7][1]},{&g_3322[5][1],&g_3322[5][1],&g_3322[1][3],&g_3322[5][1],&g_3322[5][1]}},{{(void*)0,&g_3322[5][1],&g_3322[3][3],&g_3322[5][1],(void*)0},{&g_3322[3][3],&g_3322[5][1],&g_3322[1][3],&g_3322[5][1],&g_3322[1][3]}},{{&g_3322[7][1],&g_3322[5][1],(void*)0,&g_3322[5][1],(void*)0},{&g_3322[7][1],&g_3322[5][2],&g_3322[5][1],&g_3322[6][1],&g_3322[5][1]}},{{&g_3322[3][3],&g_3322[5][1],&g_3322[5][1],&g_3322[7][1],&g_3322[7][1]},{(void*)0,&g_3322[5][1],(void*)0,&g_3322[6][1],&g_3322[7][1]}},{{&g_3322[5][1],&g_3322[5][1],&g_3322[1][3],&g_3322[5][1],&g_3322[5][1]},{(void*)0,&g_3322[5][1],&g_3322[3][3],&g_3322[5][1],(void*)0}},{{&g_3322[3][3],&g_3322[5][1],&g_3322[1][3],&g_3322[5][1],&g_3322[1][3]},{&g_3322[7][1],&g_3322[5][1],(void*)0,&g_3322[5][1],(void*)0}},{{&g_3322[7][1],&g_3322[5][2],&g_3322[5][1],&g_3322[6][1],&g_3322[5][1]},{&g_3322[3][3],&g_3322[5][1],&g_3322[5][1],&g_3322[7][1],&g_3322[7][1]}}};
            const union U2 **l_3320[5][3] = {{&l_3321[3][1][3],&l_3321[3][1][3],&l_3321[3][1][3]},{&l_3321[3][1][3],&l_3321[3][1][3],&l_3321[3][1][3]},{&l_3321[3][1][3],&l_3321[3][1][3],&l_3321[3][1][3]},{&l_3321[3][1][3],&l_3321[3][1][3],&l_3321[3][1][3]},{(void*)0,&l_3321[3][1][3],&l_3321[3][1][3]}};
            int32_t l_3330[10][1] = {{0L},{0xDF46F181L},{0x87EECAA8L},{0xDF46F181L},{0L},{0L},{0xDF46F181L},{0x87EECAA8L},{0xDF46F181L},{0L}};
            const union U1 ** const l_3331 = &g_2912;
            int8_t *l_3332 = (void*)0;
            int64_t *l_3333 = (void*)0;
            int64_t *l_3334 = &g_189[0];
            int32_t *l_3335 = &g_91.f3;
            uint16_t *l_3337[6][1][9] = {{{&g_193,(void*)0,(void*)0,(void*)0,&g_193,&g_193,&g_193,&g_193,&g_193}},{{(void*)0,&g_2512,&g_193,(void*)0,&g_193,&g_2512,&g_2512,(void*)0,&g_2512}},{{(void*)0,&g_2512,(void*)0,&g_2512,&g_193,&g_193,&g_2512,(void*)0,&g_2512}},{{&g_193,&g_2512,(void*)0,&g_2512,&g_193,&g_193,(void*)0,&g_2512,&g_2512}},{{&g_193,&g_2512,&g_193,(void*)0,&g_193,&g_2512,(void*)0,(void*)0,(void*)0}},{{(void*)0,&g_2512,(void*)0,(void*)0,&g_2512,(void*)0,&g_193,&g_2512,(void*)0}}};
            union U0 l_3344 = {0UL};
            int i, j, k;
            if ((safe_rshift_func_uint16_t_u_s((l_3309 == ((safe_mul_func_uint16_t_u_u((g_2512 = (safe_unary_minus_func_int64_t_s((((*l_3286) = ((l_3336 &= (safe_sub_func_int16_t_s_s(g_2679[0][0], (((((((***g_1859) = ((void*)0 != l_3315[0][0])) || (((*l_3318) = l_3317) != (((+((*l_3334) &= (l_3330[3][0] = ((((l_3323 = (**g_1476)) != (**l_3317)) ^ 0x7B39L) <= (g_1315.f1 = ((((((((safe_sub_func_int8_t_s_s((safe_sub_func_uint16_t_u_u(l_3329, 0xC2C2L)), (*g_3138))) != l_3330[8][0]) & l_3329) , l_3331) == &g_2912) | l_2294[1]) < 4294967288UL) , l_16[6][1].f0)))))) >= 246UL) , (*g_2487)))) <= 18446744073709551606UL) | (*g_166)) , (void*)0) != &g_767)))) & 4294967293UL)) == g_19[6])))), 1UL)) , (*g_1176))), g_32[3][5][2])))
            { /* block id: 1493 */
                return l_3338;
            }
            else
            { /* block id: 1495 */
                int16_t l_3339 = 0x0FD5L;
                int8_t * const *l_3346 = &l_3332;
                (**g_864) = (((*g_3138) | ((((*l_3316) = ((((0UL != (g_767 | l_3339)) < (((safe_mod_func_uint32_t_u_u(l_3339, ((safe_mod_func_uint64_t_u_u((((l_3344 , &g_73[2][1][0]) != l_3345[7]) <= (*g_1177)), l_3339)) || l_3336))) < 1UL) == 18446744073709551607UL)) , (*g_1861)) > 0xAFC80B78L)) , l_3346) == l_3346)) , (-1L));
            }
        }
        else
        { /* block id: 1499 */
            int8_t **l_3350 = &l_2298;
            int8_t *l_3353 = &g_3260;
            int8_t **l_3352[10][3][8] = {{{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{(void*)0,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353}},{{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353,(void*)0,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353,(void*)0,(void*)0}},{{&l_3353,(void*)0,&l_3353,&l_3353,(void*)0,(void*)0,(void*)0,&l_3353},{&l_3353,&l_3353,(void*)0,&l_3353,(void*)0,&l_3353,&l_3353,(void*)0},{&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353}},{{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353},{&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0},{(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353}},{{(void*)0,&l_3353,(void*)0,&l_3353,(void*)0,&l_3353,(void*)0,(void*)0},{&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353},{(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353}},{{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353}},{{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353},{&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353}},{{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353},{(void*)0,&l_3353,(void*)0,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,(void*)0,&l_3353,&l_3353}},{{(void*)0,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{(void*)0,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,(void*)0,&l_3353}},{{&l_3353,&l_3353,(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353},{(void*)0,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353,&l_3353}}};
            union U0 l_3355[3][8][5] = {{{{0x2EL},{6UL},{0UL},{0UL},{6UL}},{{0xF0L},{253UL},{0x2EL},{0xB4L},{0UL}},{{0UL},{0xB9L},{0UL},{0x24L},{0UL}},{{0x2EL},{0x4BL},{253UL},{0UL},{1UL}},{{0UL},{0x2AL},{5UL},{0UL},{251UL}},{{0xF0L},{255UL},{0xD5L},{0x4BL},{0x4BL}},{{0x2EL},{255UL},{0x2EL},{251UL},{0UL}},{{0x4BL},{0x5DL},{0x38L},{1UL},{0UL}}},{{{0x4AL},{0xF8L},{1UL},{0UL},{0x24L}},{{0x62L},{0xB4L},{0x38L},{0UL},{0xB4L}},{{0xB9L},{0x3FL},{0x2EL},{6UL},{0UL}},{{255UL},{255UL},{0xD5L},{255UL},{255UL}},{{0xD0L},{0x4AL},{5UL},{0UL},{0x9BL}},{{0x0BL},{0x5DL},{253UL},{0x0BL},{0x38L}},{{6UL},{0UL},{0UL},{0x4AL},{0x9BL}},{{0x62L},{0x0BL},{0x2EL},{0x38L},{255UL}}},{{{0x9BL},{0x2AL},{0UL},{0xF8L},{0UL}},{{0x58L},{0x58L},{0x7CL},{252UL},{0xB4L}},{{0x2EL},{0x24L},{0x9EL},{0UL},{0x24L}},{{255UL},{253UL},{249UL},{0xF0L},{0UL}},{{0UL},{0x24L},{0UL},{0xB9L},{0UL}},{{0x2EL},{0x58L},{0x5DL},{0UL},{0x4BL}},{{255UL},{0x2AL},{0x2AL},{255UL},{251UL}},{{0xB4L},{0x0BL},{0xD5L},{0x58L},{1UL}}}};
            uint8_t l_3363 = 0x68L;
            int32_t l_3391[3][9][6] = {{{(-9L),0xD5D35F5DL,(-3L),(-9L),0L,(-9L)},{(-9L),0L,(-9L),(-3L),0xD5D35F5DL,(-9L)},{(-9L),1L,(-3L),0x9E5D3C87L,0xD5D35F5DL,(-9L)},{(-3L),0L,0x9E5D3C87L,0x9E5D3C87L,0L,(-3L)},{(-9L),0xD5D35F5DL,0x9E5D3C87L,(-3L),1L,(-9L)},{(-9L),0xD5D35F5DL,(-3L),(-9L),0L,(-9L)},{1L,(-9L),1L,0x06E63EE8L,(-9L),1L},{0xB6B9A59DL,(-3L),0x06E63EE8L,9L,(-9L),0xB6B9A59DL},{0x06E63EE8L,(-9L),9L,9L,(-9L),0x06E63EE8L}},{{0xB6B9A59DL,(-9L),9L,0x06E63EE8L,(-3L),0xB6B9A59DL},{1L,(-9L),0x06E63EE8L,1L,(-9L),1L},{1L,(-9L),1L,0x06E63EE8L,(-9L),1L},{0xB6B9A59DL,(-3L),0x06E63EE8L,9L,(-9L),0xB6B9A59DL},{0x06E63EE8L,(-9L),9L,9L,(-9L),0x06E63EE8L},{0xB6B9A59DL,(-9L),9L,0x06E63EE8L,(-3L),0xB6B9A59DL},{1L,(-9L),0x06E63EE8L,1L,(-9L),1L},{1L,(-9L),1L,0x06E63EE8L,(-9L),1L},{0xB6B9A59DL,(-3L),0x06E63EE8L,9L,(-9L),0xB6B9A59DL}},{{0x06E63EE8L,(-9L),9L,9L,(-9L),0x06E63EE8L},{0xB6B9A59DL,(-9L),9L,0x06E63EE8L,(-3L),0xB6B9A59DL},{1L,(-9L),0x06E63EE8L,1L,(-9L),1L},{1L,(-9L),1L,0x06E63EE8L,(-9L),1L},{0xB6B9A59DL,(-3L),0x06E63EE8L,9L,(-9L),0xB6B9A59DL},{0x06E63EE8L,(-9L),9L,9L,(-9L),0x06E63EE8L},{0xB6B9A59DL,(-9L),9L,0x06E63EE8L,(-3L),0xB6B9A59DL},{1L,(-9L),0x06E63EE8L,1L,(-9L),1L},{1L,(-9L),1L,0x06E63EE8L,(-9L),1L}}};
            int16_t l_3393 = 0xFC3DL;
            union U2 * const l_3400[1] = {&g_563};
            int64_t l_3402[1][4];
            union U3 l_3403[9][1] = {{{-1L}},{{0xE8C6L}},{{-1L}},{{0xE8C6L}},{{-1L}},{{0xE8C6L}},{{-1L}},{{0xE8C6L}},{{-1L}}};
            uint32_t l_3406 = 4294967294UL;
            int32_t *l_3444 = &l_3355[2][3][1].f3;
            int16_t **l_3512 = &l_3316;
            int i, j, k;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 4; j++)
                    l_3402[i][j] = 4L;
            }
            (*g_2729) = ((l_3365 = (l_3336 = (((safe_add_func_int8_t_s_s(((safe_unary_minus_func_int16_t_s(((((**g_1560) , func_37(((((*g_2912) , (*g_3137)) == (g_3354 = (l_3351 = ((*l_3350) = (void*)0)))) <= (2L & ((l_3355[2][3][1] , (*l_3323)) , (safe_mod_func_int8_t_s_s((((((((safe_add_func_uint16_t_u_u((((((((g_2399[7][2] < (((g_3360 != &g_3361) < (*g_166)) , 0UL)) != (***g_1859)) > (-2L)) < 0x61F5ACFDL) | 0x1FL) <= l_3363) >= 0xA5L), l_3355[2][3][1].f1)) , l_3363) < g_2087.f0) > l_3336) , g_2399[7][2]) == g_2373) != 0x46B95B3EL), 0x96L))))), g_563.f1)) == l_3364) != l_3363))) <= g_134[1]), 0UL)) > l_3336) ^ g_1758[1].f0))) | l_3363);
            for (g_2087.f3 = 0; (g_2087.f3 <= 5); g_2087.f3 += 1)
            { /* block id: 1508 */
                return g_3366;
            }
        }
        l_3524--;
        (*l_3404) = (safe_mod_func_int16_t_s_s(((void*)0 != &g_1339), (*g_3514)));
    }
    l_3551 ^= ((g_3366.f1 |= ((*g_3138) <= ((**g_3513) <= g_189[3]))) && (safe_add_func_uint32_t_u_u(((safe_div_func_int16_t_s_s((safe_sub_func_int64_t_s_s((((*g_3514) , (-8L)) & l_3536), (safe_rshift_func_uint8_t_u_s((l_3540 ^= l_3539[0]), (l_3541 , (safe_rshift_func_int16_t_s_s(((+((l_3550[1][1] |= ((((*g_3137) != &l_3541) ^ 0xADL) <= g_3287)) <= g_72)) <= (*g_2729)), g_3324.f0))))))), 0xCBBEL)) ^ (**g_1860)), 6L)));
    return (**g_857);
}


/* ------------------------------------------ */
/* 
 * reads : g_19 g_1758.f0 g_2193 g_1859 g_1860 g_1861 g_745 g_189 g_2279 g_688 g_2690 g_166 g_72
 * writes: g_91.f1 g_732.f1 g_36.f3 g_184 g_19 g_72
 */
static int32_t * func_2(int32_t * p_3, uint64_t  p_4, union U0  p_5, int8_t * p_6, int8_t * p_7)
{ /* block id: 1024 */
    uint64_t l_2314 = 0UL;
    int64_t *l_2365 = &g_134[1];
    int32_t l_2377 = 5L;
    const union U3 *l_2453 = &g_36;
    const union U3 **l_2452 = &l_2453;
    union U2 l_2456 = {-1L};
    int8_t l_2459 = 0x43L;
    uint8_t *l_2464 = (void*)0;
    uint8_t *l_2465[5];
    int32_t l_2466[9][3] = {{2L,2L,5L},{0xA9EDEA32L,0xAE37CC1EL,5L},{0xAE37CC1EL,0xA9EDEA32L,5L},{2L,2L,5L},{0xA9EDEA32L,0xAE37CC1EL,5L},{0xAE37CC1EL,0xA9EDEA32L,5L},{2L,2L,5L},{0xA9EDEA32L,0xAE37CC1EL,5L},{0xAE37CC1EL,0xA9EDEA32L,5L}};
    int64_t ****l_2485 = (void*)0;
    uint32_t l_2486 = 0xA30CD1E3L;
    int32_t *l_2489 = &g_563.f0;
    int32_t l_2502 = (-9L);
    int32_t l_2503 = 0x8853C91BL;
    uint8_t l_2518 = 0x2AL;
    uint32_t *l_2527 = &g_726;
    int32_t l_2550 = (-1L);
    int64_t l_2666[4] = {(-8L),(-8L),(-8L),(-8L)};
    int32_t l_2681 = 7L;
    union U3 l_2708 = {0x3712L};
    union U0 ** const l_2762 = &g_858;
    int64_t l_2806 = 0L;
    uint8_t l_2816 = 0x55L;
    uint8_t l_2819[9][2] = {{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL},{5UL,5UL}};
    int8_t l_2872[8] = {0xD0L,0x95L,0x95L,0xD0L,0x95L,0x95L,0x95L,1L};
    uint32_t l_2873 = 1UL;
    const union U1 *l_2909 = &g_2910;
    union U2 l_2934 = {0x9565E50AL};
    union U3 *l_2937 = &g_2938;
    union U2 l_2988[7] = {{0xEE1E4846L},{0xEE1E4846L},{-1L},{0xEE1E4846L},{0xEE1E4846L},{-1L},{0xEE1E4846L}};
    uint32_t l_3044 = 0x21ED4CE0L;
    union U2 * const *l_3069[10] = {&g_562,&g_562,&g_562,&g_562,&g_562,&g_562,&g_562,&g_562,&g_562,&g_562};
    union U2 ** const ***l_3158 = &g_2487;
    uint32_t ****l_3202 = (void*)0;
    uint8_t ***l_3272 = &g_2704;
    int i, j;
    for (i = 0; i < 5; i++)
        l_2465[i] = (void*)0;
    for (g_91.f1 = 3; (g_91.f1 >= 0); g_91.f1 -= 1)
    { /* block id: 1027 */
        int32_t *l_2323 = (void*)0;
        int32_t l_2354 = 0x598D660FL;
        int16_t l_2356 = 0L;
        int32_t **l_2372 = &l_2323;
        int32_t ***l_2371[6] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
        const uint64_t l_2400 = 0x527925CABFE9561FLL;
        union U2 l_2420[2] = {{0x5A6D8673L},{0x5A6D8673L}};
        int16_t *l_2437 = &g_184;
        int i;
        for (g_732.f1 = 0; (g_732.f1 <= 1); g_732.f1 += 1)
        { /* block id: 1030 */
            int32_t *l_2299 = &g_72;
            int32_t *l_2300 = &g_1315.f3;
            int32_t *l_2301 = &g_72;
            int32_t *l_2302 = &g_1019;
            int32_t *l_2303 = &g_72;
            int32_t *l_2304 = &g_19[1];
            int32_t *l_2305 = &g_72;
            int32_t *l_2306 = &g_19[5];
            int32_t *l_2307 = &g_1019;
            int32_t l_2308 = 1L;
            int32_t *l_2309 = &g_19[6];
            int32_t *l_2310 = &g_19[5];
            int32_t *l_2311 = (void*)0;
            int32_t *l_2312 = (void*)0;
            int32_t *l_2313[9][2][10] = {{{&g_1019,&g_1019,&g_563.f0,&g_72,&g_563.f0,&g_563.f0,&g_19[8],&g_563.f0,&g_19[6],&g_563.f0},{&l_2308,&g_72,&l_2308,&g_19[5],&g_19[6],&g_563.f0,&g_19[5],&g_563.f0,&g_1019,&l_2308}},{{&g_563.f0,&g_19[8],&g_563.f0,&l_2308,&g_19[6],&l_2308,(void*)0,&g_1019,(void*)0,&g_563.f0},{&g_19[6],&g_19[5],&g_563.f0,&g_19[8],&g_563.f0,&l_2308,&l_2308,&g_563.f0,&g_1019,&g_563.f0}},{{&g_563.f0,(void*)0,&g_19[5],&g_19[6],&g_19[6],&g_1019,&g_1019,(void*)0,&g_72,&l_2308},{&g_1019,&l_2308,(void*)0,&g_72,&g_19[6],(void*)0,&g_19[8],&g_19[6],&g_19[4],&g_563.f0}},{{&g_563.f0,&g_1019,&l_2308,&g_19[5],&g_563.f0,&g_563.f0,&g_19[5],&l_2308,&g_1019,&g_563.f0},{&g_1019,&g_19[8],&l_2308,&g_1019,&g_19[6],&g_1019,&g_19[6],&g_1019,&g_19[5],&l_2308}},{{&g_19[6],&g_19[5],&l_2308,&g_19[8],&g_19[6],&g_1019,&l_2308,&g_19[6],&g_1019,&g_563.f0},{&g_19[6],&g_19[6],&g_19[5],(void*)0,&g_563.f0,&g_1019,&g_72,&g_19[5],&g_72,&g_563.f0}},{{&g_1019,&l_2308,&g_563.f0,&g_1019,&g_19[6],&g_563.f0,&g_72,&g_19[6],&g_19[6],&l_2308},{&g_563.f0,&g_72,&g_72,&g_19[5],&g_19[6],&g_19[3],&g_19[5],&g_563.f0,&l_2308,&g_563.f0}},{{&g_563.f0,&g_72,&l_2308,&l_2308,&g_563.f0,&g_1019,(void*)0,&l_2308,&g_19[5],&g_563.f0},{&g_563.f0,&g_19[5],&g_563.f0,&g_72,&g_19[6],&l_2308,&g_1019,&g_19[6],&g_1019,&l_2308}},{{&g_19[6],(void*)0,&g_19[6],(void*)0,&g_19[6],(void*)0,&g_72,(void*)0,(void*)0,&g_563.f0},{&g_1019,&g_1019,&g_563.f0,&g_72,&g_563.f0,&g_563.f0,&g_19[8],&g_563.f0,&g_19[6],&g_563.f0}},{{&l_2308,&g_72,&l_2308,(void*)0,&g_19[5],(void*)0,(void*)0,&g_19[6],(void*)0,&g_19[4]},{&g_72,&g_72,(void*)0,&g_72,&g_19[5],&g_72,&g_19[6],&g_19[6],&g_563.f0,&g_19[6]}}};
            int64_t **l_2361 = &g_1981;
            int64_t ***l_2360 = &l_2361;
            int i, j, k;
            for (g_36.f3 = 0; (g_36.f3 <= 0); g_36.f3 += 1)
            { /* block id: 1033 */
                return l_2299;
            }
            l_2314++;
            for (g_36.f3 = 0; (g_36.f3 <= 2); g_36.f3 += 1)
            { /* block id: 1039 */
                uint8_t *l_2352 = &g_1315.f0;
                int32_t l_2353 = 0xF65F1031L;
                int32_t l_2357 = 0x2D718FBDL;
                union U2 l_2423 = {-1L};
                uint16_t *l_2426 = &g_17;
                int i, j, k;
            }
        }
        if ((*p_3))
            continue;
        p_5.f3 = (safe_mul_func_int8_t_s_s((l_2377 = ((safe_mod_func_uint16_t_u_u(((((safe_mod_func_uint64_t_u_u((safe_mul_func_int16_t_s_s(((*l_2437) = p_5.f0), (g_1758[1].f0 == (l_2314 > ((****g_2193) < ((((*p_3) = (safe_div_func_int16_t_s_s(((safe_div_func_uint8_t_u_u((safe_rshift_func_int8_t_s_u(0xD4L, 3)), (safe_mod_func_uint32_t_u_u((safe_lshift_func_uint8_t_u_u((safe_sub_func_uint64_t_u_u(0xFA77A25A86136CE8LL, ((safe_sub_func_int64_t_s_s((((void*)0 != l_2452) != ((****g_2193) , 0xE978D436807E9736LL)), l_2377)) , (-1L)))), 4)), 0x15D3C873L)))) & p_4), g_189[1]))) && 0x97C3996EL) > (-1L))))))), 18446744073709551613UL)) , (void*)0) == (void*)0) <= (*g_2279)), 0xBC06L)) > p_5.f1)), p_4));
    }
    return (*g_2690);
}


/* ------------------------------------------ */
/* 
 * reads : g_563.f1 g_2278 g_166
 * writes: g_563.f1 g_19
 */
static int32_t * func_8(uint8_t  p_9, union U3  p_10, int32_t  p_11, uint32_t  p_12)
{ /* block id: 3 */
    int32_t *l_18 = &g_19[6];
    int32_t *l_20 = &g_19[6];
    int32_t *l_21 = &g_19[1];
    int32_t *l_22[10][2][7] = {{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1],&g_19[1]}}};
    int16_t l_23[1];
    uint8_t l_24[1];
    union U3 * const l_35 = &g_36;
    union U0 l_50 = {0x3AL};
    const volatile int8_t **l_2281 = (void*)0;
    int32_t l_2283[3];
    int i, j, k;
    for (i = 0; i < 1; i++)
        l_23[i] = 0xAB81L;
    for (i = 0; i < 1; i++)
        l_24[i] = 1UL;
    for (i = 0; i < 3; i++)
        l_2283[i] = 0x945E40B0L;
    l_24[0]--;
    for (p_11 = 0; (p_11 < 6); ++p_11)
    { /* block id: 7 */
        int8_t *l_31 = &g_32[2][4][1];
        uint64_t *l_49 = &g_36.f3;
        int32_t l_1221 = 0L;
        int32_t l_2270 = (-1L);
        int32_t l_2271 = (-5L);
        int32_t l_2272[9][4][3] = {{{1L,3L,0x5E774057L},{0L,(-1L),0x843C9D40L},{(-9L),0L,(-10L)},{0x8D85E261L,0x35F52D29L,0x86553ECFL}},{{0x1377BC7AL,(-1L),0x7EEACC20L},{0L,0xCE775B4CL,0x7EEACC20L},{0x9219EC18L,0x86553ECFL,0x86553ECFL},{0x843C9D40L,0L,(-10L)}},{{0xAA0404C6L,0x18FE3B64L,0x843C9D40L},{0x0D4A066EL,0L,0x5E774057L},{0x8CC2A30EL,0x8773635DL,0x9219EC18L},{(-1L),0x18FE3B64L,(-1L)}},{{0x8773635DL,3L,(-1L)},{0xCE775B4CL,(-9L),0x0D4A066EL},{0x1F6DC3DBL,(-1L),0x7EEACC20L},{(-1L),(-1L),0x5E774057L}},{{(-1L),1L,0xCE775B4CL},{0x1F6DC3DBL,0x1F6DC3DBL,0x35F52D29L},{0xCE775B4CL,(-1L),0x9219EC18L},{0x8773635DL,9L,0xAA0404C6L}},{{1L,0xAA0404C6L,0L},{0x35F52D29L,0x8773635DL,0xAA0404C6L},{0x87563740L,0x8E342BA5L,0x9219EC18L},{0x9219EC18L,0x8D85E261L,0x35F52D29L}},{{0x475996E2L,0x9219EC18L,0xCE775B4CL},{0x86553ECFL,(-1L),0x5E774057L},{(-1L),(-1L),0x7EEACC20L},{0x0D4A066EL,0x9219EC18L,0x0D4A066EL}},{{(-10L),0x8D85E261L,(-1L)},{0x8CC2A30EL,0x8E342BA5L,(-1L)},{(-9L),0x8773635DL,0x86553ECFL},{(-1L),0xAA0404C6L,0x5324E311L}},{{(-9L),9L,0x475996E2L},{0x8CC2A30EL,(-1L),0x8E342BA5L},{(-10L),0x1F6DC3DBL,(-1L)},{0x0D4A066EL,1L,0x8D85E261L}}};
        uint32_t l_2273 = 0UL;
        int i, j, k;
    }
    for (g_563.f1 = 11; (g_563.f1 >= 35); g_563.f1 = safe_add_func_uint32_t_u_u(g_563.f1, 1))
    { /* block id: 1017 */
        const volatile int8_t ***l_2280 = (void*)0;
        int32_t l_2282[5] = {0L,0L,0L,0L,0L};
        int64_t l_2284 = (-6L);
        uint8_t l_2285 = 0UL;
        int i;
        l_2281 = g_2278;
        l_2285++;
    }
    (*g_166) = (&l_22[4][0][5] == (void*)0);
    return l_18;
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static uint8_t  func_13(const union U3  p_14, uint8_t  p_15)
{ /* block id: 1 */
    return p_15;
}


/* ------------------------------------------ */
/* 
 * reads : g_166 g_19 g_858 g_91 g_1069 g_72 g_849.f0 g_36.f1 g_1941 g_1315.f0 g_1447 g_134 g_1315.f1 g_1758.f0 g_1176 g_1177 g_836 g_563.f0 g_562 g_563 g_1859 g_1860 g_1861 g_1541.f0 g_91.f0 g_1541 g_1477 g_2022 g_314 g_1652.f0 g_71 g_745 g_1916 g_2058 g_189 g_190 g_17 g_605.f0 g_578.f0 g_767 g_769 g_184 g_55 g_210 g_167 g_32 g_615 g_36.f0 g_293.f0 g_2181 g_64 g_36.f3 g_1241.f0 g_835 g_2241 g_726 g_2268
 * writes: g_19 g_1111 g_17 g_1981 g_563.f0 g_36.f1 g_745 g_563 g_858 g_166 g_1315.f0 g_55 g_134 g_767 g_769 g_836 g_2241 g_184 g_91.f0
 */
static union U3 * func_29(uint32_t  p_30)
{ /* block id: 884 */
    union U2 ***l_1924[2][3];
    int64_t *l_1933 = (void*)0;
    int64_t *l_1934[4];
    uint64_t l_1935 = 0x9B9C835576CEB5D8LL;
    int32_t l_1936 = 0x480797EFL;
    int32_t l_1937 = (-1L);
    uint32_t **l_1938 = &g_1561;
    int16_t l_1982 = 0xE666L;
    union U3 **l_2020 = (void*)0;
    union U3 *** const l_2019 = &l_2020;
    uint64_t l_2044[2][6] = {{0xE4C90B834BC139CDLL,0UL,0xE4C90B834BC139CDLL,0xE4C90B834BC139CDLL,0UL,0xE4C90B834BC139CDLL},{0xE4C90B834BC139CDLL,0UL,0xE4C90B834BC139CDLL,0xE4C90B834BC139CDLL,0UL,0xE4C90B834BC139CDLL}};
    int8_t *l_2055[7][6] = {{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]},{&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]}};
    union U1 *l_2089 = &g_2090;
    int32_t l_2093 = 1L;
    int32_t l_2094 = 0x3191535CL;
    int32_t l_2095[10] = {0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L,0x5D5AC174L};
    union U3 l_2123 = {0x8540L};
    int32_t **l_2131 = &g_166;
    int16_t l_2139[9][3] = {{0x1A20L,(-4L),(-7L)},{0x85ECL,(-1L),(-4L)},{0x85ECL,0xD097L,1L},{0x1A20L,(-6L),0x1A20L},{1L,0xD097L,0x85ECL},{(-4L),(-1L),0x85ECL},{(-7L),(-4L),0x1A20L},{1L,1L,1L},{(-7L),1L,(-4L)}};
    union U3 *l_2150 = (void*)0;
    const union U0 l_2151 = {0xF5L};
    int64_t **l_2189 = &l_1934[1];
    int64_t ***l_2188 = &l_2189;
    int32_t l_2240[8] = {0xA4BB4339L,(-1L),0xA4BB4339L,(-1L),0xA4BB4339L,(-1L),0xA4BB4339L,(-1L)};
    uint8_t l_2246 = 0xBFL;
    int i, j;
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 3; j++)
            l_1924[i][j] = &g_1477;
    }
    for (i = 0; i < 4; i++)
        l_1934[i] = (void*)0;
    if ((safe_unary_minus_func_uint16_t_u((safe_mod_func_uint16_t_u_u(((((safe_sub_func_int8_t_s_s(1L, (safe_div_func_uint32_t_u_u(((l_1924[1][0] != &g_1882[0]) && ((*g_166) ^= p_30)), ((safe_mod_func_uint16_t_u_u(65535UL, (l_1936 = (safe_mod_func_int16_t_s_s(p_30, (safe_mod_func_int32_t_s_s((safe_mod_func_uint64_t_u_u((0x5AF5L & ((l_1935 = ((*g_858) , p_30)) | l_1936)), l_1936)), (*g_1069)))))))) & l_1937))))) == g_849.f0) , l_1938) != l_1938), g_36.f1)))))
    { /* block id: 888 */
        const union U1 *l_1949 = &g_1541;
        int32_t l_1966 = (-3L);
        union U2 * const * const l_1979 = &g_562;
        int64_t *l_1980 = (void*)0;
        union U0 l_2014[9] = {{0xA3L},{255UL},{0xA3L},{255UL},{0xA3L},{255UL},{0xA3L},{255UL},{0xA3L}};
        int8_t *l_2056[7];
        uint64_t *l_2073 = &l_2044[0][4];
        int32_t l_2092 = (-6L);
        int32_t l_2096 = 0xF928D332L;
        int32_t l_2097 = 0x68D003A4L;
        int32_t l_2098 = 0xE21B3231L;
        int32_t l_2099 = (-1L);
        union U3 l_2110 = {-1L};
        const int32_t l_2127 = (-3L);
        int32_t **l_2133 = &g_166;
        const int32_t **l_2134 = &g_836;
        int32_t *l_2244 = &g_91.f3;
        int32_t *l_2245[10] = {&g_563.f0,&l_2094,&l_2094,&g_563.f0,&l_1936,&l_2096,&g_563.f0,&g_563.f0,&l_2096,&l_1936};
        union U3 *l_2249[9] = {&l_2123,&l_2123,&g_2087,&l_2123,&l_2123,&g_2087,&l_2123,&l_2123,&g_2087};
        union U3 *l_2250 = &l_2110;
        union U3 *l_2251[4][9] = {{&g_732,&g_2087,(void*)0,&g_2087,&g_732,&g_2087,&g_2087,&g_732,&g_36},{&g_2087,&g_732,(void*)0,&g_732,&g_732,&g_36,&g_732,&g_732,(void*)0},{&g_732,&g_732,&g_36,&g_732,&g_2087,&g_2087,&g_732,&g_2087,(void*)0},{&g_2087,&g_732,&g_732,&g_2087,&g_2087,&g_732,&g_732,&g_2087,&g_36}};
        union U3 *l_2252 = &l_2123;
        union U3 *l_2253 = &g_732;
        int i, j;
        for (i = 0; i < 7; i++)
            l_2056[i] = &l_2014[1].f1;
        if (p_30)
        { /* block id: 889 */
            int32_t *l_1940 = &l_1937;
            union U1 *l_1950 = &g_1541;
            union U1 **l_1951 = &l_1950;
            union U1 **l_1952 = &g_1111;
            uint16_t *l_1963 = &g_17;
            uint32_t ***l_1964 = &l_1938;
            int8_t *l_1965 = (void*)0;
            int32_t *l_1983 = (void*)0;
            int32_t *l_1984 = (void*)0;
            int32_t *l_1985 = &g_563.f0;
            int32_t l_2063[5][3][10] = {{{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L}},{{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L}},{{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L}},{{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L}},{{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L,0xE8C4D7BDL,0L,0L,0xE8C4D7BDL,0x0FFF4332L},{0x61D9D9A4L,0xE8C4D7BDL,0xE8C4D7BDL,0x61D9D9A4L,8L,0x61D9D9A4L,0xE8C4D7BDL,0xE8C4D7BDL,0x61D9D9A4L,8L}}};
            union U0 l_2083 = {0xE7L};
            union U3 *l_2084[6];
            union U3 *l_2086 = &g_2087;
            uint16_t l_2100 = 0xC1E8L;
            int i, j, k;
            for (i = 0; i < 6; i++)
                l_2084[i] = &g_732;
            (*l_1940) ^= ((*g_166) ^= p_30);
            l_1937 = ((l_1937 , (p_30 ^ g_1941)) ^ (g_1315.f0 >= (!(safe_div_func_uint64_t_u_u(0x624909CC254239BDLL, ((safe_rshift_func_uint8_t_u_u(p_30, 1)) , (safe_lshift_func_int8_t_s_s((((l_1949 == ((*l_1952) = ((*l_1951) = l_1950))) , (((((*l_1964) = ((safe_mul_func_int16_t_s_s((safe_mul_func_int8_t_s_s(((safe_mod_func_uint32_t_u_u((safe_add_func_int32_t_s_s((safe_div_func_uint16_t_u_u(((*l_1963) = (g_1447 == 65535UL)), p_30)), 9UL)), 1L)) || l_1936), g_134[1])), g_1315.f1)) , &g_1561)) != (void*)0) , l_1965) != (void*)0)) > l_1966), 2))))))));
            (*l_1985) &= ((((!(safe_add_func_uint64_t_u_u((0x07L != g_1758[1].f0), (+(safe_rshift_func_uint8_t_u_u((safe_mul_func_int16_t_s_s(((safe_lshift_func_int8_t_s_s((-4L), ((void*)0 == &g_192))) <= (l_1966 = ((safe_mod_func_uint16_t_u_u((0x04B36B601BB86C56LL > ((*l_1940) = ((l_1979 == ((l_1980 != (g_1981 = (void*)0)) , (void*)0)) > p_30))), p_30)) > (**g_1176)))), l_1982)), g_36.f1)))))) & 0L) <= 0L) == (*g_836));
            for (g_36.f1 = 11; (g_36.f1 < 59); g_36.f1 = safe_add_func_uint16_t_u_u(g_36.f1, 8))
            { /* block id: 903 */
                int64_t l_2007[2][4][9] = {{{0xCBA39A834C529D6ELL,1L,(-7L),0xCBA39A834C529D6ELL,1L,0x41B60CC1022876E3LL,1L,1L,0x41B60CC1022876E3LL},{0xFB086EE528C56EDFLL,(-5L),0x068FEF0CE49FDA96LL,(-5L),0xFB086EE528C56EDFLL,(-4L),(-5L),0x5AE190F35E8F1683LL,0x1B77652859B94C50LL},{1L,1L,0L,(-6L),1L,(-7L),1L,(-6L),0L},{0xFB086EE528C56EDFLL,0xFB086EE528C56EDFLL,0x1B77652859B94C50LL,0x5AE190F35E8F1683LL,(-5L),(-4L),0xFB086EE528C56EDFLL,(-5L),0x068FEF0CE49FDA96LL}},{{0xCBA39A834C529D6ELL,1L,0x41B60CC1022876E3LL,1L,1L,0x41B60CC1022876E3LL,1L,0xCBA39A834C529D6ELL,(-7L)},{(-9L),(-5L),0x1B77652859B94C50LL,(-9L),(-2L),1L,(-5L),(-5L),1L},{0x613E9509B61CF9A1LL,1L,0L,1L,0x613E9509B61CF9A1LL,1L,1L,(-6L),(-7L)},{(-5L),(-2L),0x068FEF0CE49FDA96LL,0x5AE190F35E8F1683LL,(-2L),0x1B77652859B94C50LL,(-2L),0x5AE190F35E8F1683LL,0x068FEF0CE49FDA96LL}}};
                const union U2 l_2018[3][6][3] = {{{{0L},{0x52AD4128L},{0L}},{{0x3936F20DL},{3L},{0L}},{{0x39789051L},{0xBEB39331L},{-7L}},{{0xC8ED72F5L},{0x3D972531L},{-1L}},{{0x3D972531L},{0x3D972531L},{3L}},{{0x9B6B075AL},{0xBEB39331L},{-6L}}},{{{0L},{3L},{3L}},{{-1L},{0x52AD4128L},{0x751F0BF0L}},{{0xBEB39331L},{0L},{3L}},{{-7L},{0L},{-6L}},{{0x91CB7A78L},{-7L},{3L}},{{0x78E272F0L},{-1L},{-1L}}},{{{0x78E272F0L},{3L},{-7L}},{{0x91CB7A78L},{-6L},{0L}},{{-7L},{3L},{0L}},{{0xBEB39331L},{0x751F0BF0L},{0x52AD4128L}},{{-1L},{3L},{3L}},{{0L},{-6L},{0xBEB39331L}}}};
                union U3 ** const *l_2021 = &l_2020;
                int32_t l_2061 = (-2L);
                int32_t l_2062[6][2][6] = {{{7L,7L,0xAAFA5A8DL,0xF5000A74L,8L,0xAAFA5A8DL},{0xF5000A74L,8L,0xAAFA5A8DL,8L,0xF5000A74L,0xAAFA5A8DL}},{{8L,0xF5000A74L,0xAAFA5A8DL,7L,7L,0xAAFA5A8DL},{7L,7L,0xAAFA5A8DL,0xF5000A74L,8L,0xAAFA5A8DL}},{{0xF5000A74L,8L,0xAAFA5A8DL,8L,0xF5000A74L,0xAAFA5A8DL},{8L,0xF5000A74L,0xAAFA5A8DL,7L,7L,0xAAFA5A8DL}},{{7L,7L,0xAAFA5A8DL,0xF5000A74L,8L,0xAAFA5A8DL},{0xF5000A74L,8L,0xAAFA5A8DL,8L,0xF5000A74L,0xAAFA5A8DL}},{{8L,0xF5000A74L,0xAAFA5A8DL,7L,7L,0xAAFA5A8DL},{0x6E949284L,0x6E949284L,7L,(-5L),1L,7L}},{{(-5L),1L,7L,1L,(-5L),7L},{1L,(-5L),7L,0x6E949284L,0x6E949284L,7L}}};
                int32_t *l_2067 = &l_2063[4][2][1];
                union U1 *l_2088 = &g_210;
                union U3 **l_2128 = (void*)0;
                union U3 *l_2149[8] = {&g_36,&g_36,&g_36,&g_36,&g_36,&g_36,&g_36,&g_36};
                int i, j, k;
                if (((((((((safe_add_func_uint16_t_u_u((safe_rshift_func_uint16_t_u_u((safe_sub_func_int16_t_s_s((p_30 > (safe_sub_func_int8_t_s_s(p_30, (safe_add_func_uint8_t_u_u((*l_1985), (safe_lshift_func_uint8_t_u_s((safe_lshift_func_int16_t_s_s((safe_unary_minus_func_int64_t_s((safe_rshift_func_int8_t_s_s(((((safe_mul_func_uint8_t_u_u((((l_2007[0][0][6] , ((*g_562) , (safe_sub_func_uint32_t_u_u(((***g_1859) = (((safe_div_func_int32_t_s_s((safe_mul_func_uint16_t_u_u((l_2014[1] , ((*l_1963) = ((~((((void*)0 != l_1938) == (((safe_mod_func_uint32_t_u_u((((*l_1940) < 248UL) <= 0x42D0L), 0x150909ABL)) <= 1L) > p_30)) || l_2014[1].f1)) < p_30))), p_30)), p_30)) & g_19[5]) != 0x33BE3F0B0EA0ED2BLL)), p_30)))) , l_2018[0][5][0]) , l_2014[1].f0), p_30)) , (-3L)) && (**g_1176)) & p_30), 2)))), 12)), 4))))))), g_1541.f0)), l_1982)), g_91.f0)) < 0xF955L) && p_30) , l_2019) != l_2021) , (*l_1949)) , (void*)0) == &g_36))
                { /* block id: 906 */
                    int16_t l_2025 = 1L;
                    union U3 **l_2029 = &g_731;
                    int32_t *l_2037 = &g_1019;
                    (*g_2022) = (((**g_1477) = (*g_562)) , &l_2014[5]);
                    if ((safe_mul_func_uint16_t_u_u(0xBAFFL, l_2025)))
                    { /* block id: 909 */
                        uint8_t l_2026 = 252UL;
                        l_2026++;
                        (*g_166) = ((l_2029 != (void*)0) && (((g_314 != (safe_lshift_func_uint8_t_u_u(((l_1937 , 0xAA5056FB3594D9C4LL) <= (safe_rshift_func_int16_t_s_s(g_1652.f0, 4))), 5))) , l_2014[1].f1) , (((safe_sub_func_int8_t_s_s(l_2007[0][0][6], ((((*g_71) >= p_30) <= l_2025) , l_2007[0][0][6]))) , &g_17) == (void*)0)));
                    }
                    else
                    { /* block id: 912 */
                        int32_t *l_2036 = &g_19[4];
                        union U0 l_2052 = {0xDCL};
                        int16_t *l_2057 = &l_2025;
                        l_2037 = l_2036;
                        (*l_1985) |= (safe_lshift_func_uint16_t_u_u((safe_sub_func_uint8_t_u_u((safe_add_func_uint16_t_u_u(l_2044[0][3], 0xCC40L)), (safe_div_func_int16_t_s_s((safe_unary_minus_func_int8_t_s(((void*)0 != &g_910))), (safe_lshift_func_int8_t_s_u(((p_30 > ((safe_div_func_uint16_t_u_u((((*g_858) = l_2052) , (((**g_1860)++) <= ((l_2055[0][0] != l_2056[0]) > ((*l_2057) = 0x314DL)))), p_30)) && 0x9FD0L)) < p_30), (*l_2037))))))), 13));
                    }
                    (*g_2058) = (*g_1916);
                }
                else
                { /* block id: 920 */
                    int32_t *l_2059 = &g_1019;
                    int32_t *l_2060[7] = {&g_19[6],&l_1966,&g_19[6],&g_19[6],&l_1966,&g_19[6],&g_19[6]};
                    uint16_t l_2064 = 65531UL;
                    int i;
                    --l_2064;
                    l_2067 = &l_1936;
                }
                for (g_1315.f0 = 25; (g_1315.f0 <= 58); ++g_1315.f0)
                { /* block id: 926 */
                    int32_t * volatile *l_2071 = &g_71;
                    int32_t * volatile **l_2070 = &l_2071;
                    uint64_t **l_2072[10] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
                    uint32_t *l_2080 = &g_55;
                    union U3 **l_2085 = &l_2084[2];
                    int i;
                    (*l_2070) = &g_73[2][1][0];
                    l_2014[1].f3 = ((((l_2073 = l_1980) == (void*)0) == ((safe_lshift_func_uint8_t_u_s((((safe_add_func_uint8_t_u_u((((*l_2080) = ((**g_1860)--)) , (((*g_1177) = (&g_1561 != &g_1561)) != (g_189[1] != (safe_sub_func_uint64_t_u_u(p_30, (l_2083 , ((void*)0 == l_1965))))))), p_30)) && l_2014[1].f1) != g_190), 4)) > p_30)) , p_30);
                    l_2086 = ((*l_2085) = l_2084[2]);
                }
                if (((l_2089 = l_2088) != &g_1849))
                { /* block id: 937 */
                    int32_t *l_2091[3][8][2] = {{{&g_19[6],&g_72},{&l_2062[2][1][0],&g_72},{&l_2062[2][1][0],&l_1937},{&l_1937,&l_2062[2][1][0]},{&g_72,&l_2062[2][1][0]},{&g_72,&g_19[6]},{&l_1937,&g_1019},{&g_19[6],&g_72}},{{(void*)0,&g_72},{&g_19[6],&g_1019},{&l_1937,&g_19[6]},{&g_72,&l_2062[2][1][0]},{&g_72,&l_2062[2][1][0]},{&l_1937,&l_1937},{&l_2062[2][1][0],&g_72},{&l_2062[2][1][0],&g_72}},{{&g_19[6],&l_1937},{&g_1019,&g_19[6]},{&g_72,(void*)0},{&g_72,&g_19[6]},{&g_1019,&l_1937},{&g_19[6],&g_72},{&l_2062[2][1][0],&g_72},{&l_2062[2][1][0],&l_1937}}};
                    int i, j, k;
                    --l_2100;
                }
                else
                { /* block id: 939 */
                    int16_t l_2109 = (-1L);
                    uint8_t *l_2119 = &l_2083.f0;
                    int16_t *l_2126 = &g_769;
                    int32_t ***l_2132 = &l_2131;
                    const int32_t ***l_2135 = &l_2134;
                    union U1 **l_2148 = &l_1950;
                    (*g_166) |= ((*l_1985) = (((safe_mod_func_int64_t_s_s((((safe_div_func_int16_t_s_s(((safe_mod_func_uint8_t_u_u((l_2109 >= (l_2110 , (safe_rshift_func_int16_t_s_s((((safe_mul_func_uint8_t_u_u(((*l_2119) &= (((*l_1963)++) || p_30)), 0x94L)) , g_605.f0) > ((safe_sub_func_uint32_t_u_u(((((*l_2126) ^= ((+(l_2123 , ((l_2096 & p_30) <= ((safe_add_func_int16_t_s_s((g_767 ^= g_578.f0), (-3L))) | l_1982)))) ^ 0UL)) && 65531UL) != 4294967290UL), p_30)) <= 0x8D6CL)), 0)))), g_184)) ^ l_2127), p_30)) != 0xEE0F0CA24701361BLL) || g_55), 0xD29E80B1A0A339F8LL)) , (*g_1177)) != p_30));
                    (*g_166) = (((l_2128 == (((*l_2089) , (safe_rshift_func_uint16_t_u_s(1UL, ((l_2133 = ((*l_2132) = l_2131)) == ((*l_2135) = l_2134))))) , (*l_2019))) == ((safe_lshift_func_uint8_t_u_s(0x0EL, 2)) < ((*g_166) , 3L))) || (-6L));
                    if ((((*l_1963) = (~(g_849.f0 , ((l_2139[8][0] < p_30) == (safe_rshift_func_uint8_t_u_s((safe_div_func_int32_t_s_s(0x7497FEACL, ((*l_1940) = (**g_167)))), (safe_lshift_func_int8_t_s_s((safe_mod_func_int64_t_s_s((l_2148 != (l_2018[0][5][0] , &l_1950)), p_30)), g_189[3])))))))) ^ (*l_2067)))
                    { /* block id: 952 */
                        return l_2086;
                    }
                    else
                    { /* block id: 954 */
                        return l_2150;
                    }
                }
                (*l_2067) = 0xC8226459L;
            }
        }
        else
        { /* block id: 960 */
            uint16_t l_2170 = 0x7949L;
            int16_t *l_2171 = (void*)0;
            uint16_t l_2172 = 1UL;
            union U3 *l_2180[5][4][3] = {{{(void*)0,&g_732,&g_2087},{(void*)0,&l_2110,(void*)0},{&l_2110,(void*)0,&g_2087},{&g_732,&l_2110,&l_2110}},{{&g_2087,&l_2123,&g_36},{&g_2087,&g_36,&l_2110},{&g_732,&g_732,&g_732},{&l_2110,(void*)0,&g_2087}},{{(void*)0,&g_732,&g_2087},{(void*)0,&g_36,(void*)0},{&g_732,&l_2123,(void*)0},{&g_2087,&l_2110,&g_2087}},{{&g_2087,(void*)0,&g_2087},{&l_2123,&l_2110,&g_732},{&g_2087,&g_732,&l_2110},{&g_2087,&g_2087,&g_36}},{{&g_732,&g_2087,&l_2110},{(void*)0,&g_732,&g_2087},{(void*)0,&l_2110,(void*)0},{&l_2110,(void*)0,&g_2087}}};
            int32_t l_2217 = 0xB0C28FEBL;
            int32_t *l_2222 = (void*)0;
            int32_t *l_2223 = &g_72;
            int32_t *l_2224 = (void*)0;
            int32_t *l_2225 = (void*)0;
            int32_t *l_2226 = &l_2096;
            int32_t *l_2227 = &l_1966;
            int32_t *l_2228 = &l_2217;
            int32_t *l_2229 = (void*)0;
            int32_t *l_2230 = &l_2097;
            int32_t *l_2231 = &g_19[7];
            int32_t *l_2232 = &l_2092;
            int32_t *l_2233 = &l_1937;
            int32_t *l_2234 = &g_1315.f3;
            int32_t *l_2235 = &l_1936;
            int32_t *l_2236 = &l_2095[2];
            int32_t *l_2237 = &l_2095[8];
            int32_t *l_2238 = &l_2095[8];
            int32_t *l_2239[3][2][5] = {{{&l_2093,(void*)0,&l_2093,&l_1966,&l_1966},{&l_2094,&l_2094,&l_2094,&l_2217,&l_2217}},{{&l_2093,(void*)0,&l_2093,&l_1966,&l_1966},{&l_2094,&l_2094,&l_2094,&l_2217,&l_2217}},{{&l_2093,(void*)0,&l_2093,&l_1966,&l_1966},{&l_2094,&l_2094,&l_2094,&l_2217,&l_2217}}};
            int i, j, k;
            if ((((l_2151 , (((!(g_769 = (safe_mod_func_uint8_t_u_u(255UL, (safe_add_func_int8_t_s_s((((**l_2133) = (**l_2133)) < p_30), (p_30 , ((p_30 >= (safe_add_func_uint64_t_u_u(1UL, ((*l_2073) ^= (safe_add_func_int32_t_s_s((safe_mod_func_int8_t_s_s((+(safe_mod_func_int64_t_s_s((((((((safe_mul_func_int16_t_s_s(((safe_mul_func_int8_t_s_s(p_30, (l_2094 != (*g_1177)))) == 65535UL), p_30)) && p_30) != p_30) & 5L) > g_32[2][4][1]) > g_615) & p_30), 0xC829E4003C9A85C1LL))), p_30)), l_2170)))))) <= (**g_1860))))))))) , g_1447) < l_2123.f1)) , p_30) , l_2172))
            { /* block id: 964 */
                uint8_t l_2173 = 0x0FL;
                int64_t * const *l_2183[7][3] = {{&l_1934[2],&l_1980,&l_1934[2]},{&l_1933,&l_1934[3],&l_1933},{&l_1933,&l_1933,&l_1934[3]},{&l_1934[2],&l_1934[2],&l_1934[2]},{&l_1934[2],&l_1933,&l_1980},{&l_1933,&l_1933,&l_1933},{&l_1934[3],&l_1934[2],&l_1980}};
                int64_t * const **l_2182 = &l_2183[0][0];
                uint32_t ****l_2192 = (void*)0;
                int8_t *l_2199 = &g_615;
                uint32_t l_2215 = 0x4DA1A836L;
                int64_t l_2216 = (-10L);
                int i, j;
                l_2173--;
                if (p_30)
                { /* block id: 966 */
                    (*l_2131) = (*l_2131);
                }
                else
                { /* block id: 968 */
                    int64_t * const ***l_2184 = (void*)0;
                    int64_t * const ***l_2185 = &l_2182;
                    int64_t * const **l_2187 = (void*)0;
                    int64_t * const ***l_2186 = &l_2187;
                    uint32_t ****l_2195[3];
                    uint32_t *****l_2194 = &l_2195[2];
                    uint16_t *l_2198 = &g_17;
                    union U3 l_2200 = {-2L};
                    int16_t *l_2207 = &l_1982;
                    int8_t l_2218 = (-6L);
                    const int32_t *l_2219 = (void*)0;
                    int i;
                    for (i = 0; i < 3; i++)
                        l_2195[i] = &g_1859;
                    (**l_2131) &= (g_36.f0 || (safe_add_func_uint16_t_u_u(9UL, g_293.f0)));
                    for (l_2123.f1 = 2; (l_2123.f1 != 15); l_2123.f1 = safe_add_func_int8_t_s_s(l_2123.f1, 8))
                    { /* block id: 972 */
                        return g_2181;
                    }
                    (**l_2133) &= ((*g_64) && (l_2200 , (-3L)));
                    if ((safe_mul_func_uint8_t_u_u((**l_2134), ((safe_mul_func_uint16_t_u_u((safe_sub_func_int16_t_s_s((((l_2200.f0 < (246UL & ((l_2014[1] , (g_769 = ((*l_2207) = g_767))) || (safe_mod_func_uint8_t_u_u((((((((((safe_sub_func_uint64_t_u_u((**l_2131), (~(l_2217 = (l_2200 , ((p_30 & (((((*l_2198) = (safe_add_func_int16_t_s_s((247UL || l_2215), p_30))) && 1L) == l_2216) && 0x79L)) >= l_2170)))))) , p_30) < l_2218) || (**l_2131)) , l_2170) & l_2173) < 0x0081DD2387E7FFA8LL) , p_30) | l_2170), p_30))))) && p_30) > g_1241.f0), p_30)), 0x97B3L)) == (*g_166)))))
                    { /* block id: 987 */
                        union U3 *l_2220 = &g_732;
                        l_2219 = (*l_2134);
                        return l_2220;
                    }
                    else
                    { /* block id: 990 */
                        union U1 **l_2221 = &l_2089;
                        (*l_2221) = l_2089;
                    }
                }
            }
            else
            { /* block id: 994 */
                (*l_2134) = (*g_835);
            }
            g_2241--;
        }
        ++l_2246;
        return l_2253;
    }
    else
    { /* block id: 1001 */
        const union U3 l_2254 = {0x620AL};
        union U1 * const *l_2255 = &l_2089;
        int16_t *l_2256 = &g_184;
        int32_t *l_2265 = (void*)0;
        (*g_166) = (l_1936 ^= (g_726 != (((*l_2256) = (l_2254 , ((void*)0 == l_2255))) | ((((*g_64) , (((safe_div_func_int64_t_s_s(((safe_div_func_int32_t_s_s((((0xF40BF68DL ^ p_30) & ((((safe_mul_func_int16_t_s_s((safe_add_func_int64_t_s_s((((void*)0 != &g_909) > (***g_1859)), 0x5C8A2DB6377F0A06LL)), 1UL)) != p_30) ^ (*g_64)) , 4294967295UL)) , 8L), p_30)) && (-3L)), p_30)) ^ p_30) != (**l_2131))) < 18446744073709551615UL) <= 1UL))));
    }
    for (g_91.f0 = 0; (g_91.f0 <= 35); g_91.f0 = safe_add_func_int32_t_s_s(g_91.f0, 2))
    { /* block id: 1008 */
        if (p_30)
            break;
    }
    return g_2268[0][2][3];
}


/* ------------------------------------------ */
/* 
 * reads : g_314 g_1315.f3 g_166 g_19 g_72 g_864 g_769 g_64 g_1186.f0 g_17 g_1192 g_1916
 * writes: g_314 g_1315.f3 g_19 g_562 g_36.f3 g_17 g_72 g_166
 */
static int8_t * func_37(uint8_t  p_38, uint16_t  p_39)
{ /* block id: 855 */
    union U0 *l_1869 = (void*)0;
    union U0 **l_1870 = &l_1869;
    int16_t *l_1878 = (void*)0;
    union U2 * const l_1881 = &g_563;
    int32_t l_1896 = 0x445DD389L;
    int32_t l_1897[4];
    int32_t *l_1900 = &g_72;
    int8_t *l_1902 = &g_32[2][4][1];
    uint32_t ***l_1912 = (void*)0;
    int i;
    for (i = 0; i < 4; i++)
        l_1897[i] = 0x16E7BD73L;
lbl_1880:
    (*l_1870) = l_1869;
    if ((safe_lshift_func_uint8_t_u_s(2UL, 2)))
    { /* block id: 857 */
        uint16_t l_1877 = 1UL;
        union U2 **l_1883 = (void*)0;
        union U2 **l_1884 = &g_562;
        for (g_314 = (-10); (g_314 >= 42); g_314++)
        { /* block id: 860 */
            int16_t **l_1879 = &l_1878;
            for (g_1315.f3 = 29; (g_1315.f3 > 11); g_1315.f3--)
            { /* block id: 863 */
                (*g_166) = l_1877;
            }
            (*g_166) |= (((*l_1879) = l_1878) == (void*)0);
            if (g_1315.f3)
                goto lbl_1880;
        }
        (*l_1884) = l_1881;
    }
    else
    { /* block id: 871 */
        uint8_t *l_1895[7] = {&g_145,&g_732.f1,&g_732.f1,&g_145,&g_732.f1,&g_732.f1,&g_145};
        int64_t *l_1898[6][5] = {{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,&g_189[1],(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,&g_189[1],(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,&g_189[1],&g_134[0],&g_189[1],(void*)0}};
        int32_t l_1899 = 0x608700F9L;
        int32_t l_1901 = 1L;
        union U2 *** const *l_1903 = &g_1599[1];
        uint32_t ***l_1910[3][2] = {{(void*)0,&g_1560},{&g_1560,(void*)0},{&g_1560,&g_1560}};
        uint32_t ****l_1911[6][4] = {{&l_1910[2][0],&l_1910[0][0],&l_1910[0][0],&l_1910[0][0]},{&l_1910[0][0],&l_1910[0][0],&l_1910[0][0],&l_1910[0][0]},{&l_1910[0][0],&l_1910[0][0],&l_1910[2][0],&l_1910[0][0]},{&l_1910[0][0],&l_1910[2][0],&l_1910[0][0],&l_1910[0][0]},{&l_1910[0][0],&l_1910[0][0],&l_1910[0][0],&l_1910[0][0]},{&l_1910[2][0],&l_1910[2][0],&l_1910[0][0],&l_1910[0][0]}};
        uint16_t *l_1913 = (void*)0;
        uint16_t *l_1914 = (void*)0;
        uint16_t *l_1915[2];
        int i, j;
        for (i = 0; i < 2; i++)
            l_1915[i] = &g_193;
        (*g_166) = (safe_mul_func_uint8_t_u_u(((safe_mod_func_uint8_t_u_u((((*g_64) = (safe_add_func_uint16_t_u_u(((l_1899 = (safe_rshift_func_int16_t_s_s((safe_add_func_uint8_t_u_u(7UL, (l_1897[2] = (l_1896 = (&p_38 != l_1895[5]))))), 12))) | (l_1900 != ((((*l_1900) >= l_1901) & (l_1895[0] != l_1902)) , (*g_864)))), g_769))) > l_1901), 0x14L)) ^ (*l_1900)), 0L));
        (*l_1900) &= (((((void*)0 == l_1903) , 0L) | (p_38 , l_1901)) < (safe_div_func_uint16_t_u_u((g_17 ^= (safe_div_func_int32_t_s_s(((g_1186.f0 , 4UL) <= (p_39 != ((safe_add_func_int32_t_s_s(((l_1912 = l_1910[0][0]) == (void*)0), p_38)) == l_1901))), 4294967295UL))), 0x8DD1L)));
        (*g_1916) = (*g_1192);
        (*l_1870) = (*l_1870);
    }
    return l_1902;
}


/* ------------------------------------------ */
/* 
 * reads : g_64 g_36.f3 g_166 g_19
 * writes: g_36.f3 g_19
 */
static const uint16_t  func_42(int64_t  p_43, uint64_t  p_44)
{ /* block id: 550 */
    int16_t l_1226 = 0x2A8CL;
    uint32_t **l_1230 = (void*)0;
    int32_t l_1242[9] = {5L,0xC4904B62L,5L,5L,0xC4904B62L,5L,5L,0xC4904B62L,5L};
    int32_t l_1243 = 0x2F420592L;
    int32_t **l_1245 = &g_166;
    int32_t ***l_1244[6];
    union U1 *l_1280 = (void*)0;
    union U3 *l_1295 = &g_732;
    uint8_t *l_1314[1];
    union U2 *l_1324[3];
    int8_t l_1359 = 1L;
    const int32_t l_1417 = 1L;
    union U0 l_1421 = {0UL};
    int16_t l_1455 = (-6L);
    uint64_t l_1522 = 0xD67284FE13DB090BLL;
    uint16_t l_1584 = 0x5672L;
    union U2 ***l_1597 = &g_1477;
    uint32_t l_1643 = 0x666EA8EEL;
    uint64_t ***l_1715 = &g_910;
    uint64_t l_1741 = 0x015D07EE0B8FA50CLL;
    union U2 *l_1764[9][1][8] = {{{&g_563,&g_563,(void*)0,(void*)0,&g_563,&g_563,&g_563,&g_563}},{{&g_563,(void*)0,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563}},{{&g_563,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563}},{{&g_563,&g_563,(void*)0,(void*)0,&g_563,&g_563,&g_563,&g_563}},{{(void*)0,&g_563,&g_563,&g_563,(void*)0,&g_563,&g_563,(void*)0}},{{&g_563,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563}},{{&g_563,(void*)0,&g_563,&g_563,&g_563,&g_563,&g_563,&g_563}},{{&g_563,&g_563,&g_563,(void*)0,&g_563,&g_563,&g_563,&g_563}},{{&g_563,(void*)0,(void*)0,&g_563,&g_563,&g_563,&g_563,&g_563}}};
    int8_t *l_1852 = &g_615;
    uint32_t * const l_1858 = (void*)0;
    uint32_t * const *l_1857[3];
    uint32_t * const **l_1856 = &l_1857[2];
    uint32_t ****l_1862 = &g_1859;
    int64_t l_1866 = 0x699863C6CB63D83ALL;
    uint16_t *l_1867[10][10] = {{(void*)0,&g_193,&l_1584,&l_1584,&l_1584,(void*)0,&g_17,(void*)0,&l_1584,&l_1584},{(void*)0,&g_193,(void*)0,&g_193,&l_1584,&g_17,&l_1584,(void*)0,&g_17,(void*)0},{&g_17,&l_1584,(void*)0,&g_17,(void*)0,&l_1584,&g_17,&l_1584,&g_193,(void*)0},{&l_1584,(void*)0,(void*)0,&g_193,&g_17,&l_1584,&g_17,(void*)0,(void*)0,&g_17},{&g_193,&l_1584,&g_17,&g_17,(void*)0,&l_1584,&l_1584,&g_17,(void*)0,(void*)0},{&g_193,(void*)0,&l_1584,&g_17,&g_17,&l_1584,(void*)0,&g_193,&l_1584,&l_1584},{&g_17,&l_1584,&g_17,&g_17,&g_17,(void*)0,&l_1584,&g_193,&l_1584,&g_17},{&l_1584,&g_17,&g_17,&g_17,&l_1584,&g_193,&l_1584,&g_193,(void*)0,&l_1584},{&g_17,&g_17,&l_1584,&l_1584,&g_193,&l_1584,&l_1584,&g_17,&g_17,&g_17},{&l_1584,&l_1584,&g_17,&g_17,(void*)0,&g_193,(void*)0,(void*)0,&g_17,&g_17}};
    int32_t l_1868[3];
    int i, j, k;
    for (i = 0; i < 6; i++)
        l_1244[i] = &l_1245;
    for (i = 0; i < 1; i++)
        l_1314[i] = &g_91.f0;
    for (i = 0; i < 3; i++)
        l_1324[i] = &g_563;
    for (i = 0; i < 3; i++)
        l_1857[i] = &l_1858;
    for (i = 0; i < 3; i++)
        l_1868[i] = (-1L);
    (*g_166) |= ((safe_mod_func_int32_t_s_s(p_44, p_43)) | (++(*g_64)));
    return p_44;
}


/* ------------------------------------------ */
/* 
 * reads : g_32
 * writes: g_19
 */
static int64_t  func_45(uint64_t  p_46, union U0  p_47, union U0  p_48)
{ /* block id: 9 */
    int16_t l_51[7][8] = {{0x2C33L,0L,0L,0x2C33L,0xFEE0L,0x2C33L,0L,0L},{0L,0xFEE0L,(-6L),(-6L),0xFEE0L,0L,0xFEE0L,(-6L)},{0x2C33L,0xFEE0L,0x2C33L,0L,0L,0x2C33L,0xFEE0L,0x2C33L},{0L,0L,(-6L),0L,0L,0L,0L,(-6L)},{0L,0L,0L,(-6L),0L,0L,0L,0L},{0x2C33L,0L,0L,0x2C33L,0xFEE0L,0x2C33L,0L,0L},{0L,0xFEE0L,(-6L),(-6L),0xFEE0L,0L,0xFEE0L,(-6L)}};
    uint32_t *l_54 = &g_55;
    uint32_t l_1021[9];
    int32_t l_1037 = 0x13B150C2L;
    int32_t l_1041[9][2][9] = {{{0x40AA07AFL,0L,0x2E9B9D63L,(-1L),0x0598101EL,0x95D761FFL,0L,0x95D761FFL,0x0598101EL},{0x35BE71CEL,1L,1L,0x35BE71CEL,1L,0x218C64FEL,(-1L),0L,0x35BE71CEL}},{{0x31E28677L,(-1L),6L,(-1L),0x31E28677L,(-1L),(-1L),7L,(-1L)},{0xC53C85B6L,6L,0xA0289AD3L,(-4L),1L,0L,0xAACCFB8FL,0xA0289AD3L,7L}},{{0xFE241B23L,0x0B9BD843L,(-3L),7L,0x0598101EL,0x0B9BD843L,2L,(-1L),1L},{(-1L),0xAACCFB8FL,0x218C64FEL,0xC53C85B6L,0xC53C85B6L,0x218C64FEL,0xAACCFB8FL,(-1L),0L}},{{(-6L),(-1L),(-1L),0x95D761FFL,(-1L),0x2D0F9527L,(-1L),(-1L),(-6L)},{4L,0xC53C85B6L,(-4L),7L,0xC53C85B6L,0L,0x218C64FEL,4L,(-1L)}},{{0x40AA07AFL,(-1L),0L,0L,0xFE241B23L,0x95D761FFL,2L,0L,0x31ECDD74L},{0xC53C85B6L,1L,7L,6L,(-1L),(-1L),(-1L),(-1L),6L}},{{6L,(-1L),6L,0x2D0F9527L,(-6L),(-1L),0x31E28677L,7L,(-6L)},{7L,0x35BE71CEL,0x218C64FEL,(-4L),4L,0x58FCCC8CL,7L,0x218C64FEL,7L}},{{0x0598101EL,0x2D0F9527L,0L,0x2D0F9527L,0x0598101EL,(-1L),0x2E9B9D63L,0L,0x40AA07AFL},{(-1L),2L,4L,6L,0xAB1C7D58L,0x218C64FEL,2L,1L,1L}},{{(-1L),(-1L),(-6L),0L,(-6L),(-1L),(-1L),0x95D761FFL,(-1L)},{0x58FCCC8CL,0xAB1C7D58L,(-4L),7L,0x35BE71CEL,0x58FCCC8CL,0x2C47CB4DL,0xA0289AD3L,(-1L)}},{{1L,0x95D761FFL,0x2E9B9D63L,(-1L),0xFE241B23L,(-1L),0x2E9B9D63L,0x95D761FFL,1L},{0xC53C85B6L,7L,0xAACCFB8FL,0x35BE71CEL,0L,(-1L),0x218C64FEL,1L,0x35BE71CEL}}};
    const uint64_t l_1143[7][8][1] = {{{1UL},{0x1CE1BB146CF34DDELL},{18446744073709551611UL},{0x8EF97AE1C69BCA47LL},{18446744073709551612UL},{0UL},{18446744073709551612UL},{0x8EF97AE1C69BCA47LL}},{{18446744073709551611UL},{0x1CE1BB146CF34DDELL},{1UL},{0x1CE1BB146CF34DDELL},{18446744073709551611UL},{0x8EF97AE1C69BCA47LL},{18446744073709551612UL},{0UL}},{{18446744073709551612UL},{0x8EF97AE1C69BCA47LL},{18446744073709551611UL},{0x1CE1BB146CF34DDELL},{1UL},{0x1CE1BB146CF34DDELL},{18446744073709551611UL},{0x8EF97AE1C69BCA47LL}},{{18446744073709551612UL},{0UL},{18446744073709551612UL},{0x8EF97AE1C69BCA47LL},{18446744073709551611UL},{0x1CE1BB146CF34DDELL},{1UL},{0x1CE1BB146CF34DDELL}},{{18446744073709551611UL},{0x8EF97AE1C69BCA47LL},{18446744073709551612UL},{0UL},{18446744073709551612UL},{0x8EF97AE1C69BCA47LL},{18446744073709551611UL},{0x1CE1BB146CF34DDELL}},{{1UL},{0x1CE1BB146CF34DDELL},{18446744073709551611UL},{0x8EF97AE1C69BCA47LL},{18446744073709551612UL},{0UL},{18446744073709551612UL},{0x8EF97AE1C69BCA47LL}},{{18446744073709551611UL},{0x1CE1BB146CF34DDELL},{1UL},{0x1CE1BB146CF34DDELL},{18446744073709551611UL},{0x8EF97AE1C69BCA47LL},{18446744073709551612UL},{0UL}}};
    union U1 *l_1188 = (void*)0;
    uint16_t l_1215 = 1UL;
    int32_t *l_1220[4];
    int i, j, k;
    for (i = 0; i < 9; i++)
        l_1021[i] = 0x562FE7EAL;
    for (i = 0; i < 4; i++)
        l_1220[i] = (void*)0;
    g_19[6] = (l_51[4][3] < g_32[2][4][1]);
    return p_46;
}


/* ------------------------------------------ */
/* 
 * reads : g_36.f3 g_71 g_72 g_55 g_17 g_270 g_32 g_317 g_166 g_19 g_193 g_64 g_615 g_184 g_746 g_745 g_189 g_732.f0 g_688 g_767 g_769 g_134 g_145 g_605 g_563.f1 g_36.f1 g_835 g_849 g_731 g_732 g_281.f0 g_732.f2 g_857 g_864 g_243 g_563.f0 g_849.f0 g_561 g_562 g_563 g_726 g_909 g_314 g_167 g_605.f0 g_836
 * writes: g_36.f3 g_72 g_55 g_17 g_270 g_726 g_615 g_731 g_184 g_281.f0 g_134 g_745 g_767 g_769 g_563.f1 g_836 g_858 g_166 g_910 g_314 g_36.f1 g_193
 */
static const union U3  func_58(uint16_t  p_59, int8_t * p_60, uint32_t  p_61, uint64_t * p_62, int64_t  p_63)
{ /* block id: 12 */
    int16_t l_70[8][3] = {{0x364EL,0x364EL,0x364EL},{0x90D6L,0x90D6L,0x90D6L},{0x364EL,0x364EL,0x364EL},{0x90D6L,0x90D6L,0x90D6L},{0x364EL,0x364EL,0x364EL},{0x90D6L,0x90D6L,0x90D6L},{0x364EL,0x364EL,0x364EL},{0x90D6L,0x90D6L,0x90D6L}};
    int32_t *l_77[7][6] = {{&g_19[7],&g_19[6],&g_19[6],&g_19[7],&g_72,&g_72},{&g_19[3],&g_19[6],&g_19[6],&g_19[3],&g_72,&g_19[6]},{&g_19[6],&g_19[6],&g_72,&g_19[6],(void*)0,&g_19[6]},{&g_72,&g_19[6],&g_72,&g_72,(void*)0,(void*)0},{&g_19[6],&g_19[6],&g_19[6],&g_19[6],(void*)0,&g_72},{&g_19[6],&g_19[6],(void*)0,&g_19[6],(void*)0,&g_19[6]},{&g_72,&g_19[6],&g_72,&g_72,(void*)0,(void*)0}};
    int8_t l_78 = 8L;
    int16_t l_727 = 0x5B58L;
    union U0 *l_774 = (void*)0;
    union U3 **l_778 = &g_731;
    union U3 ***l_777 = &l_778;
    int32_t l_783 = 0xE744250CL;
    int64_t *l_784 = &g_134[1];
    int64_t l_868 = 0x8A5B7726A56A8A13LL;
    uint32_t *l_916 = &g_726;
    const int16_t l_928 = 0x65DCL;
    const union U3 l_1006 = {0x1171L};
    int i, j;
    for (g_36.f3 = 13; (g_36.f3 <= 5); g_36.f3 = safe_sub_func_uint32_t_u_u(g_36.f3, 7))
    { /* block id: 15 */
        int32_t *l_67 = &g_19[0];
        int32_t l_79 = 1L;
        int32_t l_80 = (-6L);
        int32_t l_81 = 1L;
        uint64_t l_759 = 0UL;
        const union U3 l_771 = {0L};
        (*g_71) ^= (((void*)0 == l_67) > (safe_mod_func_uint64_t_u_u((*p_62), l_70[0][1])));
        for (g_55 = 0; (g_55 <= 2); g_55 += 1)
        { /* block id: 19 */
            int32_t *l_74[2][2] = {{&g_19[6],&g_19[6]},{&g_19[6],&g_19[6]}};
            int8_t l_75 = 0x2BL;
            int32_t l_76 = 8L;
            uint16_t l_720 = 65526UL;
            int32_t **l_770 = (void*)0;
            int i, j;
            l_75 = l_70[(g_55 + 4)][g_55];
            if (l_76)
            { /* block id: 21 */
                uint8_t l_82 = 0x8CL;
                uint64_t *l_90 = &g_36.f3;
                uint64_t l_693 = 0xF5928E95DDFBE1EDLL;
                uint8_t *l_697[4];
                uint8_t **l_696[8][3] = {{&l_697[2],(void*)0,&l_697[2]},{&l_697[2],(void*)0,&l_697[2]},{(void*)0,&l_697[2],&l_697[2]},{&l_697[0],&l_697[2],&l_697[2]},{&l_697[2],&l_697[2],&l_697[2]},{&l_697[2],&l_697[0],(void*)0},{&l_697[0],&l_697[2],&l_697[0]},{(void*)0,&l_697[0],&l_697[2]}};
                union U3 **l_707 = (void*)0;
                int32_t l_722 = 0L;
                int i, j;
                for (i = 0; i < 4; i++)
                    l_697[i] = &g_314;
                for (g_17 = 0; (g_17 <= 2); g_17 += 1)
                { /* block id: 24 */
                    int16_t l_692[10] = {0x1E87L,8L,(-1L),(-1L),8L,0x1E87L,8L,(-1L),(-1L),8L};
                    int i;
                    l_77[2][3] = &l_76;
                    l_82++;
                    for (g_72 = 2; (g_72 >= 0); g_72 -= 1)
                    { /* block id: 29 */
                        int i, j, k;
                    }
                }
                for (p_59 = 0; (p_59 <= 2); p_59 += 1)
                { /* block id: 283 */
                    int8_t l_699 = 0xDDL;
                    int32_t l_700 = 0x58F972F5L;
                    int32_t l_729 = 0xE24B20EBL;
                    if (p_61)
                    { /* block id: 284 */
                        uint8_t ***l_698 = &l_696[2][0];
                        --l_693;
                        (*l_698) = l_696[2][0];
                    }
                    else
                    { /* block id: 287 */
                        uint64_t l_701[2][5][9] = {{{18446744073709551612UL,1UL,18446744073709551609UL,18446744073709551615UL,0xB63B3DC77C579B24LL,7UL,1UL,18446744073709551606UL,18446744073709551613UL},{7UL,18446744073709551609UL,0xB63B3DC77C579B24LL,1UL,1UL,18446744073709551613UL,6UL,0x8906DBB89AD5AB90LL,0x93F77B8A507E9B16LL},{0x2906FB82F1D1650CLL,1UL,0x4F65BF3132FC3538LL,0xB63B3DC77C579B24LL,0x055837BAEA9E7C97LL,18446744073709551614UL,18446744073709551614UL,0x055837BAEA9E7C97LL,0xB63B3DC77C579B24LL},{0x4F65BF3132FC3538LL,18446744073709551613UL,0x4F65BF3132FC3538LL,7UL,1UL,18446744073709551614UL,1UL,18446744073709551615UL,0x055837BAEA9E7C97LL},{18446744073709551615UL,18446744073709551613UL,0xB63B3DC77C579B24LL,18446744073709551615UL,0UL,18446744073709551612UL,18446744073709551606UL,18446744073709551615UL,18446744073709551606UL}},{{6UL,0x93F77B8A507E9B16LL,18446744073709551609UL,7UL,0x8906DBB89AD5AB90LL,0x382C1CA52A8B7F9ALL,0UL,0UL,0x382C1CA52A8B7F9ALL},{0x8906DBB89AD5AB90LL,0xB63B3DC77C579B24LL,0x382C1CA52A8B7F9ALL,0xB63B3DC77C579B24LL,0x8906DBB89AD5AB90LL,0x6F8215C055DFD69ALL,18446744073709551606UL,0x2906FB82F1D1650CLL,0x4F65BF3132FC3538LL},{18446744073709551613UL,0x055837BAEA9E7C97LL,18446744073709551606UL,1UL,0UL,18446744073709551615UL,0x93F77B8A507E9B16LL,0x1D252B3352945149LL,7UL},{0xB63B3DC77C579B24LL,18446744073709551606UL,0x8906DBB89AD5AB90LL,18446744073709551615UL,1UL,0x6F8215C055DFD69ALL,18446744073709551606UL,18446744073709551606UL,18446744073709551606UL},{18446744073709551606UL,0x382C1CA52A8B7F9ALL,0x055837BAEA9E7C97LL,0x2906FB82F1D1650CLL,0x055837BAEA9E7C97LL,0x382C1CA52A8B7F9ALL,18446744073709551606UL,18446744073709551615UL,1UL}}};
                        union U3 ***l_708 = (void*)0;
                        union U3 ***l_709 = &l_707;
                        int32_t l_717 = 0xD3E5DFF5L;
                        uint32_t *l_721 = &g_270[0][4];
                        uint32_t *l_723 = (void*)0;
                        uint32_t *l_724 = (void*)0;
                        uint32_t *l_725 = &g_726;
                        int8_t *l_728 = &g_615;
                        int32_t l_730[8][6][5] = {{{0xDD62B185L,1L,1L,0xE4D66739L,0xA010DA75L},{0xDD62B185L,0x4A8AF873L,(-1L),(-3L),0x0FF33CCCL},{6L,(-9L),(-4L),0xE553BC41L,0x077D4CFDL},{0x7CCCA734L,0x4A8AF873L,1L,0x291E5168L,(-1L)},{1L,1L,1L,(-1L),0L},{0x1FE4804AL,(-1L),(-4L),0x28E23A1EL,0x4A8AF873L}},{{0xC20D003FL,0x824A3224L,(-1L),(-1L),0x824A3224L},{0L,(-1L),0x94607E12L,0x0FF33CCCL,(-9L)},{1L,8L,0x4A9011B5L,(-9L),0x8C17AED5L},{(-6L),4L,0x824A3224L,0xA010DA75L,0L},{1L,(-10L),(-1L),0x824A3224L,0xD70AF0FDL},{0x35FA49D5L,(-10L),0xF7254297L,1L,8L}},{{(-7L),4L,0xA010DA75L,0x4A9011B5L,1L},{0xB4E58E00L,8L,0xF7254297L,1L,0x7D448DECL},{0xD671A1D9L,(-1L),(-1L),1L,0xB30ABAAAL},{0L,(-9L),0x824A3224L,0x4A9011B5L,9L},{6L,0x26EA65E0L,0x4A9011B5L,1L,0xB30ABAAAL},{0xC6E8F664L,0xB30ABAAAL,0x94607E12L,0x824A3224L,0x7D448DECL}},{{0xC6E8F664L,0x8C17AED5L,(-1L),0xA010DA75L,1L},{6L,(-1L),0L,(-9L),8L},{0L,0x8C17AED5L,(-8L),0x0FF33CCCL,0xD70AF0FDL},{0xD671A1D9L,0xB30ABAAAL,(-8L),(-1L),0L},{0xB4E58E00L,0x26EA65E0L,0L,0xF7254297L,0x8C17AED5L},{(-7L),(-9L),(-1L),(-1L),(-9L)}},{{0x35FA49D5L,(-1L),0x94607E12L,0x0FF33CCCL,(-9L)},{1L,8L,0x4A9011B5L,(-9L),0x8C17AED5L},{(-6L),4L,0x824A3224L,0xA010DA75L,0L},{1L,(-10L),(-1L),0x824A3224L,0xD70AF0FDL},{0x35FA49D5L,(-10L),0xF7254297L,1L,8L},{(-7L),4L,0xA010DA75L,0x4A9011B5L,1L}},{{0xB4E58E00L,8L,0xF7254297L,1L,0x7D448DECL},{0xD671A1D9L,(-1L),(-1L),1L,0xB30ABAAAL},{0L,(-9L),0x824A3224L,0x4A9011B5L,9L},{6L,0x26EA65E0L,0x4A9011B5L,1L,0xB30ABAAAL},{0xC6E8F664L,0xB30ABAAAL,0x94607E12L,0x824A3224L,0x7D448DECL},{0xC6E8F664L,0x8C17AED5L,(-1L),0xA010DA75L,1L}},{{6L,(-1L),0L,(-9L),8L},{0L,0x8C17AED5L,(-8L),0x0FF33CCCL,0xD70AF0FDL},{0xD671A1D9L,0xB30ABAAAL,(-8L),(-1L),0L},{0xB4E58E00L,0x26EA65E0L,0L,0xF7254297L,0x8C17AED5L},{(-7L),(-9L),(-1L),(-1L),(-9L)},{0x35FA49D5L,(-1L),0x94607E12L,0x0FF33CCCL,(-9L)}},{{1L,8L,0x4A9011B5L,(-9L),0x8C17AED5L},{(-6L),4L,0x824A3224L,0xA010DA75L,0L},{1L,(-10L),(-1L),0x824A3224L,0xD70AF0FDL},{0x35FA49D5L,0xC20D003FL,(-1L),0xCADC2814L,6L},{0x6A00FAD0L,0x904B0AFFL,0x7D448DECL,0x760072ABL,1L},{0xE7F05282L,6L,(-1L),0xB30ABAAAL,0x7BE22329L}}};
                        int i, j, k;
                        l_730[2][1][0] |= (l_729 &= ((--l_701[1][4][6]) == ((*l_728) |= ((((((*l_725) = (((((+(l_722 = (safe_mod_func_uint16_t_u_u(0x76A1L, (l_700 | ((((*l_709) = l_707) != (void*)0) > ((*l_721) = (~((p_63 > (safe_mul_func_int8_t_s_s((safe_add_func_uint32_t_u_u(((((l_693 != ((safe_rshift_func_uint8_t_u_s(l_717, ((g_270[1][2] != ((safe_mul_func_int8_t_s_s(((l_717 >= 0x9CL) > l_699), 0x1AL)) , l_720)) || 4294967291UL))) | 4294967286UL)) >= 0x76EAL) > p_63) & (*p_60)), (**g_317))), p_59))) == g_193))))))))) , p_63) < 5L) ^ (-3L)) <= 0x6BL)) , g_19[6]) && 65527UL) | (*g_64)) >= l_727))));
                    }
                    g_731 = &g_36;
                }
            }
            else
            { /* block id: 299 */
                uint64_t l_749 = 0UL;
                if ((*l_67))
                    break;
                for (g_184 = 0; (g_184 <= 2); g_184 += 1)
                { /* block id: 303 */
                    union U2 l_741 = {5L};
                    uint32_t *l_744[2];
                    int64_t *l_747 = &g_134[1];
                    uint32_t l_748 = 0UL;
                    uint64_t *l_754 = &l_741.f1;
                    int32_t ***l_760 = (void*)0;
                    int32_t **l_762 = &l_74[0][1];
                    int32_t ***l_761 = &l_762;
                    int i, j, k;
                    for (i = 0; i < 2; i++)
                        l_744[i] = &g_745;
                    l_749 &= ((g_32[g_55][g_55][g_55] , (g_270[g_184][g_184] < (((safe_lshift_func_uint8_t_u_u(((safe_mul_func_uint8_t_u_u((((safe_lshift_func_int16_t_s_s(((((*l_747) = (((g_281.f0 = (l_741 , (p_61 , (safe_add_func_int64_t_s_s((-8L), 0xAE46EC5875715A9ALL))))) ^ ((void*)0 != g_746)) != 0L)) , p_61) <= 0x546A6DF8L), 7)) <= g_745) >= 8UL), g_189[4])) >= (*g_64)), 0)) | p_61) >= (*g_166)))) ^ l_748);
                    if (l_749)
                        continue;
                    if ((p_63 , (((safe_lshift_func_uint16_t_u_s((((*l_754) = (0x7BE6L && ((safe_rshift_func_int16_t_s_u(0x3EC3L, 8)) ^ (g_745 = p_61)))) >= (safe_rshift_func_int8_t_s_s(((l_759 < (((*l_761) = &l_74[0][1]) != (void*)0)) == (0L || 0x465BL)), 1))), 13)) ^ g_732.f0) ^ g_688)))
                    { /* block id: 311 */
                        int16_t *l_765 = &l_727;
                        int16_t *l_766 = &g_767;
                        int16_t *l_768 = &g_769;
                        int i, j;
                        (*g_71) = (safe_sub_func_uint32_t_u_u(((((*l_766) &= ((*l_765) = (l_70[(g_184 + 1)][g_184] = l_749))) == (-1L)) < 1L), ((**l_762) > ((*l_768) ^= p_59))));
                    }
                    else
                    { /* block id: 317 */
                        if (p_59)
                            break;
                        l_770 = (void*)0;
                    }
                }
            }
            return l_771;
        }
    }
    if ((safe_sub_func_uint8_t_u_u(((((*p_62) & 0x6DC6CB9291F5B905LL) != (((void*)0 != l_774) == (safe_div_func_uint16_t_u_u(((void*)0 == l_777), g_745)))) && ((*l_784) &= ((safe_mul_func_uint8_t_u_u((7UL >= ((safe_div_func_int8_t_s_s((((p_59 != p_63) , 0xCAL) > 0x44L), l_783)) , p_63)), (*p_60))) >= p_59))), 0xD1L)))
    { /* block id: 327 */
        union U3 l_799 = {1L};
        int32_t l_806 = 0xFB2E4D38L;
        int32_t *l_808[7];
        int32_t l_809 = 8L;
        uint32_t *l_810 = &g_745;
        uint32_t l_882 = 18446744073709551615UL;
        int32_t l_923 = 7L;
        int64_t l_951 = 0x52531652EAA4AE52LL;
        int32_t l_961[6][3] = {{0x69249407L,1L,0x69249407L},{(-1L),(-1L),0xB35A63DCL},{(-6L),1L,(-6L)},{(-1L),0xB35A63DCL,0xB35A63DCL},{0x69249407L,1L,0x69249407L},{(-1L),(-1L),0xB35A63DCL}};
        uint8_t l_965 = 0xAEL;
        int8_t l_973[8][1][4] = {{{(-2L),0xB3L,0xCCL,(-2L)}},{{0xDCL,0x76L,1L,0xCCL}},{{0L,0x76L,0L,(-2L)}},{{0x76L,0xB3L,0x1FL,0xECL}},{{0xECL,0xCCL,0xDCL,0xB3L}},{{1L,0xDCL,0xDCL,1L}},{{0xECL,(-2L),0x1FL,0L}},{{0x76L,(-3L),0L,0L}}};
        int32_t l_974 = 0L;
        uint32_t l_975 = 0x0E5B7078L;
        int i, j, k;
        for (i = 0; i < 7; i++)
            l_808[i] = &g_190;
        if ((((p_63 = (safe_div_func_uint32_t_u_u((safe_div_func_uint32_t_u_u(((*l_810) = (safe_div_func_int32_t_s_s(((l_809 ^= ((((safe_sub_func_int16_t_s_s(p_63, ((safe_sub_func_int16_t_s_s(((safe_div_func_int8_t_s_s((safe_sub_func_int8_t_s_s((l_799 , (safe_rshift_func_int16_t_s_s((+(g_145 < (!l_799.f0))), (((g_605 , (l_806 = l_799.f1)) || (&g_17 == &g_193)) > ((safe_unary_minus_func_uint64_t_u((*p_62))) && 2UL))))), 0xC8L)), (-7L))) != g_193), l_799.f2)) < l_799.f2))) != g_189[1]) >= 3UL) & l_799.f1)) , (-3L)), g_732.f0))), p_63)), p_63))) && (*g_64)) & 0xCEL))
        { /* block id: 332 */
            uint64_t l_830 = 0x3F909843F9A84A4DLL;
            union U2 l_852 = {0x428DBEA7L};
            int32_t *l_862 = &g_563.f0;
            int32_t l_869[9][5] = {{(-9L),0x40CD652CL,0x0122C758L,0x0122C758L,0x40CD652CL},{0x596B3D0FL,1L,0x0122C758L,(-1L),1L},{0x596B3D0FL,0x40CD652CL,0L,(-1L),0x40CD652CL},{(-9L),0x40CD652CL,0x0122C758L,0x0122C758L,0x40CD652CL},{0x596B3D0FL,1L,0x0122C758L,(-1L),1L},{0x596B3D0FL,0x40CD652CL,0L,(-1L),0x40CD652CL},{(-9L),0x40CD652CL,0x0122C758L,0x0122C758L,0x40CD652CL},{0x596B3D0FL,1L,0x0122C758L,(-1L),1L},{0x596B3D0FL,0x40CD652CL,0L,(-1L),0x40CD652CL}};
            int8_t l_873[4];
            int i, j;
            for (i = 0; i < 4; i++)
                l_873[i] = 0xDEL;
            for (g_563.f1 = 0; (g_563.f1 == 11); g_563.f1 = safe_add_func_uint32_t_u_u(g_563.f1, 8))
            { /* block id: 335 */
                uint32_t l_845[8] = {0xBC1BC45BL,0UL,0xBC1BC45BL,0xBC1BC45BL,0UL,0xBC1BC45BL,0xBC1BC45BL,0UL};
                union U1 *l_856 = &g_849;
                union U1 **l_855 = &l_856;
                int32_t l_867 = 0L;
                int32_t l_879 = 1L;
                int32_t l_880 = 0xB68D421CL;
                int32_t l_881 = 0x469876AEL;
                int64_t l_906[1];
                int i;
                for (i = 0; i < 1; i++)
                    l_906[i] = 0xE5832E9EED4B0DBELL;
                if (l_799.f1)
                { /* block id: 336 */
                    const uint16_t l_815 = 0xCBA5L;
                    union U1 * const l_816 = &g_281;
                    uint64_t l_829[2][3][2] = {{{1UL,0UL},{1UL,1UL},{0UL,1UL}},{{1UL,0UL},{1UL,1UL},{0UL,1UL}}};
                    const int32_t *l_834 = &l_809;
                    int32_t l_854[6][2][2] = {{{1L,1L},{1L,1L}},{{1L,1L},{1L,1L}},{{1L,1L},{1L,1L}},{{1L,1L},{1L,1L}},{{1L,1L},{1L,1L}},{{1L,1L},{1L,1L}}};
                    int i, j, k;
                    if ((safe_mul_func_int16_t_s_s(g_745, ((l_815 , ((l_816 == &g_578) || ((((safe_mod_func_uint32_t_u_u(p_59, (safe_lshift_func_uint8_t_u_u(((((safe_mod_func_int16_t_s_s(0L, g_732.f0)) >= p_59) == ((((safe_rshift_func_int16_t_s_s((safe_mod_func_int8_t_s_s((safe_mul_func_int8_t_s_s(g_732.f0, p_61)), g_767)), g_193)) , (void*)0) == (void*)0) < g_36.f1)) > l_829[0][1][1]), p_59)))) > g_55) , 1UL) || 0x226BL))) < p_59))))
                    { /* block id: 337 */
                        union U3 l_833 = {0x9F81L};
                        int8_t *l_846 = &l_78;
                        uint16_t *l_853[3];
                        int i;
                        for (i = 0; i < 3; i++)
                            l_853[i] = &g_17;
                        l_830--;
                        (*g_835) = (l_833 , l_834);
                        l_809 = (safe_lshift_func_int16_t_s_u((((*l_784) = ((safe_rshift_func_uint8_t_u_s((safe_mod_func_uint16_t_u_u(1UL, (safe_mod_func_uint32_t_u_u(4294967288UL, l_845[3])))), ((((l_854[4][1][1] = (((void*)0 != l_846) <= (((((safe_div_func_uint8_t_u_u((g_849 , ((safe_mod_func_uint32_t_u_u(l_809, ((*g_731) , (l_852 , p_63)))) < l_852.f0)), g_189[1])) & g_281.f0) | g_732.f2) && 0xC4L) > 0x529A8C9A261ED6B6LL))) || 6UL) , p_61) == p_61))) ^ g_189[1])) > g_189[4]), p_61));
                        l_855 = l_855;
                    }
                    else
                    { /* block id: 344 */
                        union U1 **l_859[3];
                        union U1 **l_860 = (void*)0;
                        union U1 **l_861 = &l_856;
                        int i;
                        for (i = 0; i < 3; i++)
                            l_859[i] = &l_856;
                        (*g_857) = &g_91;
                        (*l_861) = l_816;
                        if (p_61)
                            break;
                    }
                    (*g_864) = l_862;
                    for (g_36.f3 = (-21); (g_36.f3 > 2); g_36.f3 = safe_add_func_uint16_t_u_u(g_36.f3, 1))
                    { /* block id: 352 */
                        uint8_t l_870[1];
                        int i;
                        for (i = 0; i < 1; i++)
                            l_870[i] = 1UL;
                        l_867 ^= p_63;
                        if ((**g_243))
                            continue;
                        l_870[0]++;
                        return (*g_731);
                    }
                    if (l_873[2])
                        continue;
                }
                else
                { /* block id: 359 */
                    uint16_t l_876[7][5] = {{0x82ABL,0x2A31L,65533UL,1UL,65533UL},{0x82ABL,0x82ABL,65531UL,1UL,0x35A5L},{0x2A31L,0x82ABL,65533UL,65528UL,0x35A5L},{0x82ABL,0x2A31L,65533UL,1UL,65533UL},{0x82ABL,0x82ABL,65531UL,1UL,0x35A5L},{0x2A31L,0x82ABL,65533UL,65528UL,0x35A5L},{0x82ABL,0x2A31L,65533UL,1UL,65533UL}};
                    int i, j;
                    for (l_830 = 0; (l_830 >= 14); l_830 = safe_add_func_uint16_t_u_u(l_830, 2))
                    { /* block id: 362 */
                        l_876[0][0]--;
                        return l_799;
                    }
                }
                l_882--;
                if ((safe_sub_func_int32_t_s_s((l_869[5][0] &= (g_767 ^ (safe_add_func_int64_t_s_s(p_63, (safe_lshift_func_uint8_t_u_u((safe_add_func_int16_t_s_s((safe_mul_func_int8_t_s_s((~(safe_lshift_func_int8_t_s_u(((*p_60) || (g_849.f0 && (g_769 = (0xC1EA1F2FEF936651LL | ((safe_lshift_func_int8_t_s_u((((**g_561) , &g_17) == &g_193), (((((safe_rshift_func_int16_t_s_u((((*l_784) |= (safe_mod_func_int16_t_s_s(l_880, (*l_862)))) <= g_72), l_845[0])) , g_726) || 8UL) && g_563.f1) | 0xA0F1AF56L))) != 0x024BAC6AL))))), 6))), g_849.f0)), g_189[4])), p_63)))))), l_906[0])))
                { /* block id: 371 */
                    for (l_880 = (-27); (l_880 > (-4)); l_880 = safe_add_func_int16_t_s_s(l_880, 4))
                    { /* block id: 374 */
                        return (*g_731);
                    }
                }
                else
                { /* block id: 377 */
                    if (l_880)
                        break;
                }
            }
            (*g_909) = &p_62;
        }
        else
        { /* block id: 382 */
            uint32_t l_911[2];
            int i;
            for (i = 0; i < 2; i++)
                l_911[i] = 0x33329864L;
            l_911[0] |= (-4L);
            (*g_71) ^= p_61;
        }
        for (l_799.f3 = 5; (l_799.f3 < 5); ++l_799.f3)
        { /* block id: 388 */
            uint32_t *l_914 = &g_726;
            uint32_t **l_915 = (void*)0;
            int32_t l_926[5][10][5] = {{{(-1L),0x5E82FC5DL,0xC4C16411L,0L,1L},{1L,(-1L),0xE00F50F4L,4L,0L},{1L,0x4AC9462AL,1L,0L,0x8EEB19D0L},{0x92332EACL,0xC4C16411L,(-1L),(-6L),4L},{0xE91D29DAL,0x38AD48C6L,0xC4C16411L,1L,0xF0FD3A16L},{1L,0L,0xC4C16411L,1L,0x5E82FC5DL},{0x5E82FC5DL,0xE91D29DAL,(-1L),(-5L),(-1L)},{3L,3L,1L,1L,0L},{(-6L),0L,0xE00F50F4L,3L,0xAC2BA5B2L},{0x38AD48C6L,0xF0FD3A16L,0x8EEB19D0L,(-1L),0x09ADA4CEL}},{{0L,0L,0xBD65A420L,0x3E33753DL,0xE91D29DAL},{(-1L),3L,(-6L),0x5E82FC5DL,1L},{0x4F7ACA41L,0xE91D29DAL,0x4AC9462AL,0xAC2BA5B2L,(-1L)},{0xE00F50F4L,0L,0x25AAD84CL,0xBD65A420L,(-5L)},{0xE00F50F4L,0x38AD48C6L,0x3E33753DL,0x4F7ACA41L,0x2BCD5D03L},{0x4F7ACA41L,0xC4C16411L,0L,0xC4C16411L,0x4F7ACA41L},{(-1L),0x4AC9462AL,1L,0x09ADA4CEL,3L},{0L,(-1L),0L,0x8240226CL,0L},{0x38AD48C6L,(-1L),0L,0x4AC9462AL,3L},{(-6L),0x8240226CL,0x170BEF82L,0xF0FD3A16L,0x4F7ACA41L}},{{3L,(-6L),0x5E82FC5DL,1L,0x2BCD5D03L},{0x5E82FC5DL,0x930A0CF2L,0x4F7ACA41L,0x4B419445L,(-5L)},{1L,0x3E33753DL,0xAC2BA5B2L,0x4B419445L,(-1L)},{0xE91D29DAL,0x09ADA4CEL,1L,1L,1L},{0x92332EACL,0x948D8177L,0x92332EACL,0xF0FD3A16L,0xE91D29DAL},{1L,0xAC2BA5B2L,0L,0x4AC9462AL,0x09ADA4CEL},{1L,0x170BEF82L,0x38AD48C6L,0x8240226CL,0xAC2BA5B2L},{0x930A0CF2L,0xBD65A420L,0L,0x09ADA4CEL,0L},{0xF0FD3A16L,0L,0x92332EACL,0xC4C16411L,(-1L)},{0L,0x8EEB19D0L,1L,0x4F7ACA41L,0x5E82FC5DL}},{{(-5L),(-1L),0xAC2BA5B2L,0xBD65A420L,0xF0FD3A16L},{0x948D8177L,(-1L),0x4F7ACA41L,0xAC2BA5B2L,4L},{0L,0x8EEB19D0L,0x5E82FC5DL,0x5E82FC5DL,0x8EEB19D0L},{0xAC2BA5B2L,0L,0x170BEF82L,0x3E33753DL,0L},{(-1L),0xBD65A420L,0L,(-1L),1L},{0x4B419445L,0x170BEF82L,0L,3L,0L},{(-1L),0xAC2BA5B2L,1L,1L,0L},{0xAC2BA5B2L,0x948D8177L,0L,(-5L),0L},{0L,0x09ADA4CEL,0x3E33753DL,1L,1L},{0L,0L,1L,(-5L),1L}},{{1L,(-6L),0L,0x2BCD5D03L,0xC4C16411L},{0x4F7ACA41L,0x2BCD5D03L,0x2BCD5D03L,0x4F7ACA41L,0x3E33753DL},{0L,1L,0xF0FD3A16L,3L,0L},{(-6L),0x930A0CF2L,(-1L),0L,(-1L)},{0xE91D29DAL,0xAC2BA5B2L,0x38AD48C6L,3L,(-1L)},{(-1L),0L,(-5L),0x4F7ACA41L,(-1L)},{0x4AC9462AL,0x8EEB19D0L,0x930A0CF2L,0x2BCD5D03L,3L},{0x92332EACL,0xF21AA7F7L,0x8EEB19D0L,(-5L),0L},{(-1L),0xC4C16411L,0x8EEB19D0L,(-1L),(-1L)},{(-1L),0x92332EACL,0x930A0CF2L,1L,0x930A0CF2L}}};
            int32_t l_929 = 0xDF5524C3L;
            int i, j, k;
            l_929 |= ((l_914 != (l_916 = &g_726)) , (safe_rshift_func_uint16_t_u_s(((0x3ADA6ECA8D1CE08CLL ^ (safe_sub_func_int64_t_s_s((safe_sub_func_uint8_t_u_u(l_923, ((safe_div_func_int32_t_s_s(l_926[3][0][3], p_59)) < ((~l_928) <= (&g_190 == &g_190))))), (*p_62)))) | l_926[3][0][3]), 5)));
        }
        for (g_314 = 13; (g_314 > 10); g_314 = safe_sub_func_int16_t_s_s(g_314, 3))
        { /* block id: 394 */
            union U0 l_934 = {0xC0L};
            const union U3 l_952 = {8L};
            int32_t l_962 = 0x9D569CE7L;
            uint32_t l_968 = 0x2B3DA6E0L;
            int32_t l_971 = 1L;
            int32_t l_972 = 0x23622BE5L;
            for (g_55 = 0; (g_55 == 40); g_55 = safe_add_func_uint16_t_u_u(g_55, 3))
            { /* block id: 397 */
                const uint32_t l_935 = 0UL;
                int32_t l_955 = 0xA8D67A3EL;
                if (((g_19[6] , l_934) , ((l_935 >= (~((safe_add_func_uint32_t_u_u((!(safe_mul_func_int16_t_s_s((((*l_916) = 0xF72CE0ACL) , p_59), (safe_sub_func_uint64_t_u_u((safe_sub_func_uint8_t_u_u((!(safe_mod_func_int8_t_s_s(g_189[1], (safe_mul_func_uint8_t_u_u(0x23L, (p_59 != (((((*l_784) ^= p_63) , (void*)0) == (*l_777)) ^ l_935))))))), p_59)), 0xD53E79D3A82ACA78LL))))), l_951)) || l_935))) , p_59)))
                { /* block id: 400 */
                    return l_952;
                }
                else
                { /* block id: 402 */
                    uint8_t l_956 = 0x8CL;
                    int32_t l_959 = 0x467055F8L;
                    int32_t l_960 = 0L;
                    for (g_36.f1 = 0; (g_36.f1 <= 30); g_36.f1++)
                    { /* block id: 405 */
                        l_955 = 1L;
                        ++l_956;
                    }
                    if ((**g_167))
                        continue;
                    if ((*g_166))
                    { /* block id: 410 */
                        l_960 = ((-1L) & (l_959 = l_955));
                    }
                    else
                    { /* block id: 413 */
                        int32_t l_963 = 3L;
                        int32_t l_964 = 8L;
                        l_965++;
                    }
                }
                --l_968;
            }
            l_975--;
        }
    }
    else
    { /* block id: 421 */
        union U3 **l_988 = &g_731;
        union U2 l_997 = {-10L};
        uint32_t l_1001[10];
        const int16_t l_1003 = 0x06D5L;
        const int32_t *l_1005 = &l_783;
        int i;
        for (i = 0; i < 10; i++)
            l_1001[i] = 0xB609043EL;
        for (g_726 = 20; (g_726 <= 50); ++g_726)
        { /* block id: 424 */
            int16_t *l_986 = &l_727;
            union U3 l_987 = {1L};
            uint16_t *l_1002 = &g_193;
            int32_t l_1004 = (-2L);
            l_1004 = ((p_61 > ((safe_lshift_func_uint8_t_u_s((safe_div_func_int16_t_s_s(g_615, ((*l_986) = 2L))), (l_987 , ((void*)0 != l_988)))) == ((safe_div_func_uint32_t_u_u(4294967295UL, (safe_div_func_uint32_t_u_u((safe_rshift_func_uint16_t_u_u(((((safe_mul_func_uint16_t_u_u((l_997 , (((*l_1002) = ((~(((safe_mod_func_uint8_t_u_u((l_997.f0 , 0x7CL), 0x3BL)) | g_605.f0) <= 0UL)) , l_1001[8])) || p_59)), p_61)) != 6L) || (*g_64)) >= g_32[2][3][2]), l_1003)), 0xE46A1D99L)))) <= l_987.f1))) , p_63);
            l_1005 = (*g_835);
        }
    }
    return l_1006;
}


/* ------------------------------------------ */
/* 
 * reads : g_36.f3 g_64 g_17 g_19 g_36.f1 g_117 g_91.f0 g_36.f2 g_145 g_91.f1 g_134 g_167 g_36.f0 g_193 g_189 g_210 g_184 g_32 g_243 g_190 g_36 g_314 g_72 g_615 g_55 g_688
 * writes: g_91.f0 g_134 g_166 g_193 g_184 g_189 g_314 g_32
 */
static const uint64_t  func_87(uint64_t * p_88, union U0  p_89)
{ /* block id: 30 */
    uint8_t *l_105 = &g_91.f0;
    union U2 l_106 = {0x5172411EL};
    union U0 l_111 = {1UL};
    int8_t *l_114[6] = {&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1],&g_32[2][4][1]};
    int32_t *l_115 = &l_111.f3;
    int32_t l_123 = 0x9522E098L;
    int32_t l_125 = 1L;
    int32_t l_126 = 0xF5A9DCD6L;
    int32_t l_127 = 0L;
    int8_t l_198[8][5] = {{(-10L),(-1L),0x35L,(-4L),(-4L)},{(-4L),0xA2L,(-4L),(-7L),0x17L},{0x35L,(-1L),(-10L),2L,0x17L},{0L,0x9FL,0x9FL,0L,(-4L)},{8L,0L,(-10L),0x17L,(-1L)},{8L,(-10L),(-4L),(-10L),8L},{0L,2L,0x35L,0x17L,0x9FL},{0x35L,2L,0L,0L,2L}};
    int8_t l_200 = (-4L);
    uint8_t l_205 = 0xE7L;
    int8_t l_312[9][5][5] = {{{0x83L,0x39L,0x63L,(-1L),(-1L)},{0x3DL,(-1L),0x26L,0x48L,0x44L},{1L,0x39L,(-3L),5L,(-1L)},{0x8BL,(-1L),0x5CL,0xC9L,0xC9L},{3L,1L,3L,0xF4L,0xA0L}},{{0x53L,1L,1L,(-1L),(-1L)},{0x4EL,(-1L),0x6BL,3L,0xB7L},{(-1L),(-1L),1L,(-1L),0x1DL},{0xACL,0xEBL,3L,5L,0x39L},{(-1L),1L,0x5CL,4L,0x96L}},{{0xEBL,0xA0L,(-3L),(-1L),0x83L},{(-1L),0xB8L,0x26L,0xB8L,(-1L)},{0x6BL,0L,0x63L,1L,0xC9L},{0x48L,0x8BL,(-1L),0x44L,6L},{0x9CL,0x83L,0x6CL,0L,0xC9L}},{{0x31L,0x44L,0x1DL,(-5L),(-1L)},{0xC9L,0L,0xEBL,(-2L),0x83L},{0x1DL,(-4L),0xDEL,0x48L,0x46L},{0xACL,0L,0L,0xB2L,0L},{0x26L,0x26L,0x7EL,0x96L,0x2EL}},{{(-1L),0xF4L,0x6CL,1L,0x63L},{(-1L),(-4L),(-1L),4L,0xF8L},{0xB2L,0xF4L,5L,(-3L),5L},{(-1L),0x26L,0x5CL,(-1L),0x31L},{0x4EL,0L,1L,0x39L,(-2L)}},{{(-1L),0x7EL,0x1DL,0xE4L,0x3DL},{0x20L,0xC9L,0xC9L,0x20L,(-1L)},{1L,0x3DL,0x31L,(-3L),(-1L)},{0xF4L,0x39L,0x9CL,0x83L,0x6CL},{0x1DL,0L,0x48L,(-3L),(-4L)}},{{5L,0x4EL,0x6BL,0x20L,0x83L},{0x3DL,0xDEL,(-1L),0xE4L,0x53L},{5L,5L,0xEBL,0x39L,0xA0L},{0x44L,0x6EL,(-1L),(-1L),0x6EL},{0x63L,(-1L),0xACL,(-3L),0x20L}},{{(-1L),0x8BL,(-1L),4L,0x48L},{0xA0L,1L,0x4EL,1L,1L},{(-1L),(-3L),0x53L,0x96L,6L},{0x63L,8L,3L,0xB2L,0xB7L},{0x44L,(-1L),0x8BL,0x48L,0xC9L}},{{5L,0L,1L,5L,5L},{0x3DL,0xF8L,0x3DL,1L,0xB8L},{5L,(-1L),0x83L,0x4EL,8L},{0x1DL,0x96L,(-1L),0x3DL,(-7L)},{0xF4L,0xA0L,0x83L,8L,0xACL}}};
    int32_t l_339 = 0xB9E5A231L;
    int32_t l_341[7][6] = {{0x50156608L,0L,0x50156608L,0x2477572AL,0L,9L},{0x50156608L,9L,0x2477572AL,0x2477572AL,9L,0x50156608L},{0x50156608L,0x298CA530L,9L,0x2477572AL,0x298CA530L,0x2477572AL},{0x50156608L,0L,0x50156608L,0x2477572AL,0L,9L},{0x50156608L,9L,0x2477572AL,0x2477572AL,9L,0x50156608L},{0x50156608L,0x298CA530L,9L,0x2477572AL,0x298CA530L,0x2477572AL},{0x50156608L,0L,0x50156608L,0x2477572AL,0L,9L}};
    int32_t l_379 = 0x226E5F3CL;
    int32_t l_449 = 0L;
    const union U0 *l_452 = &g_91;
    int16_t l_493 = 0x1FD4L;
    uint32_t l_509 = 0x3E6CDD8DL;
    union U0 l_513 = {0x6BL};
    uint64_t *l_522 = &g_36.f3;
    int16_t *l_528 = (void*)0;
    uint64_t *l_529 = &l_106.f1;
    int64_t *l_530 = &g_189[1];
    int16_t l_613 = 6L;
    uint32_t l_619[6][3];
    int32_t l_631[8] = {1L,0x803A9486L,1L,1L,0x803A9486L,1L,1L,0x803A9486L};
    uint16_t l_674 = 0x2F19L;
    uint16_t l_689 = 0xB4A6L;
    int i, j, k;
    for (i = 0; i < 6; i++)
    {
        for (j = 0; j < 3; j++)
            l_619[i][j] = 18446744073709551606UL;
    }
    (*l_115) = (safe_rshift_func_uint8_t_u_u(((safe_lshift_func_int8_t_s_s((((safe_div_func_int8_t_s_s(((((safe_div_func_uint64_t_u_u((safe_lshift_func_int16_t_s_u((((*l_105) = (!(safe_lshift_func_int16_t_s_u(g_36.f3, 0)))) < (l_106 , ((safe_unary_minus_func_uint64_t_u((*g_64))) <= ((((g_36.f3 && (g_17 , (p_89.f1 = ((safe_unary_minus_func_uint64_t_u(((safe_div_func_int32_t_s_s(((p_89.f1 == (l_111 , (safe_rshift_func_int8_t_s_s(g_19[7], (l_106.f0 |= g_36.f1))))) < g_19[1]), 0xA72CA7C1L)) ^ 0L))) ^ l_111.f0)))) | 4UL) || 0xCD4FL) && g_17)))), 9)), 0x01984F92F2774A6DLL)) >= 6UL) || l_106.f0) , 5L), l_111.f1)) <= 0x2D3918D4D521E918LL) | (*g_64)), 5)) == l_111.f1), 0));
    if (p_89.f0)
    { /* block id: 35 */
        uint8_t **l_116 = &l_105;
        int32_t l_118 = 0xFC186F31L;
        int32_t l_120[6][3][5] = {{{(-4L),0xA76C0FFBL,0xF757B935L,0xA57EE634L,0x7805F1B0L},{0x83128F9BL,0x048636C5L,1L,0xA57EE634L,0xA57EE634L},{0x048636C5L,1L,0x048636C5L,0x7FEA7280L,0xADA375B8L}},{{0x048636C5L,7L,0xA76C0FFBL,1L,0x8A1B9CCFL},{0x83128F9BL,1L,1L,0xF757B935L,0x01DBCDBAL},{1L,0xA57EE634L,0xA76C0FFBL,0x8A1B9CCFL,0xA76C0FFBL}},{{0x1D8526C4L,0x1D8526C4L,0x048636C5L,7L,0xA76C0FFBL},{0x7FEA7280L,0xADA375B8L,1L,0x7805F1B0L,0x01DBCDBAL},{5L,0x7805F1B0L,0x1D8526C4L,0x8DBA4FD9L,0x8A1B9CCFL}},{{0x8DBA4FD9L,0xADA375B8L,0x83128F9BL,0x83128F9BL,0xADA375B8L},{0x01DBCDBAL,0x1D8526C4L,0xF757B935L,0x83128F9BL,0xA57EE634L},{1L,0xA57EE634L,(-4L),0x8DBA4FD9L,0x7805F1B0L}},{{7L,1L,0x8A1B9CCFL,0x7805F1B0L,0x7FEA7280L},{1L,7L,0x7FEA7280L,7L,1L},{0x01DBCDBAL,1L,0x7FEA7280L,0x8A1B9CCFL,0x1D8526C4L}},{{0x8DBA4FD9L,0x048636C5L,0x8A1B9CCFL,0xF757B935L,5L},{5L,1L,(-4L),1L,0x1D8526C4L},{0x7FEA7280L,0xF757B935L,0xF757B935L,0x7FEA7280L,1L}}};
        int8_t l_121 = 1L;
        int16_t l_122 = 1L;
        int32_t l_187 = 6L;
        int32_t l_188 = (-1L);
        const uint16_t l_199[4] = {0x306CL,0x306CL,0x306CL,0x306CL};
        uint16_t l_260 = 0x110BL;
        union U0 *l_284[6][6] = {{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111},{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111},{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111},{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111},{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111},{&l_111,&l_111,&l_111,&l_111,&l_111,&l_111}};
        int8_t l_338[2][5][6] = {{{0x7CL,0x02L,3L,3L,0x02L,0x7CL},{0x8FL,0x7CL,3L,0x7CL,0x8FL,0x8FL},{6L,0x7CL,0x7CL,6L,0x02L,6L},{6L,0x02L,6L,0x7CL,0x7CL,6L},{0x8FL,0x8FL,0x7CL,3L,0x7CL,0x8FL}},{{0x7CL,0x02L,3L,3L,0x02L,0x7CL},{0x8FL,0x7CL,3L,0x7CL,0x8FL,0x8FL},{6L,0x7CL,0x7CL,6L,0x02L,6L},{6L,0x02L,6L,0x7CL,0x7CL,6L},{0x8FL,0x8FL,0x7CL,3L,0x7CL,0x8FL}}};
        int16_t l_343[1];
        int i, j, k;
        for (i = 0; i < 1; i++)
            l_343[i] = 1L;
        if ((((*l_116) = l_114[1]) != g_117[8]))
        { /* block id: 37 */
            int32_t *l_119[1];
            int32_t l_124 = 0x576AB1B5L;
            uint32_t l_128 = 0UL;
            int64_t *l_133 = &g_134[1];
            int i;
            for (i = 0; i < 1; i++)
                l_119[i] = &l_118;
            l_128++;
            (*l_115) = (((*l_133) = (safe_add_func_int64_t_s_s(0x87D1A7AC5B852977LL, 0xFDFE543AAA62D2F2LL))) && (safe_sub_func_uint64_t_u_u((0x633402012965F41ALL <= (safe_mul_func_uint16_t_u_u((*l_115), g_91.f0))), g_36.f2)));
            for (l_122 = 0; (l_122 >= (-30)); l_122 = safe_sub_func_uint16_t_u_u(l_122, 7))
            { /* block id: 43 */
                const int8_t l_150 = 1L;
                int32_t *l_151 = (void*)0;
                int32_t l_159 = 9L;
                int32_t l_160 = 0xF55B03BAL;
                int32_t l_161[8] = {1L,0L,1L,1L,1L,0x86C571FAL,0x86C571FAL,1L};
                uint8_t l_162 = 255UL;
                int i;
                if ((((safe_lshift_func_int16_t_s_u((((safe_mul_func_int8_t_s_s(((g_145 | ((1UL == 3UL) <= (p_89.f0 != g_36.f3))) < ((p_89.f1 , (safe_sub_func_int8_t_s_s(((*l_115) = (((safe_mod_func_int8_t_s_s((l_150 & (((((*l_133) = ((l_151 != l_119[0]) , 0xE065226A718573F5LL)) && 0xB75B0D0E80A38D96LL) , l_119[0]) == &g_72)), p_89.f0)) < g_19[6]) < (*l_115))), 0x54L))) || g_91.f1)), p_89.f0)) <= p_89.f1) && g_134[0]), 2)) != g_145) < (-1L)))
                { /* block id: 46 */
                    return (*g_64);
                }
                else
                { /* block id: 48 */
                    uint8_t l_156 = 0xDDL;
                    (*l_115) = p_89.f1;
                    for (l_126 = (-22); (l_126 != (-15)); l_126 = safe_add_func_int16_t_s_s(l_126, 2))
                    { /* block id: 52 */
                        (*l_115) |= (safe_rshift_func_int16_t_s_u(0xF973L, 10));
                        if (p_89.f1)
                            break;
                        --l_156;
                        (*l_115) ^= 1L;
                    }
                }
                ++l_162;
            }
            (*g_167) = l_119[0];
        }
        else
        { /* block id: 62 */
            int64_t *l_168 = (void*)0;
            int64_t *l_169[3][9][1] = {{{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]}},{{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]}},{{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]},{&g_134[0]},{&g_134[1]},{&g_134[0]}}};
            uint64_t *l_180[1];
            int32_t l_181 = 0L;
            int32_t l_182 = (-10L);
            int32_t l_183 = 9L;
            int32_t l_185 = 0xD952F847L;
            int32_t l_186 = 0x234CF826L;
            int32_t l_191 = (-1L);
            int64_t **l_196[7][9][4] = {{{&l_169[0][1][0],(void*)0,&l_168,&l_168},{&l_169[0][1][0],&l_169[0][1][0],&l_168,&l_169[0][1][0]},{&l_169[0][1][0],(void*)0,&l_169[0][1][0],(void*)0},{&l_169[2][5][0],&l_168,&l_169[0][1][0],&l_169[0][1][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_169[1][0][0],&l_168},{&l_169[0][1][0],&l_168,(void*)0,(void*)0},{&l_168,&l_168,&l_168,&l_169[2][1][0]},{(void*)0,&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]}},{{&l_168,&l_169[0][1][0],(void*)0,(void*)0},{&l_168,&l_169[2][5][0],&l_169[1][0][0],(void*)0},{(void*)0,&l_169[2][5][0],(void*)0,(void*)0},{&l_169[2][5][0],&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]},{&l_168,&l_169[0][1][0],&l_168,&l_169[0][1][0]},{&l_169[2][1][0],&l_169[0][1][0],&l_169[1][4][0],&l_169[2][1][0]},{&l_169[0][1][0],&l_168,&l_169[0][1][0],(void*)0},{&l_169[0][1][0],&l_168,&l_169[0][1][0],&l_168},{(void*)0,&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]}},{{&l_169[0][1][0],&l_168,(void*)0,(void*)0},{&l_169[0][1][0],(void*)0,&l_168,&l_169[0][1][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0],&l_168},{&l_169[0][1][0],(void*)0,&l_168,&l_169[0][1][0]},{&l_169[0][1][0],&l_168,(void*)0,&l_168},{&l_169[0][1][0],&l_169[2][5][0],&l_169[0][1][0],&l_169[0][1][0]},{(void*)0,&l_169[0][1][0],&l_169[0][1][0],(void*)0},{&l_169[0][1][0],&l_168,&l_169[0][1][0],&l_168},{&l_169[0][1][0],&l_169[0][1][0],&l_169[1][4][0],&l_168}},{{&l_169[2][1][0],&l_168,&l_168,&l_169[2][1][0]},{&l_168,(void*)0,&l_169[0][1][0],&l_169[0][1][0]},{&l_169[2][5][0],&l_168,(void*)0,&l_169[0][1][0]},{(void*)0,&l_168,&l_169[1][0][0],&l_169[0][1][0]},{&l_168,&l_168,(void*)0,&l_169[0][1][0]},{&l_168,(void*)0,&l_169[0][1][0],&l_169[2][1][0]},{&l_169[0][1][0],&l_168,&l_169[0][1][0],&l_168},{(void*)0,&l_169[0][1][0],&l_168,&l_168},{&l_168,&l_168,(void*)0,(void*)0}},{{&l_169[0][1][0],&l_169[0][1][0],&l_169[1][0][0],&l_169[0][1][0]},{&l_169[0][1][0],&l_169[2][5][0],&l_169[0][1][0],&l_168},{&l_169[2][5][0],&l_168,&l_169[0][1][0],&l_169[0][1][0]},{&l_169[0][1][0],(void*)0,&l_168,&l_168},{(void*)0,&l_169[0][1][0],&l_169[0][1][0],(void*)0},{&l_168,&l_168,&l_169[1][8][0],&l_169[0][1][0]},{&l_168,&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]},{&l_169[0][1][0],&l_169[0][1][0],(void*)0,&l_169[2][8][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]}},{{&l_169[0][1][0],&l_169[1][2][0],&l_169[2][8][0],(void*)0},{&l_169[0][1][0],&l_169[0][1][0],&l_169[1][4][0],&l_169[1][4][0]},{&l_168,&l_168,&l_169[2][5][0],&l_168},{&l_169[0][1][0],&l_169[1][4][0],&l_169[0][1][0],&l_168},{&l_169[0][1][0],&l_168,(void*)0,&l_169[0][1][0]},{&l_169[0][1][0],&l_168,&l_168,&l_168},{&l_168,&l_169[1][4][0],&l_169[0][1][0],&l_168},{&l_168,&l_168,&l_169[0][1][0],&l_169[1][4][0]},{(void*)0,&l_169[0][1][0],&l_169[2][1][0],(void*)0}},{{&l_168,&l_169[1][2][0],&l_169[0][1][0],&l_169[0][1][0]},{&l_168,&l_169[0][1][0],&l_169[0][1][0],&l_169[2][8][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_168,&l_169[0][1][0]},{&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0],&l_169[0][1][0]},{(void*)0,&l_168,&l_169[2][8][0],(void*)0},{&l_168,&l_169[0][1][0],&l_169[0][1][0],&l_168},{&l_168,&l_169[0][1][0],&l_169[2][8][0],&l_168},{(void*)0,&l_168,&l_169[0][1][0],&l_169[1][2][0]},{&l_169[0][1][0],&l_168,&l_168,&l_168}}};
            int64_t *l_197 = &g_189[1];
            int32_t *l_201 = (void*)0;
            int32_t *l_202 = &l_191;
            int32_t *l_203 = &l_181;
            int32_t *l_204[8] = {&l_183,&l_188,&l_183,&l_188,&l_183,&l_188,&l_183,&l_188};
            int8_t *l_230 = &l_121;
            uint64_t l_232 = 18446744073709551608UL;
            uint32_t l_240 = 4294967295UL;
            uint32_t l_246[9];
            int i, j, k;
            for (i = 0; i < 1; i++)
                l_180[i] = &l_106.f1;
            for (i = 0; i < 9; i++)
                l_246[i] = 1UL;
            p_89.f2 = (((l_120[4][1][4] = (g_36.f0 > p_89.f1)) | (((*g_64) != ((safe_div_func_int8_t_s_s((safe_sub_func_int32_t_s_s((safe_add_func_int64_t_s_s(p_89.f0, ((((safe_sub_func_int64_t_s_s(g_91.f1, ((*g_64) && (safe_sub_func_int64_t_s_s(((0L >= ((g_193++) <= (((*l_115) = (((l_197 = p_88) != (void*)0) , p_89.f1)) >= p_89.f1))) || g_36.f1), p_89.f1))))) | l_198[1][4]) | g_91.f0) | g_189[1]))), g_36.f0)), l_199[0])) ^ l_200)) == 0x1CF02BA5F2539F98LL)) == 0L);
            l_205++;
            for (l_127 = 2; (l_127 >= 0); l_127 -= 1)
            { /* block id: 71 */
                int16_t l_229 = 3L;
                int32_t l_237 = 0xE16D2081L;
                int32_t l_238 = 0x044499ECL;
                int32_t l_239[6] = {(-2L),(-2L),(-2L),(-2L),(-2L),(-2L)};
                int i;
                (*l_203) ^= (-1L);
                for (g_184 = 0; (g_184 <= 0); g_184 += 1)
                { /* block id: 75 */
                    int64_t l_231[5][4] = {{0xB8E15B23F12BD3F5LL,0xB8E15B23F12BD3F5LL,0x3112503CDE443465LL,0xB8E15B23F12BD3F5LL},{0xB8E15B23F12BD3F5LL,0x57AD213919C1D48BLL,0x57AD213919C1D48BLL,0xB8E15B23F12BD3F5LL},{0x57AD213919C1D48BLL,0xB8E15B23F12BD3F5LL,0x57AD213919C1D48BLL,0x57AD213919C1D48BLL},{0xB8E15B23F12BD3F5LL,0xB8E15B23F12BD3F5LL,0x3112503CDE443465LL,0xB8E15B23F12BD3F5LL},{0xB8E15B23F12BD3F5LL,0x57AD213919C1D48BLL,0x57AD213919C1D48BLL,0xB8E15B23F12BD3F5LL}};
                    uint16_t *l_233[6][2][1] = {{{&g_193},{(void*)0}},{{(void*)0},{&g_193}},{{(void*)0},{(void*)0}},{{&g_193},{(void*)0}},{{(void*)0},{&g_193}},{{(void*)0},{(void*)0}}};
                    int32_t l_234 = (-9L);
                    int32_t l_235 = (-3L);
                    int32_t l_236[2];
                    int32_t l_245 = 0xB4233524L;
                    int i, j, k;
                    for (i = 0; i < 2; i++)
                        l_236[i] = 0xD5A3E0D7L;
                    (*l_115) = (((safe_rshift_func_uint8_t_u_s(((((*l_203) = ((g_210 , ((6UL | (safe_mul_func_int8_t_s_s((((((safe_rshift_func_uint8_t_u_u(2UL, l_188)) & (safe_sub_func_uint32_t_u_u((safe_mul_func_int8_t_s_s((safe_add_func_uint8_t_u_u(((safe_rshift_func_int8_t_s_u(9L, p_89.f2)) ^ (safe_rshift_func_int16_t_s_u((safe_sub_func_int32_t_s_s((safe_lshift_func_uint16_t_u_s(((l_229 != (l_230 != &g_32[0][6][0])) < p_89.f2), g_145)), p_89.f2)), g_184))), l_231[1][0])), p_89.f2)), 0xA92CA923L))) , l_232) >= 0xE020L) == l_120[5][1][0]), g_145))) != g_36.f3)) , g_32[2][4][1])) , (void*)0) == (void*)0), p_89.f2)) == g_32[2][4][1]) != p_89.f2);
                    ++l_240;
                    p_89.f3 = (l_231[3][2] , (l_234 == p_89.f2));
                    l_234 &= 1L;
                    for (l_234 = 0; (l_234 >= 0); l_234 -= 1)
                    { /* block id: 83 */
                        int64_t l_244 = 6L;
                        int8_t l_249 = (-1L);
                        int32_t l_250 = 0L;
                        int32_t l_251 = 0x2210C2C0L;
                        int32_t l_252 = 0L;
                        int32_t l_253 = (-3L);
                        int32_t l_254 = 1L;
                        int32_t l_255 = 0L;
                        int32_t l_256 = 0L;
                        int32_t l_257 = 0xA485410AL;
                        int32_t l_258 = 7L;
                        int8_t l_259 = 1L;
                        int i, j, k;
                        l_120[(l_234 + 5)][g_184][(l_234 + 1)] = (0x70F45010339AB712LL && (*g_64));
                        (*g_243) = &l_126;
                        l_246[3]--;
                        ++l_260;
                    }
                }
            }
        }
        (*l_115) |= ((void*)0 != &g_36);
        for (l_121 = (-6); (l_121 < (-24)); --l_121)
        { /* block id: 95 */
            uint64_t l_271 = 18446744073709551615UL;
            int32_t l_334[4];
            int i;
            for (i = 0; i < 4; i++)
                l_334[i] = 0x4EE46ED0L;
        }
    }
    else
    { /* block id: 150 */
        int16_t l_364 = 0xB276L;
        int32_t l_370[6][10] = {{0x2A3D74ACL,7L,0x2A3D74ACL,0x737CC2C4L,0x75FF7827L,0L,0xA1641A00L,(-1L),0x25C9C5E4L,0x236D7D54L},{0x236D7D54L,0L,(-9L),(-1L),(-1L),0x6D34266EL,0x6D34266EL,(-1L),(-1L),(-9L)},{(-1L),(-1L),0x2A3D74ACL,9L,0x25C9C5E4L,7L,0x0DAE7164L,1L,(-1L),0L},{0x6D34266EL,0xA1641A00L,(-1L),(-3L),0x0DAE7164L,0x75FF7827L,0x0DAE7164L,(-3L),(-1L),0xA1641A00L},{(-1L),(-1L),(-1L),0x236D7D54L,0L,0x737CC2C4L,0x6D34266EL,0x75FF7827L,9L,1L},{9L,0L,0x0DAE7164L,1L,0x2A3D74ACL,0x2A3D74ACL,1L,0x236D7D54L,(-3L),(-1L)}};
        int8_t l_380 = 0L;
        int32_t *l_423 = &l_341[5][5];
        const uint8_t *l_427 = (void*)0;
        union U0 l_469 = {0x6EL};
        int i, j;
        for (l_106.f0 = 8; (l_106.f0 == 29); ++l_106.f0)
        { /* block id: 153 */
            union U3 l_355 = {-1L};
            int32_t l_365 = 3L;
            int32_t l_376 = 0L;
            int32_t l_377[7][4][4] = {{{5L,(-5L),0xB88C7717L,0xED7012FEL},{0x6DE88245L,1L,(-1L),(-5L)},{(-1L),1L,0x6DE88245L,0xD4205539L},{0xE150E57EL,(-7L),(-5L),0x7B59A288L}},{{0x9E6C9ECBL,1L,0xA5D45745L,0xE150E57EL},{(-5L),0xED7012FEL,0x983D18ACL,1L},{0x23820AA5L,0x25C80094L,0x7B59A288L,0x25C80094L},{0L,0xE150E57EL,0x25C80094L,0xBED1FCCDL}},{{0xBED1FCCDL,(-5L),0xD4205539L,(-5L)},{(-5L),7L,1L,7L},{(-5L),0x9270FD4AL,0xD4205539L,0x2C49BD68L},{0xBED1FCCDL,7L,0x25C80094L,4L}},{{0L,0xD4205539L,0x7B59A288L,0x9E6C9ECBL},{0x23820AA5L,(-10L),0x983D18ACL,0x9270FD4AL},{(-5L),0x983D18ACL,0xA5D45745L,0L},{0x9E6C9ECBL,9L,(-5L),2L}},{{0xE150E57EL,0x2C49BD68L,0x6DE88245L,0x6DE88245L},{(-1L),(-1L),(-1L),0x0B383FC3L},{0x6DE88245L,(-7L),0xB88C7717L,1L},{5L,1L,(-5L),0xB88C7717L}},{{1L,1L,0x2C49BD68L,1L},{1L,(-7L),1L,0x0B383FC3L},{0x747A9D90L,(-1L),1L,0x6DE88245L},{(-5L),0x2C49BD68L,0xED7012FEL,2L}},{{(-1L),9L,0xBED1FCCDL,0L},{(-7L),0x983D18ACL,0x747A9D90L,0x9270FD4AL},{0x0B383FC3L,(-10L),0x9F55EF04L,0x9E6C9ECBL},{(-1L),0xD4205539L,(-1L),4L}}};
            uint16_t l_381 = 65533UL;
            int32_t l_428 = (-1L);
            union U0 l_446 = {0x3FL};
            int64_t l_447[10] = {0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL,0x7590F7FC269EF59DLL};
            int64_t * const *l_499 = (void*)0;
            int i, j, k;
            (*l_115) = p_89.f1;
        }
    }
    if ((safe_rshift_func_uint16_t_u_s(0x42CBL, (l_513 , ((safe_mul_func_uint8_t_u_u(((*l_115) <= (+(*l_115))), ((safe_sub_func_int64_t_s_s(((*l_530) = (!((safe_rshift_func_uint8_t_u_s(((l_522 == p_88) == g_19[7]), 7)) <= ((*l_529) = (safe_rshift_func_int16_t_s_s((g_184 = ((safe_unary_minus_func_uint32_t_u((safe_unary_minus_func_int16_t_s((!((void*)0 != &g_314)))))) >= (*g_64))), 4)))))), (*l_115))) , g_190))) && 0xBF3CC12138187F79LL)))))
    { /* block id: 209 */
        const int32_t l_538 = 0x1BC60FC2L;
        (*l_115) = (((~(-4L)) >= (safe_mul_func_uint16_t_u_u((safe_rshift_func_int8_t_s_s((safe_lshift_func_int8_t_s_s(((g_36 , 65535UL) > (l_538 ^ (*l_115))), 1)), 0)), g_36.f0))) <= (*l_115));
    }
    else
    { /* block id: 211 */
        int32_t *l_539[4];
        int32_t l_540 = (-1L);
        uint64_t l_541[7][10] = {{0x13B443D69298F8B1LL,8UL,0x18F0DE2D4A44DB10LL,0xB9EEF0F52073EB25LL,8UL,0x7A31BCC3EB76EB50LL,0x7813C90C8BD53C41LL,0x18F0DE2D4A44DB10LL,0x18F0DE2D4A44DB10LL,0x7813C90C8BD53C41LL},{0x7A31BCC3EB76EB50LL,0x7813C90C8BD53C41LL,0x18F0DE2D4A44DB10LL,0x18F0DE2D4A44DB10LL,0x7813C90C8BD53C41LL,0x7A31BCC3EB76EB50LL,8UL,0xB9EEF0F52073EB25LL,0x18F0DE2D4A44DB10LL,8UL},{0x13B443D69298F8B1LL,0x7813C90C8BD53C41LL,0x9DA82BFF04B76C18LL,0xB9EEF0F52073EB25LL,0x7813C90C8BD53C41LL,0x820E23E9BA23DC40LL,0x7813C90C8BD53C41LL,0xB9EEF0F52073EB25LL,0x9DA82BFF04B76C18LL,0x7813C90C8BD53C41LL},{0x13B443D69298F8B1LL,8UL,0x18F0DE2D4A44DB10LL,0xB9EEF0F52073EB25LL,8UL,0x7A31BCC3EB76EB50LL,0x7813C90C8BD53C41LL,0x18F0DE2D4A44DB10LL,0x18F0DE2D4A44DB10LL,0x7813C90C8BD53C41LL},{0x7A31BCC3EB76EB50LL,0x7813C90C8BD53C41LL,0x18F0DE2D4A44DB10LL,0x18F0DE2D4A44DB10LL,0x7813C90C8BD53C41LL,0x7A31BCC3EB76EB50LL,8UL,0xB9EEF0F52073EB25LL,0x18F0DE2D4A44DB10LL,8UL},{0x13B443D69298F8B1LL,0x7813C90C8BD53C41LL,0x9DA82BFF04B76C18LL,0xB9EEF0F52073EB25LL,0x7813C90C8BD53C41LL,0x820E23E9BA23DC40LL,0x7813C90C8BD53C41LL,0xB9EEF0F52073EB25LL,0x9DA82BFF04B76C18LL,0x7813C90C8BD53C41LL},{0x13B443D69298F8B1LL,1UL,18446744073709551610UL,8UL,1UL,9UL,0xF213926FA9259443LL,18446744073709551610UL,18446744073709551610UL,0xF213926FA9259443LL}};
        uint32_t l_549 = 0UL;
        int16_t *l_552 = (void*)0;
        uint32_t l_566 = 2UL;
        uint64_t l_569 = 0xD8439C50B83BAFBELL;
        union U3 l_587 = {-5L};
        uint8_t l_588 = 0xB5L;
        int64_t **l_623 = &l_530;
        int64_t ***l_622 = &l_623;
        uint16_t *l_681 = &l_674;
        int i, j;
        for (i = 0; i < 4; i++)
            l_539[i] = &l_106.f0;
        --l_541[4][5];
        for (l_111.f1 = 0; (l_111.f1 <= 5); l_111.f1 += 1)
        { /* block id: 215 */
            int64_t l_544 = 0xC7D61F1B94242AD8LL;
            int32_t l_545 = (-3L);
            int32_t l_546 = 0x360B4F4DL;
            int32_t l_547[7][5] = {{0xF668161FL,0xAE576F37L,0xAE576F37L,0xF668161FL,1L},{0xF668161FL,1L,5L,5L,1L},{1L,0xAE576F37L,5L,0xC0A8B774L,0xC0A8B774L},{0xAE576F37L,1L,0xAE576F37L,5L,0xC0A8B774L},{1L,0xF668161FL,0xC0A8B774L,0xF668161FL,1L},{0xAE576F37L,0xF668161FL,1L,1L,1L},{1L,1L,0xC0A8B774L,1L,(-2L)}};
            int16_t l_548 = (-1L);
            int64_t **l_609 = &l_530;
            uint64_t *l_679 = (void*)0;
            uint16_t l_680 = 0x807BL;
            int i, j;
            l_549++;
            p_89.f3 = l_548;
            l_547[1][4] |= (p_89.f3 &= (l_552 == &l_493));
            for (g_314 = 0; (g_314 <= 4); g_314 += 1)
            { /* block id: 222 */
                int32_t l_555 = 0xF59FE8D0L;
                int32_t l_556[7][5] = {{1L,0L,0x780201A6L,0x780201A6L,0L},{1L,4L,0xC1A9FB9CL,4L,1L},{0L,0x780201A6L,0x780201A6L,0L,1L},{0x97E9307AL,4L,0x97E9307AL,0xC439E572L,0x97E9307AL},{0L,0L,0L,0x780201A6L,1L},{1L,0xC439E572L,0xC1A9FB9CL,0xC439E572L,1L},{1L,0x780201A6L,0L,0L,0L}};
                int i, j;
            }
        }
        p_89.f3 = ((((l_123 == (((*l_105) = (&g_293 != (void*)0)) == ((*g_64) | ((g_72 == ((((((((*l_681) &= g_189[1]) || g_615) != (safe_lshift_func_uint8_t_u_s(((safe_sub_func_int64_t_s_s(0xFB7D909FFFADF90ELL, (safe_mul_func_int8_t_s_s(0x07L, l_619[5][1])))) && 0x65E3L), 6))) | g_55) == (*p_88)) < 0x1DDCL) == g_688)) , 0x88870D866BCD192FLL)))) <= (*g_64)) , (*g_64)) < 1L);
        l_689++;
    }
    return (*p_88);
}




/* ---------------------------------------- */
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_17, "g_17", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        transparent_crc(g_19[i], "g_19[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

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

            }
        }
    }
    transparent_crc(g_36.f0, "g_36.f0", print_hash_value);
    transparent_crc(g_36.f1, "g_36.f1", print_hash_value);
    transparent_crc(g_36.f2, "g_36.f2", print_hash_value);
    transparent_crc(g_55, "g_55", print_hash_value);
    transparent_crc(g_72, "g_72", print_hash_value);
    transparent_crc(g_91.f0, "g_91.f0", print_hash_value);
    transparent_crc(g_91.f1, "g_91.f1", print_hash_value);
    for (i = 0; i < 2; i++)
    {
        transparent_crc(g_134[i], "g_134[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_145, "g_145", print_hash_value);
    transparent_crc(g_184, "g_184", print_hash_value);
    for (i = 0; i < 6; i++)
    {
        transparent_crc(g_189[i], "g_189[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_190, "g_190", print_hash_value);
    transparent_crc(g_192, "g_192", print_hash_value);
    transparent_crc(g_193, "g_193", print_hash_value);
    transparent_crc(g_210.f0, "g_210.f0", print_hash_value);
    transparent_crc(g_268.f0, "g_268.f0", print_hash_value);
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 5; j++)
        {
            transparent_crc(g_270[i][j], "g_270[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_281.f0, "g_281.f0", print_hash_value);
    transparent_crc(g_293.f0, "g_293.f0", print_hash_value);
    transparent_crc(g_293.f1, "g_293.f1", print_hash_value);
    transparent_crc(g_314, "g_314", print_hash_value);
    transparent_crc(g_563.f0, "g_563.f0", print_hash_value);
    transparent_crc(g_578.f0, "g_578.f0", print_hash_value);
    transparent_crc(g_605.f0, "g_605.f0", print_hash_value);
    transparent_crc(g_615, "g_615", print_hash_value);
    transparent_crc(g_688, "g_688", print_hash_value);
    transparent_crc(g_726, "g_726", print_hash_value);
    transparent_crc(g_732.f1, "g_732.f1", print_hash_value);
    transparent_crc(g_745, "g_745", print_hash_value);
    transparent_crc(g_767, "g_767", print_hash_value);
    transparent_crc(g_769, "g_769", print_hash_value);
    transparent_crc(g_849.f0, "g_849.f0", print_hash_value);
    transparent_crc(g_1019, "g_1019", print_hash_value);
    transparent_crc(g_1055, "g_1055", print_hash_value);
    transparent_crc(g_1112.f0, "g_1112.f0", print_hash_value);
    transparent_crc(g_1186.f0, "g_1186.f0", print_hash_value);
    transparent_crc(g_1241.f0, "g_1241.f0", print_hash_value);
    transparent_crc(g_1315.f0, "g_1315.f0", print_hash_value);
    transparent_crc(g_1315.f1, "g_1315.f1", print_hash_value);
    transparent_crc(g_1447, "g_1447", print_hash_value);
    transparent_crc(g_1541.f0, "g_1541.f0", print_hash_value);
    transparent_crc(g_1652.f0, "g_1652.f0", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        transparent_crc(g_1758[i].f0, "g_1758[i].f0", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1849.f0, "g_1849.f0", print_hash_value);
    transparent_crc(g_1941, "g_1941", print_hash_value);
    transparent_crc(g_2087.f0, "g_2087.f0", print_hash_value);
    transparent_crc(g_2087.f1, "g_2087.f1", print_hash_value);
    transparent_crc(g_2087.f2, "g_2087.f2", print_hash_value);
    transparent_crc(g_2090.f0, "g_2090.f0", print_hash_value);
    transparent_crc(g_2241, "g_2241", print_hash_value);
    transparent_crc(g_2373, "g_2373", print_hash_value);
    transparent_crc(g_2375, "g_2375", print_hash_value);
    transparent_crc(g_2378, "g_2378", print_hash_value);
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 3; j++)
        {
            transparent_crc(g_2399[i][j], "g_2399[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_2512, "g_2512", print_hash_value);
    transparent_crc(g_2515, "g_2515", print_hash_value);
    transparent_crc(g_2570, "g_2570", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 4; j++)
        {
            transparent_crc(g_2679[i][j], "g_2679[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_2805, "g_2805", print_hash_value);
    transparent_crc(g_2814, "g_2814", print_hash_value);
    transparent_crc(g_2881.f0, "g_2881.f0", print_hash_value);
    transparent_crc(g_2910.f0, "g_2910.f0", print_hash_value);
    transparent_crc(g_2938.f0, "g_2938.f0", print_hash_value);
    transparent_crc(g_2938.f1, "g_2938.f1", print_hash_value);
    transparent_crc(g_2938.f2, "g_2938.f2", print_hash_value);
    transparent_crc(g_2993, "g_2993", print_hash_value);
    transparent_crc(g_3070.f0, "g_3070.f0", print_hash_value);
    transparent_crc(g_3260, "g_3260", print_hash_value);
    transparent_crc(g_3287, "g_3287", print_hash_value);
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 4; j++)
        {
            transparent_crc(g_3322[i][j].f0, "g_3322[i][j].f0", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_3324.f0, "g_3324.f0", print_hash_value);
    transparent_crc(g_3366.f0, "g_3366.f0", print_hash_value);
    transparent_crc(g_3366.f1, "g_3366.f1", print_hash_value);
    transparent_crc(g_3382.f0, "g_3382.f0", print_hash_value);
    transparent_crc(g_3486.f0, "g_3486.f0", print_hash_value);
    transparent_crc(g_3490.f0, "g_3490.f0", print_hash_value);
    transparent_crc(g_3515, "g_3515", print_hash_value);
    transparent_crc(g_3549, "g_3549", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 922
XXX total union variables: 74

XXX non-zero bitfields defined in structs: 2
XXX zero bitfields defined in structs: 0
XXX const bitfields defined in structs: 0
XXX volatile bitfields defined in structs: 0
XXX structs with bitfields in the program: 73
breakdown:
   indirect level: 0, occurrence: 35
   indirect level: 1, occurrence: 26
   indirect level: 2, occurrence: 12
XXX full-bitfields structs in the program: 0
breakdown:
XXX times a bitfields struct's address is taken: 86
XXX times a bitfields struct on LHS: 0
XXX times a bitfields struct on RHS: 60
XXX times a single bitfield on LHS: 10
XXX times a single bitfield on RHS: 81

XXX max expression depth: 42
breakdown:
   depth: 1, occurrence: 225
   depth: 2, occurrence: 48
   depth: 3, occurrence: 10
   depth: 4, occurrence: 2
   depth: 7, occurrence: 1
   depth: 9, occurrence: 2
   depth: 13, occurrence: 3
   depth: 14, occurrence: 1
   depth: 16, occurrence: 2
   depth: 17, occurrence: 1
   depth: 18, occurrence: 3
   depth: 19, occurrence: 3
   depth: 20, occurrence: 2
   depth: 21, occurrence: 3
   depth: 22, occurrence: 2
   depth: 24, occurrence: 1
   depth: 25, occurrence: 4
   depth: 26, occurrence: 2
   depth: 27, occurrence: 1
   depth: 28, occurrence: 3
   depth: 29, occurrence: 2
   depth: 31, occurrence: 2
   depth: 33, occurrence: 1
   depth: 37, occurrence: 1
   depth: 38, occurrence: 1
   depth: 40, occurrence: 1
   depth: 42, occurrence: 1

XXX total number of pointers: 841

XXX times a variable address is taken: 2095
XXX times a pointer is dereferenced on RHS: 412
breakdown:
   depth: 1, occurrence: 309
   depth: 2, occurrence: 86
   depth: 3, occurrence: 10
   depth: 4, occurrence: 7
XXX times a pointer is dereferenced on LHS: 447
breakdown:
   depth: 1, occurrence: 413
   depth: 2, occurrence: 23
   depth: 3, occurrence: 8
   depth: 4, occurrence: 3
XXX times a pointer is compared with null: 55
XXX times a pointer is compared with address of another variable: 17
XXX times a pointer is compared with another pointer: 22
XXX times a pointer is qualified to be dereferenced: 15132

XXX max dereference level: 4
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 1820
   level: 2, occurrence: 329
   level: 3, occurrence: 79
   level: 4, occurrence: 33
XXX number of pointers point to pointers: 304
XXX number of pointers point to scalars: 467
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 30.2
XXX average alias set size: 1.41

XXX times a non-volatile is read: 2663
XXX times a non-volatile is write: 1358
XXX times a volatile is read: 158
XXX    times read thru a pointer: 26
XXX times a volatile is write: 43
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 3.03e+03
XXX percentage of non-volatile access: 95.2

XXX forward jumps: 0
XXX backward jumps: 14

XXX stmts: 214
XXX max block depth: 5
breakdown:
   depth: 0, occurrence: 29
   depth: 1, occurrence: 35
   depth: 2, occurrence: 39
   depth: 3, occurrence: 25
   depth: 4, occurrence: 44
   depth: 5, occurrence: 42

XXX percentage a fresh-made variable is used: 15.9
XXX percentage an existing variable is used: 84.1
FYI: the random generator makes assumptions about the integer size. See platform.info for more details.
********************* end of statistics **********************/