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

[csmith-dev] Is this a wrong code bug?



Hi,
compiling a program as
gcc -O0  --------> CHECKSUM : 72D53249
gcc -O1  --------> CHECKSUM : 72D53249
gcc -O2 --------> CHECKSUM : 72D53249
gcc -O3  --------> CHECKSUM : 72D53249
gcc -Os  --------> CHECKSUM : 72D53249
gcc -Ofast  --------> CHECKSUM : 72D53249

**clang -O0  --------> CHECKSUM : 2873C061**(differs)

clang -O1  --------> CHECKSUM : 10301700
clang -O2  --------> CHECKSUM : 10301700
clang -O3  --------> CHECKSUM : 10301700
clang -Os  --------> CHECKSUM : 10301700
clang -Ofast  --------> CHECKSUM : 10301700

is this a wrong code bug found using differential testing approach?
Thanks,
Sameeran Joshi
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.4.0
 * Git version: unknown
 * Options:   --no-paranoid --bitfields --packed-struct --binary --output test687.c
 * Seed:      539298313
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
struct S0 {
   signed f0 : 3;
   unsigned f1 : 14;
   const volatile unsigned f2 : 25;
   const volatile signed : 0;
   volatile signed f3 : 17;
   volatile signed f4 : 6;
} __attribute__((packed));

struct S1 {
   int16_t  f0;
   const int64_t  f1;
   volatile int16_t  f2;
   int16_t  f3;
   const int8_t  f4;
   volatile uint8_t  f5;
} __attribute__((packed));

/* --- GLOBAL VARIABLES --- */
static int64_t g_13 = 9L;
static struct S1 g_14 = {0b0111100000001110,0x299E885DC1B6EAB3LL,0b1000000100110010,0b0010110101100010,0b1101010110010100,0b0010111101111100};/* VOLATILE GLOBAL g_14 */
static int32_t g_36[1][1][3] = {{{2L,2L,2L}}};
static int8_t g_121 = 0L;
static volatile uint16_t g_122 = 0b0100111011001001;/* VOLATILE GLOBAL g_122 */
static int32_t *g_142 = (void*)0;
static int32_t **g_141 = &g_142;
static int8_t g_144 = 0x67L;
static uint32_t g_146 = 4UL;
static uint16_t g_148 = 1UL;
static const int32_t *g_161 = &g_36[0][0][0];
static const int32_t ** volatile g_160 = &g_161;/* VOLATILE GLOBAL g_160 */
static int64_t *g_165 = &g_13;
static int64_t **g_164[2][2][4] = {{{&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165}},{{&g_165,&g_165,&g_165,&g_165},{&g_165,&g_165,&g_165,&g_165}}};
static int64_t ***g_163 = &g_164[0][1][1];
static int64_t g_193[9] = {0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL,0b0111011111001010101011010111101111001110101111011111000101100111LL};
static int64_t g_197 = 1011110001011000010011100000.01100110001111110100101001000110;
static int64_t g_235 = 4L;
static int32_t g_242 = 1L;
static int32_t *g_241 = &g_242;
static volatile struct S1 g_282 = {9L,0b0011011110101001110111110110001100111100111010110011010010110111LL,1L,0b0001101101100111,0b1100000101011101,255UL};/* VOLATILE GLOBAL g_282 */
static int32_t **g_288 = &g_241;
static uint8_t g_290[7] = {0b0100011000101110,0b0100011000101110,247UL,0b0100011000101110,0b0100011000101110,247UL,0b0100011000101110};
static const struct S0 g_317 = {1,44,1836,350,4};/* VOLATILE GLOBAL g_317 */
static struct S1 g_378 = {0xE35DL,0b1100001110001000110110001111101011000100001000101010001101110001LL,-9L,-9L,1L,0b0000001101001111};/* VOLATILE GLOBAL g_378 */
static volatile struct S1 g_424 = {0L,0b0001011101011111100100100010011110101000010011011110011011011100LL,0b0101010110010001,0b0101000100001100,0x9AL,246UL};/* VOLATILE GLOBAL g_424 */
static volatile struct S0 g_426[7] = {{-1,35,2280,-330,-4},{-1,35,2280,-330,-4},{-1,35,2280,-330,-4},{-1,35,2280,-330,-4},{-1,35,2280,-330,-4},{-1,35,2280,-330,-4},{-1,35,2280,-330,-4}};
static int32_t g_452 = 1L;
static int16_t g_453 = (-1L);
static uint64_t g_454[5] = {0UL,0UL,0UL,0UL,0UL};
static volatile int32_t g_471 = 0L;/* VOLATILE GLOBAL g_471 */
static struct S1 g_576 = {6L,0b0011101010111011000010101111100000100100111101101111110100000100LL,0b1101101111101000,0L,0L,1UL};/* VOLATILE GLOBAL g_576 */
static uint32_t g_588[2] = {0b10101110101011001001110110001110L,0b10101110101011001001110110001110L};
static int64_t g_633[10] = {0b0100110000100001001001110110000010100010000100011010101000110000LL,0b0100110000100001001001110110000010100010000100011010101000110000LL,0L,0b0100110000100001001001110110000010100010000100011010101000110000LL,0b0100110000100001001001110110000010100010000100011010101000110000LL,0L,0b0100110000100001001001110110000010100010000100011010101000110000LL,0b0100110000100001001001110110000010100010000100011010101000110000LL,0L,0b0100110000100001001001110110000010100010000100011010101000110000LL};
static uint16_t g_679 = 0UL;
static int64_t * volatile g_745 = (void*)0;/* VOLATILE GLOBAL g_745 */
static int64_t * volatile *g_744 = &g_745;
static int64_t * volatile g_749 = &g_197;/* VOLATILE GLOBAL g_749 */
static const int32_t ** const  volatile g_761 = &g_161;/* VOLATILE GLOBAL g_761 */
static const struct S1 g_764 = {1L,1L,0b1010101100010001,3L,0b1011101100000010,249UL};/* VOLATILE GLOBAL g_764 */


/* --- FORWARD DECLARATIONS --- */
static uint32_t  func_1(void);
static int32_t * func_2(int8_t  p_3, const int32_t * p_4, int32_t * p_5, int32_t * p_6, const uint8_t  p_7);
static struct S1  func_8(int32_t  p_9);
static int32_t * func_17(const int16_t  p_18, uint64_t  p_19, int32_t  p_20, uint64_t  p_21, int32_t * p_22);
static const struct S1  func_61(int64_t * p_62, int64_t * p_63, int8_t  p_64, uint16_t  p_65, int64_t * p_66);
static int64_t * func_67(int32_t ** p_68, int64_t * p_69, int64_t  p_70);
static int32_t ** func_71(int32_t ** p_72, uint32_t  p_73, const int32_t ** p_74);
static int32_t ** func_76(const int64_t  p_77, uint64_t  p_78, int64_t * p_79, int32_t * p_80);
static const int64_t  func_81(int16_t  p_82);
static int16_t  func_83(int16_t  p_84, int16_t  p_85, uint32_t  p_86, uint16_t  p_87, int32_t  p_88);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_14 g_13 g_36 g_122 g_144 g_141 g_146 g_160 g_121 g_148 g_235 g_163 g_164 g_165 g_241 g_242 g_193 g_282 g_452 g_453 g_426.f3 g_633 g_576.f3 g_576.f0 g_378.f0 g_317.f0 g_288 g_426.f4 g_317.f3 g_679 g_576.f1 g_290 g_588 g_378.f1 g_744 g_378.f3 g_749 g_317.f1 g_761 g_424 g_764
 * writes: g_13 g_14.f3 g_121 g_141 g_36 g_144 g_146 g_148 g_142 g_161 g_235 g_193 g_288 g_290 g_197 g_633 g_576.f0 g_241 g_679 g_165 g_454 g_14.f0 g_378.f3
 */
