1/* Generated from ../../../git/cloog/test/orc.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.06s. */
2extern void hash(int);
3
4/* Useful macros. */
5#define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d))
6#define ceild(n,d)  (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d))
7#define max(x,y)    ((x) > (y) ? (x) : (y))
8#define min(x,y)    ((x) < (y) ? (x) : (y))
9
10#define S1(i) { hash(1); hash(i); }
11#define S2(i,j) { hash(2); hash(i); hash(j); }
12#define S3(i,j) { hash(3); hash(i); hash(j); }
13#define S4(i) { hash(4); hash(i); }
14#define S5(i) { hash(5); hash(i); }
15#define S6(i,j) { hash(6); hash(i); hash(j); }
16#define S7(i) { hash(7); hash(i); }
17
18void test()
19{
20  /* Scattering iterators. */
21  int p1, p2;
22  /* Original iterators. */
23  int i, j;
24  S1(0) ;
25  S2(0,0) ;
26  for (p2=1;p2<=22;p2++) {
27    if ((p2+1)%2 == 0) {
28      j = (p2-1)/2 ;
29      S3(0,(p2-1)/2) ;
30    }
31    if (p2%2 == 0) {
32      S2(0,p2/2) ;
33    }
34  }
35  S3(0,11) ;
36  for (p1=2;p1<=6;p1++) {
37    if ((p1+1)%3 == 0) {
38      i = (p1-2)/3 ;
39      S4((p1-2)/3) ;
40    }
41    if ((p1+2)%3 == 0) {
42      i = (p1-1)/3 ;
43      S2((p1-1)/3,0) ;
44    }
45    if (p1%3 == 0) {
46      S1(p1/3) ;
47    }
48    for (p2=1;p2<=floord(-2*p1+68,3);p2++) {
49      if ((p1+2)%3 == 0) {
50        i = (p1-1)/3 ;
51        if ((p2+1)%2 == 0) {
52          j = (p2-1)/2 ;
53          S3((p1-1)/3,(p2-1)/2) ;
54        }
55        if (p2%2 == 0) {
56          S2((p1-1)/3,p2/2) ;
57        }
58      }
59    }
60    p2 = floord(-2*p1+71,3) ;
61    if ((p1+2)%3 == 0) {
62      i = (p1-1)/3 ;
63      if ((p2+1)%2 == 0) {
64        j = (p2-1)/2 ;
65        S3((p1-1)/3,(p2-1)/2) ;
66      }
67    }
68  }
69  S2(2,0) ;
70  for (p2=1;p2<=18;p2++) {
71    if ((p2+1)%2 == 0) {
72      j = (p2-1)/2 ;
73      S3(2,(p2-1)/2) ;
74    }
75    if (p2%2 == 0) {
76      S2(2,p2/2) ;
77    }
78  }
79  S3(2,9) ;
80  S4(2) ;
81  S5(0) ;
82  S6(0,0) ;
83  for (p2=1;p2<=9;p2++) {
84    S6(0,p2) ;
85  }
86  for (p1=2;p1<=42;p1++) {
87    if ((p1+1)%3 == 0) {
88      i = (p1-2)/3 ;
89      S7((p1-2)/3) ;
90    }
91    if ((p1+2)%3 == 0) {
92      i = (p1-1)/3 ;
93      S6((p1-1)/3,0) ;
94    }
95    if (p1%3 == 0) {
96      S5(p1/3) ;
97    }
98    for (p2=1;p2<=9;p2++) {
99      if ((p1+2)%3 == 0) {
100        i = (p1-1)/3 ;
101        S6((p1-1)/3,p2) ;
102      }
103    }
104  }
105  S6(14,0) ;
106  for (p2=1;p2<=9;p2++) {
107    S6(14,p2) ;
108  }
109  S7(14) ;
110}
111