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

[csmith-dev] Program Hangs



Hi,

I used CSmith to generate random code. However, some programs will hang with the command "./a.out" (The attachment is an example.) while others will correctly print the checksum.

I am not sure whether there is some other configures to let the program print the checksum correctly each time.

Or, could you tell me how I could generate those kind of programs?

Thanks for your help!

Best,
Haihao
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.0.0
 * svn version: exported
 * Options:   (none)
 * Seed:      3575272275
 */

#include "csmith.h"


long __undefined;

/* --- Struct/Union Declarations --- */
/* --- GLOBAL VARIABLES --- */
int32_t g_2 = 0x69FDF99FL;
int32_t g_6 = 0xB7161AB6L;
int32_t *g_9 = &g_2;
volatile int32_t g_50 = 0xE23095C3L;/* VOLATILE GLOBAL g_50 */
int32_t g_51 = 0x5BB0C7F2L;
volatile int32_t g_52 = 0x77734166L;/* VOLATILE GLOBAL g_52 */
uint32_t g_54 = 0xA53D1EDBL;
int32_t g_79 = 0xD56B3832L;
int32_t * volatile g_78 = &g_79;/* VOLATILE GLOBAL g_78 */
int32_t ** volatile g_81 = 0;/* VOLATILE GLOBAL g_81 */
int32_t * volatile g_96[10][9] = {{&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}, {&g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51, &g_51}};
int32_t **g_137 = &g_9;
int32_t ***g_136 = &g_137;
const int32_t *g_157 = &g_2;
const int32_t **g_156 = &g_157;
const int32_t ***g_155 = &g_156;
int32_t * volatile * volatile g_196 = &g_96[6][3];/* VOLATILE GLOBAL g_196 */
const int32_t ***g_206[1][10] = {{&g_156, &g_156, &g_156, &g_156, &g_156, &g_156, &g_156, &g_156, &g_156, &g_156}};
int64_t g_227 = 4L;
int16_t g_286 = 0xDB8EL;
const int32_t ***g_308 = &g_156;
uint32_t g_325 = 4294967295U;
int32_t * volatile * volatile g_412 = &g_96[6][0];/* VOLATILE GLOBAL g_412 */
int32_t * volatile * volatile g_424[5] = {0, 0, 0, 0, 0};
int32_t * volatile * volatile g_425 = &g_9;/* VOLATILE GLOBAL g_425 */
uint8_t g_469 = 0xA7L;
int32_t * const *g_497[2] = {&g_9, &g_9};
int32_t * const **g_496 = &g_497[1];
int32_t *** volatile g_515 = &g_137;/* VOLATILE GLOBAL g_515 */
int32_t * volatile g_580 = &g_51;/* VOLATILE GLOBAL g_580 */
int32_t * volatile * volatile g_628 = 0;/* VOLATILE GLOBAL g_628 */
int32_t * volatile * volatile g_629[1] = {&g_96[9][6]};
int32_t * volatile g_679 = &g_79;/* VOLATILE GLOBAL g_679 */
uint32_t g_714 = 0x83C11645L;
uint64_t g_727 = 9U;
int32_t ** volatile g_766 = &g_9;/* VOLATILE GLOBAL g_766 */
int32_t * volatile * volatile g_969 = &g_9;/* VOLATILE GLOBAL g_969 */
uint32_t g_1087 = 4294967295U;
int32_t *g_1165 = &g_6;
int32_t g_1265 = 0x4115EFA1L;
int32_t * volatile *g_1385 = &g_1165;
int32_t * volatile ** volatile g_1386 = 0;/* VOLATILE GLOBAL g_1386 */
int32_t * volatile ** volatile g_1387[8] = {&g_1385, &g_1385, &g_1385, &g_1385, &g_1385, &g_1385, &g_1385, &g_1385};
int64_t g_1416 = 0xE2C714103E20BC9CLL;
int32_t * const * volatile g_1426 = &g_1165;/* VOLATILE GLOBAL g_1426 */
int32_t * const  volatile g_1545 = 0;/* VOLATILE GLOBAL g_1545 */
int32_t * volatile * const  volatile g_1548[1] = {&g_679};
int32_t ** volatile g_1575[3] = {&g_1165, &g_1165, &g_1165};
int32_t *g_1666[4] = {&g_79, &g_79, &g_79, &g_79};
uint8_t g_1787[7][6] = {{1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}, {1U, 1U, 0U, 1U, 1U, 0U}};


/* --- FORWARD DECLARATIONS --- */
int16_t  func_1(void);
const int32_t * func_10(int32_t  p_11, int32_t * p_12);
int32_t  func_13(uint16_t  p_14, uint8_t  p_15, uint64_t  p_16);
int8_t  func_32(int32_t * p_33, int8_t  p_34, int32_t  p_35);
int64_t  func_36(uint16_t  p_37, int32_t * p_38);
int32_t * func_63(uint64_t  p_64, uint8_t  p_65);
int32_t * func_71(uint16_t  p_72);
int32_t * func_92(int8_t  p_93, int16_t  p_94);
uint16_t  func_117(uint16_t  p_118, int32_t * const ** p_119, int64_t  p_120, int16_t  p_121);
int32_t  func_122(const int32_t *** p_123, int32_t *** p_124, uint64_t  p_125, int8_t  p_126);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_227
 * writes: g_2
 */
int16_t  func_1(void)
{ /* block id: 0 */
    int32_t l_5[7] = {0x6A485BF2L, 0x6A485BF2L, 0xCD795364L, 0x6A485BF2L, 0x6A485BF2L, 0xCD795364L, 0x6A485BF2L};
    int32_t *l_1804 = &g_2;
    int i;
    for (g_2 = (-18); (g_2 != 0); g_2 = safe_add_func_uint64_t_u_u(g_2, 7))
    { /* block id: 3 */
        int i;
    }
    return g_227;
}


/* ------------------------------------------ */
/* 
 * reads : g_580 g_51 g_469 g_227 g_155 g_156 g_157 g_2 g_308 g_412 g_96 g_136 g_137 g_9 g_497 g_6 g_54 g_79 g_727 g_52 g_286 g_714 g_496 g_196 g_766 g_50 g_78 g_325 g_515 g_206 g_629 g_1165 g_679 g_1087 g_1385 g_1545 g_1265 g_1787
 * writes: g_6 g_79 g_51 g_50 g_2 g_54 g_157 g_9 g_714 g_469 g_137 g_52 g_156 g_96 g_497 g_286 g_325 g_1165 g_1416 g_227 g_1087 g_424 g_727
 */
