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

[csmith-bugs] Infinite loops in generated csmith code



Hello CSmith Developers:

 

I’ve been using your tool and I’ve found two cases where CSmith generated code with for loops that would run forever (or, at least until int overflowed and then some more). It seems like this might be a bug in the loop generation. I’ve attached the testcases as test1.c and test2.c for  your reference.

 

In test1.c, on line 306 we have the loop:

 

for (g_38 = (-18); (g_38 != 56); g_38 += 6)

 

g_38 won’t equal 56 normally though incrementing by 6.

 

In test2.c on line 83 we have the nested loops:

 

    for (g_2 = 22; (g_2 != 29); g_2 += 6)

    { /* block id: 3 */

        int32_t *l_206 = (void*)0;

        int32_t *l_208[7];

        int i;

        for (i = 0; i < 7; i++)

            l_208[i] = &g_50;

        for (g_5 = 11; (g_5 == (-11)); g_5 -= 7)

        { /* block id: 6 */

            int32_t **l_205 = &g_96;

            int8_t *l_212 = &g_25[0][5][3];

            int8_t **l_211 = &l_212;

            l_208[4] = (l_206 = ((*l_205) = func_8(g_2, &g_2)));

            (*g_96) ^= (0UL ^ (((int16_t)1L - (int16_t)(((*l_211) = (void*)0) != &g_25[0][5][3])) && ((int8_t)g_25[0][5][3] << (int8_t)g_83)));

        }

    }

 

Both loop termination conditions seem incorrect.

 

Is there some way to force the compiler to only generate loop increments of ++ or --? That would be a quick workaround to this problem. Thank you!

 

Best,

Stanley


This email message is for the sole use of the intended recipient(s) and may contain confidential information.  Any unauthorized review, use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.

/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.2.0
 * Git version: dcef523
 * Options:   --no-math64 --no-float --no-longlong --no-jumps --no-checksum --max-block-depth 2 --max-block-size 2 --no-structs --no-packed-struct --no-consts --no-safe-math
 * Seed:      3861910142
 */


#define NO_LONGLONG

#include "csmith.h"

volatile uint32_t csmith_sink_ = 0;

static long __undefined;

/* --- Struct/Union Declarations --- */
union U0 {
   int16_t  f0;
   int32_t  f1;
};

union U1 {
   uint8_t  f0;
};

union U2 {
   volatile uint16_t  f0;
};

/* --- GLOBAL VARIABLES --- */
static uint16_t g_9[3][4] = {{65535UL,65535UL,65535UL,65535UL},{65535UL,65535UL,65535UL,65535UL},{65535UL,65535UL,65535UL,65535UL}};
static int32_t g_32 = 0xD3E99730L;
static int32_t *g_31 = &g_32;
static union U1 g_33 = {0UL};
static uint32_t g_36[6] = {0x6BD29A2AL,0UL,0x6BD29A2AL,0x6BD29A2AL,0UL,0x6BD29A2AL};
static uint32_t g_38 = 0UL;
static uint32_t g_39 = 4294967295UL;
static uint16_t g_59 = 65527UL;
static union U0 g_68 = {0x9622L};
static volatile union U2 g_90 = {1UL};/* VOLATILE GLOBAL g_90 */
static int32_t g_97[7][4] = {{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)},{0x7593EB6BL,0x7593EB6BL,(-3L),(-3L)}};
static int32_t g_100[3] = {(-1L),(-1L),(-1L)};
static union U2 g_108 = {0x8A3AL};/* VOLATILE GLOBAL g_108 */
static int32_t * volatile g_112 = &g_97[3][2];/* VOLATILE GLOBAL g_112 */
static int8_t g_128 = 0x2AL;
static union U2 g_132 = {0xD531L};/* VOLATILE GLOBAL g_132 */
static int32_t g_142 = 1L;
static int32_t g_143 = 0x2AE31553L;
static int8_t g_152 = 0x5AL;
static int32_t * volatile g_155[8][3][9] = {{{&g_32,(void*)0,&g_32,&g_32,&g_97[1][2],&g_97[1][2],&g_32,&g_32,(void*)0},{&g_143,(void*)0,&g_100[0],&g_100[1],&g_97[1][2],&g_32,&g_97[1][2],&g_97[1][2],&g_32},{&g_32,&g_32,&g_32,&g_32,&g_32,(void*)0,&g_97[1][3],(void*)0,&g_32}},{{&g_32,(void*)0,&g_100[1],(void*)0,(void*)0,(void*)0,&g_100[1],(void*)0,&g_32},{&g_97[0][2],(void*)0,&g_100[2],&g_32,(void*)0,(void*)0,&g_97[1][2],(void*)0,(void*)0},{&g_32,&g_143,&g_143,&g_32,(void*)0,&g_32,(void*)0,&g_100[0],&g_97[1][2]}},{{&g_97[0][2],(void*)0,&g_97[1][2],&g_32,&g_32,&g_97[1][2],(void*)0,&g_97[0][2],&g_32},{&g_32,&g_100[2],&g_97[1][2],&g_97[1][2],(void*)0,&g_100[0],&g_100[0],(void*)0,&g_97[1][2]},{&g_32,&g_97[1][3],&g_32,(void*)0,(void*)0,&g_32,&g_32,&g_32,&g_32}},{{&g_143,&g_32,(void*)0,&g_100[0],(void*)0,&g_32,&g_143,(void*)0,&g_97[1][2]},{&g_32,&g_32,(void*)0,(void*)0,&g_32,&g_97[1][3],&g_32,(void*)0,(void*)0},{&g_100[0],&g_100[0],(void*)0,&g_97[1][2],&g_97[1][2],&g_100[2],&g_32,(void*)0,&g_32}},{{(void*)0,&g_97[1][2],&g_32,&g_32,&g_97[1][2],(void*)0,&g_97[0][2],&g_32,&g_32},{(void*)0,&g_32,(void*)0,&g_32,&g_143,&g_143,&g_32,(void*)0,&g_32},{&g_97[1][2],(void*)0,(void*)0,&g_32,&g_100[2],(void*)0,&g_97[0][2],&g_97[0][2],(void*)0}},{{&g_100[1],(void*)0,(void*)0,(void*)0,&g_100[1],(void*)0,&g_32,&g_100[0],&g_32},{&g_97[1][3],(void*)0,&g_32,&g_32,&g_32,&g_32,&g_32,(void*)0,&g_97[1][3]},{&g_97[1][2],&g_32,&g_97[1][2],&g_100[1],&g_100[0],(void*)0,&g_143,(void*)0,&g_100[0]}},{{&g_32,&g_97[1][2],&g_97[1][2],&g_32,&g_32,(void*)0,&g_32,(void*)0,&g_100[2]},{&g_97[1][2],&g_100[0],&g_143,&g_100[2],&g_100[2],&g_143,&g_100[0],&g_97[1][2],(void*)0},{&g_97[1][3],&g_32,&g_100[2],&g_97[0][2],&g_32,(void*)0,(void*)0,&g_32,(void*)0}},{{&g_100[2],&g_97[1][2],&g_100[2],(void*)0,(void*)0,&g_143,&g_100[1],(void*)0,(void*)0},{&g_32,&g_97[0][2],&g_32,&g_32,&g_32,&g_97[0][2],&g_32,&g_32,&g_32},{&g_100[1],&g_143,(void*)0,(void*)0,&g_100[2],&g_97[1][2],&g_100[2],(void*)0,(void*)0}}};
static int32_t * volatile g_156 = (void*)0;/* VOLATILE GLOBAL g_156 */
static int16_t g_188 = 0L;
static union U2 g_203 = {65535UL};/* VOLATILE GLOBAL g_203 */
static int32_t * volatile g_218 = &g_100[0];/* VOLATILE GLOBAL g_218 */
static int32_t ** volatile g_244 = &g_31;/* VOLATILE GLOBAL g_244 */


