1 /* Generated from ../../../git/cloog/test/darte.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.27s. */
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); }
15 /* Scattering iterators. */
17 /* Original iterators. */
22 for (t3
=n
+3;t3
<=3*n
+1;t3
++) {
23 if ((t3
+n
+1)%2 == 0) {
29 if ((n
>= 2) && (n
<= 2)) {
31 for (t2
=-n
+4;t2
<=3*n
-2;t2
++) {
32 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
38 S1((t2
-n
+2)/2,(t2
+n
-2)/2,(-t2
+t3
)/2) ;
44 for (t3
=1;t3
<=n
;t3
++) {
50 for (t2
=n
;t2
<=n
+2;t2
++) {
51 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
57 S1((t2
-n
+2)/2,(t2
+n
-2)/2,(-t2
+t3
)/2) ;
63 for (t3
=1;t3
<=n
;t3
++) {
67 for (t1
=ceild(-2*n
+5,2);t1
<=min(-n
+6,-1);t1
++) {
68 for (t2
=-t1
+2;t2
<=-t1
+4;t2
++) {
69 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
75 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
80 for (t2
=-t1
+5;t2
<=t1
+2*n
;t2
++) {
81 for (t3
=1;t3
<=n
;t3
++) {
82 if ((t1
+t2
+1)%2 == 0) {
85 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
88 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
94 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
100 for (t3
=1;t3
<=n
;t3
++) {
106 for (t3
=5;t3
<=7;t3
++) {
112 for (t2
=4;t2
<=6;t2
++) {
113 for (t3
=1;t3
<=2;t3
++) {
117 S2((t2
-2)/2,(t2
-2)/2,t3
) ;
122 for (t1
=-n
+7;t1
<=-1;t1
++) {
123 for (t2
=-t1
+2;t2
<=-t1
+4;t2
++) {
124 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
125 if ((t1
+t2
)%2 == 0) {
128 if ((t1
+t3
)%2 == 0) {
130 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
135 for (t2
=-t1
+5;t2
<=n
-2;t2
++) {
136 for (t3
=1;t3
<=t2
+1;t3
++) {
137 if ((t1
+t2
+1)%2 == 0) {
140 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
143 for (t3
=t2
+2;t3
<=n
;t3
++) {
144 if ((t1
+t2
+1)%2 == 0) {
147 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
149 if ((t1
+t2
)%2 == 0) {
152 if ((t1
+t3
)%2 == 0) {
154 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
158 for (t3
=n
+1;t3
<=t2
+2*n
;t3
++) {
159 if ((t1
+t2
)%2 == 0) {
162 if ((t1
+t3
)%2 == 0) {
164 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
169 for (t2
=n
-1;t2
<=t1
+2*n
;t2
++) {
170 for (t3
=1;t3
<=n
;t3
++) {
171 if ((t1
+t2
+1)%2 == 0) {
174 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
177 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
178 if ((t1
+t2
)%2 == 0) {
181 if ((t1
+t3
)%2 == 0) {
183 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
189 for (t3
=1;t3
<=n
;t3
++) {
195 for (t1
=0;t1
<=min(1,-n
+6);t1
++) {
196 for (t2
=t1
+2;t2
<=-t1
+4;t2
++) {
197 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
198 if ((t1
+t2
)%2 == 0) {
201 if ((t1
+t3
)%2 == 0) {
203 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
208 for (t2
=-t1
+5;t2
<=-t1
+2*n
;t2
++) {
209 for (t3
=1;t3
<=n
;t3
++) {
210 if ((t1
+t2
+1)%2 == 0) {
213 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
216 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
217 if ((t1
+t2
)%2 == 0) {
220 if ((t1
+t3
)%2 == 0) {
222 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
227 for (t2
=-t1
+2*n
+1;t2
<=t1
+2*n
+1;t2
++) {
228 for (t3
=1;t3
<=n
;t3
++) {
229 if ((t1
+t2
+1)%2 == 0) {
232 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
238 for (t1
=max(-n
+7,0);t1
<=1;t1
++) {
239 for (t2
=t1
+2;t2
<=-t1
+4;t2
++) {
240 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
241 if ((t1
+t2
)%2 == 0) {
244 if ((t1
+t3
)%2 == 0) {
246 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
251 for (t2
=-t1
+5;t2
<=n
-2;t2
++) {
252 for (t3
=1;t3
<=t2
+1;t3
++) {
253 if ((t1
+t2
+1)%2 == 0) {
256 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
259 for (t3
=t2
+2;t3
<=n
;t3
++) {
260 if ((t1
+t2
+1)%2 == 0) {
263 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
265 if ((t1
+t2
)%2 == 0) {
268 if ((t1
+t3
)%2 == 0) {
270 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
274 for (t3
=n
+1;t3
<=t2
+2*n
;t3
++) {
275 if ((t1
+t2
)%2 == 0) {
278 if ((t1
+t3
)%2 == 0) {
280 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
285 for (t2
=n
-1;t2
<=-t1
+2*n
;t2
++) {
286 for (t3
=1;t3
<=n
;t3
++) {
287 if ((t1
+t2
+1)%2 == 0) {
290 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
293 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
294 if ((t1
+t2
)%2 == 0) {
297 if ((t1
+t3
)%2 == 0) {
299 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
304 for (t2
=-t1
+2*n
+1;t2
<=t1
+2*n
+1;t2
++) {
305 for (t3
=1;t3
<=n
;t3
++) {
306 if ((t1
+t2
+1)%2 == 0) {
309 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
314 for (t1
=2;t1
<=n
-5;t1
++) {
316 for (t3
=t1
+4;t3
<=t1
+2*n
+2;t3
++) {
318 if ((t1
+t3
)%2 == 0) {
320 S1(t1
+1,1,(-t1
+t3
-2)/2) ;
323 for (t2
=t1
+3;t2
<=n
-2;t2
++) {
324 for (t3
=1;t3
<=t2
+1;t3
++) {
325 if ((t1
+t2
+1)%2 == 0) {
328 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
331 for (t3
=t2
+2;t3
<=n
;t3
++) {
332 if ((t1
+t2
+1)%2 == 0) {
335 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
337 if ((t1
+t2
)%2 == 0) {
340 if ((t1
+t3
)%2 == 0) {
342 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
346 for (t3
=n
+1;t3
<=t2
+2*n
;t3
++) {
347 if ((t1
+t2
)%2 == 0) {
350 if ((t1
+t3
)%2 == 0) {
352 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
357 for (t2
=n
-1;t2
<=-t1
+2*n
;t2
++) {
358 for (t3
=1;t3
<=n
;t3
++) {
359 if ((t1
+t2
+1)%2 == 0) {
362 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
365 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
366 if ((t1
+t2
)%2 == 0) {
369 if ((t1
+t3
)%2 == 0) {
371 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
376 for (t2
=-t1
+2*n
+1;t2
<=-t1
+2*n
+3;t2
++) {
377 for (t3
=1;t3
<=n
;t3
++) {
378 if ((t1
+t2
+1)%2 == 0) {
381 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
386 for (t1
=max(2,n
-4);t1
<=floord(2*n
-3,2);t1
++) {
388 for (t3
=t1
+4;t3
<=t1
+2*n
+2;t3
++) {
390 if ((t1
+t3
)%2 == 0) {
392 S1(t1
+1,1,(-t1
+t3
-2)/2) ;
395 for (t2
=t1
+3;t2
<=-t1
+2*n
;t2
++) {
396 for (t3
=1;t3
<=n
;t3
++) {
397 if ((t1
+t2
+1)%2 == 0) {
400 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
403 for (t3
=t2
+2;t3
<=t2
+2*n
;t3
++) {
404 if ((t1
+t2
)%2 == 0) {
407 if ((t1
+t3
)%2 == 0) {
409 S1((t1
+t2
)/2,(-t1
+t2
)/2,(-t2
+t3
)/2) ;
414 for (t2
=-t1
+2*n
+1;t2
<=-t1
+2*n
+3;t2
++) {
415 for (t3
=1;t3
<=n
;t3
++) {
416 if ((t1
+t2
+1)%2 == 0) {
419 S2((t1
+t2
-3)/2,(-t1
+t2
-1)/2,t3
) ;
427 for (t3
=n
+3;t3
<=3*n
+1;t3
++) {
428 if ((t3
+n
+1)%2 == 0) {
433 for (t2
=n
+2;t2
<=n
+4;t2
++) {
434 for (t3
=1;t3
<=n
;t3
++) {
438 S2((t2
+n
-4)/2,(t2
-n
)/2,t3
) ;
445 for (t3
=1;t3
<=n
;t3
++) {