const int32_t * func_10(int32_t  p_11, int32_t * p_12)
{ /* block id: 8 */
    uint64_t l_1528 = 18446744073709551615U;
    int16_t l_1539 = (-1L);
    int32_t ***l_1542 = &g_137;
    uint16_t l_1544[7] = {65528U, 65528U, 0xE9A5L, 65528U, 65528U, 0xE9A5L, 65528U};
    int32_t * volatile l_1549 = &g_51;/* VOLATILE GLOBAL l_1549 */
    const int32_t ***l_1566 = &g_156;
    int16_t l_1595 = (-5L);
    const int32_t *l_1686 = &g_1265;
    const int32_t *l_1761 = 0;
    int8_t l_1771 = 0xF2L;
    const int32_t *l_1800 = &g_2;
    int i;
    if (func_13(0x11FCL, l_1528, (safe_mul_func_int16_t_s_s((safe_rshift_func_uint16_t_u_u((0x00L || ((safe_lshift_func_uint8_t_u_u(p_11, l_1528)) ^ (safe_div_func_int32_t_s_s((*g_580), g_469)))), (safe_rshift_func_uint16_t_u_s((p_11 || (g_227 != (***g_155))), p_11)))), l_1539))))
    { /* block id: 1252 */
        int32_t *l_1540 = &g_79;
        const int32_t ***l_1541 = &g_156;
        int32_t ***l_1543 = &g_137;
        int32_t * volatile *l_1546[1][5];
        int32_t * volatile *l_1547[3];
        uint64_t l_1563 = 18446744073709551608U;
        int64_t l_1578[2][7] = {{0xEA223EB530A83ADCLL, 0xEA223EB530A83ADCLL, 0x960BF9703BEB57FELL, 0xEA223EB530A83ADCLL, 0xEA223EB530A83ADCLL, 0x960BF9703BEB57FELL, 0xEA223EB530A83ADCLL}, {0xEA223EB530A83ADCLL, 0xEA223EB530A83ADCLL, 0x960BF9703BEB57FELL, 0xEA223EB530A83ADCLL, 0xEA223EB530A83ADCLL, 0x960BF9703BEB57FELL, 0xEA223EB530A83ADCLL}};
        uint64_t l_1600[6][8] = {{2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}, {2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}, {2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}, {2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}, {2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}, {2U, 7U, 2U, 7U, 2U, 7U, 2U, 7U}};
        int32_t **l_1617 = &g_1165;
        int64_t l_1679 = 7L;
        int i, j;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 5; j++)
                l_1546[i][j] = &l_1540;
        }
        for (i = 0; i < 3; i++)
            l_1547[i] = 0;
        (*g_1385) = &p_11;
        l_1549 = g_1545;
        if (((*p_12) & (**g_1385)))
        { /* block id: 1255 */
            int32_t *l_1569 = &g_6;
            uint64_t l_1590 = 0xAD2B99272D22B39FLL;
            int32_t ** const *l_1615 = 0;
            int32_t *l_1618[2][2][7];
            int i, j, k;
            for (i = 0; i < 2; i++)
            {
                for (j = 0; j < 2; j++)
                {
                    for (k = 0; k < 7; k++)
                        l_1618[i][j][k] = &g_2;
                }
            }
            for (g_1416 = 0; (g_1416 != 19); g_1416 = safe_add_func_uint16_t_u_u(g_1416, 1))
            { /* block id: 1258 */
                uint32_t l_1559 = 0x2F71E723L;
                int32_t * const l_1574 = 0;
                if ((*p_12))
                    break;
                (*g_1165) = 0x4C388E01L;
                for (g_469 = (-8); (g_469 < 50); g_469 = safe_add_func_int32_t_s_s(g_469, 2))
                { /* block id: 1263 */
                    uint64_t l_1560 = 0xA382DBB6L;
                }
            }
            (*g_1165) |= (safe_div_func_uint32_t_u_u(l_1578[1][1], (*l_1569)));
            for (g_6 = 0; (g_6 <= 5); g_6 = safe_add_func_int8_t_s_s(g_6, 1))
            { /* block id: 1283 */
                int32_t *l_1587 = &g_79;
                for (g_227 = 0; (g_227 < (-21)); g_227 = safe_sub_func_uint16_t_u_u(g_227, 1))
                { /* block id: 1286 */
                    if ((safe_div_func_int16_t_s_s((-1L), g_714)))
                    { /* block id: 1287 */
                        const int32_t *l_1585 = &g_2;
                        return l_1585;
                    }
                    else
                    { /* block id: 1289 */
                        const int32_t *l_1586 = &g_51;
                        return l_1586;
                    }
                }
                (*g_156) = l_1587;
            }
            if ((safe_lshift_func_int8_t_s_u((0 != &g_424[1]), 3)))
            { /* block id: 1295 */
                int64_t l_1603 = 9L;
                int64_t l_1604 = 6L;
                int32_t ***l_1609 = &g_137;
                if (l_1590)
                { /* block id: 1296 */
                    for (g_1087 = 18; (g_1087 > 32); g_1087 = safe_add_func_uint8_t_u_u(g_1087, 1))
                    { /* block id: 1299 */
                        (*l_1569) = (*g_1165);
                        (*l_1540) = (safe_mod_func_uint32_t_u_u((0x0BD41007L | (g_1265 == g_727)), (l_1595 || (safe_lshift_func_uint8_t_u_s((0x26L ^ g_1087), g_325)))));
                    }
                }
                else
                { /* block id: 1303 */
                    int16_t l_1610[3][10][1];
                    int i, j, k;
                    for (i = 0; i < 3; i++)
                    {
                        for (j = 0; j < 10; j++)
                        {
                            for (k = 0; k < 1; k++)
                                l_1610[i][j][k] = 0x7F13L;
                        }
                    }
                    for (l_1539 = (-15); (l_1539 <= 5); l_1539 = safe_add_func_int32_t_s_s(l_1539, 1))
                    { /* block id: 1306 */
                        (*l_1569) ^= (*g_1165);
                        (**g_1385) = (*p_12);
                        (*p_12) &= ((l_1600[0][2] | g_1087) > g_6);
                        (*l_1569) ^= (*p_12);
                    }
                    if ((*p_12))
                    { /* block id: 1312 */
                        int32_t **l_1616 = 0;
                        l_1604 &= l_1603;
                        (*p_12) = ((safe_sub_func_int16_t_s_s(p_11, (((safe_sub_func_int64_t_s_s(func_122(l_1541, l_1609, g_286, p_11), ((*l_1569) || l_1610[2][8][0]))) == (safe_add_func_uint8_t_u_u(((*p_12) != (*p_12)), (g_1265 & g_2)))) >= (safe_add_func_uint64_t_u_u(p_11, (0 == l_1615)))))) > (*l_1540));
                        (**l_1566) = l_1618[0][0][6];
                    }
                    else
                    { /* block id: 1316 */
                        (**g_308) = l_1569;
                    }
                }
            }
            else
            { /* block id: 1320 */
                const int32_t *l_1619 = &g_51;
                (**g_1385) |= (**g_412);
                return l_1619;
            }
        }
        else
        { /* block id: 1324 */
            uint64_t l_1620 = 3U;
            int32_t *l_1632 = &g_6;
            int32_t ***l_1661 = 0;
            int16_t l_1667 = 0L;
            int32_t l_1685 = 0L;
            (**l_1566) = &p_11;
            if (g_469)
                goto lbl_1623;
            if (l_1620)
            { /* block id: 1326 */
                for (g_227 = 0; (g_227 == 12); g_227 = safe_add_func_int8_t_s_s(g_227, 1))
                { /* block id: 1329 */
lbl_1623:
                    (*l_1543) = &p_12;
                    for (g_286 = 0; g_286 < 5; g_286 += 1)
                    {
                        g_424[g_286] = &g_78;
                    }
                    (*p_12) ^= ((func_32((**g_136), (+((safe_mul_func_uint8_t_u_u(p_11, g_52)) ^ p_11)), (**g_137)) > (((***l_1542) < (!(safe_div_func_uint16_t_u_u(g_6, g_714)))) != func_122(&g_156, &g_137, ((g_1087 || p_11) && (p_11 != l_1620)), p_11))) > g_1087);
                }
                (**l_1617) = (safe_div_func_int64_t_s_s(l_1620, g_286));
                p_12 = l_1632;
            }
            else
            { /* block id: 1337 */
                int32_t * const **l_1650 = &g_497[1];
                for (l_1595 = 15; (l_1595 < (-19)); l_1595 = safe_sub_func_int16_t_s_s(l_1595, 9))
                { /* block id: 1340 */
                    uint16_t l_1635 = 0x697AL;
                    (*p_12) &= (~l_1635);
                }
            }
            for (g_6 = 0; (g_6 != (-6)); g_6 = safe_sub_func_uint64_t_u_u(g_6, 1))
            { /* block id: 1368 */
                uint32_t l_1662 = 4294967295U;
                int32_t *l_1665[4][4];
                uint32_t l_1672 = 0xCD385F0CL;
                int i, j;
                for (i = 0; i < 4; i++)
                {
                    for (j = 0; j < 4; j++)
                        l_1665[i][j] = &g_2;
                }
            }
        }
        return l_1686;
    }
    else
    { /* block id: 1383 */
        const uint16_t l_1695 = 0xB4EBL;
        const int32_t ***l_1702 = &g_156;
        int64_t l_1719 = 1L;
        int16_t l_1723 = 0L;
        int32_t l_1767 = 0x5F5B238DL;
        const int32_t *l_1768 = &g_51;
        int8_t l_1788 = 0xDAL;
        int32_t ***l_1799 = &g_137;
        if (((((safe_mul_func_uint8_t_u_u(((safe_mul_func_int8_t_s_s(p_11, g_727)) > (g_227 & g_79)), (safe_sub_func_int8_t_s_s((safe_div_func_uint16_t_u_u(l_1695, p_11)), (&p_11 != &p_11))))) & (safe_sub_func_int8_t_s_s((safe_div_func_uint16_t_u_u((g_1265 && p_11), (-6L))), 0xB2L))) ^ (safe_sub_func_int64_t_s_s(func_122(l_1702, 0, p_11, g_2), ((*l_1566) != (*g_308))))) & ((4294967295U < (p_11 >= (((*l_1686) | l_1695) == (safe_div_func_uint64_t_u_u(g_714, (*l_1686)))))) || (g_714 <= (p_11 && p_11)))))
        { /* block id: 1384 */
            int32_t *l_1712 = 0;
            const int32_t ***l_1718[6][10];
            int32_t ***l_1724 = &g_137;
            int i, j;
            for (i = 0; i < 6; i++)
            {
                for (j = 0; j < 10; j++)
                    l_1718[i][j] = &g_156;
            }
            for (l_1528 = 0; l_1528 < 5; l_1528 += 3)
            { /* block id: 1385 */
                uint16_t l_1717 = 0U;
                for (g_727 = 0; (g_727 >= 50); g_727 = safe_add_func_int8_t_s_s(g_727, 5))
                { /* block id: 1388 */
                    int32_t *l_1722[10];
                    int i;
                    for (i = 0; i < 10; i++)
                        l_1722[i] = 0;
                    for (g_714 = 0; (g_714 == 34); g_714 = safe_add_func_int16_t_s_s(g_714, 1))
                    { /* block id: 1391 */
                        int64_t l_1711 = 0x0A257CE1L;
                        l_1711 &= 2L;
                        (**l_1566) = l_1722[0];
                    }
                    (**g_1385) = (*p_12);
                }
                (*g_412) = 0;
            }
            (*p_12) = ((p_11 == (l_1723 < func_122(l_1702, l_1724, g_1265, g_50))) == (*p_12));
            (*g_766) = &p_11;
            (*l_1549) |= ((safe_add_func_int32_t_s_s((p_11 != (p_11 < ((*p_12) && (p_11 ^ g_2)))), p_11)) >= (*p_12));
        }
        else
        { /* block id: 1402 */
            int32_t ** const *l_1743[4];
            int32_t l_1764 = 0L;
            int i;
            for (i = 0; i < 4; i++)
                l_1743[i] = &g_137;
            for (g_727 = 27; (g_727 != 37); g_727 = safe_add_func_uint64_t_u_u(g_727, 5))
            { /* block id: 1405 */
                int32_t *l_1740 = &g_2;
                const int32_t ***l_1753[9];
                int32_t * const **l_1786 = &g_497[1];
                int i;
                for (i = 0; i < 9; i++)
                    l_1753[i] = &g_156;
                if ((*l_1549))
                { /* block id: 1406 */
                    int32_t ***l_1750 = &g_137;
                    for (g_54 = 0; (g_54 == 9); g_54 = safe_add_func_int16_t_s_s(g_54, 1))
                    { /* block id: 1409 */
                        int32_t * const **l_1735 = 0;
                        (*l_1549) &= ((safe_sub_func_uint16_t_u_u(p_11, (0 != &g_497[1]))) >= ((safe_lshift_func_int16_t_s_s(((g_227 & (p_11 == g_227)) && (safe_lshift_func_int16_t_s_u((&p_11 != l_1740), (safe_rshift_func_uint8_t_u_u((*l_1740), 1))))), (&p_12 == &p_12))) < (l_1702 != l_1743[0])));
                        (**l_1566) = 0;
                        (***g_496) &= (*p_12);
                        (*l_1549) = (safe_lshift_func_uint8_t_u_s(g_52, (g_325 != ((0 == &l_1740) != (safe_rshift_func_int16_t_s_u((g_325 || (l_1743[0] == l_1750)), ((p_11 ^ p_11) == p_11)))))));
                    }
                }
                else
                { /* block id: 1415 */
                    (*g_9) = (*l_1740);
                    (**g_1385) ^= (*p_12);
                }
                if (((p_11 && (0x7BB08DBC5CA0BB62LL & (func_122(0, &g_137, g_79, 0x03L) > (p_11 < g_54)))) != (*l_1740)))
                { /* block id: 1419 */
                    (*p_12) ^= (*p_12);
                    (*l_1549) ^= (-1L);
                    (*p_12) ^= (*p_12);
                    (*g_1165) = (*p_12);
                }
                else
                { /* block id: 1424 */
                    int16_t l_1756 = (-6L);
                    int32_t *l_1760 = &g_79;
                    (*l_1740) = ((safe_lshift_func_int16_t_s_s(((g_469 > (*p_12)) ^ func_122(l_1753[1], 0, ((safe_div_func_uint64_t_u_u(g_1265, l_1756)) > (safe_lshift_func_int16_t_s_u(g_6, 12))), (safe_unary_minus_func_int32_t_s((l_1760 == l_1761))))), (p_11 & (safe_mod_func_uint8_t_u_u(p_11, (1U && (l_1764 ^ p_11))))))) > (safe_add_func_int32_t_s_s(((~(((*l_1760) < g_469) <= (*p_12))) <= g_6), (&p_11 == 0))));
                    (*p_12) = (*p_12);
                    l_1767 = ((-7L) && p_11);
                    return l_1768;
                }
                if ((safe_rshift_func_int8_t_s_s(0xE3L, 3)))
                { /* block id: 1430 */
                    int32_t *l_1776[6][10];
                    int i, j;
                    for (i = 0; i < 6; i++)
                    {
                        for (j = 0; j < 10; j++)
                            l_1776[i][j] = &g_1265;
                    }
                    l_1767 &= (*g_9);
                    (*l_1740) ^= (safe_mod_func_int32_t_s_s(9L, ((&p_12 == &p_12) ^ (*l_1549))));
                }
                else
                { /* block id: 1433 */
                    int16_t l_1783 = 0x66C7L;
                    const int32_t *l_1790 = &g_6;
                    int16_t l_1791 = (-1L);
                    int i, j;
                    (**g_1385) = (**g_1385);
                    for (g_286 = 0; (g_286 < 3); g_286 = safe_add_func_int16_t_s_s(g_286, 6))
                    { /* block id: 1437 */
                        (*l_1549) = (l_1783 < p_11);
                        (***g_496) = ((1U <= l_1783) & g_52);
                    }
                    if (func_122(l_1753[3], 0, g_1265, (g_6 ^ p_11)))
                    { /* block id: 1441 */
                        int32_t * const **l_1789 = &g_497[1];
                        (***g_496) = 0xA72C1450L;
                        (*l_1549) &= (safe_lshift_func_uint16_t_u_u((l_1783 == (l_1783 != l_1788)), (0 != &g_412)));
                        (*g_1165) = (*p_12);
                        return l_1790;
                    }
                    else
                    { /* block id: 1446 */
                        (**g_1385) |= (l_1542 == 0);
                        (***l_1786) |= (&g_1575[0] != l_1743[0]);
                        l_1791 = 0xB8651D60L;
                        (***g_496) |= (*p_12);
                    }
                    for (g_1416 = 2; g_1416 < 7; g_1416 += 1)
                    {
                        for (l_1528 = 5; l_1528 < 6; l_1528 += 1)
                        { /* block id: 1452 */
                            (*p_12) |= (*p_12);
                        }
                    }
                }
            }
        }
        for (g_286 = 21; (g_286 == 19); g_286 = safe_sub_func_uint32_t_u_u(g_286, 1))
        { /* block id: 1460 */
            int32_t *l_1798 = &g_51;
            (*l_1798) ^= (0xCFDE90F8CE6753C1LL >= ((safe_div_func_uint32_t_u_u(0xD7CE876CL, g_52)) == (!g_227)));
            (*l_1798) = func_122(&g_156, l_1799, (*l_1798), g_1787[3][2]);
        }
        (**g_155) = &p_11;
        (*p_12) |= (*l_1686);
    }
    return l_1800;
}


/* ------------------------------------------ */
/* 
 * reads : g_308 g_156 g_157 g_2 g_412 g_96 g_51 g_136 g_137 g_9 g_497 g_6 g_155 g_54 g_79 g_727 g_52 g_286 g_714 g_496 g_196 g_766 g_50 g_469 g_227 g_78 g_325 g_515 g_206 g_629 g_1165 g_679 g_1087
 * writes: g_6 g_79 g_51 g_50 g_2 g_54 g_157 g_9 g_714 g_469 g_137 g_52 g_156 g_96 g_497 g_286 g_325 g_1165
 */