/* --- FORWARD DECLARATIONS --- */
static uint8_t  func_1(void);
static int32_t * func_2(uint8_t  p_3, uint8_t  p_4, int32_t  p_5, int32_t  p_6, uint8_t  p_7);
static uint8_t  func_14(uint32_t  p_15, uint16_t  p_16, uint8_t  p_17, uint32_t  p_18);
static uint32_t  func_19(int16_t  p_20, int32_t * p_21, union U1  p_22, int32_t * p_23, uint32_t  p_24);
static int8_t  func_40(uint16_t  p_41, uint32_t  p_42);
static union U2  func_51(int32_t * p_52, uint16_t  p_53, uint32_t * p_54, int32_t * p_55, uint32_t * p_56);
static uint32_t * func_62(uint32_t * p_63, uint16_t * p_64, int32_t * p_65);
static uint32_t * func_66(union U0  p_67);
static int32_t * func_75(uint8_t  p_76);
static int32_t  func_81(uint32_t ** p_82, int16_t  p_83, union U1  p_84, union U1  p_85, uint32_t ** p_86);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_9 g_31 g_33 g_32 g_33.f0 g_38 g_68 g_36 g_90 g_97 g_100 g_68.f0 g_108 g_112 g_39 g_59 g_132 g_143 g_132.f0 g_188 g_203 g_128 g_218 g_68.f1 g_244
 * writes: g_32 g_36 g_38 g_39 g_59 g_33.f0 g_31 g_68.f1 g_97 g_100 g_68.f0 g_128 g_152 g_143 g_188
 */
static uint8_t  func_1(void)
{ /* block id: 0 */
    int32_t l_8 = 0x88D0D3F7L;
    uint32_t *l_35 = &g_36[0];
    uint32_t *l_37 = &g_38;
    uint8_t l_221 = 0x72L;
    (*g_244) = func_2(l_8, g_9[0][2], ((0x51L | ((int8_t)((int8_t)(9UL | func_14(g_9[1][1], l_8, l_8, (g_39 = ((*l_37) ^= ((*l_35) = func_19(((uint32_t)((((uint16_t)((int8_t)l_8 - (int8_t)g_9[0][3]) - (uint16_t)l_8) ^ l_8) != g_9[2][3]) / (uint32_t)l_8), g_31, g_33, &g_32, l_8)))))) >> (int8_t)2) >> (int8_t)6)) | l_8), l_8, l_221);
    for (g_143 = 0; (g_143 > 0); ++g_143)
    { /* block id: 101 */
        uint8_t l_247 = 0x18L;
        return l_247;
    }
    return g_59;
}


/* ------------------------------------------ */
/* 
 * reads : g_68.f1 g_188 g_31 g_97 g_100
 * writes: g_68.f1 g_152 g_188 g_97 g_100
 */
static int32_t * func_2(uint8_t  p_3, uint8_t  p_4, int32_t  p_5, int32_t  p_6, uint8_t  p_7)
{ /* block id: 87 */
    int32_t l_234 = 1L;
    union U0 l_235 = {0xC310L};
    for (g_68.f1 = 12; (g_68.f1 > (-22)); --g_68.f1)
    { /* block id: 90 */
        int8_t *l_238 = &g_152;
        int16_t *l_239 = &g_188;
        uint16_t *l_240[2];
        int32_t l_241[10] = {0L,0L,0L,0L,0L,0L,0L,0L,0L,0L};
        int32_t l_242 = 0x85EC66A7L;
        int32_t *l_243 = &g_100[2];
        int i;
        for (i = 0; i < 2; i++)
            l_240[i] = &g_9[0][2];
        (*l_243) |= (((int8_t)(((int16_t)p_7 << (int16_t)(((int32_t)((*g_31) ^= (((int32_t)((int8_t)l_234 << (int8_t)7) * (int32_t)((l_235 , 5L) , (9UL > 0x06L))) >= ((int8_t)((0xB5L >= ((l_241[1] = ((((*l_239) |= (((*l_238) = l_235.f0) <= 0x76L)) , 1L) != 0L)) | l_242)) , p_7) - (int8_t)p_6))) + (int32_t)l_242) || l_241[1])) , l_234) >> (int8_t)0) | 0x61L);
    }
    return &g_100[2];
}


/* ------------------------------------------ */
/* 
 * reads : g_32 g_68 g_38 g_36 g_33 g_90 g_97 g_100 g_68.f0 g_108 g_112 g_39 g_33.f0 g_59 g_132 g_143 g_132.f0 g_188 g_203 g_128 g_218
 * writes: g_59 g_38 g_33.f0 g_31 g_68.f1 g_97 g_100 g_68.f0 g_39 g_128 g_152 g_143
 */
