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);
l()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 }
h(uint32_t,int32_t)25 int32_t *h(uint32_t, int32_t) { return ***g; }
j(uint32_t,int32_t * r)26 int16_t j(uint32_t, int32_t *r) { **f = r; return 0;}
k(int8_t,const int32_t *,int64_t)27 uint32_t k(int8_t, const int32_t *, int64_t) { *e = 3; return 0;}
main()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 }
37