static uint32_t  func_1(void)
{/* block id: 0 */
    uint64_t l_10 = 6UL;
    const int32_t l_23 = 0L;
    int64_t * const l_26 = &g_13;
    uint32_t l_27 = 0xC9D6C840L;
    int32_t *l_28 = (void*)0;
    int32_t **l_59 = &l_28;
    int32_t *l_60 = &g_36[0][0][1];
    int32_t *l_765[3];
    uint32_t l_766 = 0x4BE064C5L;
    struct S1 * const l_769[1] = {&g_576};
    struct S1 *l_771 = (void*)0;
    struct S1 **l_770 = &l_771;
    int i;
    for (i = 0; i < 3; i++)
        l_765[i] = (void*)0;
    (*l_59) = func_2((func_8(l_10) , (safe_rshift_func_int16_t_s_s((((*l_59) = ((1UL >= g_14.f0) , func_17(l_23, (g_14.f2 & (((safe_sub_func_int64_t_s_s(l_10, ((l_26 != (((1UL ^ 0x2FD8L) != l_10) , l_26)) && (-1L)))) ^ g_14.f0) , l_27)), l_27, l_10, l_28))) != l_60), 5))), &g_36[0][0][2], l_60, l_60, g_36[0][0][2]);
    l_766--;
    (*l_770) = l_769[0];
    return (*l_28);

}


/* ------------------------------------------ */
/* 
 * reads : g_14.f3 g_14.f5 g_14.f1 g_14.f2 g_14.f0 g_122 g_36 g_144 g_14.f4 g_141 g_146 g_160 g_121 g_148 g_235 g_163 g_164 g_165 g_241 g_242 g_193 g_282 g_14 g_13 g_452 g_453 g_426.f3 g_633 g_576.f3 g_576.f0 g_378.f0 g_317.f0 g_288 g_426.f4 g_317.f3 g_679 g_576.f1 g_290 g_588 g_378.f1 g_744 g_378.f3 g_749 g_317.f1 g_761 g_424 g_764
 * writes: g_121 g_141 g_36 g_144 g_146 g_148 g_142 g_161 g_235 g_13 g_193 g_288 g_290 g_197 g_633 g_576.f0 g_14.f3 g_241 g_679 g_165 g_454 g_14.f0 g_378.f3
 */
static int32_t * func_2(int8_t  p_3, const int32_t * p_4, int32_t * p_5, int32_t * p_6, const uint8_t  p_7)
{/* block id: 19 */
    uint32_t l_75 = 0x3242B5ABL;
    int64_t *l_94[10][1];
    int64_t **l_95 = &l_94[4][0];
    int64_t *l_96 = &g_13;
    int32_t l_97[7][6] = {{1L,(-1L),0b00010001000010011010000101001111L,0b00010001000010011010000101001111L,(-1L),1L},{1L,0b11101111001000100100101011011000L,0b00010001000010011010000101001111L,1L,(-4L),1L},{(-1L),0b11101111001000100100101011011000L,1L,(-1L),(-1L),(-1L)},{(-1L),(-1L),(-1L),1L,0b11101111001000100100101011011000L,(-1L)},{1L,(-4L),1L,0b00010001000010011010000101001111L,0b11101111001000100100101011011000L,1L},{1L,(-1L),0b00010001000010011010000101001111L,0b00010001000010011010000101001111L,(-1L),1L},{1L,0b11101111001000100100101011011000L,0b00010001000010011010000101001111L,1L,(-4L),1L}};
    const int32_t *l_255[10] = {&g_242,&g_242,&g_242,&g_242,&g_242,&g_242,&g_242,&g_242,&g_242,&g_242};
    const int32_t **l_254[5] = {&l_255[7],&l_255[7],&l_255[7],&l_255[7],&l_255[7]};
    int i, j;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 1; j++)
            l_94[i][j] = &g_13;
    }
    p_4 = (func_61(((**g_163) = func_67(func_71((l_75 , func_76(func_81(func_83((l_97[0][3] = (0b01000010000010001010101001011000L ^ ((((safe_lshift_func_uint16_t_u_u((+(4L || ((safe_div_func_int16_t_s_s(((((((4294967294UL | g_14.f3) , (g_14.f5 , (((*l_95) = l_94[4][0]) != (g_14.f1 , l_96)))) ^ 0b0001001111001001110000001101101010110110111110000001000001111110LL) , (-3L)) , (*l_95)) != (void*)0), l_75)) != g_14.f3))), 12)) , 0b0101110110011000) , g_14.f2) | 8UL))), l_75, p_3, p_3, l_75)), p_7, l_96, g_241)), l_75, l_254[2]), l_96, p_7)), l_96, g_317.f1, p_7, l_96) , (*g_288));
    (*g_288) = (p_3 , p_6);
    return p_5;

}


/* ------------------------------------------ */
/* 
 * reads : g_14
 * writes: g_13
 */
static struct S1  func_8(int32_t  p_9)
{/* block id: 1 */
    int64_t *l_11 = (void*)0;
    int64_t *l_12[3];
    int i;
    for (i = 0; i < 3; i++)
        l_12[i] = &g_13;
    g_13 = 0x7.7D393Ep+69;
    return g_14;

}


/* ------------------------------------------ */
/* 
 * reads : g_14.f3 g_13
 * writes: g_14.f3
 */
static int32_t * func_17(const int16_t  p_18, uint64_t  p_19, int32_t  p_20, uint64_t  p_21, int32_t * p_22)
{/* block id: 4 */
    uint32_t l_34[1][8] = {{18446744073709551614UL,0b01010110000000100111011111101101,18446744073709551614UL,0b01010110000000100111011111101101,18446744073709551614UL,0b01010110000000100111011111101101,18446744073709551614UL,0b01010110000000100111011111101101}};
    int16_t l_37 = (-9L);
    int32_t *l_38 = &g_36[0][0][2];
    int32_t l_39 = 0L;
    int32_t *l_40 = &g_36[0][0][0];
    int32_t *l_41 = &g_36[0][0][2];
    int32_t *l_42 = &g_36[0][0][2];
    int32_t *l_43 = &g_36[0][0][1];
    int32_t *l_44 = &l_39;
    int32_t *l_45 = &l_39;
    int32_t *l_46 = &g_36[0][0][2];
    int32_t *l_47 = &g_36[0][0][2];
    int32_t *l_48 = &g_36[0][0][2];
    int32_t *l_49 = &g_36[0][0][2];
    int32_t *l_50[4] = {&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][1]};
    int32_t l_51[10] = {0L,0b00100000011100010110100101001010,0L,0b00100000011100010110100101001010,0L,0b00100000011100010110100101001010,0L,0b00100000011100010110100101001010,0L,0b00100000011100010110100101001010};
    int64_t l_52 = (-6L);
    int8_t l_53 = (-5L);
    int32_t l_54 = 0b11001010011010110011011010100000;
    int32_t l_55 = 1L;
    uint16_t l_56[7];
    int i, j;
    for (i = 0; i < 7; i++)
        l_56[i] = 0x6587L;
    for (p_20 = 0; (p_20 <= 24); ++p_20)
    {/* block id: 7 */
        int32_t *l_31 = (void*)0;
        return l_31;

    }
    for (g_14.f3 = (-7); (g_14.f3 >= 10); ++g_14.f3)
    {/* block id: 12 */
        int32_t *l_35 = &g_36[0][0][2];
        l_34[0][7] = g_13;
        return l_35;

    }
    l_56[6]--;
    return &g_36[0][0][1];

}


/* ------------------------------------------ */
/* 
 * reads : g_633 g_14 g_761 g_378.f3 g_424 g_764
 * writes: g_679 g_13 g_161 g_378.f3
 */