static uint8_t  func_14(uint32_t  p_15, uint16_t  p_16, uint8_t  p_17, uint32_t  p_18)
{ /* block id: 7 */
    int32_t *l_57 = &g_32;
    uint16_t *l_58 = &g_59;
    uint32_t *l_61 = &g_39;
    uint32_t **l_60 = &l_61;
    uint32_t *l_80[8][2][10] = {{{&g_38,(void*)0,&g_36[4],&g_38,&g_36[4],(void*)0,&g_38,&g_36[0],&g_36[0],&g_38},{&g_36[0],&g_38,&g_36[4],&g_36[4],&g_38,&g_36[0],(void*)0,&g_38,(void*)0,&g_36[0]}},{{&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38},{&g_38,(void*)0,(void*)0,&g_38,&g_36[4],&g_36[0],&g_38,&g_36[0],&g_36[4],&g_38}},{{&g_36[0],&g_38,&g_36[0],&g_36[4],&g_38,(void*)0,(void*)0,&g_38,&g_36[4],&g_36[0]},{&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38}},{{&g_38,(void*)0,&g_36[0],&g_38,&g_36[4],&g_36[4],&g_38,&g_36[0],(void*)0,&g_38},{&g_36[0],&g_38,(void*)0,&g_36[4],&g_38,&g_36[4],(void*)0,&g_38,&g_36[0],&g_36[0]}},{{&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38},{&g_38,(void*)0,&g_36[4],&g_38,&g_36[4],(void*)0,&g_38,&g_36[0],&g_36[0],&g_38}},{{&g_36[0],&g_38,&g_36[4],&g_36[4],&g_38,&g_36[0],(void*)0,&g_38,(void*)0,&g_36[0]},{&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38}},{{&g_38,(void*)0,(void*)0,&g_38,&g_36[4],&g_36[0],&g_38,&g_36[0],&g_36[4],&g_38},{&g_36[0],&g_38,&g_36[0],&g_36[4],&g_38,(void*)0,(void*)0,&g_38,&g_36[4],&g_36[0]}},{{&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38,&g_38,&g_39,&g_38},{&g_38,(void*)0,&g_36[0],&g_36[4],&g_36[0],&g_36[0],&g_36[4],&g_36[0],&g_39,&g_36[4]}}};
    int16_t l_204 = 1L;
    int8_t *l_205 = &g_128;
    int32_t **l_219 = (void*)0;
    int32_t **l_220[3][9] = {{&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57},{&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57},{&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57,&l_57}};
    int i, j, k;
    (*g_112) = (p_17 , (func_40(g_32, ((((int32_t)(((*l_205) = ((int8_t)(((((((uint16_t)((((uint8_t)(func_51(l_57, ((*l_58) = (*l_57)), ((*l_60) = &g_39), &g_32, func_62((l_80[6][0][9] = func_66(g_68)), &g_9[0][2], &g_32)) , g_33.f0) >> (uint8_t)6) || (*l_57)) , g_32) % (uint16_t)1L) >= g_188) ^ (*l_57)) && 0x16DF6E39L) == (-1L)) | l_204) * (int8_t)1L)) , 0x77419847L) % (int32_t)(*l_57)) , (-1L)) > 255UL)) | 255UL));
    g_31 = &g_97[6][2];
    return g_100[2];
}


/* ------------------------------------------ */
/* 
 * reads : g_9 g_32 g_33.f0
 * writes: g_32
 */
static uint32_t  func_19(int16_t  p_20, int32_t * p_21, union U1  p_22, int32_t * p_23, uint32_t  p_24)
{ /* block id: 1 */
    (*p_21) |= (~g_9[1][3]);
    return g_33.f0;
}


/* ------------------------------------------ */
/* 
 * reads : g_128 g_218
 * writes: g_128 g_100
 */
static int8_t  func_40(uint16_t  p_41, uint32_t  p_42)
{ /* block id: 77 */
    uint16_t l_206 = 0UL;
    uint8_t *l_209 = &g_33.f0;
    int8_t *l_210 = &g_128;
    uint16_t *l_211 = &l_206;
    union U1 *l_214[9] = {&g_33,&g_33,&g_33,&g_33,&g_33,&g_33,&g_33,&g_33,&g_33};
    union U1 *l_215 = (void*)0;
    int32_t l_216 = 1L;
    int8_t l_217[1];
    int i;
    for (i = 0; i < 1; i++)
        l_217[i] = 0x43L;
    l_206 = p_42;
    (*g_218) = (((*l_210) ^= (l_209 == (void*)0)) && (((--(*l_211)) ^ (((p_42 ^ p_41) > (p_42 & (l_214[0] == (l_215 = &g_33)))) != (l_216 & p_42))) <= l_217[0]));
    return l_216;
}


/* ------------------------------------------ */
/* 
 * reads : g_68.f0 g_108 g_112 g_97 g_39 g_33.f0 g_36 g_100 g_59 g_132 g_32 g_143 g_132.f0 g_188 g_203
 * writes: g_68.f0 g_31 g_97 g_39 g_128 g_59 g_152 g_143 g_33.f0
 */
