1  #include <stdio.h>
       2  #include <stdint.h>
       3  
       4  int32_t a[6];
       5  int64_t b;
       6  int32_t *c;
       7  int32_t **d = &c;
       8  int64_t *e = &b;
       9  int32_t **const *f = &d;
      10  int32_t **const **g = &f;
      11  int32_t *h();
      12  static int16_t j();
      13  static uint32_t k(int8_t, const int32_t *, int64_t);
      14  static uint32_t l() {
      15    int32_t *m = &a[3];
      16    int32_t n = 0;
      17    int8_t o = 0;
      18    int32_t *p[] = {&n, &n, &n, &n};
      19    uint32_t q[6][1][2] = {};
      20    for (o = 0; o <= 1; o = 6)
      21      if (h(j(k(3, 0, q[2][0][0]), &n), n) == p[3])
      22        *m = *e;
      23    return 0;
      24  }
      25  int32_t *h(uint32_t, int32_t) { return ***g; }
      26  int16_t j(uint32_t, int32_t *r) { **f = r; return 0;}
      27  uint32_t k(int8_t, const int32_t *, int64_t) { *e = 3; return 0;}
      28  int main() {
      29    int i = 0;
      30    l();
      31    for (i = 0; i < 6; i++){
      32      if (i == 3 && a[i] != 3)
      33  	__builtin_abort ();
      34    }
      35    return 0;
      36  }