1/* Generated from ../../../git/cloog/test/forwardsub-3-1-2.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.01s. */
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,j) { hash(1); hash(i); hash(j); }
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,j) { hash(4); hash(i); hash(j); }
14
15void test(int M)
16{
17  /* Original iterators. */
18  int i, j;
19  S3(2,1) ;
20  S1(3,1) ;
21  S1(4,1) ;
22  S4(4,2) ;
23  for (i=5;i<=M+1;i++) {
24    S1(i,1) ;
25    for (j=2;j<=floord(i-1,2);j++) {
26      S2(i,j) ;
27    }
28    if (i%2 == 0) {
29      S4(i,i/2) ;
30    }
31  }
32  for (i=M+2;i<=2*M-1;i++) {
33    for (j=i-M;j<=floord(i-1,2);j++) {
34      S2(i,j) ;
35    }
36    if (i%2 == 0) {
37      S4(i,i/2) ;
38    }
39  }
40  i = 2*M ;
41  S4(2*M,M) ;
42}
43