static union U2  func_51(int32_t * p_52, uint16_t  p_53, uint32_t * p_54, int32_t * p_55, uint32_t * p_56)
{ /* block id: 36 */
    int32_t l_120 = 0x0AE94942L;
    uint8_t l_151 = 255UL;
    uint32_t l_154 = 1UL;
    uint32_t *l_178 = &l_154;
    uint32_t **l_177 = &l_178;
    int8_t *l_185 = &g_152;
    int32_t l_196[5];
    int32_t **l_202[8];
    int i;
    for (i = 0; i < 5; i++)
        l_196[i] = 0x7B32EC46L;
    for (i = 0; i < 8; i++)
        l_202[i] = (void*)0;
    for (g_68.f0 = (-22); (g_68.f0 < (-1)); g_68.f0++)
    { /* block id: 39 */
        uint16_t l_105 = 65529UL;
        int32_t l_125 = (-1L);
        union U1 l_126 = {247UL};
        int32_t **l_153 = &g_31;
        if ((p_53 , (~255UL)))
        { /* block id: 40 */
            int32_t *l_104[5];
            int i;
            for (i = 0; i < 5; i++)
                l_104[i] = &g_97[0][3];
            ++l_105;
            return g_108;
        }
        else
        { /* block id: 43 */
            int32_t **l_109 = &g_31;
            (*l_109) = (void*)0;
            (*g_112) ^= ((uint32_t)0UL - (uint32_t)p_53);
        }
        for (g_39 = (-24); (g_39 != 15); ++g_39)
        { /* block id: 49 */
            uint8_t l_119 = 0xF4L;
            int8_t *l_127 = &g_128;
            int32_t l_129[1];
            uint16_t *l_135 = (void*)0;
            uint16_t *l_136 = &g_59;
            uint16_t *l_144 = &l_105;
            int32_t *l_157 = &l_129[0];
            int i;
            for (i = 0; i < 1; i++)
                l_129[i] = 0xD8B3B4CCL;
            l_129[0] = (p_53 != ((int16_t)(((uint32_t)((l_105 != l_119) > (l_120 || 65535UL)) + (uint32_t)(*g_112)) ^ ((*l_127) = (g_33.f0 & ((((int16_t)((+((!((((g_36[0] , (l_125 = 0x88L)) && l_120) , (-1L)) >= g_33.f0)) | p_53)) || g_33.f0) << (int16_t)g_33.f0) , l_126) , g_39)))) % (int16_t)g_100[2]));
            (*l_157) = ((((0L || g_59) , ((int16_t)((((((g_132 , (((((-4L) > (((*l_136) = ((uint8_t)p_53 * (uint8_t)1UL)) >= (l_125 & (~((((uint16_t)l_126.f0 * (uint16_t)((uint16_t)(--(*l_144)) << (uint16_t)((((uint8_t)((g_152 = ((uint8_t)(0xF612420EL & l_151) >> (uint8_t)3)) || (*p_52)) >> (uint8_t)p_53) , l_153) != (void*)0))) , l_120) && p_53))))) <= g_143) <= (*g_112)) != l_151)) | g_100[2]) <= g_68.f0) , p_53) <= l_154) , g_100[2]) % (int16_t)0x36F9L)) == l_120) & l_120);
        }
    }
    for (l_120 = 6; (l_120 == (-4)); --l_120)
    { /* block id: 61 */
        int32_t *l_162 = &g_143;
        uint32_t *l_176 = &l_154;
        uint32_t **l_175 = &l_176;
        uint16_t *l_179 = (void*)0;
        uint16_t *l_180 = (void*)0;
        uint16_t *l_181 = &g_59;
        int8_t **l_186 = &l_185;
        uint8_t *l_187 = &g_33.f0;
        int32_t l_195 = 0xB9BE39F1L;
        (*l_162) = ((int8_t)(-5L) >> (int8_t)g_132.f0);
        if (((uint8_t)((0L & (p_53 && (((((0xBE3DL < ((uint16_t)((uint8_t)(((*l_162) = ((int16_t)((int32_t)(*l_162) % (int32_t)(*l_162)) + (int16_t)(((int8_t)((l_175 != l_177) , (*l_162)) * (int8_t)((*l_187) = (((++(*l_181)) || (~((((*l_186) = l_185) == &g_128) != 65535UL))) | 0xE9L))) == l_151))) & p_53) << (uint8_t)7) % (uint16_t)p_53)) == 1UL) != 2L) , 0x5E1F53DEL) >= (*p_55)))) <= g_188) << (uint8_t)0))
        { /* block id: 67 */
            int8_t l_189[4];
            int32_t *l_190 = (void*)0;
            int32_t *l_191 = &g_68.f1;
            int32_t *l_192 = &g_97[1][2];
            int32_t *l_193 = &g_68.f1;
            int32_t *l_194[10][6][2] = {{{&l_120,&g_100[2]},{&g_32,&l_120},{&g_97[1][0],&l_120},{&g_97[1][0],&l_120},{&g_32,&g_100[2]},{&l_120,&g_97[3][1]}},{{&g_100[1],(void*)0},{(void*)0,&g_32},{&g_32,&g_100[2]},{(void*)0,(void*)0},{&g_100[2],&g_97[1][2]},{&l_120,&g_97[1][0]}},{{&g_143,&l_120},{(void*)0,&g_100[2]},{&g_143,(void*)0},{&g_97[6][2],&g_32},{&g_100[2],&l_120},{(void*)0,&g_32}},{{&g_143,&g_143},{&g_97[3][1],&g_97[5][0]},{&l_120,&g_100[2]},{&g_100[2],&g_100[2]},{&g_97[5][0],&g_100[1]},{(void*)0,&g_97[4][1]}},{{&g_100[2],&g_97[4][1]},{(void*)0,&g_100[1]},{&g_97[5][0],&g_100[2]},{&g_100[2],&g_100[2]},{&l_120,&g_97[5][0]},{&g_97[3][1],&g_143}},{{&g_143,&g_32},{(void*)0,&l_120},{&g_100[2],&g_32},{&g_97[6][2],(void*)0},{&g_143,&g_100[2]},{(void*)0,&l_120}},{{&g_143,&g_97[1][0]},{&l_120,&g_97[1][2]},{&g_100[2],(void*)0},{(void*)0,&g_100[2]},{&g_32,&g_32},{(void*)0,(void*)0}},{{&g_100[1],&g_97[3][1]},{&l_120,&g_100[2]},{&g_32,&l_120},{&g_97[1][0],&l_120},{&g_97[1][0],&l_120},{&g_32,&g_100[2]}},{{&l_120,&g_97[3][1]},{&g_100[1],(void*)0},{(void*)0,&g_32},{&g_32,&g_100[2]},{(void*)0,(void*)0},{&g_100[2],&g_97[1][2]}},{{&l_120,&g_97[1][0]},{&g_143,&l_120},{(void*)0,&g_100[2]},{&g_143,(void*)0},{&g_97[6][2],&g_32},{&g_100[2],&l_120}}};
            uint32_t l_197 = 1UL;
            int32_t **l_200 = (void*)0;
            int32_t **l_201 = &l_193;
            int i, j, k;
            for (i = 0; i < 4; i++)
                l_189[i] = (-1L);
            l_197++;
            (*l_201) = (void*)0;
        }
        else
        { /* block id: 70 */
            (*l_162) &= ((-4L) >= (l_202[5] != &p_52));
            if ((*p_52))
                break;
        }
    }
    return g_203;
}


/* ------------------------------------------ */
/* 
 * reads : g_33 g_90 g_97 g_100
 * writes: g_68.f1 g_97 g_100
 */
static uint32_t * func_62(uint32_t * p_63, uint16_t * p_64, int32_t * p_65)
{ /* block id: 28 */
    uint32_t *l_88 = &g_39;
    uint32_t **l_87 = &l_88;
    int32_t l_89[6] = {0x133D7BF5L,0x133D7BF5L,0x133D7BF5L,0x133D7BF5L,0x133D7BF5L,0x133D7BF5L};
    union U1 l_91 = {1UL};
    union U1 *l_92 = (void*)0;
    union U1 *l_93 = &l_91;
    int32_t *l_99 = &g_100[2];
    int i;
    (*l_99) &= func_81(l_87, l_89[1], g_33, ((*l_93) = (g_90 , l_91)), &l_88);
    return p_65;
}


/* ------------------------------------------ */
/* 
 * reads : g_38 g_36
 * writes: g_38 g_33.f0 g_31 g_68.f1
 */
static uint32_t * func_66(union U0  p_67)
{ /* block id: 10 */
    int32_t *l_74 = &g_68.f1;
    for (g_38 = (-18); (g_38 != 56); g_38 += 6)
    { /* block id: 13 */
        for (g_33.f0 = (-2); (g_33.f0 < 20); ++g_33.f0)
        { /* block id: 16 */
            int32_t **l_73[6] = {&g_31,&g_31,&g_31,&g_31,&g_31,&g_31};
            int i;
            g_31 = (l_74 = (void*)0);
            g_31 = (p_67.f0 , func_75(p_67.f0));
        }
    }
    return l_74;
}


/* ------------------------------------------ */
/* 
 * reads : g_36
 * writes: g_68.f1
 */
static int32_t * func_75(uint8_t  p_76)
{ /* block id: 19 */
    uint32_t l_77 = 0x8C580B0BL;
    int32_t l_78 = 0x1355901AL;
    int32_t *l_79 = &g_68.f1;
    (*l_79) = (g_36[0] > (l_78 ^= l_77));
    return &g_32;
}