int32_t  func_13(uint16_t  p_14, uint8_t  p_15, uint64_t  p_16)
{ /* block id: 9 */
    int64_t l_19 = 5L;
    int32_t *l_28 = &g_6;
    int32_t * const **l_1163 = &g_497[1];
    int8_t l_1235 = (-8L);
    uint64_t l_1338[7][3];
    int32_t * volatile l_1410 = 0;/* VOLATILE GLOBAL l_1410 */
    uint8_t l_1437 = 2U;
    const int32_t ***l_1467 = &g_156;
    int i, j;
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 3; j++)
            l_1338[i][j] = 0x66592687L;
    }
    if ((safe_lshift_func_int16_t_s_s(((l_19 & 252U) != 0x863CC1DAL), 9)))
    { /* block id: 10 */
        int64_t l_23[7];
        int32_t *l_1184 = &g_6;
        uint64_t l_1198 = 18446744073709551607U;
        int i, j;
        for (i = 0; i < 7; i++)
            l_23[i] = 1L;
        for (g_6 = 26; (g_6 <= 23); g_6 = safe_sub_func_int16_t_s_s(g_6, 5))
        { /* block id: 13 */
            int64_t l_22 = (-1L);
            int32_t ***l_1160 = 0;
            int i;
            if (l_22)
                break;
        }
        (*l_28) = (***g_308);
        for (g_79 = 0; g_79 < 2; g_79 += 2)
        { /* block id: 976 */
            uint32_t l_1197 = 0xB228185CL;
            (*l_28) &= (l_1198 >= l_1197);
            return p_14;
        }
        for (g_51 = 2; g_51 < 10; g_51 += 1)
        {
            for (g_50 = 4; g_50 < 9; g_50 += 1)
            { /* block id: 980 */
                (***g_136) = (**g_412);
                if (p_15)
                    continue;
                return p_15;
            }
        }
    }
    else
    { /* block id: 985 */
        int64_t l_1199[2];
        int32_t l_1200 = 6L;
        uint8_t l_1225 = 255U;
        int32_t **l_1242 = &g_1165;
        int32_t *l_1245 = &g_79;
        int i;
        for (i = 0; i < 2; i++)
            l_1199[i] = 0xC94128FB6E095366LL;
        l_1200 &= l_1199[1];
        (**g_155) = func_63(p_15, (safe_rshift_func_uint16_t_u_u((***l_1163), p_14)));
        for (g_2 = 0; g_2 < 1; g_2 += 1)
        { /* block id: 988 */
            int16_t l_1205 = (-1L);
            int32_t ***l_1218 = &g_137;
            int8_t l_1243 = 9L;
            int32_t l_1244[5][7][1];
            int i, j, k;
            for (i = 0; i < 5; i++)
            {
                for (j = 0; j < 7; j++)
                {
                    for (k = 0; k < 1; k++)
                        l_1244[i][j][k] = (-2L);
                }
            }
            if (((***l_1163) ^ l_1205))
            { /* block id: 989 */
                uint32_t l_1216 = 4294967291U;
                int32_t ***l_1217 = 0;
                int32_t *l_1226 = &l_1200;
                for (g_714 = 0; (g_714 >= 23); g_714 = safe_add_func_int32_t_s_s(g_714, 1))
                { /* block id: 992 */
                    int i;
                }
                if (l_1205)
                    goto lbl_1227;
lbl_1227:
                (*l_1226) &= (p_14 < func_32(func_92((safe_rshift_func_uint8_t_u_s((safe_rshift_func_uint8_t_u_u((g_6 | (*l_28)), 3)), (safe_div_func_uint16_t_u_u((+p_15), p_14)))), (***l_1218)), p_14, l_1225));
                for (g_286 = 16; (g_286 <= (-9)); g_286 = safe_sub_func_uint64_t_u_u(g_286, 6))
                { /* block id: 1003 */
                    for (l_1225 = 0; (l_1225 > 53); l_1225 = safe_add_func_uint32_t_u_u(l_1225, 1))
                    { /* block id: 1006 */
                        (*l_28) ^= p_15;
                    }
                }
                if ((**g_196))
                { /* block id: 1010 */
                    int32_t l_1232 = 0L;
                    (*l_1226) ^= l_1232;
                }
                else
                { /* block id: 1012 */
                    uint8_t l_1236 = 6U;
                    l_1236 |= ((safe_lshift_func_uint8_t_u_s(l_1235, 2)) >= g_54);
                }
            }
            else
            { /* block id: 1015 */
                int32_t **l_1241 = &g_9;
                l_1244[0][1][0] ^= (safe_div_func_uint64_t_u_u((((l_1241 == g_629[(uint32_t)(g_2) % 1]) || (!((l_1242 == (*l_1163)) & p_14))) == (func_32((*l_1242), (***l_1218), (-6L)) && ((((**l_1241) | (**l_1242)) == l_1243) && ((g_727 || p_16) < 0xE318667D5EA3B52ELL)))), (**l_1241)));
            }
            (*l_1242) = l_1245;
            return (**g_196);
        }
    }
    if (func_32(l_28, (***l_1163), 0L))
    { /* block id: 1022 */
        int32_t *l_1259 = &g_2;
        int32_t *l_1290 = &g_2;
        int32_t *l_1316 = &g_2;
        int32_t ***l_1328[2];
        const int32_t ***l_1333 = &g_156;
        int32_t * const **l_1340 = &g_497[1];
        int32_t *l_1361[7];
        int64_t l_1421 = (-1L);
        uint64_t l_1442 = 18446744073709551615U;
        int i;
        for (i = 0; i < 2; i++)
            l_1328[i] = &g_137;
        for (i = 0; i < 7; i++)
            l_1361[i] = 0;
    }
    else
    { /* block id: 1194 */
        int32_t *l_1449[8];
        int32_t ***l_1460 = &g_137;
        int32_t ***l_1468 = &g_137;
        const int32_t l_1487 = 0x506BAC26L;
        int32_t *l_1505 = &g_51;
        const uint64_t l_1510 = 1U;
        uint64_t l_1521 = 1U;
        int i;
        for (i = 0; i < 8; i++)
            l_1449[i] = 0;
        for (g_6 = (-8); (g_6 == 21); g_6 = safe_add_func_int32_t_s_s(g_6, 1))
        { /* block id: 1197 */
            uint8_t l_1472 = 249U;
            int32_t * const *l_1473 = &g_1165;
            const int32_t ***l_1483 = 0;
        }
        for (g_79 = 0; (g_79 >= 10); g_79 = safe_add_func_uint16_t_u_u(g_79, 9))
        { /* block id: 1244 */
            int32_t **l_1500 = &g_9;
            (*g_1165) ^= (***l_1468);
            (**l_1500) &= ((*l_1460) != l_1500);
        }
        l_1521 &= (safe_sub_func_uint8_t_u_u((safe_add_func_uint64_t_u_u(((**l_1467) == l_1505), (((safe_sub_func_int16_t_s_s(((***l_1460) > g_51), (p_16 && p_14))) || g_227) > ((safe_add_func_int16_t_s_s((+p_15), (g_51 ^ (***l_1468)))) < ((p_15 || p_15) != l_1510))))), ((+g_286) && ((safe_add_func_int32_t_s_s((safe_div_func_int16_t_s_s((safe_div_func_uint64_t_u_u(g_50, g_2)), g_79)), (safe_mod_func_uint64_t_u_u((safe_rshift_func_uint8_t_u_u(p_14, (***l_1467))), 0xE408EA6936D10EC8LL)))) | p_16))));
        (*g_1165) ^= (~(safe_rshift_func_uint16_t_u_u((18446744073709551607U >= (safe_mul_func_int8_t_s_s(((*g_679) > func_122(&g_156, &g_137, g_1087, (***l_1468))), (+(safe_rshift_func_int16_t_s_s(g_227, 15)))))), 7)));
    }
    return (***l_1163);
}


/* ------------------------------------------ */
/* 
 * reads : g_6
 * writes: g_6 g_51 g_1265
 */
int8_t  func_32(int32_t * p_33, int8_t  p_34, int32_t  p_35)
{ /* block id: 19 */
    uint64_t l_1156 = 0xC2F3F2D6L;
    (*p_33) = ((~g_6) & p_34);
    return l_1156;
}


/* ------------------------------------------ */
/* 
 * reads : g_6 g_2 g_308 g_156 g_137 g_766 g_9 g_79 g_157 g_51 g_227 g_136 g_54 g_52 g_497 g_155 g_50 g_78 g_96 g_196 g_206 g_286 g_325 g_412 g_469 g_714 g_425 g_727
 * writes: g_157 g_9 g_79 g_54 g_156 g_96 g_51 g_497 g_286 g_325 g_52 g_50
 */
int64_t  func_36(uint16_t  p_37, int32_t * p_38)
{ /* block id: 20 */
    uint16_t l_45 = 0x5D90L;
    int32_t *l_47[5][5][2];
    int32_t ***l_1036 = &g_137;
    int32_t ** const l_1053 = &l_47[0][2][0];
    int64_t l_1069 = 2L;
    uint64_t l_1088 = 0U;
    uint32_t l_1127[10][8] = {{4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}, {4294967295U, 0x64010103L, 0U, 0x64010103L, 4294967295U, 0xE0B65803L, 4294967295U, 0x64010103L}};
    const int32_t ***l_1141[5];
    int32_t * const **l_1146 = &g_497[1];
    int i, j, k;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            for (k = 0; k < 2; k++)
                l_47[i][j][k] = &g_2;
        }
    }
    for (i = 0; i < 5; i++)
        l_1141[i] = 0;
    if (((safe_lshift_func_uint16_t_u_u((safe_mod_func_int32_t_s_s((&g_2 != 0), ((safe_lshift_func_uint8_t_u_s(g_6, (p_37 != l_45))) | 5L))), g_2)) < (p_37 & 0x0FA2E85C68AB8AC2LL)))
    { /* block id: 21 */
        uint8_t l_46[9] = {255U, 255U, 0x18L, 255U, 255U, 0x18L, 255U, 255U, 0x18L};
        const int32_t l_1041 = 1L;
        int i;
        for (p_37 = 0; p_37 < 9; p_37 += 9)
        { /* block id: 22 */
            uint16_t l_62[3][3][7] = {{{1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}}, {{1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}}, {{1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}, {1U, 0x8FB8L, 65535U, 0x8FB8L, 1U, 65535U, 1U}}};
            const int32_t *l_1039 = 0;
            int32_t l_1050 = 1L;
            const int32_t ***l_1067[2];
            int32_t ***l_1068 = 0;
            int32_t * const **l_1072 = &g_497[0];
            int64_t l_1083 = 1L;
            int i, j, k;
            for (i = 0; i < 2; i++)
                l_1067[i] = 0;
            (*p_38) = (*p_38);
        }
        (*p_38) = l_1088;
    }
    else
    { /* block id: 889 */
        int32_t *l_1089 = &g_51;
        const int32_t ***l_1092[2][3];
        int32_t ***l_1093 = &g_137;
        int32_t *l_1104[3];
        int32_t * volatile l_1113 = &g_79;/* VOLATILE GLOBAL l_1113 */
        uint8_t l_1154 = 1U;
        int32_t * const **l_1155 = &g_497[0];
        int i, j;
        for (i = 0; i < 2; i++)
        {
            for (j = 0; j < 3; j++)
                l_1092[i][j] = &g_156;
        }
        for (i = 0; i < 3; i++)
            l_1104[i] = &g_51;
        (**g_308) = l_1089;
        (*p_38) = (safe_div_func_uint32_t_u_u(func_122(l_1092[0][1], l_1093, ((*l_1036) == (*l_1036)), (p_38 != (*g_766))), (*p_38)));
        if ((**g_156))
        { /* block id: 892 */
            int32_t *l_1102 = &g_6;
            int32_t * const **l_1103[9][6];
            int i, j;
            for (i = 0; i < 9; i++)
            {
                for (j = 0; j < 6; j++)
                    l_1103[i][j] = &g_497[1];
            }
            (*p_38) = (*p_38);
            for (l_1088 = (-11); (l_1088 <= 41); l_1088 = safe_add_func_uint32_t_u_u(l_1088, 1))
            { /* block id: 896 */
                p_38 = p_38;
            }
            (*p_38) &= (~(safe_mod_func_uint64_t_u_u((safe_mul_func_uint16_t_u_u(func_117(((safe_lshift_func_uint16_t_u_u(g_227, 7)) < ((**g_308) != l_1102)), l_1103[1][0], p_37, ((-7L) ^ (l_1104[0] == (*g_766)))), 0x4C4BL)), (safe_rshift_func_uint16_t_u_s(p_37, (g_469 >= ((*p_38) && (!p_37))))))));
            for (g_50 = 5; g_50 < 10; g_50 += 1)
            {
                for (g_325 = 0; g_325 < 9; g_325 += 1)
                { /* block id: 900 */
                    int32_t ***l_1124 = &g_137;
                    (*g_156) = p_38;
                    if ((g_52 < g_54))
                    { /* block id: 902 */
                        int i;
                        (*p_38) = 3L;
                        for (l_1069 = 0; l_1069 < 2; l_1069 += 1)
                        { /* block id: 904 */
                            (*p_38) |= (-9L);
                        }
                        if ((safe_mul_func_uint16_t_u_u(9U, (safe_mul_func_int8_t_s_s(g_469, (safe_sub_func_int16_t_s_s(8L, (((p_37 & g_54) != 0x1EL) == p_37))))))))
                        { /* block id: 907 */
                            return p_37;
                        }
                        else
                        { /* block id: 909 */
                            l_1113 = (*g_196);
                            (*p_38) |= (*p_38);
                            (**g_155) = p_38;
                            (*p_38) |= (safe_lshift_func_uint8_t_u_s(((((&g_96[(uint32_t)(g_50) % 10][(g_325) % 9] != &g_96[(uint32_t)(g_50) % 10][(g_325) % 9]) < ((*l_1113) | g_714)) != g_286) < 0L), (safe_div_func_int32_t_s_s((((safe_mod_func_int16_t_s_s(p_37, g_54)) < ((*p_38) || (safe_add_func_int16_t_s_s(p_37, p_37)))) >= (func_122(&g_156, l_1124, p_37, 1L) <= (safe_add_func_uint64_t_u_u((**l_1053), ((*p_38) != l_1127[7][0]))))), (**l_1053)))));
                        }
                    }
                    else
                    { /* block id: 915 */
                        int64_t l_1132 = 0x450C51B1L;
                        int32_t l_1133 = 2L;
                        if ((*g_78))
                        { /* block id: 916 */
                            const int32_t ***l_1128 = &g_156;
                            int32_t *l_1129 = 0;
                            int32_t * volatile *l_1140[2];
                            int i;
                            for (i = 0; i < 2; i++)
                                l_1140[i] = &l_1089;
                            l_1133 = ((&g_424[2] == 0) & func_122(l_1128, l_1036, (g_79 < func_122(&g_156, &g_137, p_37, (0 != l_1129))), ((((-4L) & p_37) || ((safe_div_func_uint16_t_u_u(l_1132, g_52)) || 0x7A13E05CL)) && p_37)));
                            (*l_1089) &= (*p_38);
                            (*p_38) = ((g_96[(uint32_t)(g_50) % 10][(g_325) % 9] != (*g_137)) == (((safe_mod_func_uint8_t_u_u((safe_sub_func_int16_t_s_s(1L, (!p_37))), ((l_1132 > p_37) | (safe_div_func_uint8_t_u_u(g_286, (***l_1124)))))) == g_79) < 0x7D501F8555323DAFLL));
                            l_1113 = (*g_425);
                        }
                        else
                        { /* block id: 921 */
                            return l_1132;
                        }
                    }
                    (*l_1089) = func_122(l_1141[1], l_1124, g_714, (((safe_rshift_func_uint8_t_u_u((***l_1124), ((p_37 > g_727) > (p_37 < g_727)))) | g_79) < (g_54 > g_6)));
                }
            }
        }
        else
        { /* block id: 927 */
            int64_t l_1153 = 2L;
            (*g_156) = (**l_1093);
            (*l_1113) |= ((*l_1155) == &p_38);
        }
        (*p_38) |= (*p_38);
    }
    return p_37;
}


