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

[csmith-bugs] Partially initialized unions



Hello,

I believe that the bug below is different from the one described at
http://www.flux.utah.edu/listarchives/csmith-bugs/msg00103.html

That one can be made to appear as often as desired with options
 --max-struct-fields 12 --max-union-fields 12 --bitfields --unions

This one occurred with bitfields disabled (and therefore
no 0-length bitfields, that seem
related to the problem in the above thread). It took a long
time to appear. I do not know options to make it more frequent.

/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.1.0
 * Git version: e3529f9
 * Options:   --max-expr-complexity 15 --max-pointer-depth 3 --max-funcs 4 --max-array-dim 2 --max-array-len-per-dim 3 --max-struct-fields 12 --max-union-fields 12 --no-volatiles --no-bitfields --no-argc --unions
 * Seed:      276757685
 */

Executing on a 64-bit platform, it seems that there is an uninitialized
access. In order to verify it, I have instrumented the generated program
as with the attached patch.

I hope you will agree that if *l_36 at line 467 in the original was
using l_24 in a defined way, then the lines displayed by the
instrumented program would not change when the value
assigned to l_24.f5 before initializing l_24.f0 is changed.
Assigning l_24.f5 before initializing l_24.f0 only change bits
that would have remained uninitialized in the original program.

But using respectively -1 and 1, I get:

*l_36: -65536

*l_36: 0

I have also attached a complete dump of the memory just before line 467,
in case that helps. As you can see, l_36 points to l_24, and the first
16 bits of l_24 are initialized to 0, the rest being uninitialized.

Best regards,

Pascal

Attachment: patch
Description: Binary data

/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.1.0
 * Git version: e3529f9
 * Options:   --max-expr-complexity 15 --max-pointer-depth 3 --max-funcs 4 --max-array-dim 2 --max-array-len-per-dim 3 --max-struct-fields 12 --max-union-fields 12 --no-volatiles --no-bitfields --no-argc --unions
 * Seed:      276757685
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
union U0 {
   uint8_t  f0;
   uint16_t  f1;
   const int64_t  f2;
   uint32_t  f3;
   const int8_t  f4;
   int32_t  f5;
   uint8_t  f6;
   int16_t  f7;
};

/* --- GLOBAL VARIABLES --- */
static int8_t g_16[1][1] = {{0xE7L}};
static union U0 g_26 = {4UL};
static union U0 *g_25 = &g_26;
static uint8_t g_39 = 255UL;
static int32_t g_45 = 9L;
static int64_t g_69 = (-1L);
static int16_t g_70 = 0x622BL;
static int32_t g_72 = 0x678016B8L;
static uint32_t g_73 = 0x895A5D72L;
static int8_t g_131 = 0x48L;
static uint16_t g_139 = 65535UL;
static int64_t g_170 = 3L;
static uint8_t g_175 = 0UL;
static int16_t *g_197 = &g_70;
static int32_t **g_210[2] = {(void*)0, (void*)0};
static int32_t ***g_209 = &g_210[0];
static int32_t ****g_208 = &g_209;
static int64_t *g_244 = (void*)0;
static uint32_t g_279[3][3] = {{0x45211CC2L, 0x66EF2454L, 0x45211CC2L}, {0x45211CC2L, 0x66EF2454L, 0x45211CC2L}, {0x45211CC2L, 0x66EF2454L, 0x45211CC2L}};
static int64_t ***g_425 = (void*)0;
static uint64_t g_427 = 6UL;
static int64_t g_452 = 4L;
static uint64_t *g_469 = &g_427;
static uint64_t **g_468 = &g_469;
static uint64_t g_493 = 1UL;
static int8_t g_582 = (-1L);
static int32_t *** const *g_604[2][1] = {{&g_209}, {&g_209}};
static int32_t *** const **g_603[1][2] = {{&g_604[1][0], &g_604[1][0]}};
static int32_t *** const ***g_602 = &g_603[0][1];
static int32_t g_611 = 0xF7AB5E35L;
static const uint64_t g_662 = 0UL;
static uint16_t *g_681 = &g_139;
static uint16_t **g_680 = &g_681;
static uint8_t *g_686[1][1] = {{(void*)0}};
static uint8_t **g_685 = &g_686[0][0];
static uint8_t ***g_684 = &g_685;
static uint64_t g_838 = 0xF497AB6A645B1D01LL;
static uint16_t ***g_850 = &g_680;
static uint16_t ***g_851 = (void*)0;
static uint64_t g_876 = 0x2FC19D9FF225E935LL;
static uint8_t g_924 = 0x77L;
static const int8_t *g_926 = &g_16[0][0];
static const int8_t **g_925[1] = {&g_926};
static int8_t *g_928 = &g_16[0][0];
static int8_t **g_927 = &g_928;
static int64_t g_972[3][1] = {{(-1L)}, {(-1L)}, {(-1L)}};
static int16_t g_978 = 0xBB83L;
static int64_t g_1003 = 0xC27F9B239C5E3D8ALL;
static const uint16_t g_1037 = 0x11BCL;
static int16_t g_1055 = 0xFB11L;
static uint16_t **g_1183 = &g_681;
static int64_t * const **g_1188 = (void*)0;
static int8_t * const **g_1189[1][3] = {{(void*)0, (void*)0, (void*)0}};
static int8_t g_1216 = 0x53L;
static int32_t g_1284 = 0xF77DC022L;
static int32_t g_1295 = 0x8FC1F860L;
static int32_t g_1305 = 0L;


/* --- FORWARD DECLARATIONS --- */
static union U0  func_1(void);
static uint32_t  func_4(uint8_t  p_5);
static union U0 * func_8(union U0 * p_9, int16_t  p_10, union U0 * p_11, union U0 * p_12);
static union U0 * func_13(uint64_t  p_14, union U0 * p_15);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_16 g_25 g_26.f4 g_39 g_26.f3 g_26 g_26.f5 g_73 g_26.f6 g_45 g_69 g_70 g_72 g_26.f0 g_131 g_139 g_170 g_175 g_197 g_26.f1 g_279 g_425 g_427 g_468 g_493 g_469 g_452 g_611 g_680 g_681 g_851 g_850 g_924 g_925 g_927 g_686 g_928 g_582 g_876 g_1037 g_684 g_685 g_972 g_602 g_603 g_604 g_209 g_1183 g_1055 g_1284
 * writes: g_16 g_26.f3 g_25 g_26.f5 g_45 g_73 g_26.f6 g_72 g_70 g_131 g_69 g_39 g_175 g_170 g_197 g_208 g_244 g_26.f7 g_26.f1 g_279 g_427 g_452 g_468 g_493 g_850 g_851 g_139 g_876 g_582 g_925 g_927 g_469 g_210 g_978 g_686 g_1284
 */
static union U0  func_1(void)
{ /* block id: 0 */
    uint16_t l_6 = 0xC23AL;
    int32_t *l_1280 = (void*)0;
    int32_t *l_1281 = (void*)0;
    int32_t *l_1282 = (void*)0;
    int32_t *l_1283 = &g_1284;
    uint32_t l_1285 = 0UL;
    union U0 l_1300 = {1UL};
    int8_t *l_1326[1][3];
    int i, j;
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 3; j++)
            l_1326[i][j] = &g_1216;
    }
    (*l_1283) ^= (safe_sub_func_uint32_t_u_u(func_4(l_6), l_6));
    if (l_1285)
    { /* block id: 734 */
        int32_t *l_1286 = &g_72;
        l_1280 = l_1286;
    }
    else
    { /* block id: 736 */
        (*l_1283) ^= 0xFB508241L;
    }
    for (l_1285 = (-10); (l_1285 >= 51); l_1285 = safe_add_func_int16_t_s_s(l_1285, 7))
    { /* block id: 741 */
        int32_t l_1289 = 0L;
        int32_t l_1290 = 0x5CC8E2CBL;
        int32_t *l_1291 = &g_45;
        int32_t *l_1292 = &g_72;
        int32_t *l_1293 = &g_26.f5;
        int32_t *l_1294[3];
        uint16_t l_1296 = 0xC00EL;
        union U0 l_1299[1] = {{0UL}};
        uint8_t l_1308 = 9UL;
        int8_t l_1325 = 0L;
        uint64_t *l_1327 = &g_876;
        int16_t *l_1328[2][2] = {{&g_1055, &g_1055}, {&g_1055, &g_1055}};
        const int16_t l_1329[3] = {0x0A02L, 0x0A02L, 0x0A02L};
        int i, j;
        for (i = 0; i < 3; i++)
            l_1294[i] = &g_72;
        l_1296++;
        if (((*l_1292) = (l_1299[0] , (*l_1292))))
        { /* block id: 744 */
            union U0 l_1301[1] = {{246UL}};
            int i;
            (*l_1283) &= (*l_1291);
            (*l_1283) ^= (l_1300 , 1L);
            return l_1301[0];
        }
        else
        { /* block id: 748 */
            uint64_t l_1302 = 0xE886733D684458C7LL;
            int32_t l_1306 = 0x0C1DC01EL;
            int32_t l_1307 = 0L;
            --l_1302;
            l_1308--;
        }
        (*l_1292) ^= (safe_sub_func_uint64_t_u_u(((*g_469) |= (safe_div_func_uint16_t_u_u((***g_850), g_582))), g_1055));
    }
    return l_1300;
}


/* ------------------------------------------ */
/* 
 * reads : g_16 g_25 g_26.f4 g_39 g_26.f3 g_26 g_26.f5 g_73 g_26.f6 g_45 g_69 g_70 g_72 g_26.f0 g_131 g_139 g_170 g_175 g_197 g_26.f1 g_279 g_425 g_427 g_468 g_493 g_469 g_611 g_680 g_681 g_851 g_850 g_924 g_925 g_927 g_686 g_928 g_582 g_1037 g_684 g_685 g_972 g_602 g_603 g_604 g_209 g_1183 g_1055 g_452 g_876
 * writes: g_16 g_26.f3 g_25 g_26.f5 g_45 g_73 g_26.f6 g_72 g_70 g_131 g_69 g_39 g_175 g_170 g_197 g_208 g_244 g_26.f7 g_26.f1 g_279 g_427 g_452 g_468 g_493 g_850 g_851 g_139 g_876 g_582 g_925 g_927 g_469 g_210 g_978 g_686
 */
