/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.0.0
 * svn version: exported
 * Options:   --check-global -s 978
 * Seed:      978
 */

#include "random_runtime.h"


long __undefined;

/* --- Struct/Union Declarations --- */
/* --- GLOBAL VARIABLES --- */
 volatile int32_t *g_7 = 0;
 volatile int32_t ** volatile g_8 = &g_7;/* VOLATILE GLOBAL g_8 */
int32_t g_10 = 0L;
int32_t *g_9 = &g_10;
int32_t ** volatile g_12 = &g_9;/* VOLATILE GLOBAL g_12 */


/* --- FORWARD DECLARATIONS --- */
uint16_t  func_1(void);
int32_t * func_2( const uint64_t  p_3, uint8_t  p_4, int8_t  p_5,  const uint32_t  p_6);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_10 g_7 g_8 g_9 g_12
 * writes: g_7 g_9 g_10
 */
uint16_t  func_1(void)
{ /* block id: 0 */
    uint16_t l_11[4];
    int i;
    for (i = 0; i < 4; i++)
        l_11[i] = 0x2AB6L;
    (*g_12) = func_2(0x272A72759951EA66LL, 0x8DL, l_11[0], g_10);
    (*g_9) &= l_11[0];
    return l_11[0];
}


/* ------------------------------------------ */
/* 
 * reads : g_7 g_8 g_9
 * writes: g_7
 */
int32_t * func_2( const uint64_t  p_3, uint8_t  p_4, int8_t  p_5,  const uint32_t  p_6)
{ /* block id: 1 */
    (*g_8) = g_7;
    (*g_8) = (*g_8);
    return g_9;
}




/* ---------------------------------------- */
int main (int argc, char* argv[])
{
    func_1();
    printf("checksum g_10 = %d\n", g_10);
}

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

XXX max expression depth: 0
breakdown:
   depth: 0, occurrence: 6

XXX total number of pointers: 4

XXX times a variable address is taken: 1
XXX times a pointer is dereferenced on RHS: 1
breakdown:
   depth: 1, occurrence: 1
XXX times a pointer is dereferenced on LHS: 4
breakdown:
   depth: 1, occurrence: 4
XXX times a pointer is compared with null: 0
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: 8

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

XXX times a non-volatile is read: 7
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: 3
XXX    times written thru a pointer: 0
XXX times a volatile is available for access: 3
XXX percentage of non-volatile access: 75

XXX forward jumps: 0
XXX backward jumps: 0

XXX stmts: 8

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

