text: /*
   * This is a RANDOMLY GENERATED PROGRAM.
   *
   * Generator: csmith 2.0.0
   * svn version: exported
   * Options:   --check-global -s 1556
   * Seed:      1556
   */
  
  #include "random_runtime.h"
  
  
  long __undefined;
  
  /* --- Struct/Union Declarations --- */
  /* --- GLOBAL VARIABLES --- */
  int32_t g_4 = 0xC7CE53D8L;
  int32_t * const g_10[9][1] = {{&g_4}, {&g_4}, {&g_4}, {&g_4}, {&g_4}, {&g_4}, {&g_4}, {&g_4}, {&g_4}};
  int32_t * const  volatile * volatile g_9 = &g_10[7][0];/* VOLATILE GLOBAL g_9 */
  int32_t *g_16[3][8][1][3] = {{{{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}}, {{{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}}, {{{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}, {{&g_4, &g_4, &g_4}}}};
  int32_t * volatile * volatile g_15 = &g_16[2][0][0][2];/* VOLATILE GLOBAL g_15 */
  
  
  /* --- FORWARD DECLARATIONS --- */
  int16_t  func_1(void);
  
  
  /* --- FUNCTIONS --- */
  /* ------------------------------------------ */
  /* 
   * reads : g_9 g_10 g_15 g_4
   * writes: g_4 g_16
   */
  int16_t  func_1(void)
  { /* block id: 0 */
      int32_t *l_3 = 0;
      int32_t **l_2 = &l_3;
      (*l_2) = 0;
      for (g_4 = 0; (g_4 < 0); g_4 = safe_add_func_uint8_t_u_u(g_4, 4))
      { /* block id: 4 */
          int32_t l_13[7];
          int32_t *l_14 = &g_4;
          int i;
          for (i = 0; i < 7; i++)
              l_13[i] = -8L;
          (*l_14) ^= (safe_mod_func_uint32_t_u_u((0 != g_9), (safe_rshift_func_int16_t_s_u(l_13[3], (&l_3 != &g_10[3][0])))));
      }
      (*g_15) = (*g_9);
      return g_4;
  }
  
  
  
  
  /* ---------------------------------------- */
  int main (int argc, char* argv[])
  {
      int i, j, k, l;
      func_1();
      printf("checksum g_4 = %d\n", g_4);
  }
  
  /************************ statistics *************************
  XXX max struct depth: 0
  breakdown:
     depth: 0, occurrence: 9
  
  XXX max expression depth: 0
  breakdown:
     depth: 0, occurrence: 4
  
  XXX total number of pointers: 7
  
  XXX times a variable address is taken: 5
  XXX times a pointer is dereferenced on RHS: 1
  breakdown:
     depth: 1, occurrence: 1
  XXX times a pointer is dereferenced on LHS: 3
  breakdown:
     depth: 1, occurrence: 3
  XXX times a pointer is compared with null: 1
  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: 19
  
  XXX max dereference level: 2
  breakdown:
     level: 0, occurrence: 0
     level: 1, occurrence: 7
     level: 2, occurrence: 2
  XXX number of pointers point to pointers: 3
  XXX number of pointers point to scalars: 4
  XXX number of pointers point to structs: 0
  XXX percent of pointers has null in alias set: 14.3
  XXX average alias set size: 1
  
  XXX times a non-volatile is read: 4
  XXX times a non-volatile is write: 5
  XXX times a volatile is read: 3
  XXX    times read thru a pointer: 1
  XXX times a volatile is write: 2
  XXX    times written thru a pointer: 1
  XXX times a volatile is available for access: 1
  XXX percentage of non-volatile access: 64.3
  
  XXX forward jumps: 0
  XXX backward jumps: 0
  
  XXX stmts: 9
  
  XXX percentage a fresh-made variable is used: 13.3
  XXX percentage an existing variable is used: 86.7
  ********************* end of statistics **********************/
  
  