static uint32_t  func_4(uint8_t  p_5)
{ /* block id: 1 */
    uint16_t l_7 = 0xA80EL;
    int32_t l_38 = 0x89D38951L;
    union U0 *l_41 = &g_26;
    int32_t l_264 = 0xEAA74E90L;
    int32_t l_276 = 0xBF87B300L;
    int32_t *l_286 = &l_276;
    int32_t *** const *l_305 = &g_209;
    int32_t *** const ** const l_304[3][2] = {{&l_305, &l_305}, {&l_305, &l_305}, {&l_305, &l_305}};
    uint16_t *l_361 = &g_26.f1;
    int64_t l_362 = 0x9067408596D4A4D0LL;
    const int32_t *l_363[3];
    int64_t *l_379 = (void*)0;
    int64_t *l_381 = &l_362;
    int64_t * const *l_405[1][3];
    int64_t * const **l_404 = &l_405[0][1];
    int32_t l_428 = 0xD2B62D89L;
    const uint32_t l_430 = 0x33727D4DL;
    uint32_t l_450 = 4UL;
    uint8_t *l_524 = &g_26.f6;
    uint8_t **l_523 = &l_524;
    const uint32_t l_533 = 0x93659447L;
    uint16_t l_652 = 65530UL;
    const int32_t *l_675 = &l_38;
    uint8_t ****l_828 = &g_684;
    uint16_t ***l_849 = &g_680;
    uint8_t l_860 = 0x66L;
    uint64_t l_875 = 0x5C89ECA8B9C6C42ELL;
    int16_t l_888 = 0x6E40L;
    int8_t l_905 = 7L;
    uint64_t l_912 = 0xB9DE675E6FF5406BLL;
    int64_t l_917 = 1L;
    uint16_t l_975 = 65530UL;
    int64_t l_988 = 0x6D858C8A4806FE68LL;
    uint8_t l_989 = 9UL;
    int32_t l_994 = (-2L);
    int8_t l_995[2][1];
    int8_t l_1043 = (-7L);
    int16_t l_1077[1][2];
    uint64_t l_1110 = 0x51AFC0FFC222913ELL;
    uint32_t l_1111 = 0UL;
    int8_t l_1123[1][1];
    int64_t l_1224 = (-1L);
    int i, j;
    for (i = 0; i < 3; i++)
        l_363[i] = &g_45;
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 3; j++)
            l_405[i][j] = (void*)0;
    }
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 1; j++)
            l_995[i][j] = 0xFDL;
    }
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 2; j++)
            l_1077[i][j] = (-1L);
    }
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 1; j++)
            l_1123[i][j] = 1L;
    }
    if (l_7)
    { /* block id: 2 */
        uint16_t *l_21 = &l_7;
        union U0 l_24 = {0UL};
        int32_t *l_35 = (void*)0;
        int32_t *l_36 = &l_24.f5;
        int32_t *l_37 = &l_24.f5;
        int8_t *l_40 = (void*)0;
        union U0 **l_263 = &g_25;
        uint32_t l_344 = 0x4BF3CCD0L;
        int64_t *l_378 = &l_362;
        const int32_t l_407 = 0x25DFF6FBL;
        const int32_t **** const *l_424[1];
        int32_t l_429[2];
        int32_t *l_431[3][1];
        uint32_t *l_553 = &l_24.f3;
        uint64_t *l_554 = &g_493;
        int8_t l_557[2][3];
        uint32_t *l_558 = &g_73;
        int32_t l_561 = 5L;
        uint8_t *l_562[1];
        int32_t l_563 = (-9L);
        uint16_t **l_571 = &l_21;
        uint16_t ***l_570 = &l_571;
        int i, j;
        for (i = 0; i < 1; i++)
            l_424[i] = (void*)0;
        for (i = 0; i < 2; i++)
            l_429[i] = 0x3F4D1F46L;
        for (i = 0; i < 3; i++)
        {
            for (j = 0; j < 1; j++)
                l_431[i][j] = (void*)0;
        }
        for (i = 0; i < 2; i++)
        {
            for (j = 0; j < 3; j++)
                l_557[i][j] = 0x08L;
        }
        for (i = 0; i < 1; i++)
            l_562[i] = &g_39;
        (*l_263) = func_8(func_13((g_16[0][0] , (((safe_mul_func_int8_t_s_s((safe_lshift_func_uint16_t_u_u(((++(*l_21)) != (g_16[0][0] , (l_24 , (g_16[0][0] || l_24.f6)))), p_5)), 4UL)) , (((void*)0 == g_25) != (g_16[0][0] = (safe_mod_func_uint16_t_u_u((((((&g_26 == &g_26) & (((safe_div_func_uint8_t_u_u(g_16[0][0], (safe_div_func_int32_t_s_s((l_38 &= g_26.f4), g_39)))) | g_39) > 1UL)) > 7L) , g_16[0][0]) , g_39), l_7))))) & 0xF6L)), l_41), p_5, &l_24, g_25);
        if (l_264)
        { /* block id: 184 */
            uint64_t l_280[1][1];
            int32_t *l_289 = &l_24.f5;
            union U0 l_356 = {1UL};
            uint16_t *l_359 = &l_24.f1;
            int32_t l_368 = 0x5496351CL;
            uint32_t *l_398 = &g_73;
            int32_t ***l_399 = &g_210[1];
            int32_t ****l_400 = &l_399;
            int32_t *****l_421[2];
            int32_t ******l_420 = &l_421[0];
            uint32_t *l_426[1];
            int32_t l_433 = (-6L);
            int8_t *l_438 = &g_131;
            uint64_t *l_447 = &g_427;
            int64_t l_454 = 0xC63CFC6834EA3520LL;
            uint16_t l_461 = 4UL;
            int i, j;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 1; j++)
                    l_280[i][j] = 0x3C54A67A93248AE5LL;
            }
            for (i = 0; i < 2; i++)
                l_421[i] = &l_400;
            for (i = 0; i < 1; i++)
                l_426[i] = &l_24.f3;
            if ((((+((*l_21) = ((safe_mod_func_uint16_t_u_u((safe_mul_func_int16_t_s_s(0x3824L, ((safe_unary_minus_func_int16_t_s((-1L))) >= (safe_mod_func_uint8_t_u_u(g_131, (l_38 && (safe_sub_func_int8_t_s_s(g_170, l_264)))))))), l_264)) >= (safe_add_func_int16_t_s_s(((l_276 = l_38) != ((safe_mul_func_uint8_t_u_u(p_5, p_5)) <= 0x1AL)), p_5))))) > (p_5 & (((((g_279[2][0] |= 0x02B8FD3D11C03A7FLL) , 0x34L) != l_264) == l_280[0][0]) >= l_280[0][0]))) != g_26.f4))
            { /* block id: 188 */
                int32_t **l_287 = (void*)0;
                int32_t **l_288 = &l_35;
                if (p_5)
                { /* block id: 189 */
                    int32_t *****l_281 = &g_208;
                    int32_t ****l_282 = &g_209;
                    int32_t *l_283 = &g_72;
                    (*l_283) |= (((*l_281) = &g_209) == l_282);
                    for (g_131 = 0; (g_131 >= 18); ++g_131)
                    { /* block id: 194 */
                        l_35 = (void*)0;
                    }
                }
                else
                { /* block id: 197 */
                    return g_70;
                }
                l_286 = (l_289 = ((*l_288) = l_286));
            }
            else
            { /* block id: 203 */
                int32_t **l_290 = &l_35;
                int8_t *l_299[1];
                int32_t *** const *l_303[2][2];
                int32_t *** const **l_302[3][3] = {{(void*)0, (void*)0, (void*)0}, {(void*)0, (void*)0, (void*)0}, {(void*)0, (void*)0, (void*)0}};
                int16_t *l_310 = &l_24.f7;
                uint8_t *l_311[2];
                uint16_t *l_345 = &g_26.f1;
                int64_t *l_346 = (void*)0;
                int64_t *l_347 = (void*)0;
                int64_t *l_348[2];
                uint32_t *l_349 = (void*)0;
                uint32_t *l_350 = &g_73;
                uint32_t **l_374 = &l_349;
                uint32_t **l_375 = &l_350;
                uint32_t *l_377[3];
                uint32_t **l_376 = &l_377[2];
                int64_t **l_380[3][3] = {{&l_346, &l_346, &l_346}, {&l_346, &l_346, &l_346}, {&l_346, &l_346, &l_346}};
                int i, j;
                for (i = 0; i < 1; i++)
                    l_299[i] = (void*)0;
                for (i = 0; i < 2; i++)
                {
                    for (j = 0; j < 2; j++)
                        l_303[i][j] = &g_209;
                }
                for (i = 0; i < 2; i++)
                    l_311[i] = &g_39;
                for (i = 0; i < 2; i++)
                    l_348[i] = &g_69;
                for (i = 0; i < 3; i++)
                    l_377[i] = &l_344;
                (*l_290) = &l_38;
                (*l_35) = (((safe_lshift_func_uint8_t_u_u(((safe_rshift_func_uint8_t_u_s(0xC9L, 3)) | p_5), (safe_mul_func_int16_t_s_s((&g_70 != (void*)0), (safe_rshift_func_int8_t_s_s((g_16[0][0] |= 0L), 5)))))) != p_5) != (safe_rshift_func_uint16_t_u_s((g_70 > ((18446744073709551609UL && (l_302[2][1] != l_304[2][0])) < ((safe_lshift_func_int16_t_s_u(((*l_310) = 0xB8E6L), 15)) | (g_26.f6 = (0x20L <= p_5))))), 0)));
            }
            if ((safe_sub_func_uint32_t_u_u(((p_5 , ((*l_398) |= ((void*)0 != &g_25))) , (p_5 <= (((((*l_286) = (*l_35)) && p_5) , p_5) == p_5))), (((*l_400) = l_399) == (void*)0))))
            { /* block id: 256 */
                int64_t **l_403 = &l_378;
                int64_t ***l_402 = &l_403;
                int64_t ****l_401[1][3];
                int i, j;
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 3; j++)
                        l_401[i][j] = &l_402;
                }
                l_404 = (void*)0;
                return g_131;
            }
            else
            { /* block id: 259 */
                int64_t **l_409 = (void*)0;
                int64_t ***l_408[2];
                int i;
                for (i = 0; i < 2; i++)
                    l_408[i] = &l_409;
                for (l_24.f7 = 0; (l_24.f7 <= 0); l_24.f7 += 1)
                { /* block id: 262 */
                    int16_t l_411 = 0xC087L;
                    (*l_35) = (safe_unary_minus_func_uint16_t_u(((g_26.f0 ^ 0L) || p_5)));
                    for (g_26.f6 = 0; (g_26.f6 <= 0); g_26.f6 += 1)
                    { /* block id: 266 */
                        int i, j;
                        (*l_263) = &g_26;
                        if (g_16[g_26.f6][l_24.f7])
                            continue;
                    }
                    if (((~g_170) || p_5))
                    { /* block id: 270 */
                        int i;
                        if (l_407)
                            break;
                        (*l_286) = 0x1E52DC8AL;
                    }
                    else
                    { /* block id: 273 */
                        (*l_286) &= ((+(-9L)) <= g_26.f0);
                    }
                    for (p_5 = 0; (p_5 <= 2); p_5 += 1)
                    { /* block id: 278 */
                        int64_t ****l_410 = &l_408[0];
                        int i, j;
                        l_363[(l_24.f7 + 1)] = (void*)0;
                        (*l_35) |= (l_411 = ((((*l_410) = l_408[0]) != (void*)0) < g_16[l_24.f7][l_24.f7]));
                        (*l_35) &= l_411;
                    }
                }
            }
            l_429[1] ^= (l_428 |= ((p_5 && ((safe_div_func_uint16_t_u_u((safe_add_func_int16_t_s_s((p_5 , (safe_rshift_func_int8_t_s_u(0L, ((g_427 = ((safe_div_func_int64_t_s_s(((((*l_420) = &g_208) == (((*l_35) && (g_26.f3 = ((*l_398)++))) , l_424[0])) ^ (((*l_35) <= ((void*)0 == g_425)) & p_5)), p_5)) & p_5)) <= (p_5 < p_5))))), p_5)), 0xDFEDL)) , g_26.f4)) == p_5));
            if ((p_5 ^ (l_430 > ((((!g_16[0][0]) , g_131) , l_431[0][0]) != (void*)0))))
            { /* block id: 293 */
                int32_t *l_432[1][3];
                uint32_t l_499 = 18446744073709551609UL;
                int64_t **l_506[1];
                uint8_t ***l_525 = &l_523;
                int i, j;
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 3; j++)
                        l_432[i][j] = &l_38;
                }
                for (i = 0; i < 1; i++)
                    l_506[i] = &l_378;
                l_432[0][1] = l_432[0][2];
                if ((p_5 != (((void*)0 != g_425) , l_433)))
                { /* block id: 295 */
                    int8_t l_436 = 0x35L;
                    uint64_t *l_449[2];
                    int32_t l_453 = (-10L);
                    int32_t l_455 = 1L;
                    int32_t l_457 = 0x53BA3348L;
                    int32_t l_458 = 0x28F1B933L;
                    int32_t l_459[2][3] = {{(-2L), (-2L), 0xE2701C66L}, {(-2L), (-2L), 0xE2701C66L}};
                    int32_t l_509 = 0x34F01124L;
                    union U0 *l_515 = &l_24;
                    int i, j;
                    for (i = 0; i < 2; i++)
                        l_449[i] = &g_427;
                    if ((safe_mod_func_int16_t_s_s(0xE436L, l_436)))
                    { /* block id: 296 */
                        uint64_t *l_437 = &l_280[0][0];
                        int8_t **l_439 = &l_438;
                        int32_t l_446 = 0L;
                        uint64_t **l_448[2][3] = {{&l_447, &l_447, &l_447}, {&l_447, &l_447, &l_447}};
                        int32_t l_451 = 0xC8FA31F7L;
                        int32_t l_456 = 0x97419092L;
                        int32_t l_460 = 3L;
                        int8_t *l_498 = &g_16[0][0];
                        int16_t *l_500 = (void*)0;
                        int16_t *l_501 = (void*)0;
                        int16_t *l_502 = &g_70;
                        int16_t l_503 = 0L;
                        int i, j;
                        (*l_289) = (((*l_437) &= g_26.f6) == (g_131 , (g_452 = ((0x83CA0F94DE21D8FBLL >= ((g_279[2][0] > (((*l_447) ^= ((((p_5 , p_5) , ((*l_439) = l_438)) == (void*)0) == (safe_sub_func_int8_t_s_s((+p_5), ((safe_add_func_int32_t_s_s((safe_rshift_func_int16_t_s_s((l_446 ^ (l_379 != (l_449[0] = l_447))), 14)), 0x33CE3634L)) & l_450))))) >= l_451)) || 0x7A01L)) & l_446))));
                        ++l_461;
                        l_451 = (safe_rshift_func_uint8_t_u_u(((((void*)0 != &l_404) , &g_139) == ((((l_458 != (safe_mul_func_int16_t_s_s(((g_468 = g_468) != (void*)0), (safe_rshift_func_uint8_t_u_s((!g_70), (l_446 <= (safe_lshift_func_uint16_t_u_u(l_446, 3)))))))) & 0x66F8L) != (safe_mul_func_int8_t_s_s(g_26.f6, (safe_rshift_func_int16_t_s_s((((safe_mul_func_uint16_t_u_u(((((*l_381) = (safe_lshift_func_uint16_t_u_u((safe_unary_minus_func_int64_t_s(g_279[2][0])), 12))) | (*l_36)) , ((l_460 , 0x0B42C3CD65ED819BLL) != p_5)), g_69)) , &g_210[1]) != &g_210[1]), p_5))))) , (void*)0)), 0));
                        (*l_36) ^= (safe_sub_func_int32_t_s_s((g_73 ^ (((*l_378) &= 0xBC87A6D0728BE11BLL) ^ ((*g_469) = (((p_5 & ((safe_mod_func_int64_t_s_s(l_455, ((safe_add_func_int16_t_s_s(g_26.f4, (((g_131 > (safe_add_func_int16_t_s_s((safe_lshift_func_int8_t_s_s((1UL ^ g_493), g_279[2][0])), ((*l_502) = (((safe_sub_func_uint32_t_u_u((safe_add_func_uint16_t_u_u(p_5, p_5)), (l_446 | (((p_5 || (((*l_498) = (p_5 || g_39)) <= p_5)) , p_5) ^ 1UL)))) != p_5) || l_499))))) | 0x3529140619BAA222LL) >= g_26.f0))) && 255UL))) && 0x63L)) , (-1L)) == l_503)))), 0x6367E26CL));
                    }
                    else
                    { /* block id: 312 */
                        int16_t *l_510 = (void*)0;
                        int16_t *l_511 = &g_70;
                        uint32_t *l_512[2];
                        union U0 **l_516 = &l_515;
                        int16_t *l_520 = &l_24.f7;
                        int i;
                        for (i = 0; i < 2; i++)
                            l_512[i] = &l_450;
                        (*l_35) = ((safe_rshift_func_int8_t_s_s(((l_506[0] = &g_244) == ((safe_rshift_func_int8_t_s_s((g_279[0][0] , l_509), ((((*l_520) ^= (((*l_511) = g_427) <= (((l_512[0] == (void*)0) & ((safe_mul_func_uint16_t_u_u((!(((*l_263) = func_13(p_5, l_41)) != ((*l_516) = l_515))), ((safe_add_func_int32_t_s_s(0xF2666849L, (((*l_21) ^= p_5) , g_279[2][0]))) == (safe_unary_minus_func_int8_t_s(p_5))))) , 5UL)) >= g_175))) & p_5) , p_5))) , (void*)0)), p_5)) , 0x13F46B8FL);
                    }
                    for (l_276 = 0; (l_276 >= (-27)); --l_276)
                    { /* block id: 323 */
                        l_432[0][2] = &l_455;
                    }
                }
                else
                { /* block id: 326 */
                    (*l_37) = (-9L);
                }
                (*l_525) = l_523;
            }
            else
            { /* block id: 330 */
                int16_t *l_532 = &l_24.f7;
                const union U0 l_534 = {0x1CL};
                (*l_35) &= ((safe_mul_func_uint16_t_u_u(g_16[0][0], (safe_lshift_func_uint8_t_u_u(((void*)0 == &g_469), (p_5 >= (((g_16[0][0] > (((*g_25) , (safe_lshift_func_int16_t_s_u(((*l_532) = p_5), (((*l_420) = (l_533 , &g_208)) == (l_534 , l_424[0]))))) && (safe_div_func_int32_t_s_s((safe_div_func_uint16_t_u_u(((g_73 ^= g_427) , 0xEE16L), (safe_mul_func_int8_t_s_s((!(p_5 && p_5)), g_26.f6)))), p_5)))) >= 5UL) >= p_5)))))) | 0xB219L);
            }
        }
        else
        { /* block id: 336 */
            return p_5;
        }
        l_563 &= ((safe_add_func_int32_t_s_s((safe_sub_func_int16_t_s_s((-6L), (((safe_rshift_func_int8_t_s_u((safe_add_func_uint64_t_u_u((**g_468), ((*l_381) ^= 0xF3F5ADDD1CBBF379LL))), (safe_add_func_uint64_t_u_u((!((*l_554) = (p_5 & (p_5 > (((*l_553) = 0x124E2724L) , p_5))))), ((*l_286) &= ((g_39 = ((safe_div_func_uint64_t_u_u((**g_468), (((p_5 <= (((l_557[0][2] , (p_5 ^ (g_26 , (++(*l_558))))) , (((**l_523) |= l_561) , 1UL)) == 0x49L)) == p_5) && 0x04C6L))) , g_170)) | g_279[2][0])))))) == (**g_468)) > 0x3608894DL))), 8UL)) && (*g_469));
        (*l_37) = (((safe_mul_func_uint8_t_u_u((safe_div_func_int32_t_s_s((*l_37), 0xD0B31CBAL)), ((((safe_rshift_func_int16_t_s_s(0xF695L, (p_5 != p_5))) , 1UL) | (g_70 , (+g_16[0][0]))) & (&l_361 != ((*l_570) = &l_361))))) != 1L) | (safe_unary_minus_func_uint64_t_u((safe_rshift_func_int8_t_s_s((safe_add_func_uint64_t_u_u(((p_5 && p_5) != g_279[1][2]), p_5)), 1)))));
    }
    else
    { /* block id: 349 */
        uint16_t l_577 = 65527UL;
        ++l_577;
    }