/* ------------------------------------------ */
/* 
 * reads : g_97
 * writes: g_68.f1 g_97
 */
static int32_t  func_81(uint32_t ** p_82, int16_t  p_83, union U1  p_84, union U1  p_85, uint32_t ** p_86)
{ /* block id: 30 */
    uint16_t *l_94 = &g_9[0][2];
    int32_t *l_95 = (void*)0;
    int32_t *l_96[8][1] = {{&g_32},{&g_97[1][2]},{&g_32},{&g_97[1][2]},{&g_32},{&g_97[1][2]},{&g_32},{&g_97[1][2]}};
    uint32_t l_98 = 0xD35A08C8L;
    int i, j;
    g_97[3][2] |= (g_68.f1 = (((void*)0 != l_94) , (l_95 != l_95)));
    return l_98;
}




/* ---------------------------------------- */
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();
    func_1();
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            csmith_sink_ = g_9[i][j];
        }
    }
    csmith_sink_ = g_32;
    csmith_sink_ = g_33.f0;
    for (i = 0; i < 6; i++)
    {
        csmith_sink_ = g_36[i];
    }
    csmith_sink_ = g_38;
    csmith_sink_ = g_39;
    csmith_sink_ = g_59;
    csmith_sink_ = g_68.f0;
    csmith_sink_ = g_68.f1;
    csmith_sink_ = g_90.f0;
    for (i = 0; i < 7; i++)
    {
        for (j = 0; j < 4; j++)
        {
            csmith_sink_ = g_97[i][j];
        }
    }
    for (i = 0; i < 3; i++)
    {
        csmith_sink_ = g_100[i];
    }
    csmith_sink_ = g_108.f0;
    csmith_sink_ = g_128;
    csmith_sink_ = g_132.f0;
    csmith_sink_ = g_142;
    csmith_sink_ = g_143;
    csmith_sink_ = g_152;
    csmith_sink_ = g_188;
    csmith_sink_ = g_203.f0;
    platform_main_end(0,0);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 55
XXX total union variables: 9

XXX non-zero bitfields defined in structs: 0
XXX zero bitfields defined in structs: 0
XXX const bitfields defined in structs: 0
XXX volatile bitfields defined in structs: 0
XXX structs with bitfields in the program: 0
breakdown:
XXX full-bitfields structs in the program: 0
breakdown:
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: 0
XXX times a single bitfield on LHS: 0
XXX times a single bitfield on RHS: 0

XXX max expression depth: 33
breakdown:
   depth: 1, occurrence: 41
   depth: 2, occurrence: 11
   depth: 3, occurrence: 3
   depth: 5, occurrence: 1
   depth: 8, occurrence: 1
   depth: 14, occurrence: 1
   depth: 20, occurrence: 1
   depth: 24, occurrence: 1
   depth: 27, occurrence: 1
   depth: 28, occurrence: 1
   depth: 32, occurrence: 1
   depth: 33, occurrence: 1

XXX total number of pointers: 78

XXX times a variable address is taken: 134
XXX times a pointer is dereferenced on RHS: 12
breakdown:
   depth: 1, occurrence: 12
XXX times a pointer is dereferenced on LHS: 31
breakdown:
   depth: 1, occurrence: 31
XXX times a pointer is compared with null: 2
XXX times a pointer is compared with address of another variable: 1
XXX times a pointer is compared with another pointer: 2
XXX times a pointer is qualified to be dereferenced: 259

XXX max dereference level: 2
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 83
   level: 2, occurrence: 3
XXX number of pointers point to pointers: 16
XXX number of pointers point to scalars: 58
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 26.9
XXX average alias set size: 1.32

XXX times a non-volatile is read: 143
XXX times a non-volatile is write: 82
XXX times a volatile is read: 4
XXX    times read thru a pointer: 0
XXX times a volatile is write: 4
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 127
XXX percentage of non-volatile access: 96.6

XXX forward jumps: 0
XXX backward jumps: 0

XXX stmts: 43
XXX max block depth: 2
breakdown:
   depth: 0, occurrence: 24
   depth: 1, occurrence: 7
   depth: 2, occurrence: 12

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

/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.2.0
 * Git version: dcef523
 * Options:   --no-math64 --no-float --no-longlong --no-jumps --no-checksum --max-block-depth 2 --max-block-size 2 --no-structs --no-packed-struct --no-consts --no-safe-math
 * Seed:      655048357
 */


#define NO_LONGLONG

#include "csmith.h"

volatile uint32_t csmith_sink_ = 0;

static long __undefined;

/* --- Struct/Union Declarations --- */
union U0 {
   volatile int8_t  f0;
   unsigned f1 : 6;
};

/* --- GLOBAL VARIABLES --- */
static int32_t g_2 = (-6L);
static int32_t g_5 = 1L;
static int8_t g_25[1][7][10] = {{{0xAAL,0xDDL,0x9CL,0x9CL,0xDDL,0xAAL,0x01L,0xC9L,0x9CL,0x01L},{0xD8L,0xDDL,(-4L),0xC9L,0xDDL,0xE4L,0xDDL,0xC9L,(-4L),0xDDL},{0xD8L,0x01L,0x9CL,0xC9L,0x01L,0xAAL,0xDDL,0x9CL,0x9CL,0xDDL},{0xAAL,0xDDL,0x9CL,0x9CL,0xDDL,0xAAL,0x01L,0xC9L,0x9CL,0x01L},{0xD8L,0xDDL,(-4L),0xC9L,0xDDL,0xE4L,0xF8L,0x01L,0xDDL,0xF8L},{(-1L),2L,6L,0x01L,2L,0x3FL,0xF8L,6L,6L,0xF8L},{0x3FL,0xF8L,6L,6L,0xF8L,0x3FL,2L,0x01L,6L,2L}}};
static int32_t g_41 = 7L;
static int32_t * volatile g_40[3][9] = {{&g_2,(void*)0,&g_5,&g_5,(void*)0,&g_2,(void*)0,&g_5,&g_5},{&g_41,&g_41,&g_2,&g_5,&g_2,&g_41,&g_41,&g_2,&g_5},{&g_2,(void*)0,&g_2,&g_2,&g_2,&g_2,(void*)0,&g_2,&g_2}};
static int32_t g_50 = 1L;
static int8_t g_83 = 1L;
static int32_t g_97 = (-7L);
static int32_t *g_96 = &g_97;
static int32_t *g_98 = &g_97;
static volatile uint32_t g_120 = 4UL;/* VOLATILE GLOBAL g_120 */
static int32_t * volatile g_142 = &g_50;/* VOLATILE GLOBAL g_142 */
static volatile uint8_t g_148 = 1UL;/* VOLATILE GLOBAL g_148 */
static uint8_t g_152 = 0x06L;
static volatile uint32_t g_161[5] = {0xFE954CA7L,0xFE954CA7L,0xFE954CA7L,0xFE954CA7L,0xFE954CA7L};
static uint16_t g_166[3][6] = {{1UL,0x996DL,0x996DL,1UL,0x6587L,1UL},{1UL,0x6587L,1UL,0x996DL,0x996DL,1UL},{0xC7DAL,0xC7DAL,0x996DL,2UL,0x996DL,0xC7DAL}};
static int8_t g_180[1] = {1L};
static int32_t ** volatile g_207 = (void*)0;/* VOLATILE GLOBAL g_207 */
static volatile union U0 g_226 = {0x95L};/* VOLATILE GLOBAL g_226 */
static union U0 g_236 = {4L};/* VOLATILE GLOBAL g_236 */
static uint8_t g_239 = 0xC0L;