static const struct S1  func_61(int64_t * p_62, int64_t * p_63, int8_t  p_64, uint16_t  p_65, int64_t * p_66)
{/* block id: 315 */
    uint8_t l_756[3][2] = {{0b1110111000111110,0b1110111000111110},{0b1110111000111110,0b1110111000111110},{0b1110111000111110,0b1110111000111110}};
    int16_t l_759 = 0b0001000100010100;
    const int32_t *l_760[5][8] = {{&g_36[0][0][2],&g_242,&g_36[0][0][2],(void*)0,&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][1],(void*)0},{&g_36[0][0][0],&g_242,&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][2],&g_242,&g_36[0][0][1],&g_242},{&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],(void*)0,&g_36[0][0][2],(void*)0},{&g_36[0][0][1],(void*)0,&g_36[0][0][2],(void*)0,&g_36[0][0][2],(void*)0,&g_36[0][0][1],&g_36[0][0][2]},{&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][2],&g_242,&g_36[0][0][1],&g_242,&g_36[0][0][2],&g_36[0][0][2]}};
    int i, j;
    (*g_761) = (func_8((p_65 & (((g_679 = 0b1001010010110101) == (l_756[0][1] , g_633[1])) || (safe_mod_func_int8_t_s_s(l_759, 6L))))) , l_760[0][0]);
    for (g_378.f3 = 0; (g_378.f3 <= (-24)); g_378.f3 = safe_sub_func_uint64_t_u_u(g_378.f3, 2))
    {/* block id: 320 */
        return g_424;

    }
    return g_764;

}


/* ------------------------------------------ */
/* 
 * reads : g_576.f0 g_163 g_164 g_165
 * writes: g_576.f0 g_197 g_13
 */
static int64_t * func_67(int32_t ** p_68, int64_t * p_69, int64_t  p_70)
{/* block id: 307 */
    for (g_576.f0 = 0; (g_576.f0 > (-15)); g_576.f0 = safe_sub_func_int8_t_s_s(g_576.f0, 5))
    {/* block id: 310 */
        const int64_t ***l_755 = (void*)0;
        const int64_t ****l_754 = &l_755;
        (***g_163) = (+(l_754 != &g_163));

    }
    return p_69;

}


/* ------------------------------------------ */
/* 
 * reads : g_193 g_282 g_235 g_14 g_146 g_242 g_144 g_36 g_163 g_164 g_165 g_13 g_452 g_453 g_426.f3 g_633 g_576.f3 g_576.f0 g_378.f0 g_317.f0 g_288 g_426.f4 g_317.f3 g_679 g_576.f1 g_290 g_588 g_378.f1 g_744 g_378.f3 g_749
 * writes: g_288 g_13 g_290 g_144 g_146 g_197 g_148 g_193 g_633 g_576.f0 g_14.f3 g_241 g_679 g_165 g_454 g_14.f0
 */
