clast.c: insert_equality: reduce coefficients in modulo guards.
[cloog.git] / test / vivien2.c
blobe4be8dd883a43e26666ebc10b7d31d253e0ce79b
1 /* Generated from vivien2.cloog by CLooG v0.14.0 gmp bits in 0.51s. */
2 /* CLooG asked for 1188 KBytes. */
3 for (p1=-54*n+4;p1<=4;p1++) {
4 if (p1%2 == 0) {
5 i = (p1-2)/2 ;
6 S1 ;
9 S3(i = 1) ;
10 S4(i = 1,j = 2) ;
11 S1(i = 2) ;
12 S6(i = 1,j = 2) ;
13 for (p1=7;p1<=9;p1++) {
14 for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
15 if (p1%2 == 0) {
16 j = (p1+2*p2)/2 ;
17 S4(i = -p2) ;
20 if ((p1+3)%4 == 0) {
21 i = (p1-1)/4 ;
22 S3 ;
24 for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
25 if ((p1+1)%2 == 0) {
26 j = (p1-2*i-1)/2 ;
27 S2 ;
30 if (p1%2 == 0) {
31 i = (p1-2)/2 ;
32 S1 ;
34 if (p1%2 == 0) {
35 j = (p1-2)/2 ;
36 S6(i = 1) ;
39 for (p1=10;p1<=12;p1++) {
40 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
41 if (p1%2 == 0) {
42 j = (p1+2*p2)/2 ;
43 S4(i = -p2) ;
46 for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
47 if (p1%2 == 0) {
48 j = (p1+2*p2)/2 ;
49 S4(i = -p2) ;
51 for (p3=1;p3<=-p2;p3++) {
52 i = -p2+1 ;
53 if (p1%2 == 0) {
54 j = (p1+2*p2-2)/2 ;
55 S5(k = p3) ;
59 if (p1%2 == 0) {
60 j = (p1-4)/2 ;
61 S6(i = 2) ;
63 for (i=max(ceild(p1+1,4),3);i<=floord(p1-3,2);i++) {
64 if ((p1+1)%2 == 0) {
65 j = (p1-2*i-1)/2 ;
66 S2 ;
69 if (p1%2 == 0) {
70 i = (p1-2)/2 ;
71 S1 ;
73 if (p1%2 == 0) {
74 j = (p1-2)/2 ;
75 S6(i = 1) ;
78 if (1%2 == 0) {
79 S4(i = 2,j = 9/2) ;
81 if (1%2 == 0) {
82 S4(i = 1,j = 11/2) ;
84 if (1%2 == 0) {
85 S5(i = 2,j = 9/2,k = 1) ;
87 if (1%2 == 0) {
88 S6(i = 2,j = 9/2) ;
90 S3(i = 3) ;
91 for (i=4;i<=min(5,n);i++) {
92 j = -i+6 ;
93 S2 ;
95 if (1%2 == 0) {
96 S1(i = 11/2) ;
98 if (1%2 == 0) {
99 S6(i = 1,j = 11/2) ;
101 for (p1=14;p1<=2*n+2;p1++) {
102 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
103 if (p1%2 == 0) {
104 j = (p1+2*p2)/2 ;
105 S4(i = -p2) ;
108 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
109 if (p1%2 == 0) {
110 j = (p1+2*p2)/2 ;
111 S4(i = -p2) ;
113 for (p3=1;p3<=-p2;p3++) {
114 i = -p2+1 ;
115 if (p1%2 == 0) {
116 j = (p1+2*p2-2)/2 ;
117 S5(k = p3) ;
121 for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
122 if (p1%2 == 0) {
123 j = (p1+2*p2)/2 ;
124 S4(i = -p2) ;
126 i = -p2+2 ;
127 if (p1%2 == 0) {
128 j = (p1+2*p2-4)/2 ;
129 S6 ;
131 for (p3=1;p3<=-p2;p3++) {
132 i = -p2+1 ;
133 if (p1%2 == 0) {
134 j = (p1+2*p2-2)/2 ;
135 S5(k = p3) ;
139 if (p1%2 == 0) {
140 j = (p1-4)/2 ;
141 S6(i = 2) ;
143 if ((p1+3)%4 == 0) {
144 i = (p1-1)/4 ;
145 S3 ;
147 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
148 if ((p1+1)%2 == 0) {
149 j = (p1-2*i-1)/2 ;
150 S2 ;
153 if (p1%2 == 0) {
154 i = (p1-2)/2 ;
155 S1 ;
157 if (p1%2 == 0) {
158 j = (p1-2)/2 ;
159 S6(i = 1) ;
162 for (p1=2*n+3;p1<=2*n+4;p1++) {
163 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
164 if (p1%2 == 0) {
165 j = (p1+2*p2)/2 ;
166 S4(i = -p2) ;
169 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
170 if (p1%2 == 0) {
171 j = (p1+2*p2)/2 ;
172 S4(i = -p2) ;
174 for (p3=1;p3<=-p2;p3++) {
175 i = -p2+1 ;
176 if (p1%2 == 0) {
177 j = (p1+2*p2-2)/2 ;
178 S5(k = p3) ;
182 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
183 if (p1%2 == 0) {
184 j = (p1+2*p2)/2 ;
185 S4(i = -p2) ;
187 i = -p2+2 ;
188 if (p1%2 == 0) {
189 j = (p1+2*p2-4)/2 ;
190 S6 ;
192 for (p3=1;p3<=-p2;p3++) {
193 i = -p2+1 ;
194 if (p1%2 == 0) {
195 j = (p1+2*p2-2)/2 ;
196 S5(k = p3) ;
200 for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
201 i = -p2+2 ;
202 if (p1%2 == 0) {
203 j = (p1+2*p2-4)/2 ;
204 S6 ;
206 for (p3=1;p3<=-p2;p3++) {
207 i = -p2+1 ;
208 if (p1%2 == 0) {
209 j = (p1+2*p2-2)/2 ;
210 S5(k = p3) ;
214 if (p1%2 == 0) {
215 j = (p1-4)/2 ;
216 S6(i = 2) ;
218 if ((p1+3)%4 == 0) {
219 i = (p1-1)/4 ;
220 S3 ;
222 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
223 if ((p1+1)%2 == 0) {
224 j = (p1-2*i-1)/2 ;
225 S2 ;
228 if (p1%2 == 0) {
229 i = (p1-2)/2 ;
230 S1 ;
233 for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
234 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
235 if (p1%2 == 0) {
236 j = (p1+2*p2)/2 ;
237 S4(i = -p2) ;
240 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
241 if (p1%2 == 0) {
242 j = (p1+2*p2)/2 ;
243 S4(i = -p2) ;
245 for (p3=1;p3<=-p2;p3++) {
246 i = -p2+1 ;
247 if (p1%2 == 0) {
248 j = (p1+2*p2-2)/2 ;
249 S5(k = p3) ;
253 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
254 if (p1%2 == 0) {
255 j = (p1+2*p2)/2 ;
256 S4(i = -p2) ;
258 i = -p2+2 ;
259 if (p1%2 == 0) {
260 j = (p1+2*p2-4)/2 ;
261 S6 ;
263 for (p3=1;p3<=-p2;p3++) {
264 i = -p2+1 ;
265 if (p1%2 == 0) {
266 j = (p1+2*p2-2)/2 ;
267 S5(k = p3) ;
271 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
272 i = -p2+2 ;
273 if (p1%2 == 0) {
274 j = (p1+2*p2-4)/2 ;
275 S6 ;
277 for (p3=1;p3<=-p2;p3++) {
278 i = -p2+1 ;
279 if (p1%2 == 0) {
280 j = (p1+2*p2-2)/2 ;
281 S5(k = p3) ;
285 for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
286 i = -p2+2 ;
287 if (p1%2 == 0) {
288 j = (p1+2*p2-4)/2 ;
289 S6 ;
292 if ((p1+3)%4 == 0) {
293 i = (p1-1)/4 ;
294 S3 ;
296 for (i=ceild(p1+1,4);i<=n;i++) {
297 if ((p1+1)%2 == 0) {
298 j = (p1-2*i-1)/2 ;
299 S2 ;
302 if (p1%2 == 0) {
303 i = (p1-2)/2 ;
304 S1 ;
307 for (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) {
308 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
309 if (p1%2 == 0) {
310 j = (p1+2*p2)/2 ;
311 S4(i = -p2) ;
314 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
315 if (p1%2 == 0) {
316 j = (p1+2*p2)/2 ;
317 S4(i = -p2) ;
319 for (p3=1;p3<=-p2;p3++) {
320 i = -p2+1 ;
321 if (p1%2 == 0) {
322 j = (p1+2*p2-2)/2 ;
323 S5(k = p3) ;
327 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
328 i = -p2+2 ;
329 if (p1%2 == 0) {
330 j = (p1+2*p2-4)/2 ;
331 S6 ;
333 for (p3=1;p3<=-p2;p3++) {
334 i = -p2+1 ;
335 if (p1%2 == 0) {
336 j = (p1+2*p2-2)/2 ;
337 S5(k = p3) ;
341 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
342 i = -p2+2 ;
343 if (p1%2 == 0) {
344 j = (p1+2*p2-4)/2 ;
345 S6 ;
348 if ((p1+3)%4 == 0) {
349 i = (p1-1)/4 ;
350 S3 ;
352 for (i=ceild(p1+1,4);i<=n;i++) {
353 if ((p1+1)%2 == 0) {
354 j = (p1-2*i-1)/2 ;
355 S2 ;
358 if (p1%2 == 0) {
359 i = (p1-2)/2 ;
360 S1 ;
363 for (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) {
364 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
365 if (p1%2 == 0) {
366 j = (p1+2*p2)/2 ;
367 S4(i = -p2) ;
370 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
371 if (p1%2 == 0) {
372 j = (p1+2*p2)/2 ;
373 S4(i = -p2) ;
375 for (p3=1;p3<=-p2;p3++) {
376 i = -p2+1 ;
377 if (p1%2 == 0) {
378 j = (p1+2*p2-2)/2 ;
379 S5(k = p3) ;
383 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
384 for (p3=1;p3<=-p2;p3++) {
385 i = -p2+1 ;
386 if (p1%2 == 0) {
387 j = (p1+2*p2-2)/2 ;
388 S5(k = p3) ;
392 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
393 i = -p2+2 ;
394 if (p1%2 == 0) {
395 j = (p1+2*p2-4)/2 ;
396 S6 ;
398 for (p3=1;p3<=-p2;p3++) {
399 i = -p2+1 ;
400 if (p1%2 == 0) {
401 j = (p1+2*p2-2)/2 ;
402 S5(k = p3) ;
406 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
407 i = -p2+2 ;
408 if (p1%2 == 0) {
409 j = (p1+2*p2-4)/2 ;
410 S6 ;
413 if ((p1+3)%4 == 0) {
414 i = (p1-1)/4 ;
415 S3 ;
417 for (i=ceild(p1+1,4);i<=n;i++) {
418 if ((p1+1)%2 == 0) {
419 j = (p1-2*i-1)/2 ;
420 S2 ;
423 if (p1%2 == 0) {
424 i = (p1-2)/2 ;
425 S1 ;
428 for (p1=4*n-5;p1<=2*n+58;p1++) {
429 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
430 if (p1%2 == 0) {
431 j = (p1+2*p2)/2 ;
432 S4(i = -p2) ;
435 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
436 for (p3=1;p3<=-p2;p3++) {
437 i = -p2+1 ;
438 if (p1%2 == 0) {
439 j = (p1+2*p2-2)/2 ;
440 S5(k = p3) ;
444 for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=floord(-p1+2*n+4,2);p2++) {
445 i = -p2+2 ;
446 if (p1%2 == 0) {
447 j = (p1+2*p2-4)/2 ;
448 S6 ;
451 if ((p1+3)%4 == 0) {
452 i = (p1-1)/4 ;
453 S3 ;
455 for (i=ceild(p1+1,4);i<=n;i++) {
456 if ((p1+1)%2 == 0) {
457 j = (p1-2*i-1)/2 ;
458 S2 ;
461 if (p1%2 == 0) {
462 i = (p1-2)/2 ;
463 S1 ;
466 for (p1=2*n+59;p1<=4*n-10;p1++) {
467 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
468 if (p1%2 == 0) {
469 j = (p1+2*p2)/2 ;
470 S4(i = -p2) ;
473 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
474 if (p1%2 == 0) {
475 j = (p1+2*p2)/2 ;
476 S4(i = -p2) ;
478 for (p3=1;p3<=-p2;p3++) {
479 i = -p2+1 ;
480 if (p1%2 == 0) {
481 j = (p1+2*p2-2)/2 ;
482 S5(k = p3) ;
486 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
487 if (p1%2 == 0) {
488 j = (p1+2*p2)/2 ;
489 S4(i = -p2) ;
491 i = -p2+2 ;
492 if (p1%2 == 0) {
493 j = (p1+2*p2-4)/2 ;
494 S6 ;
496 for (p3=1;p3<=-p2;p3++) {
497 i = -p2+1 ;
498 if (p1%2 == 0) {
499 j = (p1+2*p2-2)/2 ;
500 S5(k = p3) ;
504 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
505 i = -p2+2 ;
506 if (p1%2 == 0) {
507 j = (p1+2*p2-4)/2 ;
508 S6 ;
510 for (p3=1;p3<=-p2;p3++) {
511 i = -p2+1 ;
512 if (p1%2 == 0) {
513 j = (p1+2*p2-2)/2 ;
514 S5(k = p3) ;
518 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
519 i = -p2+2 ;
520 if (p1%2 == 0) {
521 j = (p1+2*p2-4)/2 ;
522 S6 ;
525 if ((p1+3)%4 == 0) {
526 i = (p1-1)/4 ;
527 S3 ;
529 for (i=ceild(p1+1,4);i<=n;i++) {
530 if ((p1+1)%2 == 0) {
531 j = (p1-2*i-1)/2 ;
532 S2 ;
536 for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
537 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
538 if (p1%2 == 0) {
539 j = (p1+2*p2)/2 ;
540 S4(i = -p2) ;
543 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
544 if (p1%2 == 0) {
545 j = (p1+2*p2)/2 ;
546 S4(i = -p2) ;
548 for (p3=1;p3<=-p2;p3++) {
549 i = -p2+1 ;
550 if (p1%2 == 0) {
551 j = (p1+2*p2-2)/2 ;
552 S5(k = p3) ;
556 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
557 i = -p2+2 ;
558 if (p1%2 == 0) {
559 j = (p1+2*p2-4)/2 ;
560 S6 ;
562 for (p3=1;p3<=-p2;p3++) {
563 i = -p2+1 ;
564 if (p1%2 == 0) {
565 j = (p1+2*p2-2)/2 ;
566 S5(k = p3) ;
570 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
571 i = -p2+2 ;
572 if (p1%2 == 0) {
573 j = (p1+2*p2-4)/2 ;
574 S6 ;
577 if ((p1+3)%4 == 0) {
578 i = (p1-1)/4 ;
579 S3 ;
581 for (i=ceild(p1+1,4);i<=n;i++) {
582 if ((p1+1)%2 == 0) {
583 j = (p1-2*i-1)/2 ;
584 S2 ;
588 for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
589 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
590 if (p1%2 == 0) {
591 j = (p1+2*p2)/2 ;
592 S4(i = -p2) ;
595 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
596 if (p1%2 == 0) {
597 j = (p1+2*p2)/2 ;
598 S4(i = -p2) ;
600 for (p3=1;p3<=-p2;p3++) {
601 i = -p2+1 ;
602 if (p1%2 == 0) {
603 j = (p1+2*p2-2)/2 ;
604 S5(k = p3) ;
608 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
609 for (p3=1;p3<=-p2;p3++) {
610 i = -p2+1 ;
611 if (p1%2 == 0) {
612 j = (p1+2*p2-2)/2 ;
613 S5(k = p3) ;
617 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
618 i = -p2+2 ;
619 if (p1%2 == 0) {
620 j = (p1+2*p2-4)/2 ;
621 S6 ;
623 for (p3=1;p3<=-p2;p3++) {
624 i = -p2+1 ;
625 if (p1%2 == 0) {
626 j = (p1+2*p2-2)/2 ;
627 S5(k = p3) ;
631 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
632 i = -p2+2 ;
633 if (p1%2 == 0) {
634 j = (p1+2*p2-4)/2 ;
635 S6 ;
638 if ((p1+3)%4 == 0) {
639 i = (p1-1)/4 ;
640 S3 ;
642 for (i=ceild(p1+1,4);i<=n;i++) {
643 if ((p1+1)%2 == 0) {
644 j = (p1-2*i-1)/2 ;
645 S2 ;
649 for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
650 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
651 if (p1%2 == 0) {
652 j = (p1+2*p2)/2 ;
653 S4(i = -p2) ;
656 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
657 for (p3=1;p3<=-p2;p3++) {
658 i = -p2+1 ;
659 if (p1%2 == 0) {
660 j = (p1+2*p2-2)/2 ;
661 S5(k = p3) ;
665 for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
666 i = -p2+2 ;
667 if (p1%2 == 0) {
668 j = (p1+2*p2-4)/2 ;
669 S6 ;
672 if ((p1+3)%4 == 0) {
673 i = (p1-1)/4 ;
674 S3 ;
676 for (i=ceild(p1+1,4);i<=n;i++) {
677 if ((p1+1)%2 == 0) {
678 j = (p1-2*i-1)/2 ;
679 S2 ;
683 p1 = 4*n-1 ;
684 j = n-1 ;
685 S2(i = n) ;
686 for (p1=4*n;p1<=4*n+1;p1++) {
687 if ((p1+3)%4 == 0) {
688 i = (p1-1)/4 ;
689 S3 ;