lbl_965:
    for (g_452 = 0; (g_452 <= 2); g_452 += 1)
    { /* block id: 354 */
        uint32_t l_583 = 2UL;
        int32_t l_584 = 4L;
        uint8_t l_591 = 0x46L;
        int32_t l_605 = 0xA7B947F5L;
        int32_t l_608 = 0xA7E8EA71L;
        int32_t l_609 = 0x248D5FD0L;
        int32_t l_613 = 0x1E3664CCL;
        int32_t l_614 = 1L;
        int32_t l_615 = 0x0EFAF62FL;
        int32_t l_619 = 0xC14306EFL;
        int32_t l_620 = 0L;
        int32_t l_621 = 0xA17E6372L;
        int32_t l_622 = (-4L);
        int32_t l_624[3][3] = {{0x171606F2L, (-8L), 0x171606F2L}, {0x171606F2L, (-8L), 0x171606F2L}, {0x171606F2L, (-8L), 0x171606F2L}};
        const int32_t *l_663[3];
        uint64_t l_672 = 0x93D163935050E54CLL;
        uint16_t **l_682 = (void*)0;
        int8_t l_724 = 0x73L;
        uint32_t l_762[3][2] = {{0x023BBBA7L, 0x51AB490AL}, {0x023BBBA7L, 0x51AB490AL}, {0x023BBBA7L, 0x51AB490AL}};
        uint64_t l_784 = 0x98359D70C5B16FAFLL;
        uint16_t l_835 = 1UL;
        int i, j;
        for (i = 0; i < 3; i++)
            l_663[i] = &l_584;
    }