/* --- FORWARD DECLARATIONS --- */
static int16_t  func_1(void);
static int32_t * func_8(int32_t  p_9, int32_t * p_10);
static int32_t * func_13(uint32_t  p_14, int32_t  p_15, uint8_t  p_16, int32_t * p_17);
static int32_t * func_18(int32_t * p_19);
static int32_t * func_26(int8_t  p_27, uint8_t  p_28, uint32_t  p_29, int8_t * p_30);
static uint32_t  func_31(uint8_t  p_32);
static int8_t * func_43(int32_t  p_44, int32_t * p_45, int32_t * p_46, int32_t * p_47);
static int32_t  func_59(uint32_t  p_60, uint16_t  p_61, int32_t  p_62);
static uint8_t  func_65(int8_t * p_66, int8_t * p_67, int32_t  p_68);
static uint16_t  func_71(int16_t  p_72, int8_t * p_73, int8_t  p_74, int8_t * p_75);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_2 g_5 g_25 g_83 g_41 g_120 g_98 g_96 g_142 g_148 g_161 g_166 g_180 g_97 g_226 g_236 g_50 g_226.f0 g_239
 * writes: g_2 g_5 g_25 g_41 g_50 g_83 g_96 g_98 g_120 g_148 g_152 g_161 g_166 g_97 g_180 g_239
 */
static int16_t  func_1(void)
{ /* block id: 0 */
    int16_t l_217[7];
    int8_t *l_223 = &g_180[0];
    int8_t **l_222 = &l_223;
    uint16_t *l_237 = &g_166[0][0];
    uint32_t *l_238[2];
    int32_t *l_240[1];
    int i;
    for (i = 0; i < 7; i++)
        l_217[i] = 0x286EL;
    for (i = 0; i < 2; i++)
        l_238[i] = (void*)0;
    for (i = 0; i < 1; i++)
        l_240[i] = &g_5;
    for (g_2 = 22; (g_2 != 29); g_2 += 6)
    { /* block id: 3 */
        int32_t *l_206 = (void*)0;
        int32_t *l_208[7];
        int i;
        for (i = 0; i < 7; i++)
            l_208[i] = &g_50;
        for (g_5 = 11; (g_5 == (-11)); g_5 -= 7)
        { /* block id: 6 */
            int32_t **l_205 = &g_96;
            int8_t *l_212 = &g_25[0][5][3];
            int8_t **l_211 = &l_212;
            l_208[4] = (l_206 = ((*l_205) = func_8(g_2, &g_2)));
            (*g_96) ^= (0UL ^ (((int16_t)1L - (int16_t)(((*l_211) = (void*)0) != &g_25[0][5][3])) && ((int8_t)g_25[0][5][3] << (int8_t)g_83)));
        }
    }
    (*g_142) = (((g_5 ^= ((uint32_t)l_217[6] - (uint32_t)(((int32_t)0xDA08351AL / (int32_t)0x3D74D1D4L) >= ((((void*)0 == l_222) >= ((((uint32_t)(g_239 ^= ((g_226 , (((((uint8_t)((uint16_t)((*l_237) = (+((int8_t)(((((((int8_t)(l_217[6] == 0x5F75L) >> (int8_t)5) , g_236) , 1UL) <= 0xD6A94C9FL) < g_25[0][5][3]) < 3UL) * (int8_t)1L))) % (uint16_t)g_97) + (uint8_t)l_217[6]) || g_50) || 0x36L) >= 0x0DB0B287L)) || g_226.f0)) % (uint32_t)(*g_98)) >= g_97) , g_50)) < 0x4EL)))) & (*g_96)) ^ g_50);
    return g_166[1][4];
}


/* ------------------------------------------ */
/* 
 * reads : g_5 g_2 g_25 g_83 g_41 g_120 g_98 g_96 g_142 g_148 g_161 g_166 g_180 g_97
 * writes: g_25 g_41 g_50 g_83 g_96 g_98 g_120 g_148 g_152 g_161 g_166 g_97 g_180
 */
static int32_t * func_8(int32_t  p_9, int32_t * p_10)
{ /* block id: 7 */
    int32_t l_165[3];
    int32_t *l_204 = &g_97;
    int i;
    for (i = 0; i < 3; i++)
        l_165[i] = 1L;
    for (p_9 = 0; (p_9 > (-21)); p_9 -= 3)
    { /* block id: 10 */
        int32_t **l_164 = &g_96;
        int32_t *l_176 = &g_97;
        int8_t *l_179 = &g_180[0];
        (*l_164) = func_13((((((*l_164) = func_18(p_10)) == (((((g_166[1][4] |= l_165[2]) < ((uint8_t)p_9 - (uint8_t)(-(int16_t)((uint8_t)((int16_t)((int32_t)((*l_176) = (*p_10)) % (int32_t)(*p_10)) * (int16_t)((int8_t)((*l_179) = p_9) + (int8_t)(((int8_t)(((int8_t)((int8_t)((p_9 != (p_9 == g_5)) != 0x4D877492L) / (int8_t)254UL) + (int8_t)l_165[2]) , g_5) % (int8_t)g_2) , g_5))) - (uint8_t)g_2)))) || (*p_10)) ^ p_9) , &g_2)) , g_180[0]) != l_165[2]), g_2, g_2, p_10);
        (*l_164) = p_10;
    }
    return l_204;
}


/* ------------------------------------------ */
/* 
 * reads : g_166 g_97 g_161 g_180
 * writes:
 */
