1/* Generated from ../../../git/cloog/test/vasilache.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.15s. */
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() { hash(1); }
11#define S2() { hash(2); }
12#define S3() { hash(3); }
13#define S4(i,j) { hash(4); hash(i); hash(j); }
14#define S5(i,j) { hash(5); hash(i); hash(j); }
15#define S6(i,j,k,l) { hash(6); hash(i); hash(j); hash(k); hash(l); }
16#define S7(i,j,k,l) { hash(7); hash(i); hash(j); hash(k); hash(l); }
17#define S8() { hash(8); }
18
19void test(int M, int N)
20{
21  /* Scattering iterators. */
22  int p1, p3, p5, p7;
23  /* Original iterators. */
24  int i, j, k, l;
25  S1() ;
26  S2() ;
27  for (p1=0;p1<=N-1;p1++) {
28    for (p3=0;p3<=N-1;p3++) {
29      S4(p1,p3) ;
30      S5(p1,p3) ;
31    }
32  }
33  for (p1=0;p1<=N-1;p1++) {
34    for (p3=0;p3<=N-1;p3++) {
35      for (p5=0;p5<=floord(N-1,32);p5++) {
36        if (p5 >= 0) {
37          p7 = 32*p5 ;
38          l = 32*p5 ;
39          S7(p1,p3,p5,32*p5) ;
40        }
41        if (p5 <= -1) {
42          S7(p1,p3,p5,0) ;
43        }
44        for (p7=max(32*p5+1,1);p7<=min(N-1,32*p5+31);p7++) {
45          l = p7-1 ;
46          S6(p1,p3,p5,p7-1) ;
47          S7(p1,p3,p5,p7) ;
48        }
49        if (p5 >= ceild(N-32,32)) {
50          l = N-1 ;
51          S6(p1,p3,p5,N-1) ;
52        }
53        if (p5 <= floord(N-33,32)) {
54          p7 = 32*p5+32 ;
55          l = 32*p5+31 ;
56          S6(p1,p3,p5,32*p5+31) ;
57        }
58      }
59    }
60  }
61  S8() ;
62}
63