/* ------------------------------------------ */
/* 
 * reads : g_156 g_6 g_155 g_54 g_79 g_727 g_52 g_497 g_136 g_137 g_286 g_714 g_9 g_496 g_51 g_196 g_96 g_2 g_766 g_50 g_469 g_227
 * writes: g_54 g_51 g_50 g_157 g_9
 */
int32_t * func_63(uint64_t  p_64, uint8_t  p_65)
{ /* block id: 35 */
    uint64_t l_66[5] = {18446744073709551613U, 18446744073709551615U, 18446744073709551613U, 18446744073709551615U, 18446744073709551613U};
    int32_t l_70 = 0x48F3BEA0L;
    const int32_t ***l_862 = &g_156;
    int8_t l_880[2];
    uint64_t l_892 = 0xE443998FE91FF182LL;
    uint8_t l_906 = 1U;
    int32_t ***l_907[2][7][5];
    int64_t l_944 = 4L;
    int32_t *l_1006[5];
    int32_t *l_1020 = 0;
    int16_t l_1021 = (-1L);
    uint16_t l_1025 = 0x039BL;
    const uint16_t l_1030 = 0xAD84L;
    int64_t l_1031 = 0x72D59E02L;
    int32_t *l_1032 = &l_70;
    int i, j, k;
    for (i = 0; i < 2; i++)
        l_880[i] = 7L;
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 7; j++)
        {
            for (k = 0; k < 5; k++)
                l_907[i][j][k] = &g_137;
        }
    }
    for (i = 0; i < 5; i++)
        l_1006[i] = 0;
    for (g_54 = 0; g_54 < 5; g_54 += 3)
    { /* block id: 36 */
        int64_t l_836 = 0xFE5EB833L;
        int32_t l_837 = (-4L);
        int32_t l_850 = 0xE52DD5E0L;
        const int32_t ***l_853 = &g_156;
        int32_t ***l_863[10];
        uint16_t l_875 = 0xCBA3L;
        int i;
        for (i = 0; i < 10; i++)
            l_863[i] = &g_137;
        for (g_51 = 27; (g_51 >= (-20)); g_51 = safe_sub_func_int64_t_s_s(g_51, 1))
        { /* block id: 39 */
            int32_t *l_833 = 0;
            int32_t l_855 = 6L;
            int64_t l_857 = 1L;
            int i;
            for (g_50 = 4; g_50 < 5; g_50 += 2)
            { /* block id: 40 */
                int32_t *l_69[6][1];
                int i, j;
                for (i = 0; i < 6; i++)
                {
                    for (j = 0; j < 1; j++)
                        l_69[i][j] = &g_51;
                }
                l_70 = 0x2BD63ADBL;
                (*g_156) = l_833;
                l_70 ^= (safe_rshift_func_uint16_t_u_s(1U, 3));
            }
            l_837 = l_836;
            for (p_64 = (-20); (p_64 <= 45); p_64 = safe_add_func_uint32_t_u_u(p_64, 1))
            { /* block id: 712 */
                int16_t l_844 = 0x10D3L;
                int32_t * const **l_849 = &g_497[1];
                for (l_837 = 5; (l_837 <= 22); l_837 = safe_add_func_int16_t_s_s(l_837, 1))
                { /* block id: 715 */
                    int32_t l_854 = 8L;
                    int32_t * const **l_856[8][9];
                    int i, j;
                    for (i = 0; i < 8; i++)
                    {
                        for (j = 0; j < 9; j++)
                            l_856[i][j] = 0;
                    }
                    l_850 ^= (safe_mod_func_uint8_t_u_u(l_844, (safe_rshift_func_int8_t_s_s((g_6 == p_65), 4))));
                    (**g_155) = &l_854;
                    l_855 ^= l_66[(g_54) % 5];
                    (**l_853) = &l_855;
                }
                l_855 = (safe_sub_func_int64_t_s_s(func_122(l_862, l_863[5], l_66[(g_54) % 5], p_65), (safe_unary_minus_func_uint32_t_u((safe_div_func_int8_t_s_s(((safe_lshift_func_int16_t_s_s(g_727, (safe_mod_func_int8_t_s_s(l_66[(g_54) % 5], p_64)))) & l_66[((g_54 + 2)) % 5]), ((safe_sub_func_int16_t_s_s(g_52, g_54)) || (((*l_849) != (*g_136)) & (p_65 <= g_6)))))))));
            }
        }
        l_70 = l_66[((g_54 + 1)) % 5];
    }
    if ((((p_64 < (safe_sub_func_int64_t_s_s(((safe_div_func_int16_t_s_s(g_286, g_714)) < (-1L)), (-1L)))) & (safe_mul_func_int8_t_s_s(p_64, p_65))) ^ p_64))
    { /* block id: 741 */
        uint64_t l_895 = 9U;
        int32_t *l_896 = &l_70;
        int32_t *l_927 = 0;
        int32_t ***l_928 = &g_137;
        const int32_t ***l_966 = &g_156;
        int i;
lbl_997:
        (*g_156) = l_896;
        for (g_51 = 0; g_51 < 1; g_51 += 1)
        { /* block id: 743 */
            int32_t *l_913 = &l_70;
            int32_t ***l_926 = &g_137;
            int16_t l_949 = 0xD949L;
            int32_t *l_954[10];
            int i;
            for (i = 0; i < 10; i++)
                l_954[i] = &g_79;
            for (g_54 = 0; (g_54 != 38); g_54 = safe_add_func_int16_t_s_s(g_54, 2))
            { /* block id: 746 */
                const int32_t ***l_911 = 0;
                int32_t ***l_912 = &g_137;
                int32_t l_967[2];
                int i;
                for (i = 0; i < 2; i++)
                    l_967[i] = (-2L);
                (**g_155) = (*g_137);
            }
            if (g_286)
                goto lbl_997;
            return (*g_137);
        }
    }
    else
    { /* block id: 820 */
        int32_t *l_1001[9];
        int32_t * const *l_1000[9];
        int32_t ***l_1013 = &g_137;
        int32_t ***l_1024 = &g_137;
        int i;
        for (i = 0; i < 9; i++)
            l_1001[i] = &g_6;
        for (i = 0; i < 9; i++)
            l_1000[i] = &l_1001[0];
        if (((func_122(l_862, l_907[1][2][2], ((func_122(l_862, &g_137, g_79, g_727) > (safe_sub_func_uint64_t_u_u(p_65, p_64))) | ((l_1000[3] == (*g_496)) & (safe_div_func_int8_t_s_s(p_65, g_51)))), g_727) >= p_65) & (safe_lshift_func_uint16_t_u_u(9U, ((l_1006[2] == 0) & (**g_196))))))
        { /* block id: 821 */
            const int32_t ***l_1012[6];
            int i;
            for (i = 0; i < 6; i++)
                l_1012[i] = &g_156;
            for (l_70 = 0; (l_70 >= 17); l_70 = safe_add_func_uint16_t_u_u(l_70, 9))
            { /* block id: 824 */
                int32_t *l_1011 = &g_6;
                int i;
                for (p_65 = 0; p_65 < 5; p_65 += 1)
                { /* block id: 825 */
                    int16_t l_1009 = 1L;
                    int32_t l_1010 = 0xAAD976FDL;
                    l_1009 &= l_66[(p_65) % 5];
                    l_1010 = l_1009;
                }
                return l_1011;
            }
            l_1021 = ((p_65 < func_122(l_1012[2], l_1013, g_6, p_64)) > (safe_mod_func_int32_t_s_s(((1U == (g_2 == p_64)) | p_65), (safe_sub_func_uint32_t_u_u((safe_sub_func_uint16_t_u_u(p_65, (!(l_1020 != (*g_196))))), p_65)))));
        }
        else
        { /* block id: 832 */
            for (g_54 = 20; (g_54 <= 43); g_54 = safe_add_func_uint8_t_u_u(g_54, 5))
            { /* block id: 835 */
                if ((**g_766))
                    break;
            }
        }
        l_1025 &= func_122(&g_156, l_1024, g_727, func_122(l_862, 0, g_52, g_54));
        l_1031 |= ((safe_div_func_int16_t_s_s((g_50 || (safe_rshift_func_int8_t_s_u(func_122(&g_156, l_907[1][1][3], 0x082E4CF00D56E85CLL, g_286), ((~p_64) || (g_469 | p_65))))), g_227)) ^ l_1030);
    }
    return (**g_136);
}


/* ------------------------------------------ */
/* 
 * reads : g_2 g_51 g_78 g_9 g_52 g_136 g_137 g_155 g_156 g_157 g_79 g_6 g_286 g_496 g_227 g_497 g_766 g_714 g_54 g_727 g_580 g_50 g_515 g_308 g_679
 * writes: g_79 g_52 g_54 g_50 g_157 g_9 g_96 g_497 g_469 g_51 g_325
 */
