1 /* Generated from ../../../git/cloog/test/./reservoir/mg-interp.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 1.01s. */
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(i,j,k) { hash(1); hash(i); hash(j); hash(k); }
11 #define S2(i,j,k) { hash(2); hash(i); hash(j); hash(k); }
12 #define S3(i,j,k) { hash(3); hash(i); hash(j); hash(k); }
13 #define S4(i,j,k) { hash(4); hash(i); hash(j); hash(k); }
14 #define S5(i,j,k) { hash(5); hash(i); hash(j); hash(k); }
15 #define S6(i,j,k) { hash(6); hash(i); hash(j); hash(k); }
16 #define S7(i,j,k) { hash(7); hash(i); hash(j); hash(k); }
17 #define S8(i,j,k) { hash(8); hash(i); hash(j); hash(k); }
18 #define S9(i,j,k) { hash(9); hash(i); hash(j); hash(k); }
19 #define S10(i,j,k) { hash(10); hash(i); hash(j); hash(k); }
20 #define S11(i,j,k) { hash(11); hash(i); hash(j); hash(k); }
21 #define S12(i,j,k) { hash(12); hash(i); hash(j); hash(k); }
22 #define S13(i,j,k) { hash(13); hash(i); hash(j); hash(k); }
23 #define S14(i,j,k) { hash(14); hash(i); hash(j); hash(k); }
24 #define S15(i,j,k) { hash(15); hash(i); hash(j); hash(k); }
26 void test(int M
, int N
, int O
, int P
, int Q
, int R
, int S
, int T
, int U
)
28 /* Scattering iterators. */
30 /* Original iterators. */
32 if ((M
>= 2) && (N
>= 4)) {
33 for (c2
=1;c2
<=O
-1;c2
++) {
34 for (c6
=1;c6
<=M
;c6
++) {
37 for (c6
=1;c6
<=M
-1;c6
++) {
41 for (c6
=1;c6
<=M
;c6
++) {
44 for (c6
=1;c6
<=M
-1;c6
++) {
48 for (c6
=1;c6
<=M
-1;c6
++) {
52 for (c6
=1;c6
<=M
-1;c6
++) {
55 for (c4
=3;c4
<=2*N
-5;c4
++) {
56 for (c6
=1;c6
<=M
-1;c6
++) {
62 for (c6
=1;c6
<=M
;c6
++) {
68 for (c6
=1;c6
<=M
-1;c6
++) {
83 for (c6
=1;c6
<=M
-1;c6
++) {
90 for (c6
=1;c6
<=M
-1;c6
++) {
95 for (c6
=1;c6
<=M
-1;c6
++) {
100 for (c6
=1;c6
<=M
-1;c6
++) {
104 for (c6
=1;c6
<=M
;c6
++) {
109 for (c6
=1;c6
<=M
-1;c6
++) {
114 for (c6
=1;c6
<=M
-1;c6
++) {
120 if ((M
>= 2) && (N
== 3)) {
121 for (c2
=1;c2
<=O
-1;c2
++) {
122 for (c6
=1;c6
<=M
;c6
++) {
125 for (c6
=1;c6
<=M
-1;c6
++) {
129 for (c6
=1;c6
<=M
;c6
++) {
132 for (c6
=1;c6
<=M
-1;c6
++) {
136 for (c6
=1;c6
<=M
-1;c6
++) {
140 for (c6
=1;c6
<=M
-1;c6
++) {
143 for (c6
=1;c6
<=M
-1;c6
++) {
146 for (c6
=1;c6
<=M
;c6
++) {
149 for (c6
=1;c6
<=M
-1;c6
++) {
152 for (c6
=1;c6
<=M
-1;c6
++) {
157 if ((M
>= 2) && (N
== 2)) {
158 for (c2
=1;c2
<=O
-1;c2
++) {
159 for (c6
=1;c6
<=M
;c6
++) {
162 for (c6
=1;c6
<=M
-1;c6
++) {
166 for (c6
=1;c6
<=M
;c6
++) {
169 for (c6
=1;c6
<=M
-1;c6
++) {
172 for (c6
=1;c6
<=M
-1;c6
++) {
177 if ((M
== 1) && (N
>= 3)) {
178 for (c2
=1;c2
<=O
-1;c2
++) {
179 for (c4
=-1;c4
<=0;c4
++) {
185 for (c4
=1;c4
<=2*N
-5;c4
++) {
195 for (c4
=2*N
-4;c4
<=2*N
-3;c4
++) {
203 if ((M
== 1) && (N
== 2)) {
204 for (c2
=1;c2
<=O
-1;c2
++) {
209 if ((M
>= 2) && (N
>= 3)) {
210 for (c2
=1;c2
<=O
-1;c2
++) {
211 for (c6
=1;c6
<=M
;c6
++) {
214 for (c6
=1;c6
<=M
-1;c6
++) {
217 for (c4
=3;c4
<=2*N
-2;c4
++) {
218 for (c6
=1;c6
<=M
;c6
++) {
223 for (c6
=1;c6
<=M
-1;c6
++) {
228 for (c6
=1;c6
<=M
-1;c6
++) {
236 for (c6
=1;c6
<=M
-1;c6
++) {
242 if ((M
>= 2) && (N
== 2)) {
243 for (c2
=1;c2
<=O
-1;c2
++) {
244 for (c6
=1;c6
<=M
;c6
++) {
247 for (c6
=1;c6
<=M
-1;c6
++) {
250 for (c6
=1;c6
<=M
-1;c6
++) {
255 if ((M
== 1) && (N
>= 2)) {
256 for (c2
=1;c2
<=O
-1;c2
++) {
257 for (c4
=2;c4
<=2*N
-2;c4
++) {
264 if ((M
>= 2) && (N
>= 2)) {
265 for (c2
=1;c2
<=O
-1;c2
++) {
266 for (c4
=1;c4
<=N
-1;c4
++) {
267 for (c6
=1;c6
<=M
-1;c6
++) {
273 if ((M
>= 2) && (N
>= 2)) {
274 for (c2
=1;c2
<=O
-1;c2
++) {
275 for (c4
=1;c4
<=N
-1;c4
++) {
276 for (c6
=1;c6
<=M
-1;c6
++) {
282 if ((M
>= P
+1) && (N
>= Q
+1)) {
283 for (c2
=R
;c2
<=O
-1;c2
++) {
284 for (c4
=Q
;c4
<=N
-1;c4
++) {
285 for (c6
=P
;c6
<=M
-1;c6
++) {
291 if ((M
>= 2) && (N
>= Q
+1)) {
292 for (c2
=R
;c2
<=O
-1;c2
++) {
293 for (c4
=Q
;c4
<=N
-1;c4
++) {
294 for (c6
=1;c6
<=M
-1;c6
++) {
300 if ((M
>= P
+1) && (N
>= 2)) {
301 for (c2
=R
;c2
<=O
-1;c2
++) {
302 for (c4
=1;c4
<=N
-1;c4
++) {
303 for (c6
=P
;c6
<=M
-1;c6
++) {
309 if ((M
>= 2) && (N
>= 2)) {
310 for (c2
=R
;c2
<=O
-1;c2
++) {
311 for (c4
=1;c4
<=N
-1;c4
++) {
312 for (c6
=1;c6
<=M
-1;c6
++) {