1 /* Generated from ../../../git/cloog/test/classen2.cloog by CLooG 0.14.0-271-gaa1e292 gmp bits in 0.13s. */
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))
10 #define S1(compIter1,compIter2,compIter3,compIter4,compIter5,compIter6) { hash(1); hash(compIter1); hash(compIter2); hash(compIter3); hash(compIter4); hash(compIter5); hash(compIter6); }
12 void test(int outerTimeTileScatter
, int outerProcTileScatter1
, int outerProcTileScatter2
, int M
, int N
)
14 /* Scattering iterators. */
15 int compScatter1
, compScatter2
, compScatter3
;
16 /* Original iterators. */
17 int compIter1
, compIter2
, compIter3
, compIter4
, compIter5
, compIter6
;
18 if ((M
>= 2) && (N
>= 3) && (outerProcTileScatter1
>= outerProcTileScatter2
) && (5*outerProcTileScatter1
<= M
+2*N
-4) && (5*outerProcTileScatter1
<= 5*outerProcTileScatter2
+N
+2) && (outerProcTileScatter2
>= 0) && (5*outerProcTileScatter2
<= M
+N
-2) && (outerTimeTileScatter
>= outerProcTileScatter1
) && (outerTimeTileScatter
<= 2*outerProcTileScatter1
) && (outerTimeTileScatter
<= outerProcTileScatter1
+outerProcTileScatter2
+1) && (5*outerTimeTileScatter
<= 2*M
+2*N
-6) && (5*outerTimeTileScatter
<= 5*outerProcTileScatter1
+M
+2) && (5*outerTimeTileScatter
>= 10*outerProcTileScatter1
-2*N
-2) && (5*outerTimeTileScatter
<= 5*outerProcTileScatter2
+M
+N
) && (5*outerTimeTileScatter
>= 10*outerProcTileScatter2
-N
-3) && (5*outerTimeTileScatter
<= 10*outerProcTileScatter2
+N
+3) && (5*outerTimeTileScatter
>= 5*outerProcTileScatter1
+5*outerProcTileScatter2
-N
-4)) {
19 for (compScatter1
=max(max(max(max(max(4,5*outerTimeTileScatter
),5*outerProcTileScatter2
+1),5*outerProcTileScatter1
+5*outerProcTileScatter2
-N
),10*outerProcTileScatter1
-2*N
+2),10*outerProcTileScatter2
-N
+1);compScatter1
<=min(min(min(min(min(5*outerTimeTileScatter
+4,2*M
+2*N
-6),5*outerProcTileScatter1
+M
+2),5*outerProcTileScatter1
+5*outerProcTileScatter2
+5),5*outerProcTileScatter2
+M
+N
),10*outerProcTileScatter2
+N
+3);compScatter1
++) {
20 for (compScatter2
=max(max(max(max(ceild(compScatter1
+4,2),5*outerProcTileScatter1
),5*outerProcTileScatter2
+1),compScatter1
-M
+2),compScatter1
-5*outerProcTileScatter2
-1);compScatter2
<=min(min(min(min(floord(compScatter1
+2*N
-2,2),compScatter1
),5*outerProcTileScatter1
+4),compScatter1
-5*outerProcTileScatter2
+N
),5*outerProcTileScatter2
+N
+2);compScatter2
++) {
21 for (compScatter3
=max(max(5*outerProcTileScatter2
,compScatter1
-compScatter2
+3),compScatter2
-N
+2);compScatter3
<=min(min(compScatter2
-1,5*outerProcTileScatter2
+4),compScatter1
-compScatter2
+N
);compScatter3
++) {
22 S1(compScatter1
-compScatter2
+1,-compScatter1
+compScatter2
+compScatter3
-2,compScatter2
-compScatter3
,compScatter1
,compScatter2
,compScatter3
);