int32_t * func_71(uint16_t  p_72)
{ /* block id: 42 */
    uint8_t l_88 = 0xDBL;
    int32_t *l_569 = &g_6;
    int32_t ***l_572 = &g_137;
    uint32_t l_610[3][6] = {{0U, 0x5D42DA24L, 0U, 0x5D42DA24L, 0U, 0x5D42DA24L}, {0U, 0x5D42DA24L, 0U, 0x5D42DA24L, 0U, 0x5D42DA24L}, {0U, 0x5D42DA24L, 0U, 0x5D42DA24L, 0U, 0x5D42DA24L}};
    int32_t l_637 = 0xBC4EEEF8L;
    uint64_t l_657 = 0xF2FA626CL;
    int32_t * const **l_667 = &g_497[0];
    uint16_t l_668[4][2][2];
    uint64_t l_722 = 0x2B7D35A6557FA8D2LL;
    int32_t l_741 = 2L;
    int16_t l_744 = (-1L);
    uint8_t l_754 = 0x40L;
    const int32_t ***l_772 = &g_156;
    int32_t ***l_773[5];
    uint32_t l_801 = 0U;
    const uint16_t l_830 = 0x6DE5L;
    int i, j, k;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 2; j++)
        {
            for (k = 0; k < 2; k++)
                l_668[i][j][k] = 65535U;
        }
    }
    for (i = 0; i < 5; i++)
        l_773[i] = &g_137;
    if ((safe_sub_func_uint8_t_u_u(p_72, g_2)))
    { /* block id: 43 */
        int32_t *l_83 = &g_79;
        int32_t ***l_601 = 0;
        int32_t l_602 = 0x33ED00E4L;
        int32_t * volatile l_631 = &l_602;/* VOLATILE GLOBAL l_631 */
        int i;
        if (p_72)
        { /* block id: 44 */
            int8_t l_77 = 0xC5L;
            (*g_78) &= (safe_div_func_uint16_t_u_u((0x9813DA773CE50763LL >= l_77), g_51));
        }
        else
        { /* block id: 46 */
            int32_t *l_80 = 0;
            int32_t **l_82[5];
            uint32_t l_89 = 3U;
            const int32_t ***l_571 = &g_156;
            int i;
            for (i = 0; i < 5; i++)
                l_82[i] = 0;
            l_83 = l_80;
            for (g_52 = 1; g_52 < 5; g_52 += 1)
            { /* block id: 48 */
                int32_t *l_84 = 0;
                int8_t l_91 = 0xD2L;
                l_84 = 0;
                if ((*g_9))
                { /* block id: 50 */
                    uint16_t l_570 = 0x80C3L;
                    for (g_54 = 0; (g_54 >= 29); g_54 = safe_add_func_int16_t_s_s(g_54, 1))
                    { /* block id: 53 */
                        int64_t l_87 = 0xDA5920033C814B4FLL;
                        int32_t l_90[7];
                        int i;
                        for (i = 0; i < 7; i++)
                            l_90[i] = 1L;
                        l_87 &= (&g_78 != l_82[(uint32_t)(g_52) % 5]);
                        l_88 &= (-6L);
                        l_90[6] = l_89;
                    }
                    for (g_50 = 0; g_50 < 5; g_50 += 1)
                    {
                        l_82[g_50] = &g_9;
                    }
                    if (l_91)
                    { /* block id: 59 */
                        int32_t *l_568 = &g_51;
                        l_568 = (**g_136);
                        return l_569;
                    }
                    else
                    { /* block id: 489 */
                        uint64_t l_573 = 8U;
                        int32_t l_574 = (-10L);
                        l_570 &= (g_51 && 0xAB2DB70A0AF8E335LL);
                        (**g_155) = (**g_155);
                        (*g_137) = l_83;
                        l_574 = func_122(l_571, l_572, p_72, l_573);
                    }
                }
                else
                { /* block id: 495 */
                    int32_t l_577 = 0x8D6763D6L;
                    int i;
                    for (l_91 = 0; l_91 < 5; l_91 += 1)
                    { /* block id: 496 */
                        return (*g_137);
                    }
                    l_577 = (g_51 ^ ((safe_mul_func_int8_t_s_s(func_122(&g_156, l_572, 0x91B9240E7D5C2A6FLL, 0xBFL), g_6)) <= 0x09C7L));
                    for (l_88 = 0; l_88 < 10; l_88 += 1)
                    {
                        for (l_577 = 0; l_577 < 9; l_577 += 1)
                        {
                            g_96[l_88][l_577] = 0;
                        }
                    }
                }
            }
        }
        for (g_52 = 0; g_52 < 2; g_52 += 1)
        { /* block id: 504 */
            uint8_t l_578 = 0U;
            int32_t ***l_579 = &g_137;
            const int32_t ***l_583 = 0;
            int32_t l_600[3];
            int32_t * volatile l_643 = &l_637;/* VOLATILE GLOBAL l_643 */
            int i;
            for (i = 0; i < 3; i++)
                l_600[i] = 0x8B67D052L;
        }
    }
    else
    { /* block id: 566 */
        return (**l_572);
    }
    if ((((safe_sub_func_int64_t_s_s((p_72 && 4294967295U), (safe_div_func_uint64_t_u_u((&g_629[0] != l_572), (*l_569))))) | 0x9AC9447E6B7E79F3LL) | (***l_572)))
    { /* block id: 569 */
        return (*g_137);
    }
    else
    { /* block id: 571 */
        uint16_t l_650[10][3][1];
        int32_t l_651 = (-10L);
        int i, j, k;
        for (i = 0; i < 10; i++)
        {
            for (j = 0; j < 3; j++)
            {
                for (k = 0; k < 1; k++)
                    l_650[i][j][k] = 1U;
            }
        }
        l_650[5][0][0] = (***l_572);
        if (g_2)
            goto lbl_652;
lbl_652:
        l_651 ^= p_72;
        l_651 &= p_72;
    }
    l_637 = ((***l_572) == ((safe_mod_func_uint8_t_u_u((safe_mod_func_uint32_t_u_u(l_657, (*l_569))), (safe_mul_func_int16_t_s_s((+(g_51 ^ p_72)), (0 != (**l_572)))))) || (safe_mod_func_int64_t_s_s((safe_div_func_int16_t_s_s(g_286, (safe_unary_minus_func_int32_t_s(((*l_569) != p_72))))), 0x53CA5C6A399E1319LL))));
    if ((safe_add_func_uint8_t_u_u(((***l_572) >= l_668[2][1][0]), g_286)))
    { /* block id: 578 */
        int32_t *l_669[9];
        int64_t l_674[6];
        int i;
        for (i = 0; i < 9; i++)
            l_669[i] = 0;
        for (i = 0; i < 6; i++)
            l_674[i] = 0L;
        (*g_496) = (*g_136);
        (**l_572) = l_669[7];
        for (g_79 = 0; (g_79 != 7); g_79 = safe_add_func_uint32_t_u_u(g_79, 1))
        { /* block id: 583 */
            (*g_156) = l_669[7];
        }
        l_674[0] &= (safe_div_func_uint64_t_u_u(p_72, 0xCD1B99F690CBBE0CLL));
    }
    else
    { /* block id: 587 */
        uint64_t l_683 = 0xF430CC14L;
        int32_t *l_684[10][2];
        int32_t ***l_701 = &g_137;
        const int32_t ***l_704 = 0;
        uint64_t l_770 = 0xB537B449L;
        uint8_t l_774 = 0xC3L;
        int64_t l_792 = 7L;
        int64_t l_821 = 0x0A8F63EDL;
        int8_t l_832 = (-1L);
        int i, j;
        for (i = 0; i < 10; i++)
        {
            for (j = 0; j < 2; j++)
                l_684[i][j] = &g_79;
        }
        for (g_79 = (-30); (g_79 > 8); g_79 = safe_add_func_int8_t_s_s(g_79, 6))
        { /* block id: 590 */
            int32_t *l_682 = 0;
            const int32_t ***l_697 = &g_156;
            int32_t l_715 = 0x1FBE7066L;
            int32_t ***l_716 = &g_137;
            int16_t l_730[6][8] = {{1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}, {1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}, {1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}, {1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}, {1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}, {1L, (-4L), (-1L), (-4L), 1L, 0xBA7AL, 1L, (-4L)}};
            int64_t l_740 = (-7L);
            uint32_t l_800[7] = {0x12D59E14L, 4294967295U, 0x12D59E14L, 4294967295U, 0x12D59E14L, 4294967295U, 0x12D59E14L};
            uint16_t l_816[5][9] = {{0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U}, {0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U}, {0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U}, {0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U}, {0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U, 0xFB25L, 0xFB25L, 65535U}};
            int i, j, k;
            for (g_50 = 1; g_50 < 4; g_50 += 1)
            {
                for (g_52 = 0; g_52 < 2; g_52 += 2)
                {
                    for (l_657 = 1; l_657 < 2; l_657 += 2)
                    { /* block id: 591 */
                        int32_t ***l_698[1];
                        int i;
                        for (i = 0; i < 1; i++)
                            l_698[i] = &g_137;
                        for (g_469 = 0; (g_469 < 6); g_469 = safe_add_func_int32_t_s_s(g_469, 8))
                        { /* block id: 594 */
                            int32_t * const **l_696 = &g_497[1];
                        }
                    }
                }
            }
            if ((***l_701))
            { /* block id: 642 */
                int32_t *l_765 = &g_6;
                if ((safe_mul_func_uint8_t_u_u(((func_122(&g_156, &g_137, (*l_569), ((safe_mod_func_int64_t_s_s(g_227, p_72)) || (***l_572))) > (1U != (p_72 < 0xE9EB4B8BE10360DFLL))) || (safe_div_func_uint64_t_u_u(18446744073709551615U, p_72))), (~(safe_sub_func_int8_t_s_s(p_72, ((g_79 >= (l_684[0][0] != l_765)) | p_72)))))))
                { /* block id: 643 */
                    (*g_766) = (**l_667);
                }
                else
                { /* block id: 645 */
                    const uint32_t l_771 = 8U;
                    int32_t l_775 = (-7L);
                    int32_t l_785 = 9L;
                    l_775 = (p_72 != (p_72 <= (((safe_unary_minus_func_int32_t_s((safe_lshift_func_int16_t_s_u(l_770, 11)))) == (p_72 && (l_771 >= g_714))) > func_122(l_697, l_716, func_122(&g_156, &g_137, (g_54 ^ g_79), func_122(l_772, l_773[2], p_72, p_72)), l_774))));
                    if (p_72)
                        break;
                    for (l_775 = 0; (l_775 >= (-13)); l_775 = safe_sub_func_uint32_t_u_u(l_775, 1))
                    { /* block id: 650 */
                        int8_t l_779 = 0x4FL;
                        l_715 = l_771;
                        (**g_155) = 0;
                        l_779 |= (safe_unary_minus_func_int64_t_s(0x1B059608412F124BLL));
                        l_785 = ((safe_unary_minus_func_uint64_t_u((safe_mod_func_uint32_t_u_u(((safe_mod_func_int32_t_s_s(p_72, p_72)) < g_79), g_727)))) != p_72);
                    }
                }
                (*g_580) = p_72;
                l_792 = p_72;
            }
            else
            { /* block id: 659 */
                uint64_t l_793 = 1U;
                int32_t * const l_804 = &l_715;
                if ((((***l_572) <= l_793) != (safe_add_func_int16_t_s_s(g_50, (safe_lshift_func_uint16_t_u_u((0 != l_716), ((safe_div_func_int32_t_s_s(p_72, p_72)) && ((l_800[2] && g_6) != (p_72 | l_801)))))))))
                { /* block id: 660 */
                    int32_t *l_802[2];
                    int32_t *l_803 = &l_741;
                    int32_t ***l_806 = &g_137;
                    int i;
                    for (i = 0; i < 2; i++)
                        l_802[i] = &g_51;
                    if ((l_802[0] != l_803))
                    { /* block id: 661 */
                        (*l_803) |= (1L > 7L);
                    }
                    else
                    { /* block id: 663 */
                        int32_t *l_805 = &g_2;
                        l_802[0] = l_804;
                        (*l_804) = p_72;
                        (**l_701) = l_805;
                        (*l_803) ^= (l_806 != l_806);
                    }
                    if ((g_714 != 0xF1D1L))
                    { /* block id: 669 */
                        return (**l_716);
                    }
                    else
                    { /* block id: 671 */
                        (*l_804) = (safe_add_func_int64_t_s_s(g_52, g_2));
                    }
                }
                else
                { /* block id: 674 */
                    int32_t l_813 = (-7L);
                    (*l_804) ^= (safe_sub_func_int64_t_s_s(((p_72 != ((((***l_716) || g_50) == (safe_sub_func_uint64_t_u_u(p_72, p_72))) >= l_813)) && ((*l_569) && (safe_lshift_func_int8_t_s_s(0x30L, 2)))), (!6L)));
                    (*l_804) ^= 1L;
                }
            }
            l_816[2][8] |= (((*g_136) != (*g_515)) && 0x21L);
        }
        for (g_325 = 17; (g_325 != 3); g_325 = safe_sub_func_uint16_t_u_u(g_325, 3))
        { /* block id: 683 */
            int32_t *l_822 = &g_51;
            int32_t l_827 = 0x0A847FF2L;
            int8_t l_829 = 0x16L;
            const int32_t ***l_831 = &g_156;
            int i;
            for (l_774 = 1; l_774 < 5; l_774 += 1)
            { /* block id: 684 */
                int32_t *l_819 = &g_2;
                const int8_t l_820 = (-8L);
                (**l_701) = l_822;
                for (g_51 = 21; (g_51 < 3); g_51 = safe_sub_func_int32_t_s_s(g_51, 7))
                { /* block id: 688 */
                    uint32_t l_828[1];
                    int i, j;
                    for (i = 0; i < 1; i++)
                        l_828[i] = 0x30B32736L;
                    l_827 &= (safe_lshift_func_int16_t_s_u((0 != (*g_308)), 5));
                    (**l_572) = (**l_701);
                    l_829 |= ((*l_819) <= p_72);
                }
                (***l_667) = (*l_819);
            }
            if ((***l_667))
                break;
            (*l_822) = (g_52 & ((&l_827 == (**g_155)) & l_830));
            (*l_822) = func_122(l_831, &g_137, p_72, g_227);
        }
        (*g_679) = (-7L);
        l_832 ^= ((p_72 | (*l_569)) <= (*g_679));
    }
    return (**g_515);
}