lbl_1132:
    for (g_39 = 0; (g_39 <= 0); g_39 += 1)
    { /* block id: 475 */
        uint32_t l_852 = 0UL;
        int32_t l_857 = (-4L);
        int32_t l_861 = (-1L);
        int16_t l_864[2];
        int16_t *l_865 = &l_864[1];
        uint16_t *l_866 = &l_7;
        uint16_t l_867 = 2UL;
        int8_t *l_874[2][1];
        int32_t l_890 = 7L;
        int8_t l_891 = 0x40L;
        int32_t l_892 = 0xD94BA90DL;
        int32_t l_893 = 0x41C63A2FL;
        int32_t l_894 = 0L;
        int32_t l_895 = 2L;
        int32_t l_896 = 0x1E886FAFL;
        int32_t l_897 = 1L;
        int32_t l_898 = (-10L);
        int32_t l_899 = (-5L);
        int32_t l_900 = 0xBCB3FE7DL;
        int32_t l_901 = 0xDEBFC91EL;
        int32_t l_902 = (-9L);
        int32_t l_903 = (-5L);
        int32_t l_904 = 8L;
        int32_t l_906 = 0xD49BBA72L;
        int32_t l_907 = (-4L);
        int32_t l_908 = (-10L);
        int32_t l_909 = 3L;
        int32_t l_910 = 1L;
        int32_t l_911 = 0L;
        uint64_t l_971 = 9UL;
        int16_t l_979 = 0x0C66L;
        int32_t l_1004 = 0xF46F467EL;
        int32_t l_1005[2];
        int i, j;
        for (i = 0; i < 2; i++)
            l_864[i] = 0x53B1L;
        for (i = 0; i < 2; i++)
        {
            for (j = 0; j < 1; j++)
                l_874[i][j] = &g_16[0][0];
        }
        for (i = 0; i < 2; i++)
            l_1005[i] = 0x093D4EA8L;
        l_867 ^= (((*l_866) ^= (safe_lshift_func_int8_t_s_s((safe_sub_func_int16_t_s_s((*l_675), ((*l_286) ^ (g_611 < 0x44L)))), (((((safe_rshift_func_int16_t_s_u(p_5, (safe_rshift_func_int8_t_s_s(((g_850 = l_849) == (g_851 = l_849)), 5)))) == (p_5 || l_852)) == (safe_add_func_int16_t_s_s(p_5, ((***l_849)++)))) != ((*l_865) = (((l_857 &= l_852) ^ (safe_mod_func_uint8_t_u_u(l_860, (l_861 = 0x05L)))) <= (safe_mod_func_int16_t_s_s((((((p_5 != l_852) , 0L) , l_864[1]) , p_5) || l_864[1]), l_864[1]))))) ^ (*l_286))))) , p_5);
        l_861 = ((safe_mul_func_uint8_t_u_u(p_5, (safe_add_func_uint32_t_u_u(0xF8D169A7L, ((*l_286) |= (safe_mul_func_int8_t_s_s((g_582 = ((((l_875 = p_5) , ((g_876 = ((void*)0 == &l_305)) > ((*l_866) = (safe_sub_func_uint16_t_u_u(((***g_850) = ((p_5 , p_5) , (safe_mod_func_uint8_t_u_u((safe_mod_func_uint8_t_u_u((safe_mul_func_uint8_t_u_u(((void*)0 != (*g_851)), (safe_mod_func_int64_t_s_s(0x4709BCE2DEFB9225LL, ((**g_468) = (*g_469)))))), 0xD0L)), (g_16[0][0] = p_5))))), p_5))))) > 1UL) || (*g_469))), p_5))))))) | p_5);
        for (g_493 = 0; (g_493 <= 0); g_493 += 1)
        { /* block id: 495 */
            int8_t l_887 = 0x96L;
            int32_t l_889[1][2];
            int32_t l_950 = 0xE36D6E84L;
            int i, j;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 2; j++)
                    l_889[i][j] = 1L;
            }
            ++l_912;
            for (l_888 = 0; (l_888 <= 0); l_888 += 1)
            { /* block id: 499 */
                int8_t l_931 = 0x94L;
                int32_t *l_946 = &l_908;
                int32_t l_951[1][3];
                uint32_t l_956[1][1];
                int i, j;
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 3; j++)
                        l_951[i][j] = 3L;
                }
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 1; j++)
                        l_956[i][j] = 4294967287UL;
                }
                if (p_5)
                { /* block id: 500 */
                    int16_t l_918[2];
                    int32_t l_919 = 0x0018695DL;
                    int32_t *l_921 = &g_45;
                    int8_t ***l_929 = (void*)0;
                    int8_t ***l_930[2];
                    int32_t l_954[2];
                    int i, j;
                    for (i = 0; i < 2; i++)
                        l_918[i] = (-5L);
                    for (i = 0; i < 2; i++)
                        l_930[i] = (void*)0;
                    for (i = 0; i < 2; i++)
                        l_954[i] = 0x0B6B1E8EL;
                    for (l_901 = 0; (l_901 >= 0); l_901 -= 1)
                    { /* block id: 503 */
                        int32_t l_920 = (-8L);
                        l_919 |= (safe_div_func_int16_t_s_s((p_5 >= (l_918[1] = l_917)), p_5));
                        if (l_920)
                            break;
                    }
                    l_921 = &l_889[0][1];
                    if ((safe_div_func_uint16_t_u_u(((*g_681) , g_924), ((((g_925[0] = g_925[0]) == (g_927 = g_927)) , ((0x4E94E1164B2BEAD7LL ^ l_931) > (safe_rshift_func_uint16_t_u_s((safe_mul_func_int16_t_s_s((((l_889[0][1] >= (safe_mul_func_uint16_t_u_u(65534UL, (***g_850)))) && ((safe_lshift_func_uint16_t_u_u(p_5, (p_5 , (safe_sub_func_uint32_t_u_u((safe_add_func_uint32_t_u_u(g_493, (safe_mul_func_int8_t_s_s((g_686[g_493][l_888] == (*g_927)), l_931)))), p_5))))) <= 0x9A94L)) < 0UL), 0UL)), 4)))) , (*l_921)))))
                    { /* block id: 511 */
                        int32_t *l_947 = &l_894;
                        l_946 = l_946;
                        (*l_921) ^= p_5;
                        l_947 = l_947;
                    }
                    else
                    { /* block id: 515 */
                        int64_t l_952 = (-1L);
                        int32_t l_953 = 0L;
                        int32_t l_955[1][3];
                        int i, j;
                        for (i = 0; i < 1; i++)
                        {
                            for (j = 0; j < 3; j++)
                                l_955[i][j] = 0x4A13AD61L;
                        }
                        l_950 &= (l_904 |= ((safe_mod_func_uint8_t_u_u((*l_921), 0x91L)) | ((**g_927) = ((g_582 &= (*g_928)) , p_5))));
                        (*l_946) |= p_5;
                        l_951[0][1] |= (*l_946);
                        l_956[0][0]++;
                    }
                }
                else
                { /* block id: 524 */
                    if (l_852)
                        break;
                }
                if (l_889[0][1])
                    break;
                for (l_7 = 0; (l_7 <= 0); l_7 += 1)
                { /* block id: 530 */
                    int32_t *l_959 = &l_901;
                    int64_t l_964 = 0xFA3FE8DC99761C77LL;
                    l_959 = &l_899;
                    (*l_959) ^= p_5;
                    (*l_946) = (((safe_add_func_uint8_t_u_u(((+(safe_sub_func_int32_t_s_s((7L | (p_5 , (+l_964))), 0x5BDD0767L))) < (*l_959)), (~0x93L))) == 0xFAL) ^ (g_70 |= 0x29BAL));
                }
                if (l_867)
                    goto lbl_965;
            }
        }
        for (l_362 = 0; (l_362 <= 0); l_362 += 1)
        { /* block id: 541 */
            int32_t *l_966 = &l_897;
            int32_t l_973 = (-8L);
            int32_t l_974 = (-7L);
            int32_t l_980 = (-2L);
            int32_t l_981 = 1L;
            int32_t l_982 = 0x92EF6662L;
            int32_t l_983 = 0L;
            int32_t l_984 = (-6L);
            int32_t l_985 = 0x3AEE616BL;
            int32_t l_986 = 0xCC38860DL;
            int32_t l_987[2][3];
            int i, j;
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 3; j++)
                    l_987[i][j] = 1L;
            }
            for (l_908 = 0; (l_908 <= 0); l_908 += 1)
            { /* block id: 544 */
                int32_t *l_967 = &g_72;
                l_967 = l_966;
                if ((*l_966))
                    break;
                for (g_45 = 0; (g_45 <= 0); g_45 += 1)
                { /* block id: 549 */
                    int32_t l_968[3];
                    int i;
                    for (i = 0; i < 3; i++)
                        l_968[i] = 0xEC87DBAEL;
                    if ((*l_966))
                        break;
                    if (l_901)
                        continue;
                    if (l_968[1])
                        continue;
                    (*l_286) = (safe_rshift_func_uint16_t_u_s(((*l_286) , 65535UL), 13));
                }
                if (g_493)
                    goto lbl_965;
            }
            if (l_971)
                continue;
            --l_975;
            ++l_989;
        }
        for (l_652 = 0; (l_652 <= 0); l_652 += 1)
        { /* block id: 563 */
            int32_t l_992[2][3] = {{(-1L), (-1L), 0L}, {(-1L), (-1L), 0L}};
            int32_t l_993 = 1L;
            int32_t l_996 = 0xD4D22713L;
            int32_t l_997 = 0x79963EF8L;
            int32_t l_998 = 0x261495E8L;
            int32_t l_999 = 0xDEFD2910L;
            int32_t l_1000 = 0L;
            int32_t l_1001[1];
            int32_t l_1002 = 0xC9E4F6A9L;
            uint32_t l_1006 = 0x7D101C16L;
            int i, j;
            for (i = 0; i < 1; i++)
                l_1001[i] = (-1L);
            l_1006++;
        }
    }
    for (g_876 = 0; (g_876 > 10); ++g_876)
    { /* block id: 569 */
        uint8_t l_1013 = 0x1DL;
        int32_t l_1038 = 0xB4BCD877L;
        int32_t l_1045 = 0x75E5A0A1L;
        int32_t l_1047 = 0x4F00526FL;
        int32_t l_1050 = 6L;
        int32_t l_1051 = (-8L);
        int32_t l_1052[2];
        uint16_t ***l_1067[1][1];
        uint8_t * const *l_1075[3];
        int32_t *l_1086 = &l_1050;
        uint8_t l_1175 = 1UL;
        uint16_t **l_1182 = &l_361;
        int64_t **l_1185 = &l_379;
        int64_t ***l_1184 = &l_1185;
        int64_t l_1221 = 0xFDB9A9C10C6C04FCLL;
        uint64_t l_1250 = 7UL;
        int8_t l_1255 = 5L;
        int i, j;
        for (i = 0; i < 2; i++)
            l_1052[i] = 0x0D21C7D6L;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 1; j++)
                l_1067[i][j] = (void*)0;
        }
        for (i = 0; i < 3; i++)
            l_1075[i] = &l_524;
        for (g_26.f3 = 0; (g_26.f3 <= 25); g_26.f3 = safe_add_func_int64_t_s_s(g_26.f3, 6))
        { /* block id: 572 */
            int8_t l_1022 = (-1L);
            const uint16_t *l_1036 = &g_1037;
            const uint16_t **l_1035 = &l_1036;
            int32_t l_1039 = 0L;
            uint8_t *l_1042[1];
            int32_t l_1044 = 0x1726539FL;
            int32_t l_1046 = 0x8580C4C4L;
            int32_t l_1048 = 0x312A7A1FL;
            int32_t l_1049 = 0x2852D535L;
            int16_t l_1053 = 0x627AL;
            int32_t l_1054[2][1];
            uint16_t l_1056 = 65535UL;
            uint32_t *l_1070 = &g_73;
            uint16_t l_1080 = 0x360FL;
            int32_t *l_1087 = &l_38;
            int32_t l_1099 = 0x2C0B9E7FL;
            union U0 **l_1122 = &g_25;
            int i, j;
            for (i = 0; i < 1; i++)
                l_1042[i] = (void*)0;
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 1; j++)
                    l_1054[i][j] = 1L;
            }
            if (l_1013)
                break;
            l_1039 = (((safe_mod_func_int64_t_s_s((safe_sub_func_uint64_t_u_u((safe_lshift_func_int16_t_s_s(((safe_mul_func_int16_t_s_s((p_5 ^ 0xFC51L), (l_1022 |= 65531UL))) != (safe_sub_func_uint32_t_u_u((safe_mul_func_uint16_t_u_u((safe_sub_func_int32_t_s_s(((safe_add_func_int16_t_s_s(p_5, 0UL)) >= (((*l_41) , p_5) >= (0x2056L == (**g_680)))), ((safe_add_func_int32_t_s_s(p_5, ((*l_286) |= ((safe_add_func_int32_t_s_s((((**l_849) == ((*l_1035) = (*g_680))) < 4294967295UL), (p_5 == l_1038))) > p_5)))) != 0x2DA31C0D5D46160BLL))), p_5)), (*l_675)))), 5)), 1L)), p_5)) && 0x0706C738B8E01B70LL) && 0x323F5A7EL);
            l_1044 = (((safe_lshift_func_int8_t_s_u(p_5, (--l_1056))) >= (safe_add_func_int8_t_s_s((p_5 == l_1039), l_1047))) && (((((safe_sub_func_int64_t_s_s(((((l_1048 ^ ((l_1054[0][0] != p_5) , 0xCD3BD1ECL)) < ((((p_5 & (safe_mod_func_int8_t_s_s((((((safe_lshift_func_uint16_t_u_u((**g_680), l_1052[0])) && (&g_680 != &g_680)) , (l_1067[0][0] == (void*)0)) | p_5) != p_5), l_1013))) && (*g_928)) && 0UL) , p_5)) | g_45) , p_5), 0L)) , p_5) , p_5) , 0x25713E72C034B945LL) ^ 1L));
            if ((safe_sub_func_uint32_t_u_u(((*l_1070) |= (g_1037 <= (l_1054[0][0] = (0L && (*g_469))))), (safe_mod_func_uint8_t_u_u(p_5, (safe_mod_func_uint16_t_u_u(((p_5 , l_1075[1]) == &l_1042[0]), l_1038)))))))
            { /* block id: 582 */
                int64_t l_1076 = (-1L);
                int32_t l_1078 = 0xD37CF6C0L;
                int32_t l_1079[1];
                uint16_t **l_1098 = &l_361;
                int i;
                for (i = 0; i < 1; i++)
                    l_1079[i] = 0x95A4E451L;
                ++l_1080;
                for (l_1053 = 0; (l_1053 < (-9)); l_1053 = safe_sub_func_int64_t_s_s(l_1053, 6))
                { /* block id: 586 */
                    int32_t *l_1085 = &l_1051;
                    l_1087 = (l_1086 = l_1085);
                    if (g_39)
                        goto lbl_965;
                }
                (*l_286) ^= (safe_rshift_func_uint8_t_u_s(((***l_828) == (void*)0), (p_5 <= (p_5 > (((safe_add_func_uint8_t_u_u(((*g_928) , (safe_add_func_uint8_t_u_u((p_5 != ((*l_1087) ^= p_5)), 0L))), (((safe_add_func_uint32_t_u_u(((void*)0 != l_1098), (l_1099 & p_5))) != p_5) | 5UL))) , (**l_828)) == l_1075[2])))));
            }
            else
            { /* block id: 593 */
                int16_t l_1106 = 0xF582L;
                int32_t l_1107[1];
                int i;
                for (i = 0; i < 1; i++)
                    l_1107[i] = 0L;
                if ((l_1047 |= (safe_lshift_func_uint8_t_u_s((safe_sub_func_int16_t_s_s((l_1107[0] = (safe_lshift_func_uint8_t_u_u(((((**g_927) ^= (p_5 > ((***g_850) , p_5))) , l_1106) >= (p_5 < p_5)), 3))), l_1106)), (((*l_1086) = (0x4C14L < ((safe_mod_func_int8_t_s_s(l_1110, p_5)) , 0xA9C8L))) > l_1111)))))
                { /* block id: 598 */
                    (*l_1087) = ((*l_286) = p_5);
                }
                else
                { /* block id: 601 */
                    uint8_t l_1115[2];
                    union U0 **l_1121[3][2] = {{&l_41, &l_41}, {&l_41, &l_41}, {&l_41, &l_41}};
                    union U0 ***l_1120[2];
                    int i, j;
                    for (i = 0; i < 2; i++)
                        l_1115[i] = 247UL;
                    for (i = 0; i < 2; i++)
                        l_1120[i] = &l_1121[0][0];
                    for (l_652 = 0; (l_652 <= 55); l_652 = safe_add_func_int16_t_s_s(l_652, 1))
                    { /* block id: 604 */
                        int32_t l_1114 = 0xED6CDF95L;
                        --l_1115[0];
                    }
                    for (l_362 = (-21); (l_362 < 8); l_362++)
                    { /* block id: 609 */
                        return p_5;
                    }
                    l_1122 = &g_25;
                }
                if (p_5)
                    break;
                return l_1123[0][0];
            }
        }
        for (l_264 = 0; (l_264 > 15); l_264 = safe_add_func_int8_t_s_s(l_264, 1))
        { /* block id: 620 */
            uint32_t l_1161 = 1UL;
            int32_t l_1172 = 0x03422A03L;
            int32_t l_1173 = 0L;
            int32_t l_1174[1][2];
            uint16_t *l_1196[3];
            uint64_t l_1213 = 7UL;
            int32_t *l_1219 = (void*)0;
            int i, j;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 2; j++)
                    l_1174[i][j] = 0x028928E2L;
            }
            for (i = 0; i < 3; i++)
                l_1196[i] = &g_26.f1;
            for (l_905 = (-10); (l_905 == 21); l_905 = safe_add_func_uint8_t_u_u(l_905, 1))
            { /* block id: 623 */
                uint16_t l_1128 = 0UL;
                int32_t *l_1131[1];
                int i;
                for (i = 0; i < 1; i++)
                    l_1131[i] = &l_1045;
                l_1128--;
                l_1086 = l_1131[0];
                if (g_139)
                    goto lbl_1132;
            }
            if ((p_5 | (safe_sub_func_int32_t_s_s((safe_mod_func_int8_t_s_s(((**g_927) = (*l_1086)), (-8L))), p_5))))
            { /* block id: 629 */
                int16_t l_1149 = 0L;
                int32_t l_1157[3][2] = {{(-4L), (-4L)}, {(-4L), (-4L)}, {(-4L), (-4L)}};
                int32_t l_1158 = 0xABB7DA61L;
                uint16_t *l_1165 = &l_975;
                int i, j;
                for (g_26.f1 = 0; (g_26.f1 <= 0); g_26.f1 += 1)
                { /* block id: 632 */
                    uint32_t l_1156 = 0xD054A08FL;
                    int32_t l_1171 = 1L;
                    for (g_72 = 0; (g_72 >= 0); g_72 -= 1)
                    { /* block id: 635 */
                        uint64_t *l_1150 = (void*)0;
                        uint64_t *l_1151 = &l_912;
                        const uint16_t *l_1164 = &l_975;
                        uint32_t *l_1170[2][3] = {{&l_1111, &l_450, &l_1111}, {&l_1111, &l_450, &l_1111}};
                        int i, j;
                        l_1158 |= ((((((-1L) != (safe_lshift_func_int8_t_s_s(g_972[g_26.f1][g_72], (((-3L) != (safe_mod_func_uint32_t_u_u(p_5, (*l_675)))) == ((safe_sub_func_uint8_t_u_u((((*g_468) = (*g_468)) == &g_427), (safe_sub_func_int64_t_s_s((((*l_1086) = (safe_mul_func_uint8_t_u_u(((*g_681) == 0xFFDCL), (safe_mod_func_int64_t_s_s((((((l_1149 = (*l_1086)) > ((((--(*l_1151)) | (0xDEL != ((**g_927) = 0x21L))) >= (safe_add_func_int16_t_s_s(l_1156, p_5))) <= p_5)) < p_5) & 0x21D1D728L) || 4294967295UL), g_972[g_26.f1][g_72]))))) , p_5), p_5)))) & l_1157[0][0]))))) , (-1L)) , (*g_681)) | 65535UL) && 1L);
                        (*l_1086) = (safe_add_func_int32_t_s_s(l_1161, (l_1171 ^= ((*l_1086) > ((l_1157[0][0] < (safe_sub_func_int64_t_s_s(p_5, (l_1164 != l_1165)))) & (safe_sub_func_int32_t_s_s(((safe_mod_func_int32_t_s_s(p_5, (+((p_5 , (**g_680)) || 8L)))) <= l_1156), l_1156)))))));
                        (*l_286) &= l_1161;
                    }
                }
                l_1175--;
            }
            else
            { /* block id: 648 */
                if (g_26.f6)
                    goto lbl_1132;
            }
            if (p_5)
                break;
            for (l_1110 = (-18); (l_1110 != 45); l_1110 = safe_add_func_uint32_t_u_u(l_1110, 1))
            { /* block id: 654 */
                int64_t ****l_1186 = &g_425;
                int64_t ****l_1187 = &l_1184;
                int8_t * const ***l_1190 = &g_1189[0][0];
                uint32_t *l_1191 = &l_450;
                int32_t l_1197 = 0x74CDCDFFL;
                uint8_t ****l_1198 = &g_684;
                int32_t l_1204 = 0x357E581FL;
                int32_t l_1207 = 0x63BABE2AL;
                int32_t l_1208 = 0xE627E8A2L;
                int8_t l_1210 = 0x43L;
                int32_t l_1212 = 0L;
                int32_t l_1223 = 0xCA4C489EL;
                int32_t l_1225 = (-8L);
                int32_t l_1226 = (-5L);
                int32_t l_1227 = 2L;
                int32_t l_1228 = 0x3FC40751L;
                int32_t l_1229 = 3L;
                int32_t l_1230 = (-3L);
                int32_t l_1231 = 0L;
                int32_t l_1232 = 0xD8623859L;
                int32_t **l_1249[1];
                int i;
                for (i = 0; i < 1; i++)
                    l_1249[i] = &l_1219;
            }
        }
        for (l_264 = (-23); (l_264 >= (-6)); ++l_264)
        { /* block id: 696 */
            int64_t l_1256 = (-1L);
            union U0 *l_1271 = &g_26;
            int32_t l_1275 = (-3L);
            int32_t *l_1279 = &l_38;
            (****g_602) = &l_1086;
            if (((((safe_mul_func_int8_t_s_s(((**g_927) |= l_1255), ((*l_1086) = (((*l_524) = (p_5 ^ p_5)) && (((l_1256 , 0x9FL) ^ (&p_5 == (*g_685))) <= (((!(safe_div_func_int32_t_s_s(((void*)0 == (*g_684)), (((((*l_286) |= (*l_1086)) ^ l_1256) , l_1256) ^ (0L >= (*l_675)))))) || p_5) >= 7UL)))))) , p_5) , p_5) >= 0xC1L))
            { /* block id: 702 */
                for (g_978 = 0; (g_978 != 13); g_978 = safe_add_func_int64_t_s_s(g_978, 8))
                { /* block id: 705 */
                    int16_t l_1264 = 0xBCD5L;
                    int32_t l_1274 = 0x89BCF7B2L;
                    for (l_652 = 0; (l_652 <= 2); l_652 += 1)
                    { /* block id: 708 */
                        int32_t l_1263 = (-2L);
                        (*l_1086) &= (safe_lshift_func_int16_t_s_s(l_1263, 13));
                        if (p_5)
                            break;
                    }
                    l_1275 = ((l_1264 < p_5) != (safe_mod_func_uint16_t_u_u(p_5, (safe_mul_func_int8_t_s_s(((((*g_685) = &p_5) != (void*)0) | (0xCED386177CCCD9BELL < (p_5 < 0x025E86B6L))), (l_1274 = (p_5 , ((safe_sub_func_uint16_t_u_u((&g_26 != l_1271), (safe_add_func_uint32_t_u_u((((p_5 != ((**g_1183) != p_5)) , p_5) , g_1055), 0x0C1181A2L)))) && (*g_469)))))))));
                    if (p_5)
                        break;
                }
            }
            else
            { /* block id: 717 */
                int32_t *l_1278[1];
                int i;
                for (i = 0; i < 1; i++)
                    l_1278[i] = &l_276;
                (*l_1086) = (safe_sub_func_int8_t_s_s(((void*)0 != &g_684), 246UL));
                l_1279 = l_1278[0];
                if (((p_5 , (p_5 | (*l_1086))) < (p_5 , (*l_1279))))
                { /* block id: 720 */
                    for (l_7 = 0; (l_7 <= 0); l_7 += 1)
                    { /* block id: 723 */
                        int i, j;
                        return g_16[l_7][l_7];
                    }
                }
                else
                { /* block id: 726 */
                    if (p_5)
                        break;
                }
            }
        }
    }
    return g_611;
}