static int32_t ** func_71(int32_t ** p_72, uint32_t  p_73, const int32_t ** p_74)
{/* block id: 90 */
    uint32_t l_264[7][10][3] = {{{0b01101010010011100000101001111101L,5UL,0b01010011101111001111000000110001L},{0b01101110001011001011000011011010L,0b11110110001100001010100100101111L,0b10001001100100111000101000010101L},{0b00011010010111110011110001010100L,4294967295UL,0b10101101001111100101011111111001L},{0b01101010001010110100101110100110L,0xD3D1E354L,0b00001001001001111110110000100011L},{0b00010101100001000111111000100011L,4294967286UL,0b11110101010111110101100010111110L},{0b01101010001010110100101110100110L,4294967294UL,4294967295UL},{0b00011010010111110011110001010100L,0b01010001010000011111111011111100L,4294967295UL},{0b01101110001011001011000011011010L,0UL,0b01000101110110100010011110111101L},{0b01101010010011100000101001111101L,0b10110001111010000100011101110111L,0b11110110001100001010100100101111L},{0b11101101110101111000110010101000L,0b10101101001111100101011111111001L,0b11110110001100001010100100101111L}},{{1UL,0b01000101110110100010011110111101L,0b01000101110110100010011110111101L},{0UL,0b00111111111111001101000001000111L,4294967295UL},{0xCCC5028FL,0x0F5A5815L,4294967295UL},{0xB18CDE90L,4294967295UL,0b11110101010111110101100010111110L},{0UL,0xD0EFFEF4L,0b00001001001001111110110000100011L},{0b01110011010111111111010011111001L,4294967295UL,0b10101101001111100101011111111001L},{4294967295UL,0x0F5A5815L,0b10001001100100111000101000010101L},{7UL,0b01101111111001010000000011110000L,0b10110011010111011110110111011111L},{0UL,4294967292UL,4294967295UL},{4294967294UL,0b11100110000011101111100001110110L,0xA2B718FBL}},{{4294967294UL,0b10010101111011000000010101011101L,0b00110100010111000100101110000100L},{0UL,0xA4F82BEEL,0UL},{0b10101101001111100101011111111001L,1UL,0x3B669778L},{0xD0EFFEF4L,7UL,4294967295UL},{0b10001001100100111000101000010101L,4294967295UL,4294967295UL},{0UL,4294967287UL,4294967295UL},{1UL,4294967295UL,0x3B669778L},{0b00001001001001111110110000100011L,0b11100110111001010010101001100100L,0UL},{4294967294UL,0x3B669778L,0b00110100010111000100101110000100L},{0b01000101110110100010011110111101L,4294967290UL,0xA2B718FBL}},{{0b10110001111010000100011101110111L,4294967290UL,4294967295UL},{0b01010100110011110111101100011111L,0x3B669778L,0b10110011010111011110110111011111L},{4294967295UL,0b11100110111001010010101001100100L,4294967290UL},{4294967295UL,4294967295UL,0b11100110000011101111100001110110L},{0b01010011101101001101011111101001L,4294967287UL,0UL},{0b11101100110100110111000000110010L,4294967295UL,0UL},{0b01010011101101001101011111101001L,7UL,0UL},{4294967295UL,1UL,4294967295UL},{4294967295UL,0xA4F82BEEL,4294967292UL},{0b01010100110011110111101100011111L,0b10010101111011000000010101011101L,0b11100110111001010010101001100100L}},{{0b10110001111010000100011101110111L,0b11100110000011101111100001110110L,0b11100110111001010010101001100100L},{0b01000101110110100010011110111101L,4294967292UL,4294967292UL},{4294967294UL,0b01101111111001010000000011110000L,4294967295UL},{0b00001001001001111110110000100011L,0UL,0UL},{1UL,0UL,0UL},{0UL,0xA2B718FBL,0UL},{0b10001001100100111000101000010101L,0UL,0b11100110000011101111100001110110L},{0xD0EFFEF4L,0UL,4294967290UL},{0b10101101001111100101011111111001L,0b01101111111001010000000011110000L,0b10110011010111011110110111011111L},{0UL,4294967292UL,4294967295UL}},{{4294967294UL,0b11100110000011101111100001110110L,0xA2B718FBL},{4294967294UL,0b10010101111011000000010101011101L,0b00110100010111000100101110000100L},{0UL,0xA4F82BEEL,0UL},{0b10101101001111100101011111111001L,1UL,0x3B669778L},{0xD0EFFEF4L,7UL,4294967295UL},{0b10001001100100111000101000010101L,4294967295UL,4294967295UL},{0UL,4294967287UL,4294967295UL},{1UL,4294967295UL,0x3B669778L},{0b00001001001001111110110000100011L,0b11100110111001010010101001100100L,0UL},{4294967294UL,0x3B669778L,0b00110100010111000100101110000100L}},{{0b01000101110110100010011110111101L,4294967290UL,0xA2B718FBL},{0b10110001111010000100011101110111L,4294967290UL,4294967295UL},{0b01010100110011110111101100011111L,0x3B669778L,0b10110011010111011110110111011111L},{4294967295UL,0b11100110111001010010101001100100L,4294967290UL},{4294967295UL,4294967295UL,0b11100110000011101111100001110110L},{0b01010011101101001101011111101001L,4294967287UL,0UL},{0b11101100110100110111000000110010L,4294967295UL,0UL},{0b01010011101101001101011111101001L,7UL,0UL},{4294967295UL,1UL,4294967295UL},{4294967295UL,0xA4F82BEEL,4294967292UL}}};
    uint8_t l_265 = 0b1111111011011000;
    int32_t ***l_283 = &g_141;
    int32_t ***l_284 = (void*)0;
    int32_t ***l_285 = &g_141;
    int32_t ***l_286 = (void*)0;
    int32_t ***l_287[7][8][4] = {{{&g_141,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,(void*)0},{&g_141,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,(void*)0},{&g_141,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,&g_141},{(void*)0,&g_141,(void*)0,&g_141},{(void*)0,&g_141,(void*)0,&g_141}},{{&g_141,&g_141,&g_141,(void*)0},{(void*)0,(void*)0,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141}},{{&g_141,&g_141,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141},{&g_141,(void*)0,&g_141,(void*)0},{&g_141,&g_141,&g_141,(void*)0},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,(void*)0,&g_141,&g_141},{(void*)0,&g_141,(void*)0,(void*)0},{&g_141,&g_141,&g_141,(void*)0}},{{(void*)0,(void*)0,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141}},{{&g_141,&g_141,&g_141,&g_141},{&g_141,(void*)0,&g_141,(void*)0},{&g_141,&g_141,&g_141,(void*)0},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,(void*)0,&g_141,&g_141},{(void*)0,&g_141,(void*)0,(void*)0},{&g_141,&g_141,&g_141,(void*)0},{(void*)0,(void*)0,&g_141,&g_141}},{{&g_141,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{&g_141,&g_141,(void*)0,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,&g_141,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141}},{{&g_141,(void*)0,&g_141,(void*)0},{&g_141,&g_141,&g_141,(void*)0},{(void*)0,&g_141,&g_141,&g_141},{(void*)0,(void*)0,&g_141,&g_141},{(void*)0,&g_141,(void*)0,(void*)0},{&g_141,&g_141,&g_141,(void*)0},{(void*)0,(void*)0,&g_141,&g_141},{&g_141,&g_141,&g_141,&g_141}}};
    uint8_t *l_289 = &g_290[3];
    uint32_t l_291 = 1UL;
    int8_t *l_292 = &g_144;
    int32_t l_344 = (-4L);
    int64_t *l_370 = &g_193[6];
    uint32_t l_472 = 7UL;
    int8_t l_476 = (-1L);
    int32_t l_527 = 0L;
    int32_t l_635 = 0xCF91B488L;
    uint32_t *l_649[4];
    int64_t * const ***l_700 = (void*)0;
    int i, j, k;
    for (i = 0; i < 4; i++)
        l_649[i] = &l_472;
    if ((safe_lshift_func_uint16_t_u_s(((safe_add_func_uint8_t_u_u(0b1100111010110111, ((safe_lshift_func_uint8_t_u_s((safe_mul_func_uint8_t_u_u(l_264[0][2][1], (--l_265))), ((*l_292) |= (g_193[0] >= ((safe_mod_func_uint64_t_u_u((!((~((1L ^ ((safe_mul_func_uint8_t_u_u(((*l_289) = (((safe_add_func_int64_t_s_s(((safe_lshift_func_uint8_t_u_s((g_282 , g_235), 4)) || ((func_8(((((p_72 != (g_288 = &g_241)) != g_193[1]) || p_73) , 0xB390FAAFL)) , (void*)0) != &g_163)), 0b0001111011111001000010011101101000001011111010100111010001010011LL)) && p_73) || 0b01000010100100100010011010011100L)), g_146)) && 0b0110110010111111)) , l_291)) ^ (**p_74))), g_193[0])) != 246UL))))) == 1UL))) >= g_193[0]), g_36[0][0][2])))
    {/* block id: 95 */
        int8_t l_297 = 0b1110000111100000;
        int32_t l_299 = 0xC0BE7F1CL;
        int64_t l_322 = 0b0010010010111100011100100111101010011100101010100101011110101010LL;
        int32_t l_334 = 1L;
        int32_t l_337[7] = {0x0CF63E60L,0x0CF63E60L,0x0CF63E60L,0x0CF63E60L,0x0CF63E60L,0x0CF63E60L,0x0CF63E60L};
        int16_t l_338 = 0b0110110001110111;
        int32_t *l_354 = &l_299;
        uint64_t l_355[3][9][8] = {{{0UL,0b0101000010000011011110010001001100001110001111011000111001001110LL,1UL,0UL,0xC0D5380354812496LL,0b0111010001100111101100111111110000110100000011111111011110111100LL,9UL,1UL},{0xE2C4FB1AA9814ACBLL,0b0001110011011101110111101100111111100110100010000000110001000100LL,0x7C99E85F40E0D335LL,0b1000011010011001111100110001110011010010100001011100101011011100LL,18446744073709551615UL,0UL,18446744073709551615UL,0b1000011010011001111100110001110011010010100001011100101011011100LL},{0b0101111110011110101010111010110000010001111010111100011111101101LL,9UL,0b0101111110011110101010111010110000010001111010111100011111101101LL,0UL,0b1000001000100010000010010101000010101010110110010100000101110111LL,0xC0D5380354812496LL,0b1000011010011001111100110001110011010010100001011100101011011100LL,0xB5936349D6D33543LL},{0b0100101001111010110101110100111010001001011000100011111001111011LL,0UL,0xB5936349D6D33543LL,0b1100010111001010010001000101100111001001001000101111110110011010LL,0xC66114BF563FC76DLL,0b0010110000100110101001001001001011010010001000010001100010010010LL,0b1000001000100010000010010101000010101010110110010100000101110111LL,0b1111011010010010000000111110101111011101001110011100000101011110LL},{0b0100101001111010110101110100111010001001011000100011111001111011LL,0b1011111001011100010000010100110011000111011100101000110001011101LL,18446744073709551608UL,7UL,0b1000001000100010000010010101000010101010110110010100000101110111LL,0xB6307F35D760F49ALL,0b0111101110100010001000101100000001110000101001001001010101000010LL,0b0101111110011110101010111010110000010001111010111100011111101101LL},{0b0101111110011110101010111010110000010001111010111100011111101101LL,0UL,18446744073709551615UL,0b0010000001011111110100000001000010111111001100000101010000111010LL,18446744073709551615UL,0b1111110101110101111010110101111000101000000111001100101011110101LL,0x79860B742C8A954ALL,0b0111100011110011100000111000000111000110001100100100110011111001LL},{0xE2C4FB1AA9814ACBLL,18446744073709551615UL,0UL,0x6F67057A4D677D69LL,0xC0D5380354812496LL,0b0101000010000011011110010001001100001110001111011000111001001110LL,0b1011011000011111100111010000000111111011010100001000010010111100LL,0b1000010101110100001010011100100100000010100000011101111110000101LL},{0UL,0b1111011010010010000000111110101111011101001110011100000101011110LL,18446744073709551615UL,0b0110111111000111101101011011110111011000110010011100000111001010LL,0xC77D63C4D2870161LL,0b0111100011110011100000111000000111000110001100100100110011111001LL,0UL,0b0101000010000011011110010001001100001110001111011000111001001110LL},{0x41E739154E5022A3LL,0b1000011000001000110000111001110111101001011100000001011110001000LL,0b1000001000100010000010010101000010101010110110010100000101110111LL,0xC66114BF563FC76DLL,0x7C99E85F40E0D335LL,0x17EF735F4DDDEDDCLL,18446744073709551612UL,0b1011111001011100010000010100110011000111011100101000110001011101LL}},{{0b1000000011010001001100010110110001100101101100100001000010000100LL,9UL,0b1011011000011111100111010000000111111011010100001000010010111100LL,0UL,18446744073709551611UL,0x7C99E85F40E0D335LL,8UL,0x41E739154E5022A3LL},{0xB5936349D6D33543LL,0xC0D5380354812496LL,9UL,0UL,1UL,9UL,0b0110111111000111101101011011110111011000110010011100000111001010LL,0UL},{18446744073709551615UL,0b0111101110100010001000101100000001110000101001001001010101000010LL,0b1100010111001010010001000101100111001001001000101111110110011010LL,9UL,18446744073709551606UL,0b0110111111000111101101011011110111011000110010011100000111001010LL,0UL,0UL},{9UL,0x41E739154E5022A3LL,18446744073709551615UL,18446744073709551615UL,0x41E739154E5022A3LL,9UL,0UL,18446744073709551611UL},{1UL,0b1111011000010111101010001110010100000110001101001110010101111101LL,0b0011110000010000000110000001010101001101100011011000011111000101LL,0b1011011000011111100111010000000111111011010100001000010010111100LL,0b1001000000101111001111001011001010100010000000111011101000010000LL,0b1011111001011100010000010100110011000111011100101000110001011101LL,18446744073709551615UL,0UL},{0b1101100010000011001010110001011000001101001001001011011001110110LL,18446744073709551615UL,2UL,0b1011011000011111100111010000000111111011010100001000010010111100LL,1UL,1UL,0UL,18446744073709551611UL},{0xB47B027DC054A840LL,1UL,0b1111110101110101111010110101111000101000000111001100101011110101LL,18446744073709551615UL,0b0100101001111010110101110100111010001001011000100011111001111011LL,0x043BDE896318C958LL,1UL,0UL},{0xB6307F35D760F49ALL,0xC66114BF563FC76DLL,0b0111010001100111101100111111110000110100000011111111011110111100LL,9UL,0UL,18446744073709551615UL,0b1111010001101011010100100111000111001010110000011101100000110001LL,0UL},{0UL,18446744073709551615UL,0b1000011010011001111100110001110011010010100001011100101011011100LL,0UL,0UL,18446744073709551615UL,1UL,0x41E739154E5022A3LL}},{{18446744073709551615UL,0x83D996D6E6AB972FLL,0UL,0UL,9UL,0UL,0x6F67057A4D677D69LL,0b1011111001011100010000010100110011000111011100101000110001011101LL},{0b1111010001101011010100100111000111001010110000011101100000110001LL,18446744073709551606UL,0UL,0xC66114BF563FC76DLL,0b1011111001011100010000010100110011000111011100101000110001011101LL,8UL,0xC77D63C4D2870161LL,0b0101000010000011011110010001001100001110001111011000111001001110LL},{0b1000001000100010000010010101000010101010110110010100000101110111LL,18446744073709551615UL,0x043BDE896318C958LL,0b0110111111000111101101011011110111011000110010011100000111001010LL,8UL,2UL,0b1000000011010001001100010110110001100101101100100001000010000100LL,0b1000010101110100001010011100100100000010100000011101111110000101LL},{6UL,0x79860B742C8A954ALL,0UL,0x6F67057A4D677D69LL,0b1111110101110101111010110101111000101000000111001100101011110101LL,0xE2C4FB1AA9814ACBLL,0b1001001100000010001000111101111100100101110011100000100011111001LL,0b0111100011110011100000111000000111000110001100100100110011111001LL},{0UL,0b0101111110011110101010111010110000010001111010111100011111101101LL,0x41E739154E5022A3LL,0b0010000001011111110100000001000010111111001100000101010000111010LL,0b0010110000100110101001001001001011010010001000010001100010010010LL,0b0010000001011111110100000001000010111111001100000101010000111010LL,0x41E739154E5022A3LL,0UL},{0UL,18446744073709551615UL,18446744073709551615UL,0xC77D63C4D2870161LL,9UL,0b0111010001100111101100111111110000110100000011111111011110111100LL,6UL,1UL},{18446744073709551615UL,18446744073709551615UL,0b0001110011011101110111101100111111100110100010000000110001000100LL,18446744073709551611UL,0UL,0b1111011000010111101010001110010100000110001101001110010101111101LL,6UL,9UL},{18446744073709551606UL,18446744073709551611UL,18446744073709551615UL,0b0111010001100111101100111111110000110100000011111111011110111100LL,0x7C99E85F40E0D335LL,0b0101000010000011011110010001001100001110001111011000111001001110LL,0b1111011000010111101010001110010100000110001101001110010101111101LL,0b1111011010010010000000111110101111011101001110011100000101011110LL},{0x7C99E85F40E0D335LL,0b0101000010000011011110010001001100001110001111011000111001001110LL,0b1111011000010111101010001110010100000110001101001110010101111101LL,0b1111011010010010000000111110101111011101001110011100000101011110LL,18446744073709551612UL,0b1000001000100010000010010101000010101010110110010100000101110111LL,0xCB39480B29A98CE1LL,9UL}}};
        uint8_t *l_379 = &g_290[3];
        uint8_t l_415 = 6UL;
        const uint16_t *l_572 = &g_148;
        int i, j, k;
        (***g_163) = p_73;
        for (g_13 = 0; (g_13 != 4); ++g_13)
        {/* block id: 99 */
            uint64_t l_300 = 1UL;
            int32_t l_331 = 0xFDAA674DL;
            int32_t l_332 = 0b10000000000100101111100000101010L;
            int32_t l_335 = 0x47544DC1L;
            int32_t l_336[1];
            uint16_t l_380 = 0UL;
            int8_t l_411 = 0L;
            const uint32_t l_414 = 0xEB9B8A89L;
            uint8_t l_447 = 254UL;
            int64_t l_485 = 0b1011010011101111000010110100011110010000000101110100010000000110LL;
            int64_t ****l_497 = &g_163;
            int32_t **l_562 = &g_241;
            uint64_t l_607 = 0b0110011101010011000000010100000101110100010100100011100001010110LL;
            int i;
            for (i = 0; i < 1; i++)
                l_336[i] = 0b00011100000011111010100111001010L;

        }

    }
    else
    {/* block id: 248 */
        uint8_t l_620 = 254UL;
        uint16_t l_681 = 0b0011101110001001;
        int32_t **l_750 = &g_241;
        for (g_146 = (-28); (g_146 < 5); ++g_146)
        {/* block id: 251 */
            const int32_t l_634 = 1L;
            int64_t *l_672 = (void*)0;
            int64_t *l_716 = &g_13;
            int32_t *l_725 = &g_242;
            const int64_t ***l_741 = (void*)0;
            const int64_t ****l_740[7] = {&l_741,&l_741,&l_741,&l_741,&l_741,&l_741,&l_741};
            const int64_t *****l_739 = &l_740[4];
            int16_t *l_746 = &g_576.f0;
            int16_t *l_747 = (void*)0;
            int16_t *l_748 = &g_14.f0;
            int i;
            for (l_344 = 0; (l_344 <= (-2)); --l_344)
            {/* block id: 254 */
                uint16_t *l_626 = &g_148;
                int32_t l_631 = 0x2BC41E7BL;
                int64_t *l_632 = &g_633[9];
                int16_t *l_636 = &g_576.f0;
                int64_t *l_695 = &g_197;
                (***g_163) = p_73;
                if ((**p_74))
                    continue;
                (*g_288) = (((safe_lshift_func_uint8_t_u_s(g_452, 2)) | (safe_mod_func_uint64_t_u_u(0x1C11E6C19BC9029ELL, g_14.f1))) , func_17((((l_620 >= ((*l_636) ^= ((safe_div_func_uint32_t_u_u((g_453 , (((safe_rshift_func_uint16_t_u_s(((*l_626) = (safe_unary_minus_func_uint16_t_u(g_426[0].f3))), g_235)) > (safe_rshift_func_int16_t_s_s((((((safe_lshift_func_int8_t_s_s(((((*l_632) |= (p_73 , ((*l_370) = l_631))) , &l_620) != &l_620), l_634)) , g_576.f3) || 0L) && 3L) > l_631), l_635))) >= l_631)), (-1L))) == l_631))) || (-10L)) ^ 8UL), g_378.f0, l_634, g_317.f0, &l_631));
                for (l_291 = 0; (l_291 > 11); l_291 = safe_add_func_int32_t_s_s(l_291, 5))
                {/* block id: 264 */
                    uint64_t l_677 = 0b1101111111110011011000111101000010100001110001001110010011011110LL;
                    int32_t l_680 = 0L;
                    int64_t *l_694 = &g_13;
                    int64_t **l_696 = &l_695;
                    int32_t l_720 = 0L;
                    (***g_163) = l_631;
                    for (p_73 = 0; (p_73 <= 0); p_73 += 1)
                    {/* block id: 268 */
                        const int32_t *l_659 = &g_36[p_73][p_73][(p_73 + 2)];
                        uint16_t *l_678 = &g_679;
                        int i, j, k;
                        l_659 = ((safe_sub_func_uint8_t_u_u((safe_mul_func_uint16_t_u_u(((*l_626) = l_264[(p_73 + 6)][p_73][(p_73 + 2)]), (safe_mul_func_int8_t_s_s((safe_rshift_func_uint16_t_u_s(65526UL, (safe_sub_func_uint8_t_u_u(l_264[(p_73 + 2)][(p_73 + 6)][p_73], (((((l_649[2] = (void*)0) == &l_264[(p_73 + 5)][(p_73 + 3)][p_73]) >= (safe_mod_func_int8_t_s_s(g_36[p_73][p_73][(p_73 + 2)], (safe_rshift_func_uint8_t_u_u(((+g_36[p_73][p_73][p_73]) & (safe_mul_func_uint16_t_u_u((((safe_add_func_int32_t_s_s(1L, g_193[(p_73 + 1)])) || p_73) < 0xF792L), p_73))), 4))))) <= g_426[0].f4) == g_14.f0))))), l_620)))), 0x8DL)) , (*p_74));
                        (***g_163) = (((((*l_289) ^= ((safe_sub_func_uint16_t_u_u(((safe_add_func_uint8_t_u_u(0x82L, (safe_mod_func_int16_t_s_s((safe_mul_func_int8_t_s_s(g_317.f3, (((safe_mul_func_int16_t_s_s(l_634, ((safe_mod_func_int32_t_s_s((((((*l_626) = (p_73 && 0UL)) | (l_672 == (void*)0)) <= ((safe_div_func_int8_t_s_s((safe_lshift_func_int16_t_s_u(((*l_636) ^= l_677), ((*l_678) ^= ((p_73 || g_36[0][0][2]) || l_631)))), 0xFDL)) , g_576.f1)) && l_620), l_680)) | l_680))) | g_378.f0) <= 0b1111011111110111))), g_378.f0)))) != l_681), 0b0001000101000100)) <= l_681)) ^ 0b1010010110010110) | l_680) && 2L);
                        (*p_74) = (*p_74);

                    }
                    if (((((*l_292) = (safe_mul_func_uint16_t_u_u(0b1100100011000010, p_73))) >= (g_36[0][0][1] < p_73)) < ((*l_636) = ((safe_lshift_func_int16_t_s_u(p_73, (0b0011011100010011 >= (safe_add_func_int64_t_s_s(l_631, (safe_sub_func_uint16_t_u_u(((safe_mul_func_uint8_t_u_u(((safe_lshift_func_int16_t_s_u((l_694 == ((*l_696) = ((**g_163) = l_695))), 2)) != 0x91592004A8A96CE6LL), g_14.f0)) | p_73), 8UL))))))) || 0b0011110000011111))))
                    {/* block id: 283 */
                        int64_t * const ****l_701 = &l_700;
                        int32_t l_713 = (-1L);
                        uint64_t *l_721 = &g_454[3];
                        (*l_716) = ((((safe_mul_func_uint8_t_u_u((!((*l_721) = ((((((*l_701) = l_700) == (((safe_mod_func_int16_t_s_s(0b1000111111100110, ((!l_634) | ((p_73 | (((safe_div_func_int32_t_s_s((safe_rshift_func_int16_t_s_u(((safe_mod_func_int32_t_s_s((safe_mod_func_uint8_t_u_u(l_713, (safe_lshift_func_uint8_t_u_u((((**g_163) = l_716) == (void*)0), 2)))), 4294967287UL)) | (!((*l_292) = (safe_sub_func_int16_t_s_s(l_720, l_634))))), p_73)), 0xA8822786L)) , &g_454[2]) == (void*)0)) , g_282.f0)))) && 0b0100110001111000) , (void*)0)) , g_588[0]) != l_713) && 1L))), g_378.f0)) & g_378.f1) || l_681) & 0xD521L);
                        (*l_694) = (***g_163);
                        (*l_695) = ((*l_694) = p_73);

                    }
                    else
                    {/* block id: 292 */
                        uint8_t l_722 = 0b1011010101100011;
                        l_722--;
                        l_720 |= 0x81F2A2F7L;

                    }

                }

            }
            (*g_288) = l_725;
            (*g_749) = ((*l_716) = ((((safe_add_func_uint8_t_u_u((g_426[0].f3 <= ((+p_73) , (safe_rshift_func_int16_t_s_u((safe_div_func_int64_t_s_s((((safe_mul_func_int16_t_s_s(((((g_378.f1 | (safe_add_func_int32_t_s_s((*l_725), (((void*)0 != l_739) , p_73)))) && (g_588[0] <= (safe_lshift_func_int16_t_s_s(((*l_748) |= ((*l_746) = ((g_744 != (void*)0) > (-1L)))), 9)))) & 3UL) ^ g_633[9]), (-1L))) && 0UL) > 0b0010100010101100100111111101011110000101110100111110100110111101LL), p_73)), l_681)))), g_633[0])) > g_378.f3) != p_73) , 0011101101010100100110110101.00110010001110011001001111010101));

        }
        return l_750;

    }
    return p_72;

}