/* ------------------------------------------ */
/* 
 * reads : g_2 g_6 g_78 g_79 g_9 g_308 g_156 g_227 g_51 g_325 g_50 g_515 g_469 g_136 g_137 g_412 g_96 g_54 g_52 g_497 g_155 g_157 g_196 g_206 g_286
 * writes: g_157 g_9 g_469 g_51 g_137 g_52 g_79 g_54 g_156 g_96 g_497 g_286 g_325 g_50
 */
int32_t * func_92(int8_t  p_93, int16_t  p_94)
{ /* block id: 60 */
    const int32_t l_95 = 0x5FBC3860L;
    int32_t * const *l_443 = &g_9;
    int32_t * const **l_442 = &l_443;
    int32_t l_480 = 0x1B4C49EAL;
    int32_t *l_510 = &g_79;
    int32_t * const * const l_511 = &g_9;
    int32_t ***l_526[1][7];
    uint64_t l_533[9] = {0x1FF06D1C90570B0ELL, 18446744073709551609U, 0x013C13C6F72A4374LL, 0x013C13C6F72A4374LL, 18446744073709551609U, 0x1FF06D1C90570B0ELL, 18446744073709551609U, 0x013C13C6F72A4374LL, 0x013C13C6F72A4374LL};
    const int32_t ***l_549 = &g_156;
    int32_t *l_567 = &g_6;
    int i, j;
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 7; j++)
            l_526[i][j] = &g_137;
    }
    if ((g_2 > (((l_95 >= 0xB9L) == l_95) & g_6)))
    { /* block id: 61 */
        uint16_t l_97 = 0x58F7L;
        l_97 = (*g_78);
    }
    else
    { /* block id: 63 */
        int64_t l_102 = 1L;
        uint16_t l_115 = 65527U;
        int32_t l_445[3][7];
        int32_t **l_450 = &g_9;
        const int32_t ***l_494 = &g_156;
        int i, j;
        for (i = 0; i < 3; i++)
        {
            for (j = 0; j < 7; j++)
                l_445[i][j] = 0x3AB085AEL;
        }
        if (l_95)
        { /* block id: 64 */
            uint64_t l_98[2];
            int64_t l_99 = 0L;
            uint16_t l_100[5] = {65535U, 0U, 65535U, 0U, 65535U};
            const int32_t * const l_101 = 0;
            int32_t l_446[5] = {(-1L), 0x0CFC7B5CL, (-1L), 0x0CFC7B5CL, (-1L)};
            int32_t *l_447 = &l_446[2];
            int i;
            for (i = 0; i < 2; i++)
                l_98[i] = 0x2D98881B111D6B66LL;
            l_102 &= ((l_98[1] >= (0x12L && (l_99 >= l_100[3]))) < ((&l_95 == l_101) <= (!3U)));
            for (p_93 = 0; (p_93 < 4); p_93 = safe_add_func_uint64_t_u_u(p_93, 1))
            { /* block id: 68 */
                int32_t *l_444 = &g_6;
                int32_t l_457 = 0xD902239FL;
            }
            (**g_308) = (*l_450);
        }
        else
        { /* block id: 411 */
            const int32_t ***l_463[4][9];
            int32_t ***l_464 = 0;
            int i, j;
            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 9; j++)
                    l_463[i][j] = &g_156;
            }
            g_469 |= (safe_lshift_func_int8_t_s_s(((safe_div_func_int16_t_s_s(func_122(l_463[1][3], l_464, (p_94 && (p_93 > p_94)), (**l_450)), g_227)) & (g_51 ^ ((safe_add_func_uint32_t_u_u(p_94, (g_325 | g_50))) != (p_94 <= (&g_156 == &l_443))))), p_94));
        }
        for (g_51 = 0; g_51 < 3; g_51 += 3)
        {
            for (g_469 = 5; g_469 < 7; g_469 += 1)
            { /* block id: 414 */
                int32_t ***l_500 = &l_450;
                int i, j;
            }
        }
    }
    if (((*l_442) == l_511))
    { /* block id: 439 */
lbl_516:
        for (g_51 = 27; (g_51 != (-3)); g_51 = safe_sub_func_uint16_t_u_u(g_51, 4))
        { /* block id: 442 */
            int32_t ** const l_514 = &l_510;
            (*g_515) = l_514;
        }
    }
    else
    { /* block id: 445 */
        int32_t ***l_518[6][6];
        int32_t * const **l_558 = &g_497[1];
        int i, j;
        for (i = 0; i < 6; i++)
        {
            for (j = 0; j < 6; j++)
                l_518[i][j] = 0;
        }
        if (p_93)
        { /* block id: 446 */
            int32_t *l_517 = &g_79;
            const int32_t ***l_522[4][3][7];
            int32_t l_524 = 1L;
            int i, j, k;
            for (i = 0; i < 4; i++)
            {
                for (j = 0; j < 3; j++)
                {
                    for (k = 0; k < 7; k++)
                        l_522[i][j][k] = &g_156;
                }
            }
            if (l_95)
                goto lbl_516;
            (**g_308) = l_517;
            for (g_52 = 0; g_52 < 2; g_52 += 1)
            { /* block id: 449 */
lbl_527:
                if (p_94)
                    break;
            }
            for (p_94 = 0; p_94 < 10; p_94 += 1)
            {
                for (g_79 = 0; g_79 < 9; g_79 += 9)
                { /* block id: 452 */
                    int8_t l_519 = 0x2BL;
                    int32_t ***l_523 = 0;
                    const int32_t ***l_525 = &g_156;
                    int64_t l_528 = (-2L);
                    l_524 = func_122(&g_156, l_518[2][2], 0xE07337880D91EA27LL, (**l_511));
                    if (g_51)
                        goto lbl_527;
                    l_524 = l_528;
                }
            }
        }
        else
        { /* block id: 457 */
            uint32_t l_534 = 0x13B91FB5L;
            int32_t * const **l_535[3][1][7];
            int32_t *l_541 = 0;
            int i, j, k;
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j < 1; j++)
                {
                    for (k = 0; k < 7; k++)
                        l_535[i][j][k] = &g_497[1];
                }
            }
            for (l_480 = 0; (l_480 < 14); l_480 = safe_add_func_uint8_t_u_u(l_480, 6))
            { /* block id: 460 */
            }
            (**g_412) = (safe_sub_func_int8_t_s_s(func_122(l_549, &g_137, 18446744073709551615U, (safe_sub_func_uint16_t_u_u(((safe_mul_func_uint16_t_u_u((safe_sub_func_uint64_t_u_u(g_469, g_79)), 0x090BL)) <= g_6), (safe_sub_func_int64_t_s_s(g_6, ((*l_442) != (*g_136))))))), ((((&g_81 == l_518[2][2]) & (p_93 ^ p_93)) | p_93) >= p_94)));
            (*l_510) = func_117(g_51, l_558, g_6, func_122(&g_156, &g_137, p_94, g_2));
        }
        return &g_51;
    }
    (*g_78) = (*g_157);
    return l_567;
}


/* ------------------------------------------ */
/* 
 * reads : g_136 g_137 g_9 g_2 g_79 g_54 g_52 g_155 g_6 g_156 g_157 g_51 g_50 g_78 g_96 g_196 g_206 g_227 g_286 g_308 g_325 g_412 g_497
 * writes: g_9 g_79 g_54 g_156 g_96 g_51 g_157 g_286 g_325 g_52 g_50 g_497
 */
