/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.3.0
 * Git version: 30dccd7
 * Options:   (none)
 * Seed:      12725328356570095319
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
union U2 {
   const int32_t  f0;
   int16_t  f1;
   volatile int8_t * f2;
   uint32_t  f3;
   int8_t * f4;
};

/* --- GLOBAL VARIABLES --- */
static volatile int32_t g_2 = 0L;/* VOLATILE GLOBAL g_2 */
static volatile int32_t g_3 = (-5L);/* VOLATILE GLOBAL g_3 */
static volatile int32_t g_4[5] = {9L,9L,9L,9L,9L};
static int32_t g_5 = 1L;
static int16_t g_18 = 0x4AA4L;
static uint32_t g_26 = 4294967295UL;
static union U2 g_27 = {-1L};
static int32_t * const  volatile g_28[3] = {(void*)0,(void*)0,(void*)0};


/* --- FORWARD DECLARATIONS --- */
int32_t  func_1(void);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_5 g_2 g_18 g_27 g_27.f1 g_27.f0
 * writes: g_5 g_18 g_26
 */
int32_t  func_1(void)
{ /* block id: 0 */
    uint32_t l_14 = 0x36DC9922L;
    int16_t *l_25 = (void*)0;
    for (g_5 = 0; (g_5 != 6); g_5 = safe_add_func_int64_t_s_s(g_5, 3))
    { /* block id: 3 */
        uint32_t l_12 = 0x8C537847L;
        int32_t l_15[2];
        int16_t *l_16 = (void*)0;
        int16_t *l_17 = &g_18;
        int32_t l_29 = 6L;
        int i;
        for (i = 0; i < 2; i++)
            l_15[i] = (-1L);
        l_29 = ((((safe_add_func_int64_t_s_s(((((safe_mul_func_uint8_t_u_u(g_2, (l_12 ^ (safe_unary_minus_func_uint32_t_u(l_14))))) & (((*l_17) = l_15[1]) , (((void*)0 != &g_18) ^ (safe_div_func_uint32_t_u_u(((safe_div_func_int8_t_s_s((((((g_26 = ((((safe_rshift_func_uint8_t_u_s(((((void*)0 == l_25) , (65530UL == 0L)) <= l_12), 6)) < l_15[1]) != g_5) && g_18)) , g_27) , 0x4FE8L) >= 65535UL) || l_14), g_5)) ^ l_15[1]), g_27.f1))))) & l_14) | g_27.f0), g_27.f1)) || g_5) == l_12) & l_12);
    }
    return l_14;
}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    int i;
    int print_hash_value = 0;
    if (argc == 2 && strcmp(argv[1], "1") == 0) print_hash_value = 1;
    platform_main_begin();
    crc32_gentab();
    func_1();
    transparent_crc(g_2, "g_2", print_hash_value);
    transparent_crc(g_3, "g_3", print_hash_value);
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_4[i], "g_4[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_5, "g_5", print_hash_value);
    transparent_crc(g_18, "g_18", print_hash_value);
    transparent_crc(g_26, "g_26", print_hash_value);
    transparent_crc(g_27.f0, "g_27.f0", print_hash_value);
    transparent_crc(g_27.f1, "g_27.f1", print_hash_value);
    transparent_crc(g_27.f3, "g_27.f3", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

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

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: 30
breakdown:
   depth: 1, occurrence: 2
   depth: 2, occurrence: 1
   depth: 30, occurrence: 1

XXX total number of pointers: 6

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

XXX max dereference level: 1
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 1
XXX number of pointers point to pointers: 0
XXX number of pointers point to scalars: 6
XXX number of pointers point to structs: 0
XXX percent of pointers has null in alias set: 50
XXX average alias set size: 1

XXX times a non-volatile is read: 21
XXX times a non-volatile is write: 5
XXX times a volatile is read: 1
XXX    times read thru a pointer: 0
XXX times a volatile is write: 0
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 7
XXX percentage of non-volatile access: 96.3

XXX forward jumps: 0
XXX backward jumps: 0

XXX stmts: 3
XXX max block depth: 1
breakdown:
   depth: 0, occurrence: 2
   depth: 1, occurrence: 1

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