/* ------------------------------------------ */
/* 
 * reads : g_144 g_242 g_148 g_14.f0
 * writes: g_144 g_146
 */
static int32_t ** func_76(const int64_t  p_77, uint64_t  p_78, int64_t * p_79, int32_t * p_80)
{/* block id: 79 */
    uint8_t l_246 = 0b1101110110101111;
    int32_t l_250[7] = {0L,0L,0L,0L,0L,0L,0L};
    uint32_t *l_251 = &g_146;
    const int64_t ***l_252 = (void*)0;
    int32_t **l_253 = (void*)0;
    int i;
    for (g_144 = 10; (g_144 < 2); g_144 = safe_sub_func_uint64_t_u_u(g_144, 7))
    {/* block id: 82 */
        int32_t *l_245[4][2] = {{(void*)0,(void*)0},{(void*)0,(void*)0},{(void*)0,(void*)0},{(void*)0,(void*)0}};
        int i, j;
        if ((*p_80))
            break;
        ++l_246;

    }
    l_252 = ((~((*l_251) = (l_250[2] = (g_148 && g_14.f0)))) , (void*)0);
    return l_253;

}


/* ------------------------------------------ */
/* 
 * reads : g_36 g_121 g_148 g_14.f5 g_144 g_235 g_163 g_164 g_165
 * writes: g_148 g_146 g_235 g_13 g_193 g_36
 */