uint16_t  func_117(uint16_t  p_118, int32_t * const ** p_119, int64_t  p_120, int16_t  p_121)
{ /* block id: 76 */
    const int32_t **l_130 = 0;
    const int32_t ***l_129 = &l_130;
    int32_t **l_132[6];
    int32_t ***l_131[6];
    uint8_t l_158 = 0xA1L;
    int8_t l_182 = 2L;
    uint64_t l_237 = 0x8CD33419C3FDF3A0LL;
    int32_t *l_438 = &g_2;
    int i, j;
    for (i = 0; i < 6; i++)
        l_132[i] = 0;
    for (i = 0; i < 6; i++)
        l_131[i] = &l_132[5];
    if (func_122(l_129, l_131[2], ((safe_unary_minus_func_uint8_t_u((safe_div_func_int64_t_s_s(func_122(&l_130, g_136, ((**g_137) == (**g_137)), 0L), p_121)))) & 0xED81L), p_120))
    { /* block id: 81 */
        int32_t ***l_149 = &l_132[5];
        int32_t l_159 = 0x7E325ED2L;
        for (g_79 = 2; (g_79 >= (-1)); g_79 = safe_sub_func_uint16_t_u_u(g_79, 2))
        { /* block id: 84 */
            if ((*g_9))
                break;
            for (g_54 = 1; (g_54 != 17); g_54 = safe_add_func_int8_t_s_s(g_54, 4))
            { /* block id: 88 */
                uint8_t l_147[4][10][1];
                int i, j, k;
                for (i = 0; i < 4; i++)
                {
                    for (j = 0; j < 10; j++)
                    {
                        for (k = 0; k < 1; k++)
                            l_147[i][j][k] = 0x41L;
                    }
                }
                for (p_121 = 0; (p_121 != (-10)); p_121 = safe_sub_func_int8_t_s_s(p_121, 1))
                { /* block id: 91 */
lbl_148:
                    for (p_118 = 0; (p_118 >= 40); p_118 = safe_add_func_int8_t_s_s(p_118, 1))
                    { /* block id: 94 */
                        uint8_t l_146[10] = {254U, 254U, 0xE4L, 1U, 0U, 1U, 0xE4L, 254U, 254U, 0xE4L};
                        int i;
                        l_147[2][9][0] = l_146[0];
                    }
                }
                if (g_54)
                    goto lbl_148;
            }
        }
        if ((func_122(&l_130, l_149, (((+0L) | 0xA2L) ^ g_52), p_121) >= p_118))
        { /* block id: 101 */
            int32_t *l_150 = &g_51;
            l_150 = (**g_136);
            for (p_118 = (-8); (p_118 != 18); p_118 = safe_add_func_int16_t_s_s(p_118, 1))
            { /* block id: 105 */
                int32_t *l_153 = 0;
                (*g_137) = l_153;
            }
        }
        else
        { /* block id: 108 */
            int32_t l_154 = 0L;
            (**g_136) = 0;
            l_154 = ((*g_136) == (*p_119));
            (*g_137) = (*g_137);
        }
        l_159 = (func_122(g_155, l_149, 6U, g_2) && (((p_121 > (func_122(&g_156, &l_132[5], p_118, g_6) != (**g_156))) ^ (((g_2 && g_52) != (g_79 >= p_120)) & ((p_118 ^ p_121) != (g_51 | g_79)))) || ((((~p_120) > 0xF823EF36B2304E23LL) > p_118) == (p_120 & (l_158 < p_118)))));
        for (p_120 = 0; (p_120 != 25); p_120 = safe_add_func_int8_t_s_s(p_120, 2))
        { /* block id: 116 */
            int32_t ***l_165 = 0;
            const int32_t *l_166 = &l_159;
            int32_t l_177 = (-1L);
            const int32_t ***l_180[4];
            int i;
            for (i = 0; i < 4; i++)
                l_180[i] = 0;
            for (p_118 = 12; (p_118 >= 52); p_118 = safe_add_func_int64_t_s_s(p_118, 4))
            { /* block id: 119 */
                const int32_t ***l_164 = &g_156;
                int32_t l_181 = (-1L);
                if ((***g_155))
                    break;
                if (func_122(l_164, &l_132[2], (***l_164), func_122(&g_156, l_165, g_51, p_121)))
                { /* block id: 121 */
                    l_166 = (*g_156);
                    return (*l_166);
                }
                else
                { /* block id: 124 */
                    if ((l_165 == 0))
                    { /* block id: 125 */
                        uint32_t l_169 = 0U;
                        (*g_137) = (*g_137);
                        l_169 = (safe_sub_func_uint16_t_u_u((*l_166), g_52));
                        (*g_137) = (**g_136);
                    }
                    else
                    { /* block id: 129 */
                        int32_t **l_172 = &g_9;
                        int32_t l_173 = 1L;
                        l_173 ^= (((0L > (safe_mul_func_int16_t_s_s((0 != l_172), g_50))) && g_52) >= 0x6E1CL);
                    }
                }
                for (l_158 = (-13); (l_158 == 6); l_158 = safe_add_func_uint8_t_u_u(l_158, 5))
                { /* block id: 135 */
                    const uint64_t l_176 = 0x5B1905C5L;
                    (*g_155) = (*g_155);
                    (*g_78) = p_118;
                    l_177 ^= l_176;
                }
                l_181 = (~(safe_mod_func_int8_t_s_s(func_122(l_180[1], &l_132[5], (*l_166), 0L), ((*l_166) || g_6))));
            }
            return l_182;
        }
    }
    else
    { /* block id: 144 */
        int32_t *l_183 = &g_79;
        int32_t l_207 = 0x5B1DA0A6L;
        const int32_t *l_211 = 0;
        const int32_t ***l_226 = &l_130;
        int32_t ***l_254 = 0;
        uint32_t l_323 = 4294967295U;
        l_183 = l_183;
        (*l_183) = (-4L);
        for (l_158 = 0; (l_158 != 7); l_158 = safe_add_func_int32_t_s_s(l_158, 1))
        { /* block id: 149 */
            uint32_t l_192 = 0x8EF45CCAL;
            int32_t ***l_208 = &l_132[5];
            uint16_t l_210 = 0xA0E8L;
            int32_t *l_219[8];
            int i, j;
            for (i = 0; i < 8; i++)
                l_219[i] = &l_207;
            l_192 = (safe_lshift_func_uint16_t_u_u((safe_add_func_uint16_t_u_u(g_51, (safe_rshift_func_int16_t_s_u(func_122(0, &g_137, g_54, g_2), p_120)))), g_51));
            for (g_54 = 1; g_54 < 10; g_54 += 1)
            {
                for (p_121 = 0; p_121 < 9; p_121 += 5)
                { /* block id: 151 */
                    int32_t ***l_195 = &g_137;
                    int32_t l_209 = 0L;
                    int32_t * volatile *l_212 = 0;
                    int32_t * volatile *l_213 = &l_183;
                    const int32_t ***l_218 = 0;
                    if ((p_118 & (safe_mul_func_uint16_t_u_u(func_122(&g_156, l_195, 0x5DD4C412B3B2B88CLL, (*l_183)), (*l_183)))))
                    { /* block id: 152 */
                        (*g_196) = g_96[(g_54) % 10][(uint16_t)(p_121) % 9];
                    }
                    else
                    { /* block id: 154 */
                        int16_t l_205 = (-1L);
                        int i, j;
                        l_207 |= ((p_121 > ((safe_rshift_func_uint8_t_u_s(p_121, 4)) >= (safe_mod_func_int64_t_s_s(((safe_sub_func_int64_t_s_s(l_205, g_79)) || ((*g_155) == (*p_119))), (+func_122(g_206[0][7], &g_137, g_50, p_121)))))) || 0L);
                        for (g_79 = 0; g_79 < 1; g_79 += 1)
                        {
                            for (l_182 = 2; l_182 < 10; l_182 += 1)
                            { /* block id: 156 */
                                l_209 = (+func_122(g_206[(uint32_t)(g_79) % 1][(uint8_t)(l_182) % 10], l_208, g_79, p_121));
                            }
                        }
                        for (l_205 = 0; l_205 < 10; l_205 += 1)
                        {
                            for (p_118 = 0; p_118 < 9; p_118 += 1)
                            { /* block id: 159 */
                                return p_121;
                            }
                        }
                        (**g_136) = (**g_136);
                    }
                    if (l_210)
                    { /* block id: 164 */
                        (*l_183) = p_121;
                    }
                    else
                    { /* block id: 166 */
                        l_211 = (**g_155);
                    }
                    (*l_213) = (*g_196);
                    if ((g_51 == (safe_lshift_func_uint16_t_u_s((g_79 & (safe_add_func_uint32_t_u_u(((g_2 <= g_79) == (g_50 > g_6)), func_122(l_218, l_195, g_6, g_79)))), 0))))
                    { /* block id: 170 */
                        (*g_156) = &l_207;
                    }
                    else
                    { /* block id: 172 */
                        int i;
                        (**l_195) = l_219[3];
                        for (g_51 = (-25); (g_51 < (-28)); g_51 = safe_sub_func_uint16_t_u_u(g_51, 2))
                        { /* block id: 176 */
                            uint64_t l_222 = 1U;
                            int32_t ***l_223 = &g_137;
                            (*g_196) = g_96[(g_54) % 10][(uint16_t)(p_121) % 9];
                        }
                        for (l_207 = 0; l_207 < 8; l_207 += 6)
                        { /* block id: 182 */
                            return g_52;
                        }
                        for (l_182 = 15; (l_182 <= (-28)); l_182 = safe_sub_func_int32_t_s_s(l_182, 1))
                        { /* block id: 187 */
                            (*p_119) = (*p_119);
                            (***g_136) = 1L;
                            return p_118;
                        }
                    }
                }
            }
        }
        if (func_122(l_226, &l_132[5], g_2, g_2))
        { /* block id: 195 */
            int32_t l_238 = 0x28086BC5L;
            const int32_t ***l_253 = &g_156;
            int32_t *l_266 = 0;
            if (p_120)
            { /* block id: 196 */
                return g_227;
            }
            else
            { /* block id: 198 */
                uint64_t l_245[10] = {0x5B8E6694L, 0xFB7D6CBAL, 0x5B8E6694L, 0xFB7D6CBAL, 0x5B8E6694L, 0xFB7D6CBAL, 0x5B8E6694L, 0xFB7D6CBAL, 0x5B8E6694L, 0xFB7D6CBAL};
                int32_t l_252 = 0xC6D6AA7CL;
                int i;
                for (l_207 = 27; (l_207 != (-9)); l_207 = safe_sub_func_uint8_t_u_u(l_207, 1))
                { /* block id: 201 */
                    uint64_t l_234 = 0xB514DE5FL;
                    int32_t ***l_248 = 0;
                    (*l_183) = (safe_mul_func_int16_t_s_s((safe_div_func_uint32_t_u_u((l_234 <= ((g_2 & (p_118 | p_118)) == (l_237 < (l_238 && p_118)))), g_227)), ((0 != (*g_137)) < (!(safe_mod_func_uint64_t_u_u((safe_div_func_uint64_t_u_u(g_79, l_245[2])), l_245[0]))))));
                    (*l_183) = (*g_78);
                    if ((0xB2593376L & ((safe_lshift_func_int16_t_s_s(((**g_137) > (&l_130 == l_248)), 11)) ^ (safe_mul_func_uint16_t_u_u(p_118, p_118)))))
                    { /* block id: 204 */
                        uint8_t l_251 = 1U;
                        l_251 = (*g_9);
                    }
                    else
                    { /* block id: 206 */
                        return g_227;
                    }
                    l_252 = (*g_78);
                }
                (*l_183) &= l_245[2];
                for (l_237 = 3; l_237 < 6; l_237 += 1)
                { /* block id: 212 */
                    int i, j;
                    for (l_207 = 0; l_207 < 6; l_207 += 1)
                    {
                        l_132[l_207] = &g_9;
                    }
                    for (g_51 = 9; g_51 < 10; g_51 += 1)
                    {
                        for (g_79 = 2; g_79 < 9; g_79 += 1)
                        { /* block id: 214 */
                            g_96[(uint32_t)(g_51) % 10][(uint32_t)(g_79) % 9] = g_96[(uint32_t)(g_51) % 10][(uint32_t)(g_79) % 9];
                        }
                    }
                    return p_118;
                }
            }
            if ((*g_157))
            { /* block id: 220 */
                int32_t ***l_257 = &l_132[5];
                int32_t *l_258 = &g_51;
                const int32_t ***l_267 = 0;
                int32_t l_270 = (-5L);
                int32_t ***l_274 = &l_132[2];
                int64_t l_279 = 2L;
                if (func_122(l_253, l_254, g_2, ((safe_mod_func_uint8_t_u_u((g_51 <= func_122(0, l_257, (p_121 > g_54), p_120)), g_50)) || ((**l_253) != l_258))))
                { /* block id: 221 */
                    int32_t ***l_261 = &l_132[5];
                    int32_t * const l_265 = &l_207;
                    for (p_121 = 0; (p_121 == (-21)); p_121 = safe_sub_func_uint16_t_u_u(p_121, 8))
                    { /* block id: 224 */
                        uint64_t l_262 = 0xEFDC76B7L;
                        (*l_226) = (*l_226);
                        (*l_183) = func_122(&g_156, l_261, g_6, l_262);
                    }
                    if (((safe_add_func_int16_t_s_s(p_118, func_122(&g_156, l_254, (0 == l_265), p_120))) && ((**l_253) != l_266)))
                    { /* block id: 228 */
                        return g_2;
                    }
                    else
                    { /* block id: 230 */
                        (*l_183) = (-8L);
                    }
                    if ((g_50 >= func_122(l_267, &g_137, g_54, g_79)))
                    { /* block id: 233 */
                        int32_t *l_268 = &l_207;
                        int32_t ***l_269[8][2];
                        int i, j;
                        for (i = 0; i < 8; i++)
                        {
                            for (j = 0; j < 2; j++)
                                l_269[i][j] = 0;
                        }
                        l_270 &= (g_50 && (((0xFEL & (((*g_196) != l_268) && func_122(l_253, l_269[3][1], g_51, p_121))) | (**g_156)) == 0xB68208CBL));
                        (*g_156) = (*g_137);
                    }
                    else
                    { /* block id: 236 */
                        (**l_253) = (**g_155);
                    }
                    return g_50;
                }
                else
                { /* block id: 240 */
                    const int32_t *l_271 = &l_207;
                    int64_t l_282 = 0x76CC970ECAB800B1LL;
                    l_271 = (*g_156);
                    (**g_196) &= (safe_rshift_func_int16_t_s_u(0x4CAFL, (l_274 != 0)));
                    (*l_258) = p_118;
                    if ((((*p_119) == (*g_136)) > func_122(&g_156, 0, ((safe_mod_func_int8_t_s_s((safe_lshift_func_int16_t_s_u((l_279 == g_51), 1)), (func_122(&g_156, &g_137, g_79, p_121) & p_121))) || (func_122(l_226, &g_137, g_2, p_118) && (safe_add_func_uint64_t_u_u(func_122(&g_156, l_274, p_120, p_118), (g_51 != g_54))))), (*l_258))))
                    { /* block id: 244 */
                        return p_120;
                    }
                    else
                    { /* block id: 246 */
                        int32_t *l_283 = &l_238;
                        (*l_183) = func_122(&g_156, l_254, (0 == (*g_136)), l_282);
                        (*g_156) = l_283;
                    }
                }
                return g_50;
            }
            else
            { /* block id: 252 */
                uint32_t l_284 = 0xFCAAF9CAL;
                int32_t l_285 = 8L;
                (*l_183) |= l_284;
                l_285 |= p_121;
            }
            if (((**g_136) != (**g_136)))
            { /* block id: 256 */
                int i;
                for (p_121 = 2; p_121 < 6; p_121 += 6)
                { /* block id: 257 */
                    uint64_t l_288 = 0x37ED67E4L;
                    const int32_t ***l_289[3];
                    int32_t l_293 = (-3L);
                    int i;
                    for (i = 0; i < 3; i++)
                        l_289[i] = &g_156;
                    (*l_183) |= p_121;
                    (**g_196) &= (g_54 | 2U);
                    if (g_6)
                        goto lbl_294;
                    if (g_286)
                    { /* block id: 260 */
                        uint8_t l_287 = 0x39L;
                        l_287 = 0L;
                        l_288 = p_121;
                    }
                    else
                    { /* block id: 263 */
                        (**l_253) = (**l_253);
                        l_207 |= func_122(l_289[1], 0, func_122(&g_156, &l_132[5], (0x9B65L && (safe_unary_minus_func_uint64_t_u(((**g_196) | func_122(l_226, &l_132[(uint16_t)(p_121) % 6], g_227, g_79))))), 0x93L), (safe_mod_func_int16_t_s_s(p_120, g_79)));
                        l_293 = 0L;
                    }
                }
lbl_294:
                (**l_253) = (*g_137);
                for (g_54 = 0; (g_54 == 59); g_54 = safe_add_func_uint16_t_u_u(g_54, 1))
                { /* block id: 273 */
                    int32_t *l_299 = &g_51;
                    for (g_51 = 17; (g_51 == (-28)); g_51 = safe_sub_func_int8_t_s_s(g_51, 7))
                    { /* block id: 276 */
                        (*g_78) &= 0xB5DDD6B6L;
                        (**g_136) = l_299;
                        (*g_156) = (**l_253);
                    }
                    if ((***g_136))
                        break;
                    (*g_156) = (*g_156);
                    for (g_286 = 0; (g_286 <= 22); g_286 = safe_add_func_uint16_t_u_u(g_286, 6))
                    { /* block id: 285 */
                        int32_t *l_302 = &l_238;
                        (*g_137) = l_302;
                    }
                }
            }
            else
            { /* block id: 289 */
                const int32_t *l_304 = 0;
                const int32_t ***l_305 = &l_130;
                int64_t l_324 = 0x0CED8A42L;
                if ((**g_156))
                { /* block id: 290 */
                    const int32_t *l_303 = &g_51;
                    int i, j;
                    l_304 = l_303;
                    (**l_253) = l_304;
                    for (p_120 = 0; p_120 < 10; p_120 += 1)
                    {
                        for (g_286 = 0; g_286 < 9; g_286 += 1)
                        { /* block id: 293 */
                            return p_120;
                        }
                    }
                    (*l_183) = (func_122(l_305, &l_132[5], p_121, g_227) < 18446744073709551615U);
                }
                else
                { /* block id: 297 */
                    int32_t ***l_309 = &l_132[1];
                    if ((safe_mul_func_int8_t_s_s(p_118, 248U)))
                    { /* block id: 298 */
                        int16_t l_310 = 0x57E8L;
                        g_325 &= (func_122(g_308, l_309, l_310, g_286) & ((safe_sub_func_uint64_t_u_u((safe_sub_func_int16_t_s_s(((safe_mul_func_uint8_t_u_u(g_79, p_120)) < l_310), (safe_add_func_uint64_t_u_u((safe_mul_func_uint8_t_u_u(p_121, l_310)), ((*p_119) == (*p_119)))))), (((safe_sub_func_int64_t_s_s(g_286, p_120)) | (***l_253)) || l_323))) >= (l_310 | (((+(**g_196)) & 0x4859BE32L) >= l_324))));
                        (*l_183) = (*g_157);
                        (*g_78) = (safe_mul_func_int8_t_s_s(0xADL, ((safe_add_func_int64_t_s_s((g_286 | ((g_2 | (***l_253)) > (safe_lshift_func_int16_t_s_s(g_54, 1)))), p_118)) ^ (safe_mul_func_uint16_t_u_u(65535U, ((+(p_118 > g_54)) && g_227))))));
                        return g_227;
                    }
                    else
                    { /* block id: 303 */
                        (*l_183) = (safe_lshift_func_int8_t_s_u((safe_mod_func_int8_t_s_s(g_50, func_122(0, 0, g_286, g_6))), 1));
                        (*l_183) = (((safe_rshift_func_uint8_t_u_s(((safe_sub_func_uint64_t_u_u((*l_183), (safe_add_func_uint32_t_u_u(g_2, p_121)))) || p_121), 2)) == (safe_sub_func_int32_t_s_s((***g_308), (safe_lshift_func_uint16_t_u_s(p_121, (g_50 ^ (safe_lshift_func_int8_t_s_u(g_54, g_2)))))))) == (safe_div_func_uint32_t_u_u((***l_253), func_122(0, l_254, (***l_253), p_118))));
                    }
                }
            }
        }
        else
        { /* block id: 309 */
            const int32_t ***l_352 = 0;
            int32_t l_366[8] = {1L, 0xE8DC8AE2L, 1L, 1L, 0xE8DC8AE2L, 1L, 0xE8DC8AE2L, 1L};
            int i;
            (*l_183) = func_122(l_352, 0, (safe_unary_minus_func_uint32_t_u(p_121)), g_52);
            for (g_51 = 0; (g_51 < 0); g_51 = safe_add_func_int8_t_s_s(g_51, 1))
            { /* block id: 313 */
                for (l_182 = (-8); (l_182 <= 21); l_182 = safe_add_func_uint32_t_u_u(l_182, 1))
                { /* block id: 316 */
                    const int32_t ***l_358 = &g_156;
                    int32_t l_363 = 0x13D37B2EL;
                    l_363 &= func_122(l_358, &g_137, (safe_add_func_uint64_t_u_u((p_118 != p_120), ((safe_rshift_func_uint8_t_u_s(p_120, 0)) < ((**l_358) == (**g_155))))), g_52);
                    l_366[0] = (safe_lshift_func_int8_t_s_u(((0 != &g_137) > func_122(&g_156, 0, p_121, g_54)), 7));
                }
            }
            for (g_54 = 0; g_54 < 6; g_54 += 1)
            {
                l_131[g_54] = &l_132[3];
            }
        }
    }
    for (l_182 = 0; l_182 < 10; l_182 += 7)
    {
        for (g_52 = 3; g_52 < 9; g_52 += 9)
        { /* block id: 324 */
            uint32_t l_367 = 4294967295U;
            int i, j;
            l_367 = (~(func_122(&l_130, &g_137, 0xD0D3DE5CDB08AE2BLL, (((g_325 >= g_227) >= g_52) == 0xAAL)) > p_118));
            for (p_118 = 0; p_118 < 10; p_118 += 9)
            {
                for (g_54 = 0; g_54 < 9; g_54 += 5)
                { /* block id: 326 */
                    uint64_t l_368[4] = {0xA7396478L, 0xA7396478L, 0U, 0xA7396478L};
                    int i;
                    l_368[0] &= p_118;
                }
            }
            return p_120;
        }
    }
    for (l_182 = 0; l_182 < 6; l_182 += 2)
    { /* block id: 331 */
        int8_t l_371 = 0xCFL;
        int32_t l_372 = 0xDA9B0EB8L;
        const int32_t ***l_382 = &g_156;
        uint64_t l_406 = 0x09EBF83E59C1B1CBLL;
        int32_t l_418 = 0xC1075D91L;
        int32_t ***l_421 = &l_132[5];
        uint64_t l_437 = 0x02340B85L;
        int i, j;
        for (p_120 = 4; (p_120 != 27); p_120 = safe_add_func_int8_t_s_s(p_120, 1))
        { /* block id: 334 */
            uint64_t l_381 = 0xD17AD85AL;
            int32_t ***l_391 = &l_132[5];
            int32_t l_398 = 0x9849467EL;
            (*g_78) = l_371;
            l_372 |= p_118;
            if (l_371)
                break;
            if (p_118)
            { /* block id: 338 */
                int32_t **l_383[3][6];
                int32_t * volatile *l_401 = &g_9;
                int i, j;
                for (i = 0; i < 3; i++)
                {
                    for (j = 0; j < 6; j++)
                        l_383[i][j] = &g_9;
                }
                if ((safe_rshift_func_int16_t_s_u((safe_rshift_func_uint16_t_u_s(l_372, g_51)), ((safe_lshift_func_uint8_t_u_s((l_372 == (0xB06EL >= (safe_lshift_func_uint8_t_u_s(l_381, l_381)))), func_122(l_382, &l_132[5], g_51, g_54))) == p_118))))
                { /* block id: 339 */
                    int32_t **l_384 = &g_9;
                    l_384 = l_383[0][2];
                    for (l_372 = 0; (l_372 < (-9)); l_372 = safe_sub_func_uint32_t_u_u(l_372, 4))
                    { /* block id: 343 */
                        int32_t l_387[4][10][1];
                        const int32_t ***l_390 = &g_156;
                        int i, j, k;
                        for (i = 0; i < 4; i++)
                        {
                            for (j = 0; j < 10; j++)
                            {
                                for (k = 0; k < 1; k++)
                                    l_387[i][j][k] = 0x33002C48L;
                            }
                        }
                        l_387[1][6][0] = l_381;
                        l_398 = (safe_lshift_func_int8_t_s_u((~(((~l_371) ^ func_122(l_390, l_391, p_118, p_118)) & (p_121 != 0x58L))), ((safe_sub_func_uint64_t_u_u(0xCDA77D317020C37CLL, g_51)) && (p_120 > ((g_50 != g_325) ^ (safe_sub_func_int32_t_s_s((g_2 > p_121), (safe_mul_func_uint8_t_u_u(g_79, g_54)))))))));
                        (*g_137) = &l_372;
                    }
                }
                else
                { /* block id: 348 */
                    l_398 = p_121;
                    for (l_398 = 0; (l_398 >= 25); l_398 = safe_add_func_uint8_t_u_u(l_398, 1))
                    { /* block id: 352 */
                        return p_120;
                    }
                    (*g_137) = 0;
                }
                l_372 &= (g_6 >= p_118);
                (*l_401) = (*g_196);
            }
            else
            { /* block id: 359 */
                uint32_t l_402 = 0x81FC50FBL;
                int32_t l_403 = 0x728A34C0L;
                if (l_402)
                    break;
                l_403 &= (*g_78);
            }
        }
        for (g_54 = 0; g_54 < 10; g_54 += 1)
        {
            for (g_52 = 8; g_52 < 9; g_52 += 6)
            { /* block id: 364 */
                int32_t l_409 = 0xCD75AB5AL;
                int32_t l_410[5][9] = {{0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L}, {0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L}, {0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L}, {0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L}, {0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L, 0x48FEBD7AL, 0x38D54B95L}};
                int i, j;
                l_406 = (safe_sub_func_int8_t_s_s((-1L), 0xAFL));
                l_409 &= (safe_mul_func_int8_t_s_s(g_2, (0 == &g_96[(g_54) % 10][(uint32_t)(g_52) % 9])));
                l_410[1][4] ^= l_409;
                for (g_286 = 5; g_286 < 6; g_286 += 1)
                { /* block id: 368 */
                    int32_t * volatile *l_411 = 0;
                    (*g_412) = (*g_196);
                }
            }
        }
        for (g_50 = 0; g_50 < 1; g_50 += 1)
        {
            for (g_325 = 6; g_325 < 10; g_325 += 5)
            { /* block id: 372 */
                int64_t l_413 = 0L;
                int32_t *l_414[6][2];
                int32_t ***l_416[8];
                const int32_t ***l_427 = &l_130;
                int i, j;
                for (i = 0; i < 6; i++)
                {
                    for (j = 0; j < 2; j++)
                        l_414[i][j] = &g_6;
                }
                for (i = 0; i < 8; i++)
                    l_416[i] = &l_132[3];
            }
        }
    }
    (*g_137) = l_438;
    return p_118;
}