/* ------------------------------------------ */
/* 
 * reads : g_26 g_16 g_26.f5 g_73 g_26.f6 g_45 g_25 g_69 g_70 g_72 g_26.f0 g_131 g_139 g_170 g_39 g_175 g_26.f3 g_197 g_26.f4 g_26.f1
 * writes: g_25 g_26.f5 g_45 g_73 g_26.f6 g_72 g_70 g_131 g_69 g_39 g_175 g_170 g_197 g_208 g_244 g_26.f7 g_26.f1
 */
static union U0 * func_8(union U0 * p_9, int16_t  p_10, union U0 * p_11, union U0 * p_12)
{ /* block id: 19 */
    int16_t l_58[3];
    int32_t *l_63[1];
    union U0 l_78[2][2] = {{{0x54L}, {4UL}}, {{0x54L}, {4UL}}};
    int8_t l_94 = 0L;
    union U0 *l_173 = &l_78[1][0];
    int32_t ****l_211[1];
    int i, j;
    for (i = 0; i < 3; i++)
        l_58[i] = (-3L);
    for (i = 0; i < 1; i++)
        l_63[i] = &g_26.f5;
    for (i = 0; i < 1; i++)
        l_211[i] = &g_209;
    l_58[2] = (safe_div_func_int8_t_s_s(p_10, (+(0xE71EL | p_10))));
    if (l_58[0])
    { /* block id: 21 */
        int32_t *l_61[2];
        uint64_t l_79 = 0x1D012310476CE528LL;
        uint64_t l_95[3];
        uint16_t *l_138 = &g_139;
        int32_t l_169 = (-6L);
        int32_t **l_184 = (void*)0;
        int32_t ***l_183[1][2];
        int i, j;
        for (i = 0; i < 2; i++)
            l_61[i] = &g_45;
        for (i = 0; i < 3; i++)
            l_95[i] = 0x59122B3A2D95A02ELL;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 2; j++)
                l_183[i][j] = &l_184;
        }
        for (p_10 = 0; (p_10 >= (-26)); p_10--)
        { /* block id: 24 */
            int32_t l_65 = (-1L);
            int32_t l_66 = 0xBD129AC0L;
            int32_t l_67 = 1L;
            int32_t l_68 = 0L;
            int32_t l_71 = 0x2005908CL;
            if ((!0xC95C8F38L))
            { /* block id: 25 */
                int32_t **l_62[1][3];
                union U0 *l_64 = &g_26;
                int i, j;
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 3; j++)
                        l_62[i][j] = &l_61[0];
                }
                l_63[0] = ((*p_12) , l_61[1]);
                g_25 = l_64;
            }
            else
            { /* block id: 28 */
                g_45 = (g_26.f5 ^= (l_65 = (65528UL < g_16[0][0])));
            }
            if (p_10)
                break;
            --g_73;
        }
        for (g_26.f6 = 20; (g_26.f6 >= 47); g_26.f6 = safe_add_func_uint32_t_u_u(g_26.f6, 8))
        { /* block id: 38 */
            return &g_26;
        }
        if ((l_78[1][0] , (l_79 = g_45)))
        { /* block id: 42 */
            uint64_t l_85 = 0x1DDD0F98E72CC649LL;
            int32_t l_90 = 9L;
            int8_t *l_135 = &g_131;
            int32_t l_145 = (-10L);
            const union U0 l_161[3][1] = {{{255UL}}, {{255UL}}, {{255UL}}};
            int i, j;
            for (p_10 = 1; (p_10 >= 0); p_10 -= 1)
            { /* block id: 45 */
                uint8_t *l_84 = &l_78[1][0].f0;
                uint16_t *l_86 = &l_78[1][0].f1;
                int16_t *l_89[2][1];
                int32_t l_91[1][2];
                int32_t l_96 = 0x4EF753FAL;
                uint32_t l_129[2][3];
                int i, j;
                for (i = 0; i < 2; i++)
                {
                    for (j = 0; j < 1; j++)
                        l_89[i][j] = &g_70;
                }
                for (i = 0; i < 1; i++)
                {
                    for (j = 0; j < 2; j++)
                        l_91[i][j] = 0x893D9136L;
                }
                for (i = 0; i < 2; i++)
                {
                    for (j = 0; j < 3; j++)
                        l_129[i][j] = 0xE236C4C4L;
                }
                if ((g_45 &= ((safe_div_func_int64_t_s_s((p_10 & (((safe_lshift_func_uint8_t_u_s((((!((*l_84) = g_16[0][0])) , ((*l_86) = l_85)) >= p_10), (((8UL <= (safe_add_func_uint16_t_u_u(((l_90 = (l_58[p_10] = p_10)) , l_91[0][1]), (+p_10)))) ^ (safe_rshift_func_uint16_t_u_u((p_10 , (p_10 | l_91[0][1])), l_94))) , g_26.f6))) == ((void*)0 != l_61[p_10])) ^ l_95[0])), 8UL)) | p_10)))
                { /* block id: 51 */
                    int i;
                    if (p_10)
                        break;
                    l_96 |= ((*g_25) , ((void*)0 != &g_70));
                }
                else
                { /* block id: 54 */
                    g_72 = (p_10 ^ (safe_add_func_uint32_t_u_u(4294967290UL, (-1L))));
                }
                for (g_70 = 0; (g_70 <= 1); g_70 += 1)
                { /* block id: 59 */
                    int16_t l_130 = 0L;
                    int32_t l_132 = 0xC455A66CL;
                    uint16_t *l_140[2];
                    int i;
                    for (i = 0; i < 2; i++)
                        l_140[i] = &g_139;
                    l_132 = (g_131 &= (safe_rshift_func_int16_t_s_u((l_58[g_70] = (safe_rshift_func_int16_t_s_s(((((((((safe_add_func_int16_t_s_s(((safe_lshift_func_uint16_t_u_u((safe_lshift_func_uint16_t_u_u((safe_div_func_int32_t_s_s(p_10, ((((safe_add_func_uint8_t_u_u((p_10 , (l_90 || (~((l_90 = ((g_69 <= ((safe_mul_func_int16_t_s_s(((safe_add_func_uint32_t_u_u((((g_16[0][0] , ((safe_lshift_func_uint8_t_u_u(g_26.f6, 4)) != (safe_sub_func_uint8_t_u_u(((*l_84) |= g_70), (safe_rshift_func_uint16_t_u_s(p_10, 3)))))) & (g_45 <= (g_72 , 0x5A930E60L))) && ((safe_add_func_int32_t_s_s(p_10, (p_10 & (safe_lshift_func_uint8_t_u_u(((*l_84)--), p_10))))) <= p_10)), (-10L))) < 65531UL), l_90)) , l_129[0][1])) >= 0x9EL)) > 0xAA3471AFL)))), (-8L))) < l_130) & 0xF3DCL) & g_26.f6))), g_26.f0)), 6)) >= l_130), 3L)) && p_10) , &l_58[2]) != (void*)0) >= 0UL) , 2L) , 0x45L) >= p_10), g_16[0][0]))), 7)));
                    for (g_131 = 0; (g_131 <= 1); g_131 += 1)
                    { /* block id: 68 */
                        int32_t l_146 = 0xDC8ED449L;
                        int64_t *l_164 = &g_69;
                        int i;
                        if (p_10)
                            break;
                        l_132 = ((safe_div_func_int8_t_s_s(g_131, (((l_135 != (void*)0) && (safe_sub_func_int64_t_s_s(((l_138 != l_140[1]) == (safe_lshift_func_uint8_t_u_u(g_139, (l_85 >= 18446744073709551612UL)))), ((p_10 & (&g_26 == ((p_10 , (*g_25)) , p_9))) == (safe_div_func_uint16_t_u_u(((*l_86) = l_145), g_73)))))) , l_146))) ^ 0UL);
                        if (g_70)
                            break;
                        l_132 = (safe_div_func_int32_t_s_s(((safe_mul_func_int8_t_s_s((l_130 ^ (safe_lshift_func_int8_t_s_u(((l_90 |= l_146) , (0x8AAF6E95L != 1UL)), 2))), (safe_lshift_func_int8_t_s_u((safe_div_func_int8_t_s_s((p_10 ^ (safe_rshift_func_uint8_t_u_u((((*l_164) = (safe_div_func_uint64_t_u_u(((~(l_161[2][0] , g_139)) && (&l_145 == (l_61[p_10] = &g_72))), (safe_lshift_func_int16_t_s_s(l_130, 11))))) == (((safe_mod_func_uint64_t_u_u(g_45, 0xCBBC646FAD07B9CBLL)) == (g_16[0][0] > (safe_sub_func_int32_t_s_s((l_169 ^= g_70), 0xFD2DB2C6L)))) , 7UL)), 0))), g_170)), l_91[0][0])))) > 0xDFC87353L), l_146));
                    }
                }
            }
        }
        else
        { /* block id: 81 */
            int8_t l_174 = 0x6CL;
            int32_t l_186 = 0xCA0117A2L;
            uint64_t l_201 = 18446744073709551612UL;
            for (g_39 = 21; (g_39 >= 5); g_39 = safe_sub_func_int8_t_s_s(g_39, 1))
            { /* block id: 84 */
                return p_11;
            }
            ++g_175;
            for (g_26.f6 = 0; (g_26.f6 <= 0); g_26.f6 += 1)
            { /* block id: 90 */
                uint16_t l_178 = 0x860BL;
                int32_t **l_179 = (void*)0;
                int32_t **l_180 = &l_63[0];
                uint64_t l_191 = 7UL;
                l_178 = (g_45 = g_72);
                (*l_180) = l_63[0];
                for (l_79 = 0; (l_79 <= 0); l_79 += 1)
                { /* block id: 96 */
                    uint32_t l_188 = 0x993EA59EL;
                    g_45 = 3L;
                    for (g_39 = 0; (g_39 <= 0); g_39 += 1)
                    { /* block id: 100 */
                        int32_t ****l_185 = &l_183[0][1];
                        int32_t l_187 = 0x0861F81EL;
                        int i, j;
                        g_45 = (safe_rshift_func_int16_t_s_u(g_16[l_79][g_26.f6], 15));
                        (*l_180) = l_63[l_79];
                        (*l_185) = l_183[0][0];
                        --l_188;
                    }
                    ++l_191;
                }
                for (g_170 = 0; (g_170 <= 0); g_170 += 1)
                { /* block id: 110 */
                    int16_t *l_196 = &l_58[0];
                    int16_t **l_195[2];
                    int32_t l_198 = 1L;
                    int32_t l_199 = (-1L);
                    int32_t l_200 = 0x51E51D77L;
                    int i;
                    for (i = 0; i < 2; i++)
                        l_195[i] = &l_196;
                    if ((safe_unary_minus_func_int16_t_s(((g_197 = &p_10) != &p_10))))
                    { /* block id: 112 */
                        g_72 = (&g_70 == &p_10);
                    }
                    else
                    { /* block id: 114 */
                        int i, j;
                        g_45 = g_16[g_26.f6][g_26.f6];
                    }
                    l_201++;
                }
            }
        }
    }
    else
    { /* block id: 121 */
        int32_t l_212 = 0x8E34EDFCL;
        int32_t *l_219 = &g_72;
        int8_t l_230 = 0L;
        int64_t *l_243[1];
        uint64_t l_255 = 0x97384D55E0BBD196LL;
        int i;
        for (i = 0; i < 1; i++)
            l_243[i] = &g_170;
        for (l_94 = (-10); (l_94 < 18); ++l_94)
        { /* block id: 124 */
            int32_t ****l_206 = (void*)0;
            int32_t *****l_207 = &l_206;
            l_212 = ((g_208 = ((*l_207) = l_206)) == l_211[0]);
        }
        for (g_39 = 0; (g_39 == 13); g_39 = safe_add_func_int32_t_s_s(g_39, 8))
        { /* block id: 131 */
            int32_t l_237 = 9L;
            uint16_t *l_250 = (void*)0;
            if (l_212)
            { /* block id: 132 */
                uint64_t l_218 = 1UL;
                int32_t *l_220 = &g_45;
                int32_t *** const l_236[1][3] = {{&g_210[0], &g_210[0], &g_210[0]}};
                int i, j;
                for (l_94 = (-9); (l_94 >= (-15)); l_94 = safe_sub_func_int16_t_s_s(l_94, 5))
                { /* block id: 135 */
                    int32_t *l_217 = (void*)0;
                    l_217 = l_217;
                    for (g_70 = 2; (g_70 >= 0); g_70 -= 1)
                    { /* block id: 139 */
                        return &g_26;
                    }
                }
                if (l_218)
                { /* block id: 143 */
                    uint16_t l_224[1];
                    int i;
                    for (i = 0; i < 1; i++)
                        l_224[i] = 0x670FL;
                    l_220 = (l_219 = &l_212);
                    for (g_131 = 0; (g_131 >= (-26)); g_131--)
                    { /* block id: 148 */
                        uint8_t *l_225 = (void*)0;
                        uint8_t *l_226 = &g_175;
                        uint32_t *l_229[1][3];
                        int32_t l_231[3];
                        int i, j;
                        for (i = 0; i < 1; i++)
                        {
                            for (j = 0; j < 3; j++)
                                l_229[i][j] = &g_73;
                        }
                        for (i = 0; i < 3; i++)
                            l_231[i] = 2L;
                        l_237 ^= (((((safe_unary_minus_func_uint16_t_u(g_26.f3)) < ((l_224[0] & ((0x77606E3C85DB52F2LL <= g_175) || (l_224[0] ^ ((*l_226) &= p_10)))) == ((safe_rshift_func_int16_t_s_s(((l_230 = (g_73 = p_10)) | l_231[1]), (*g_197))) && ((safe_sub_func_uint32_t_u_u((safe_div_func_uint64_t_u_u((p_10 == (((*g_197) , g_26.f4) , 0xB0E7L)), (~p_10))), 0x996841AEL)) | (*g_197))))) > g_70) , l_236[0][1]) == (void*)0);
                        if (l_237)
                            break;
                    }
                }
                else
                { /* block id: 155 */
                    uint64_t *l_242 = &l_218;
                    int32_t l_245 = 0x1D9DC543L;
                    uint16_t **l_251 = &l_250;
                    int16_t *l_252[1][3];
                    int i, j;
                    for (i = 0; i < 1; i++)
                    {
                        for (j = 0; j < 3; j++)
                            l_252[i][j] = &l_58[2];
                    }
                    if (p_10)
                        break;
                    (*l_220) = ((safe_rshift_func_int8_t_s_s(g_70, (safe_div_func_uint64_t_u_u(p_10, ((*l_242) = 0x94F4C68921B15B01LL))))) == (((*l_219) = (((g_244 = l_243[0]) == (void*)0) , l_245)) , (((safe_add_func_int8_t_s_s((((((safe_lshift_func_uint8_t_u_u(((*g_197) < (g_26.f7 = (((((*l_251) = l_250) == (void*)0) , g_26.f5) , (((*l_219) = 8L) != g_16[0][0])))), 4)) & p_10) == ((safe_div_func_int16_t_s_s(l_245, 1L)) || l_230)) | l_255) , p_10), 0x02L)) , g_26.f1) != (-10L))));
                }
                return p_11;
            }
            else
            { /* block id: 166 */
                union U0 **l_256 = &g_25;
                (*l_256) = p_11;
                for (g_131 = 0; (g_131 == (-14)); g_131 = safe_sub_func_uint16_t_u_u(g_131, 3))
                { /* block id: 170 */
                    return p_9;
                }
            }
            if (p_10)
                break;
        }
    }
    for (g_26.f1 = 17; (g_26.f1 == 18); g_26.f1 = safe_add_func_uint64_t_u_u(g_26.f1, 4))
    { /* block id: 179 */
        const int32_t *l_261 = &g_72;
        const int32_t **l_262 = &l_261;
        (*l_262) = l_261;
    }
    return p_12;
}