static const int64_t  func_81(int16_t  p_82)
{/* block id: 68 */
    int32_t l_202 = 6L;
    int32_t l_203[3][5][1];
    int32_t *l_204 = (void*)0;
    int32_t *l_205 = &g_36[0][0][2];
    int32_t *l_206 = &g_36[0][0][0];
    int32_t *l_207[9][1][4] = {{{&g_36[0][0][2],&l_203[0][0][0],&g_36[0][0][1],&g_36[0][0][1]}},{{&l_203[0][0][0],&l_203[0][0][0],&l_203[0][0][0],&l_203[0][0][0]}},{{&l_203[0][0][0],&l_203[0][0][0],&g_36[0][0][2],&g_36[0][0][0]}},{{&l_203[0][0][0],&g_36[0][0][2],&l_203[0][0][0],&g_36[0][0][1]}},{{&l_203[0][0][0],&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][1]}},{{&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][0]}},{{&g_36[0][0][0],&l_203[0][0][0],&g_36[0][0][1],&l_203[0][0][0]}},{{&g_36[0][0][2],&l_203[0][0][0],&g_36[0][0][1],&g_36[0][0][1]}},{{&l_203[0][0][0],&l_203[0][0][0],&l_203[0][0][0],&l_203[0][0][0]}}};
    int32_t l_208 = (-1L);
    int16_t l_209 = 0L;
    uint32_t l_210 = 9UL;
    int8_t l_219[9][3][1] = {{{3L},{0L},{1L}},{{0b0101100000101111},{1L},{0L}},{{3L},{0L},{1L}},{{0b0101100000101111},{1L},{0L}},{{3L},{0L},{1L}},{{0b0101100000101111},{1L},{0L}},{{3L},{0L},{1L}},{{0b0101100000101111},{1L},{0L}},{{3L},{0L},{1L}}};
    uint16_t *l_222 = &g_148;
    uint32_t l_233 = 4UL;
    uint32_t *l_234 = &g_146;
    int32_t ***l_237 = &g_141;
    int32_t **l_238 = (void*)0;
    uint16_t l_239 = 0b0001100111111111;
    int64_t *l_240 = &g_193[0];
    int i, j, k;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 5; j++)
        {
            for (k = 0; k < 1; k++)
                l_203[i][j][k] = (-1L);
        }
    }
    --l_210;
    g_235 |= ((g_36[0][0][2] , (safe_div_func_uint8_t_u_u(((p_82 || p_82) < ((safe_sub_func_uint32_t_u_u(((*l_234) = ((safe_div_func_uint32_t_u_u(l_219[4][1][0], ((g_121 != ((-1L) > (safe_rshift_func_uint16_t_u_u((--(*l_222)), (safe_add_func_int32_t_s_s(((safe_mul_func_int8_t_s_s((safe_mul_func_int16_t_s_s((safe_sub_func_uint64_t_u_u(0b0001011000100001010111100100110110011010110011110001100001001111LL, ((*l_205) < g_14.f5))), g_144)), g_144)) | 0b1111110100011001), p_82)))))) || (*l_206)))) == l_233)), 4294967295UL)) | 0b0010101000011100)), 0x14L))) == p_82);
    (***g_163) = (*l_205);
    (*l_206) &= (+((*l_240) = ((l_239 = ((l_238 = &l_205) != &g_142)) & 0b00010011000011101010101000011100L)));
    return (*l_205);

}