static int32_t * func_13(uint32_t  p_14, int32_t  p_15, uint8_t  p_16, int32_t * p_17)
{ /* block id: 88 */
    int32_t l_198 = 0xCFB4EE82L;
    int32_t l_203 = (-2L);
    for (p_16 = 0; (p_16 >= 3); p_16 += 1)
    { /* block id: 91 */
        int32_t l_193 = 0x1CDA9944L;
        int8_t *l_200 = (void*)0;
        int8_t **l_199 = &l_200;
        int8_t *l_201 = &g_83;
        int32_t *l_202[3][2] = {{(void*)0,(void*)0},{(void*)0,(void*)0},{(void*)0,(void*)0}};
        int i, j;
        l_203 ^= (l_198 = (((((uint32_t)((uint16_t)((-1L) & (g_166[1][4] != ((g_97 , (l_193 , 0xD971L)) < (g_161[3] && (0x63L == ((uint8_t)(((int8_t)l_198 >> (int8_t)1) >= (((*l_199) = &g_25[0][1][7]) == l_201)) % (uint8_t)g_180[0])))))) + (uint16_t)p_16) % (uint32_t)l_198) || 0x9FL) > 0xDA031FE6L) >= l_198));
    }
    return &g_97;
}


/* ------------------------------------------ */
/* 
 * reads : g_5 g_2 g_25 g_50 g_83 g_41 g_120 g_98 g_96 g_142 g_148 g_161
 * writes: g_25 g_41 g_50 g_83 g_96 g_98 g_120 g_148 g_152 g_161
 */
static int32_t * func_18(int32_t * p_19)
{ /* block id: 11 */
    int16_t l_22 = (-1L);
    int8_t *l_24 = &g_25[0][5][3];
    int32_t *l_48 = &g_5;
    int32_t **l_139 = &g_98;
    uint8_t *l_151 = &g_152;
    if (((uint16_t)l_22 + (uint16_t)((l_22 | ((+(&g_5 == (((*l_24) = g_5) , ((*l_139) = func_26(l_22, g_2, func_31(l_22), func_43(l_22, l_48, l_48, l_48)))))) , (**l_139))) == 0xFAL)))
    { /* block id: 66 */
        int16_t l_140 = 7L;
        int32_t l_141 = 0xAE86295EL;
        (*g_142) = (l_141 = l_140);
    }
    else
    { /* block id: 69 */
        for (g_50 = 0; (g_50 >= 0); g_50 -= 1)
        { /* block id: 72 */
            int32_t *l_143 = &g_97;
            int32_t l_144 = (-1L);
            int32_t *l_145 = &l_144;
            int32_t *l_146 = &l_144;
            int32_t *l_147[3];
            int i;
            for (i = 0; i < 3; i++)
                l_147[i] = &g_41;
            ++g_148;
        }
    }
    if ((((*l_151) = 0xD5L) != ((*l_24) = ((int32_t)(((uint16_t)(*l_48) >> (uint16_t)(0xAEL < g_41)) != (-1L)) - (int32_t)(g_83 > ((int8_t)g_41 % (int8_t)((int16_t)(&p_19 != &p_19) << (int16_t)11)))))))
    { /* block id: 78 */
        ++g_161[4];
    }
    else
    { /* block id: 80 */
        return p_19;
    }
    return &g_41;
}


/* ------------------------------------------ */
/* 
 * reads : g_50 g_25 g_83 g_5 g_41 g_120 g_98 g_96
 * writes: g_50 g_83 g_41 g_96 g_98 g_25 g_120
 */
static int32_t * func_26(int8_t  p_27, uint8_t  p_28, uint32_t  p_29, int8_t * p_30)
{ /* block id: 19 */
    int8_t *l_69 = &g_25[0][5][3];
    int32_t *l_93 = &g_5;
    int32_t l_129 = 0x69B8DE4FL;
    int32_t l_131 = 1L;
    int32_t l_133[9][1] = {{(-1L)},{(-1L)},{0x365C1E2DL},{(-1L)},{(-1L)},{0x365C1E2DL},{(-1L)},{(-1L)},{0x365C1E2DL}};
    int i, j;
    for (g_50 = 0; (g_50 <= 2); g_50 += 1)
    { /* block id: 22 */
        int8_t *l_70 = (void*)0;
        int32_t *l_95 = &g_5;
        int32_t **l_94[4][10] = {{&l_93,&l_93,&l_93,&l_93,&l_95,&l_95,&l_95,&l_95,&l_95,&l_95},{&l_95,(void*)0,(void*)0,&l_95,&l_93,&l_95,&l_93,&l_95,&l_93,&l_95},{&l_95,&l_93,&l_93,&l_93,&l_95,&l_95,(void*)0,&l_93,&l_93,(void*)0},{&l_95,&l_95,&l_95,&l_95,&l_95,&l_95,&l_95,(void*)0,&l_95,(void*)0}};
        int i, j;
        l_129 = func_59(g_25[0][6][7], ((uint8_t)func_65(l_69, l_70, p_29) / (uint8_t)((int16_t)((void*)0 == l_93) << (int16_t)13)), (((((g_96 = &g_5) == (g_98 = &g_5)) ^ g_25[0][5][3]) == 0UL) && (*l_93)));
        for (g_41 = 0; (g_41 <= 2); g_41 += 1)
        { /* block id: 60 */
            int32_t l_130 = 0L;
            int32_t l_132 = 0xE4417017L;
            int32_t l_134 = 0x4F7079DBL;
            int32_t l_135[7][4] = {{0x5D5CCFC8L,0xD7152396L,(-7L),0x5D5CCFC8L},{0xE0AAE0DDL,1L,0xE0AAE0DDL,(-7L)},{(-6L),1L,6L,0x5D5CCFC8L},{1L,0xD7152396L,0xD7152396L,1L},{0xE0AAE0DDL,0x5D5CCFC8L,0xD7152396L,(-7L)},{1L,(-6L),6L,(-6L)},{(-6L),0xD7152396L,0xE0AAE0DDL,(-6L)}};
            uint16_t l_136 = 0xFC2EL;
            int i, j;
            l_136--;
        }
    }
    return &g_2;
}


/* ------------------------------------------ */
/* 
 * reads : g_25
 * writes: g_41
 */
