1/* Generated from ../../../git/cloog/test/lux.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.02s. */
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,k,l) { hash(1); hash(i); hash(j); hash(k); hash(l); }
11#define S2(i,j,k,l,m) { hash(2); hash(i); hash(j); hash(k); hash(l); hash(m); }
12
13void test(int M)
14{
15  /* Original iterators. */
16  int i, j, k, l, m;
17  if (M >= 2) {
18    for (l=2;l<=M;l++) {
19      S1(1,1,M,l) ;
20    }
21  }
22  for (i=2;i<=M-1;i++) {
23    for (j=1;j<=i-1;j++) {
24      for (k=j+1;k<=M;k++) {
25        S2(i,j,k,k,i) ;
26      }
27    }
28    for (l=i+1;l<=M;l++) {
29      S1(i,i,M,l) ;
30    }
31  }
32  if (M >= 2) {
33    for (j=1;j<=M-1;j++) {
34      for (k=j+1;k<=M;k++) {
35        S2(M,j,k,k,M) ;
36      }
37    }
38  }
39}
40