/* ------------------------------------------ */
/* 
 * reads : g_14.f0 g_122 g_36 g_144 g_14.f1 g_14.f3 g_14.f4 g_141 g_146 g_160
 * writes: g_121 g_141 g_36 g_144 g_146 g_148 g_142 g_161
 */
static int16_t  func_83(int16_t  p_84, int16_t  p_85, uint32_t  p_86, uint16_t  p_87, int32_t  p_88)
{/* block id: 22 */
    uint8_t l_107 = 0xF0L;
    int32_t *l_118 = &g_36[0][0][2];
    int32_t **l_117 = &l_118;
    int32_t **l_119 = &l_118;
    int8_t *l_120 = &g_121;
    int32_t **l_140 = &l_118;
    int32_t ***l_139[3][3] = {{&l_140,&l_140,&l_140},{&l_140,&l_140,&l_140},{&l_140,&l_140,&l_140}};
    int8_t *l_143 = &g_144;
    uint32_t *l_145 = &g_146;
    uint16_t *l_147 = &g_148;
    uint32_t l_155[3];
    int64_t ** const *l_162 = (void*)0;
    int64_t ****l_166 = &g_163;
    int64_t l_201 = 0xCCEC343EB088F62FLL;
    int i, j;
    for (i = 0; i < 3; i++)
        l_155[i] = 0UL;
    if (((safe_mul_func_uint8_t_u_u((safe_mod_func_int16_t_s_s(((safe_mul_func_uint8_t_u_u(((safe_unary_minus_func_uint64_t_u((!g_14.f0))) < (safe_unary_minus_func_uint64_t_u(((g_14.f0 != ((248UL | l_107) >= (safe_sub_func_int64_t_s_s((!(safe_lshift_func_int16_t_s_u((safe_sub_func_int8_t_s_s(((safe_mul_func_int8_t_s_s(((*l_120) = (l_117 == (l_119 = &l_118))), (g_122 < ((safe_add_func_int32_t_s_s(((safe_rshift_func_int16_t_s_s(((((((*l_147) = (((*l_145) = ((safe_sub_func_int32_t_s_s((safe_mul_func_int8_t_s_s((safe_lshift_func_int8_t_s_s(((*l_143) |= (p_86 ^ (safe_add_func_int16_t_s_s((safe_lshift_func_int16_t_s_s(((**l_140) ^= (safe_rshift_func_uint16_t_u_s(((g_141 = &l_118) != &g_142), p_87))), 9)), g_14.f0)))), p_87)), 0b1010010100110100)), p_85)) >= 0x0D8202241FD824A0LL)) < 0UL)) , 2L) , g_14.f0) <= g_14.f1) || p_87), p_84)) < p_85), p_84)) , p_84)))) & g_14.f3), p_86)), p_84))), p_86)))) & g_14.f4)))), p_88)) , (-3L)), p_86)), p_88)) & p_86))
    {/* block id: 30 */
        int64_t **l_158 = (void*)0;
        int64_t ***l_157[8][3] = {{&l_158,&l_158,&l_158},{&l_158,&l_158,&l_158},{&l_158,&l_158,&l_158},{&l_158,(void*)0,&l_158},{&l_158,&l_158,&l_158},{&l_158,&l_158,&l_158},{&l_158,&l_158,&l_158},{&l_158,&l_158,&l_158}};
        int64_t ****l_156 = &l_157[3][2];
        int i, j;
        (**l_119) &= ((safe_mul_func_uint16_t_u_u((0xC684A527C8347797LL <= 0b0010100110101001110101111101010110100000101011100110001001100101LL), ((*g_141) == (*l_119)))) > ((++(*l_145)) | l_155[1]));
        (*l_156) = (void*)0;

    }
    else
    {/* block id: 34 */
        const int32_t * const l_159[10][9] = {{&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][0],&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][0],&g_36[0][0][1]},{(void*)0,&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2],(void*)0,&g_36[0][0][2]},{&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][1]},{&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][2],(void*)0,&g_36[0][0][2],(void*)0,&g_36[0][0][2],&g_36[0][0][2]},{&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2]},{&g_36[0][0][2],&g_36[0][0][2],(void*)0,&g_36[0][0][2],(void*)0,&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][2]},{&g_36[0][0][2],&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][0],&g_36[0][0][0],&g_36[0][0][2],&g_36[0][0][0]},{&g_36[0][0][2],(void*)0,&g_36[0][0][2],&g_36[0][0][1],(void*)0,(void*)0,&g_36[0][0][1],&g_36[0][0][2],(void*)0},{&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][0],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][1]},{&g_36[0][0][2],&g_36[0][0][2],&g_36[0][0][1],&g_36[0][0][1],&g_36[0][0][2],&g_36[0][0][2],(void*)0,&g_36[0][0][2],&g_36[0][0][2]}};
        int i, j;
        g_142 = ((*l_117) = (*g_141));
        (*g_160) = l_159[8][3];
        return p_88;

    }
    return l_201;

}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    int i, j, k;
    int print_hash_value = 0;
    if (argc == 2 && strcmp(argv[1], "1") == 0) print_hash_value = 1;
    platform_main_begin();
    crc32_gentab();
    func_1();
    transparent_crc(g_13, "g_13", print_hash_value);
    transparent_crc(g_14.f0, "g_14.f0", print_hash_value);
    transparent_crc(g_14.f1, "g_14.f1", print_hash_value);
    transparent_crc(g_14.f2, "g_14.f2", print_hash_value);
    transparent_crc(g_14.f3, "g_14.f3", print_hash_value);
    transparent_crc(g_14.f4, "g_14.f4", print_hash_value);
    transparent_crc(g_14.f5, "g_14.f5", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 1; j++)
        {
            for (k = 0; k < 3; k++)
            {
                transparent_crc(g_36[i][j][k], "g_36[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_121, "g_121", print_hash_value);
    transparent_crc(g_122, "g_122", print_hash_value);
    transparent_crc(g_144, "g_144", print_hash_value);
    transparent_crc(g_146, "g_146", print_hash_value);
    transparent_crc(g_148, "g_148", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        transparent_crc(g_193[i], "g_193[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_197, "g_197", print_hash_value);
    transparent_crc(g_235, "g_235", print_hash_value);
    transparent_crc(g_242, "g_242", print_hash_value);
    transparent_crc(g_282.f0, "g_282.f0", print_hash_value);
    transparent_crc(g_282.f1, "g_282.f1", print_hash_value);
    transparent_crc(g_282.f2, "g_282.f2", print_hash_value);
    transparent_crc(g_282.f3, "g_282.f3", print_hash_value);
    transparent_crc(g_282.f4, "g_282.f4", print_hash_value);
    transparent_crc(g_282.f5, "g_282.f5", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_290[i], "g_290[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_317.f0, "g_317.f0", print_hash_value);
    transparent_crc(g_317.f1, "g_317.f1", print_hash_value);
    transparent_crc(g_317.f2, "g_317.f2", print_hash_value);
    transparent_crc(g_317.f3, "g_317.f3", print_hash_value);
    transparent_crc(g_317.f4, "g_317.f4", print_hash_value);
    transparent_crc(g_378.f0, "g_378.f0", print_hash_value);
    transparent_crc(g_378.f1, "g_378.f1", print_hash_value);
    transparent_crc(g_378.f2, "g_378.f2", print_hash_value);
    transparent_crc(g_378.f3, "g_378.f3", print_hash_value);
    transparent_crc(g_378.f4, "g_378.f4", print_hash_value);
    transparent_crc(g_378.f5, "g_378.f5", print_hash_value);
    transparent_crc(g_424.f0, "g_424.f0", print_hash_value);
    transparent_crc(g_424.f1, "g_424.f1", print_hash_value);
    transparent_crc(g_424.f2, "g_424.f2", print_hash_value);
    transparent_crc(g_424.f3, "g_424.f3", print_hash_value);
    transparent_crc(g_424.f4, "g_424.f4", print_hash_value);
    transparent_crc(g_424.f5, "g_424.f5", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_426[i].f0, "g_426[i].f0", print_hash_value);
        transparent_crc(g_426[i].f1, "g_426[i].f1", print_hash_value);
        transparent_crc(g_426[i].f2, "g_426[i].f2", print_hash_value);
        transparent_crc(g_426[i].f3, "g_426[i].f3", print_hash_value);
        transparent_crc(g_426[i].f4, "g_426[i].f4", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_452, "g_452", print_hash_value);
    transparent_crc(g_453, "g_453", print_hash_value);
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_454[i], "g_454[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

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

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

    }
    transparent_crc(g_679, "g_679", print_hash_value);
    transparent_crc(g_764.f0, "g_764.f0", print_hash_value);
    transparent_crc(g_764.f1, "g_764.f1", print_hash_value);
    transparent_crc(g_764.f2, "g_764.f2", print_hash_value);
    transparent_crc(g_764.f3, "g_764.f3", print_hash_value);
    transparent_crc(g_764.f4, "g_764.f4", print_hash_value);
    transparent_crc(g_764.f5, "g_764.f5", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 1
breakdown:
   depth: 0, occurrence: 178
   depth: 1, occurrence: 8
XXX total union variables: 0

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

XXX max expression depth: 44
breakdown:
   depth: 1, occurrence: 69
   depth: 2, occurrence: 14
   depth: 5, occurrence: 1
   depth: 6, occurrence: 1
   depth: 7, occurrence: 1
   depth: 9, occurrence: 1
   depth: 19, occurrence: 1
   depth: 20, occurrence: 1
   depth: 22, occurrence: 1
   depth: 26, occurrence: 1
   depth: 27, occurrence: 1
   depth: 29, occurrence: 2
   depth: 32, occurrence: 2
   depth: 43, occurrence: 1
   depth: 44, occurrence: 1

XXX total number of pointers: 172

XXX times a variable address is taken: 401
XXX times a pointer is dereferenced on RHS: 37
breakdown:
   depth: 1, occurrence: 34
   depth: 2, occurrence: 2
   depth: 3, occurrence: 1
XXX times a pointer is dereferenced on LHS: 105
breakdown:
   depth: 1, occurrence: 93
   depth: 2, occurrence: 6
   depth: 3, occurrence: 6
XXX times a pointer is compared with null: 5
XXX times a pointer is compared with address of another variable: 3
XXX times a pointer is compared with another pointer: 8
XXX times a pointer is qualified to be dereferenced: 2947

XXX max dereference level: 5
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 297
   level: 2, occurrence: 60
   level: 3, occurrence: 41
   level: 4, occurrence: 2
   level: 5, occurrence: 1
XXX number of pointers point to pointers: 55
XXX number of pointers point to scalars: 115
XXX number of pointers point to structs: 2
XXX percent of pointers has null in alias set: 31.4
XXX average alias set size: 1.33

XXX times a non-volatile is read: 487
XXX times a non-volatile is write: 297
XXX times a volatile is read: 33
XXX    times read thru a pointer: 0
XXX times a volatile is write: 5
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 2.23e+03
XXX percentage of non-volatile access: 95.4

XXX forward jumps: 0
XXX backward jumps: 3

XXX stmts: 64
XXX max block depth: 5
breakdown:
   depth: 0, occurrence: 30
   depth: 1, occurrence: 16
   depth: 2, occurrence: 3
   depth: 3, occurrence: 4
   depth: 4, occurrence: 3
   depth: 5, occurrence: 8

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

/* Found checksum difference between compiler implementations */
/* gcc -O1: 72D53249 */
/* clang -O1: 10301700 */
/* please refer to http://embed.cs.utah.edu/csmith/using.html on how to report a bug */