static uint32_t  func_31(uint8_t  p_32)
{ /* block id: 13 */
    uint16_t l_39[2];
    int32_t *l_42 = &g_41;
    int i;
    for (i = 0; i < 2; i++)
        l_39[i] = 65535UL;
    (*l_42) = ((uint32_t)p_32 % (uint32_t)((int8_t)((uint32_t)0x0D42AD01L - (uint32_t)0x01D976D9L) * (int8_t)(l_39[0] > (0xC8L <= g_25[0][5][3]))));
    return p_32;
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static int8_t * func_43(int32_t  p_44, int32_t * p_45, int32_t * p_46, int32_t * p_47)
{ /* block id: 16 */
    int32_t *l_49 = &g_50;
    int32_t *l_51 = (void*)0;
    int32_t *l_52 = &g_50;
    int32_t *l_53 = &g_50;
    int32_t *l_54 = (void*)0;
    int32_t *l_55[4] = {&g_50,&g_50,&g_50,&g_50};
    uint16_t l_56 = 0xAABFL;
    int i;
    l_56--;
    return &g_25[0][5][3];
}


/* ------------------------------------------ */
/* 
 * reads : g_25 g_83 g_41 g_120 g_98 g_5 g_96
 * writes: g_25 g_41 g_120
 */
static int32_t  func_59(uint32_t  p_60, uint16_t  p_61, int32_t  p_62)
{ /* block id: 36 */
    int32_t **l_108[7] = {(void*)0,(void*)0,&g_98,(void*)0,(void*)0,&g_98,(void*)0};
    int i;
    for (p_62 = 17; (p_62 < 14); p_62 -= 1)
    { /* block id: 39 */
        int8_t l_111[2];
        int8_t *l_112 = &g_25[0][6][0];
        int32_t l_113 = 0xC98A9952L;
        uint32_t l_114[4][2] = {{0xF94CC8AAL,7UL},{0xF94CC8AAL,0xF94CC8AAL},{7UL,0xF94CC8AAL},{0xF94CC8AAL,7UL}};
        int32_t l_115 = 0x49ECA512L;
        int32_t *l_116 = &g_97;
        int i, j;
        for (i = 0; i < 2; i++)
            l_111[i] = 1L;
        l_115 &= ((uint8_t)((int8_t)((((int32_t)(~0UL) / (int32_t)(((void*)0 == l_108[0]) & ((*l_112) |= ((int32_t)p_62 + (int32_t)l_111[1])))) , &l_111[0]) == (void*)0) >> (int8_t)((l_113 ^= 0xDDD4CC67L) | (((l_111[1] || l_111[0]) ^ 0x2509L) > g_83))) / (uint8_t)l_114[1][0]);
        l_116 = &g_5;
    }
    for (g_41 = 0; (g_41 <= 6); g_41 += 1)
    { /* block id: 47 */
        int32_t l_117 = (-1L);
        int32_t l_118[3];
        int32_t l_119 = (-1L);
        uint32_t l_128 = 4294967295UL;
        int i;
        for (i = 0; i < 3; i++)
            l_118[i] = 6L;
        --g_120;
        if (p_60)
        { /* block id: 49 */
            uint32_t l_123 = 0xD7D123A2L;
            l_123++;
            if ((*g_98))
                continue;
        }
        else
        { /* block id: 52 */
            l_128 ^= ((uint8_t)255UL >> (uint8_t)0);
        }
    }
    return (*g_96);
}


/* ------------------------------------------ */
/* 
 * reads : g_83 g_25 g_5 g_41
 * writes: g_83 g_41
 */
static uint8_t  func_65(int8_t * p_66, int8_t * p_67, int32_t  p_68)
{ /* block id: 23 */
    uint16_t l_80 = 2UL;
    int8_t *l_81 = &g_25[0][5][3];
    int8_t *l_82 = &g_83;
    int32_t *l_90 = &g_41;
    (*l_90) &= ((func_71((((int8_t)(((int8_t)(l_80 , (((l_80 , &g_41) != &g_2) , ((void*)0 != l_81))) << (int8_t)((*l_82) &= (p_68 | p_68))) || 0xC15DC1C4L) / (int8_t)p_68) , 0xFA6BL), &g_25[0][5][3], (*p_66), l_81) == g_5) , (-1L));
    return g_83;
}


/* ------------------------------------------ */
/* 
 * reads :
 * writes:
 */
static uint16_t  func_71(int16_t  p_72, int8_t * p_73, int8_t  p_74, int8_t * p_75)
{ /* block id: 25 */
    uint8_t l_87 = 0x63L;
    for (p_72 = 1; (p_72 < (-7)); --p_72)
    { /* block id: 28 */
        int32_t *l_86[1];
        int i;
        for (i = 0; i < 1; i++)
            l_86[i] = &g_41;
        --l_87;
    }
    return l_87;
}




/* ---------------------------------------- */
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();
    func_1();
    csmith_sink_ = g_2;
    csmith_sink_ = g_5;
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 7; j++)
        {
            for (k = 0; k < 10; k++)
            {
                csmith_sink_ = g_25[i][j][k];
            }
        }
    }
    csmith_sink_ = g_41;
    csmith_sink_ = g_50;
    csmith_sink_ = g_83;
    csmith_sink_ = g_97;
    csmith_sink_ = g_120;
    csmith_sink_ = g_148;
    csmith_sink_ = g_152;
    for (i = 0; i < 5; i++)
    {
        csmith_sink_ = g_161[i];
    }
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 6; j++)
        {
            csmith_sink_ = g_166[i][j];
        }
    }
    for (i = 0; i < 1; i++)
    {
        csmith_sink_ = g_180[i];
    }
    csmith_sink_ = g_226.f0;
    csmith_sink_ = g_236.f0;
    csmith_sink_ = g_239;
    platform_main_end(0,0);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 0
breakdown:
   depth: 0, occurrence: 51
XXX total union variables: 2

XXX non-zero bitfields defined in structs: 1
XXX zero bitfields defined in structs: 0
XXX const bitfields defined in structs: 0
XXX volatile bitfields defined in structs: 0
XXX structs with bitfields in the program: 2
breakdown:
   indirect level: 0, occurrence: 2
XXX full-bitfields structs in the program: 0
breakdown:
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: 2
XXX times a single bitfield on LHS: 0
XXX times a single bitfield on RHS: 0

XXX max expression depth: 30
breakdown:
   depth: 1, occurrence: 42
   depth: 2, occurrence: 12
   depth: 5, occurrence: 1
   depth: 6, occurrence: 1
   depth: 7, occurrence: 1
   depth: 12, occurrence: 1
   depth: 15, occurrence: 1
   depth: 16, occurrence: 1
   depth: 18, occurrence: 2
   depth: 19, occurrence: 1
   depth: 30, occurrence: 2

XXX total number of pointers: 66

XXX times a variable address is taken: 75
XXX times a pointer is dereferenced on RHS: 11
breakdown:
   depth: 1, occurrence: 10
   depth: 2, occurrence: 1
XXX times a pointer is dereferenced on LHS: 20
breakdown:
   depth: 1, occurrence: 20
XXX times a pointer is compared with null: 4
XXX times a pointer is compared with address of another variable: 0
XXX times a pointer is compared with another pointer: 1
XXX times a pointer is qualified to be dereferenced: 924

XXX max dereference level: 2
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 164
   level: 2, occurrence: 8
XXX number of pointers point to pointers: 9
XXX number of pointers point to scalars: 57
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 19.7
XXX average alias set size: 1.3

XXX times a non-volatile is read: 124
XXX times a non-volatile is write: 67
XXX times a volatile is read: 3
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: 420
XXX percentage of non-volatile access: 96

XXX forward jumps: 0
XXX backward jumps: 0

XXX stmts: 45
XXX max block depth: 2
breakdown:
   depth: 0, occurrence: 23
   depth: 1, occurrence: 15
   depth: 2, occurrence: 7

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