1 /* Generated from ../../../git/cloog/test/vivien2.cloog by CLooG 0.14.0-76-gef19709 gmp bits in 0.58s. */
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) { hash(1); hash(i); }
11 #define S2(i,j) { hash(2); hash(i); hash(j); }
12 #define S3(i) { hash(3); hash(i); }
13 #define S4(i,j) { hash(4); hash(i); hash(j); }
14 #define S5(i,j,k) { hash(5); hash(i); hash(j); hash(k); }
15 #define S6(i,j) { hash(6); hash(i); hash(j); }
19 /* Scattering iterators. */
21 /* Original iterators. */
23 for (p1
=-54*n
+4;p1
<=4;p1
++) {
33 for (p1
=7;p1
<=9;p1
++) {
34 for (p2
=ceild(-p1
+2,4);p2
<=-1;p2
++) {
63 for (p1
=11;p1
<=12;p1
++) {
64 p2
= floord(-p1
+5,4) ;
69 for (p2
=ceild(-p1
+6,4);p2
<=-1;p2
++) {
74 for (p3
=1;p3
<=-p2
;p3
++) {
78 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
98 for (p2
=2;p2
<=floord(p1
-3,4);p2
++) {
101 S2((p1
-2*p2
-1)/2,p2
) ;
108 for (p1
=14;p1
<=2*n
+2;p1
++) {
109 p2
= floord(-p1
+5,4) ;
112 S4(-p2
,(p1
+2*p2
)/2) ;
114 p2
= floord(-p1
+9,4) ;
117 S4(-p2
,(p1
+2*p2
)/2) ;
119 for (p3
=1;p3
<=-p2
;p3
++) {
123 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
126 for (p2
=ceild(-p1
+10,4);p2
<=-1;p2
++) {
129 S4(-p2
,(p1
+2*p2
)/2) ;
134 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
136 for (p3
=1;p3
<=-p2
;p3
++) {
140 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
164 for (p2
=2;p2
<=floord(p1
-3,4);p2
++) {
167 S2((p1
-2*p2
-1)/2,p2
) ;
177 for (p2
=2;p2
<=floord(n
,2);p2
++) {
182 for (p2
=ceild(-n
-1,2);p2
<=floord(-2*n
+1,4);p2
++) {
186 for (p2
=ceild(-n
+1,2);p2
<=floord(-2*n
+5,4);p2
++) {
189 for (p3
=1;p3
<=-p2
;p3
++) {
192 S5(-p2
+1,p2
+n
+1,p3
) ;
195 for (p2
=ceild(-n
+3,2);p2
<=-2;p2
++) {
201 for (p3
=1;p3
<=-p2
;p3
++) {
204 S5(-p2
+1,p2
+n
+1,p3
) ;
213 for (p1
=2*n
+5;p1
<=min(4*n
-10,2*n
+58);p1
++) {
214 p2
= floord(-p1
+5,4) ;
217 S4(-p2
,(p1
+2*p2
)/2) ;
219 p2
= floord(-p1
+9,4) ;
222 S4(-p2
,(p1
+2*p2
)/2) ;
224 for (p3
=1;p3
<=-p2
;p3
++) {
228 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
231 for (p2
=ceild(-p1
+10,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
234 S4(-p2
,(p1
+2*p2
)/2) ;
239 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
241 for (p3
=1;p3
<=-p2
;p3
++) {
245 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
249 p2
= floord(-p1
+2*n
+2,2) ;
253 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
255 for (p3
=1;p3
<=-p2
;p3
++) {
259 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
262 for (p2
=ceild(-p1
+2*n
+3,2);p2
<=min(floord(-p1
+2*n
+4,2),-1);p2
++) {
266 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
277 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
280 S2((p1
-2*p2
-1)/2,p2
) ;
284 for (p1
=4*n
-9;p1
<=min(4*n
-8,2*n
+58);p1
++) {
285 p2
= floord(-p1
+5,4) ;
288 S4(-p2
,(p1
+2*p2
)/2) ;
290 for (p2
=ceild(-p1
+6,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
293 S4(-p2
,(p1
+2*p2
)/2) ;
295 for (p3
=1;p3
<=-p2
;p3
++) {
299 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
303 p2
= floord(-p1
+2*n
+2,2) ;
307 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
309 for (p3
=1;p3
<=-p2
;p3
++) {
313 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
316 p2
= floord(-p1
+2*n
+4,2) ;
320 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
330 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
333 S2((p1
-2*p2
-1)/2,p2
) ;
337 for (p1
=4*n
-7;p1
<=min(4*n
-6,2*n
+58);p1
++) {
338 p2
= floord(-p1
+5,4) ;
341 S4(-p2
,(p1
+2*p2
)/2) ;
343 for (p2
=ceild(-p1
+6,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
346 S4(-p2
,(p1
+2*p2
)/2) ;
348 for (p3
=1;p3
<=-p2
;p3
++) {
352 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
356 for (p2
=ceild(-p1
+2*n
+1,2);p2
<=floord(-p1
+9,4);p2
++) {
357 for (p3
=1;p3
<=-p2
;p3
++) {
361 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
365 for (p2
=ceild(-p1
+10,4);p2
<=floord(-p1
+2*n
+2,2);p2
++) {
369 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
371 for (p3
=1;p3
<=-p2
;p3
++) {
375 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
379 p2
= floord(-p1
+2*n
+4,2) ;
383 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
393 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
396 S2((p1
-2*p2
-1)/2,p2
) ;
400 for (p1
=4*n
-5;p1
<=2*n
+58;p1
++) {
401 for (p2
=ceild(-p1
+2,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
404 S4(-p2
,(p1
+2*p2
)/2) ;
407 for (p2
=max(ceild(-p1
+2*n
+1,2),ceild(-p1
+6,4));p2
<=floord(-p1
+2*n
+2,2);p2
++) {
408 for (p3
=1;p3
<=-p2
;p3
++) {
412 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
416 for (p2
=max(ceild(-p1
+2*n
+3,2),ceild(-p1
+10,4));p2
<=floord(-p1
+2*n
+4,2);p2
++) {
420 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
431 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
434 S2((p1
-2*p2
-1)/2,p2
) ;
438 for (p1
=2*n
+59;p1
<=4*n
-10;p1
++) {
439 p2
= floord(-p1
+5,4) ;
442 S4(-p2
,(p1
+2*p2
)/2) ;
444 p2
= floord(-p1
+9,4) ;
447 S4(-p2
,(p1
+2*p2
)/2) ;
449 for (p3
=1;p3
<=-p2
;p3
++) {
453 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
456 for (p2
=ceild(-p1
+10,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
459 S4(-p2
,(p1
+2*p2
)/2) ;
464 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
466 for (p3
=1;p3
<=-p2
;p3
++) {
470 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
474 p2
= floord(-p1
+2*n
+2,2) ;
478 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
480 for (p3
=1;p3
<=-p2
;p3
++) {
484 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
487 p2
= floord(-p1
+2*n
+4,2) ;
491 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
497 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
500 S2((p1
-2*p2
-1)/2,p2
) ;
504 for (p1
=max(4*n
-9,2*n
+59);p1
<=4*n
-8;p1
++) {
505 p2
= floord(-p1
+5,4) ;
508 S4(-p2
,(p1
+2*p2
)/2) ;
510 for (p2
=ceild(-p1
+6,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
513 S4(-p2
,(p1
+2*p2
)/2) ;
515 for (p3
=1;p3
<=-p2
;p3
++) {
519 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
523 p2
= floord(-p1
+2*n
+2,2) ;
527 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
529 for (p3
=1;p3
<=-p2
;p3
++) {
533 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
536 p2
= floord(-p1
+2*n
+4,2) ;
540 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
546 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
549 S2((p1
-2*p2
-1)/2,p2
) ;
553 for (p1
=max(4*n
-7,2*n
+59);p1
<=4*n
-6;p1
++) {
554 p2
= floord(-p1
+5,4) ;
557 S4(-p2
,(p1
+2*p2
)/2) ;
559 for (p2
=ceild(-p1
+6,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
562 S4(-p2
,(p1
+2*p2
)/2) ;
564 for (p3
=1;p3
<=-p2
;p3
++) {
568 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
572 for (p2
=ceild(-p1
+2*n
+1,2);p2
<=floord(-p1
+9,4);p2
++) {
573 for (p3
=1;p3
<=-p2
;p3
++) {
577 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
581 for (p2
=ceild(-p1
+10,4);p2
<=floord(-p1
+2*n
+2,2);p2
++) {
585 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
587 for (p3
=1;p3
<=-p2
;p3
++) {
591 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
595 p2
= floord(-p1
+2*n
+4,2) ;
599 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
605 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
608 S2((p1
-2*p2
-1)/2,p2
) ;
612 for (p1
=max(4*n
-5,2*n
+59);p1
<=4*n
-2;p1
++) {
613 for (p2
=ceild(-p1
+2,4);p2
<=floord(-p1
+2*n
,2);p2
++) {
616 S4(-p2
,(p1
+2*p2
)/2) ;
619 for (p2
=max(ceild(-p1
+2*n
+1,2),ceild(-p1
+6,4));p2
<=floord(-p1
+2*n
+2,2);p2
++) {
620 for (p3
=1;p3
<=-p2
;p3
++) {
624 S5(-p2
+1,(p1
+2*p2
-2)/2,p3
) ;
628 for (p2
=max(ceild(-p1
+10,4),ceild(-p1
+2*n
+3,2));p2
<=floord(-p1
+2*n
+4,2);p2
++) {
632 S6(-p2
+2,(p1
+2*p2
-4)/2) ;
639 for (p2
=ceild(p1
-2*n
-1,2);p2
<=floord(p1
-3,4);p2
++) {
642 S2((p1
-2*p2
-1)/2,p2
) ;
650 for (p1
=4*n
;p1
<=4*n
+1;p1
++) {