/* ------------------------------------------ */
/* 
 * reads : g_26.f3
 * writes: g_26.f3
 */
static union U0 * func_13(uint64_t  p_14, union U0 * p_15)
{ /* block id: 6 */
    uint16_t l_52[3][2] = {{0xD487L, 0xD487L}, {0xD487L, 0xD487L}, {0xD487L, 0xD487L}};
    int i, j;
    for (g_26.f3 = (-11); (g_26.f3 >= 39); g_26.f3++)
    { /* block id: 9 */
        uint8_t l_47 = 0xA4L;
        int32_t l_50 = 0x84502E46L;
        int32_t l_51[1];
        union U0 *l_55 = &g_26;
        int i;
        for (i = 0; i < 1; i++)
            l_51[i] = 0x262954F6L;
        for (p_14 = 0; (p_14 <= 0); p_14 += 1)
        { /* block id: 12 */
            int32_t *l_44 = &g_45;
            int32_t *l_46[1][1];
            int i, j;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 1; j++)
                    l_46[i][j] = &g_45;
            }
            --l_47;
            ++l_52[1][1];
        }
        return l_55;
    }
    return p_15;
}




/* ---------------------------------------- */
int main (void)
{
    int i, j;
    int print_hash_value = 0;
    platform_main_begin();
    crc32_gentab();
    func_1();
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 1; j++)
        {
            transparent_crc(g_16[i][j], "g_16[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_26.f0, "g_26.f0", print_hash_value);
    transparent_crc(g_26.f4, "g_26.f4", print_hash_value);
    transparent_crc(g_26.f6, "g_26.f6", print_hash_value);
    transparent_crc(g_39, "g_39", print_hash_value);
    transparent_crc(g_45, "g_45", print_hash_value);
    transparent_crc(g_69, "g_69", print_hash_value);
    transparent_crc(g_70, "g_70", print_hash_value);
    transparent_crc(g_72, "g_72", print_hash_value);
    transparent_crc(g_73, "g_73", print_hash_value);
    transparent_crc(g_131, "g_131", print_hash_value);
    transparent_crc(g_139, "g_139", print_hash_value);
    transparent_crc(g_170, "g_170", print_hash_value);
    transparent_crc(g_175, "g_175", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            transparent_crc(g_279[i][j], "g_279[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_427, "g_427", print_hash_value);
    transparent_crc(g_452, "g_452", print_hash_value);
    transparent_crc(g_493, "g_493", print_hash_value);
    transparent_crc(g_582, "g_582", print_hash_value);
    transparent_crc(g_611, "g_611", print_hash_value);
    transparent_crc(g_662, "g_662", print_hash_value);
    transparent_crc(g_838, "g_838", print_hash_value);
    transparent_crc(g_876, "g_876", print_hash_value);
    transparent_crc(g_924, "g_924", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 1; j++)
        {
            transparent_crc(g_972[i][j], "g_972[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_978, "g_978", print_hash_value);
    transparent_crc(g_1003, "g_1003", print_hash_value);
    transparent_crc(g_1037, "g_1037", print_hash_value);
    transparent_crc(g_1055, "g_1055", print_hash_value);
    transparent_crc(g_1216, "g_1216", print_hash_value);
    transparent_crc(g_1284, "g_1284", print_hash_value);
    transparent_crc(g_1295, "g_1295", print_hash_value);
    transparent_crc(g_1305, "g_1305", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 473
XXX total union variables: 10

XXX max expression depth: 46
breakdown:
   depth: 1, occurrence: 219
   depth: 2, occurrence: 61
   depth: 3, occurrence: 12
   depth: 4, occurrence: 5
   depth: 5, occurrence: 3
   depth: 6, occurrence: 1
   depth: 7, occurrence: 1
   depth: 9, occurrence: 1
   depth: 10, occurrence: 1
   depth: 13, occurrence: 2
   depth: 17, occurrence: 3
   depth: 18, occurrence: 1
   depth: 20, occurrence: 2
   depth: 22, occurrence: 2
   depth: 23, occurrence: 5
   depth: 24, occurrence: 1
   depth: 26, occurrence: 2
   depth: 27, occurrence: 3
   depth: 28, occurrence: 1
   depth: 30, occurrence: 1
   depth: 31, occurrence: 4
   depth: 32, occurrence: 1
   depth: 46, occurrence: 1

XXX total number of pointers: 254

XXX times a variable address is taken: 98
XXX times a pointer is dereferenced on RHS: 104
breakdown:
   depth: 1, occurrence: 79
   depth: 2, occurrence: 19
   depth: 3, occurrence: 4
   depth: 4, occurrence: 2
XXX times a pointer is dereferenced on LHS: 172
breakdown:
   depth: 1, occurrence: 160
   depth: 2, occurrence: 9
   depth: 3, occurrence: 2
   depth: 4, occurrence: 1
XXX times a pointer is compared with null: 24
XXX times a pointer is compared with address of another variable: 5
XXX times a pointer is compared with another pointer: 7
XXX times a pointer is qualified to be dereferenced: 7802

XXX max dereference level: 6
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 653
   level: 2, occurrence: 112
   level: 3, occurrence: 102
   level: 4, occurrence: 56
   level: 5, occurrence: 12
   level: 6, occurrence: 33
XXX number of pointers point to pointers: 100
XXX number of pointers point to scalars: 140
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 21.3
XXX average alias set size: 1.24

XXX times a non-volatile is read: 999
XXX times a non-volatile is write: 589
XXX times a volatile is read: 0
XXX    times read thru a pointer: 0
XXX times a volatile is write: 0
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 0
XXX percentage of non-volatile access: 100

XXX forward jumps: 0
XXX backward jumps: 8

XXX stmts: 226
XXX max block depth: 5
breakdown:
   depth: 0, occurrence: 15
   depth: 1, occurrence: 26
   depth: 2, occurrence: 40
   depth: 3, occurrence: 50
   depth: 4, occurrence: 50
   depth: 5, occurrence: 45

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

Attachment: dump
Description: Binary data