/* ------------------------------------------ */
/* 
 * reads : g_79
 * writes: g_9
 */
int32_t  func_122(const int32_t *** p_123, int32_t *** p_124, uint64_t  p_125, int8_t  p_126)
{ /* block id: 77 */
    int32_t *l_127 = &g_79;
    int32_t **l_128 = &g_9;
    (*l_128) = l_127;
    (*l_128) = &g_2;
    return (*l_127);
}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    int i, j;
    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_2, "g_2", print_hash_value);
    transparent_crc(g_6, "g_6", print_hash_value);
    transparent_crc(g_50, "g_50", print_hash_value);
    transparent_crc(g_51, "g_51", print_hash_value);
    transparent_crc(g_52, "g_52", print_hash_value);
    transparent_crc(g_54, "g_54", print_hash_value);
    transparent_crc(g_79, "g_79", print_hash_value);
    transparent_crc(g_227, "g_227", print_hash_value);
    transparent_crc(g_286, "g_286", print_hash_value);
    transparent_crc(g_325, "g_325", print_hash_value);
    transparent_crc(g_469, "g_469", print_hash_value);
    transparent_crc(g_714, "g_714", print_hash_value);
    transparent_crc(g_727, "g_727", print_hash_value);
    transparent_crc(g_1087, "g_1087", print_hash_value);
    transparent_crc(g_1265, "g_1265", print_hash_value);
    transparent_crc(g_1416, "g_1416", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 6; j++)
        {
            transparent_crc(g_1787[i][j], "g_1787[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 666

XXX max expression depth: 2
breakdown:
   depth: 0, occurrence: 616
   depth: 1, occurrence: 62
   depth: 2, occurrence: 2

XXX total number of pointers: 369

XXX times a variable address is taken: 197
XXX times a pointer is dereferenced on RHS: 480
breakdown:
   depth: 1, occurrence: 283
   depth: 2, occurrence: 107
   depth: 3, occurrence: 90
XXX times a pointer is dereferenced on LHS: 332
breakdown:
   depth: 1, occurrence: 221
   depth: 2, occurrence: 93
   depth: 3, occurrence: 18
XXX times a pointer is compared with null: 54
XXX times a pointer is compared with address of another variable: 41
XXX times a pointer is compared with another pointer: 52
XXX times a pointer is qualified to be dereferenced: 4552

XXX max dereference level: 3
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 5827
   level: 2, occurrence: 1571
   level: 3, occurrence: 814
XXX number of pointers point to pointers: 222
XXX number of pointers point to scalars: 147
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 25.7
XXX average alias set size: 1.28

XXX times a non-volatile is read: 3015
XXX times a non-volatile is write: 982
XXX times a volatile is read: 184
XXX    times read thru a pointer: 34
XXX times a volatile is write: 92
XXX    times written thru a pointer: 37
XXX times a volatile is available for access: 2.38e+03
XXX percentage of non-volatile access: 93.5

XXX forward jumps: 5
XXX backward jumps: 10

XXX stmts: 1484

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