First commit : 0.14.0 version (with roadmap in doc instead of
[cloog.git] / test / vivien.c
blob67bf3516ee7eac49e40d31c09a46ca07cfe630cf
1 /* Generated from ./test/vivien.cloog by CLooG v0.14.0 64 bits in 0.27s. */
2 /* CLooG asked for 292 KBytes. */
3 for (p1=-54*n+4;p1<=min(4,4*n+1);p1++) {
4 if ((p1-2)%2 == 0) {
5 i = (p1-2)/2 ;
6 S1 ;
9 if (n >= 1) {
10 S3(i = 1) ;
12 if (n >= 2) {
13 S4(i = 1,j = 2) ;
14 S1(i = 2) ;
15 S6(i = 1,j = 2) ;
17 for (p1=max(-54*n+4,4*n+2);p1<=6;p1++) {
18 if ((p1-2)%2 == 0) {
19 i = (p1-2)/2 ;
20 S1 ;
23 for (p1=7;p1<=min(2*n+2,9);p1++) {
24 for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
25 if (p1%2 == 0) {
26 j = (p1+2*p2)/2 ;
27 S4(i = -p2) ;
30 if ((p1-1)%4 == 0) {
31 i = (p1-1)/4 ;
32 S3 ;
34 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
35 if ((p1-1)%2 == 0) {
36 j = (p1-2*i-1)/2 ;
37 S2 ;
40 if ((p1-2)%2 == 0) {
41 i = (p1-2)/2 ;
42 S1 ;
44 if ((p1-2)%2 == 0) {
45 j = (p1-2)/2 ;
46 S6(i = 1) ;
49 for (p1=2*n+3;p1<=min(4*n-2,9);p1++) {
50 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
51 if (p1%2 == 0) {
52 j = (p1+2*p2)/2 ;
53 S4(i = -p2) ;
56 if ((p1-1)%4 == 0) {
57 i = (p1-1)/4 ;
58 S3 ;
60 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
61 if ((p1-1)%2 == 0) {
62 j = (p1-2*i-1)/2 ;
63 S2 ;
66 if ((p1-2)%2 == 0) {
67 i = (p1-2)/2 ;
68 S1 ;
71 for (p1=10;p1<=min(12,2*n+2);p1++) {
72 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
73 if (p1%2 == 0) {
74 j = (p1+2*p2)/2 ;
75 S4(i = -p2) ;
78 for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
79 if (p1%2 == 0) {
80 j = (p1+2*p2)/2 ;
81 S4(i = -p2) ;
83 for (p3=1;p3<=-p2;p3++) {
84 i = -p2+1 ;
85 if ((p1-2)%2 == 0) {
86 j = (p1+2*p2-2)/2 ;
87 S5(k = p3) ;
91 if ((p1-4)%2 == 0) {
92 j = (p1-4)/2 ;
93 S6(i = 2) ;
95 for (i=max(3,ceild(p1+1,4));i<=min(floord(p1-3,2),n);i++) {
96 if ((p1-1)%2 == 0) {
97 j = (p1-2*i-1)/2 ;
98 S2 ;
101 if ((p1-2)%2 == 0) {
102 i = (p1-2)/2 ;
103 S1 ;
105 if ((p1-2)%2 == 0) {
106 j = (p1-2)/2 ;
107 S6(i = 1) ;
110 if ((n >= 5) && (n <= 5)) {
111 if (9%2 == 0) {
112 S4(i = 2,j = 9/2) ;
114 for (p2=-1;p2<=floord(2*n-13,2);p2++) {
115 if (13%2 == 0) {
116 j = (2*p2+13)/2 ;
117 S4(i = -p2) ;
119 for (p3=1;p3<=-p2;p3++) {
120 i = -p2+1 ;
121 if (11%2 == 0) {
122 j = (2*p2+11)/2 ;
123 S5(k = p3) ;
127 for (p2=n-6;p2<=-1;p2++) {
128 for (p3=1;p3<=-p2;p3++) {
129 i = -p2+1 ;
130 if (11%2 == 0) {
131 j = (2*p2+11)/2 ;
132 S5(k = p3) ;
136 if (9%2 == 0) {
137 S6(i = 2,j = 9/2) ;
139 S3(i = 3) ;
140 for (i=4;i<=min(5,n);i++) {
141 j = -i+6 ;
142 S2 ;
144 if (11%2 == 0) {
145 S1(i = 11/2) ;
148 if (n >= 6) {
149 if (9%2 == 0) {
150 S4(i = 2,j = 9/2) ;
152 if (11%2 == 0) {
153 S4(i = 1,j = 11/2) ;
155 if (9%2 == 0) {
156 S5(i = 2,j = 9/2,k = 1) ;
158 if (9%2 == 0) {
159 S6(i = 2,j = 9/2) ;
161 S3(i = 3) ;
162 for (i=4;i<=min(5,n);i++) {
163 j = -i+6 ;
164 S2 ;
166 if (11%2 == 0) {
167 S1(i = 11/2) ;
169 if (11%2 == 0) {
170 S6(i = 1,j = 11/2) ;
173 for (p1=max(max(4*n-5,10),2*n+3);p1<=min(12,2*n+4);p1++) {
174 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
175 if (p1%2 == 0) {
176 j = (p1+2*p2)/2 ;
177 S4(i = -p2) ;
180 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=-1;p2++) {
181 for (p3=1;p3<=-p2;p3++) {
182 i = -p2+1 ;
183 if ((p1-2)%2 == 0) {
184 j = (p1+2*p2-2)/2 ;
185 S5(k = p3) ;
189 if ((p1-4)%2 == 0) {
190 j = (p1-4)/2 ;
191 S6(i = 2) ;
193 for (i=max(3,ceild(p1+1,4));i<=min(floord(p1-3,2),n);i++) {
194 if ((p1-1)%2 == 0) {
195 j = (p1-2*i-1)/2 ;
196 S2 ;
199 if ((p1-2)%2 == 0) {
200 i = (p1-2)/2 ;
201 S1 ;
204 for (p1=14;p1<=2*n+2;p1++) {
205 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
206 if (p1%2 == 0) {
207 j = (p1+2*p2)/2 ;
208 S4(i = -p2) ;
211 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
212 if (p1%2 == 0) {
213 j = (p1+2*p2)/2 ;
214 S4(i = -p2) ;
216 for (p3=1;p3<=-p2;p3++) {
217 i = -p2+1 ;
218 if ((p1-2)%2 == 0) {
219 j = (p1+2*p2-2)/2 ;
220 S5(k = p3) ;
224 for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
225 if (p1%2 == 0) {
226 j = (p1+2*p2)/2 ;
227 S4(i = -p2) ;
229 i = -p2+2 ;
230 if ((p1-4)%2 == 0) {
231 j = (p1+2*p2-4)/2 ;
232 S6 ;
234 for (p3=1;p3<=-p2;p3++) {
235 i = -p2+1 ;
236 if ((p1-2)%2 == 0) {
237 j = (p1+2*p2-2)/2 ;
238 S5(k = p3) ;
242 if ((p1-4)%2 == 0) {
243 j = (p1-4)/2 ;
244 S6(i = 2) ;
246 if ((p1-1)%4 == 0) {
247 i = (p1-1)/4 ;
248 S3 ;
250 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
251 if ((p1-1)%2 == 0) {
252 j = (p1-2*i-1)/2 ;
253 S2 ;
256 if ((p1-2)%2 == 0) {
257 i = (p1-2)/2 ;
258 S1 ;
260 if ((p1-2)%2 == 0) {
261 j = (p1-2)/2 ;
262 S6(i = 1) ;
265 if ((n >= 4) && (n <= 4)) {
266 for (p2=-2;p2<=floord(2*n-13,2);p2++) {
267 if (13%2 == 0) {
268 j = (2*p2+13)/2 ;
269 S4(i = -p2) ;
272 for (p2=-1;p2<=floord(2*n-11,2);p2++) {
273 for (p3=1;p3<=-p2;p3++) {
274 i = -p2+1 ;
275 if (11%2 == 0) {
276 j = (2*p2+11)/2 ;
277 S5(k = p3) ;
281 S3(i = 3) ;
282 for (i=4;i<=n;i++) {
283 j = -i+6 ;
284 S2 ;
286 if (11%2 == 0) {
287 S1(i = 11/2) ;
290 for (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) {
291 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
292 if (p1%2 == 0) {
293 j = (p1+2*p2)/2 ;
294 S4(i = -p2) ;
297 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
298 if (p1%2 == 0) {
299 j = (p1+2*p2)/2 ;
300 S4(i = -p2) ;
302 for (p3=1;p3<=-p2;p3++) {
303 i = -p2+1 ;
304 if ((p1-2)%2 == 0) {
305 j = (p1+2*p2-2)/2 ;
306 S5(k = p3) ;
310 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
311 if (p1%2 == 0) {
312 j = (p1+2*p2)/2 ;
313 S4(i = -p2) ;
315 i = -p2+2 ;
316 if ((p1-4)%2 == 0) {
317 j = (p1+2*p2-4)/2 ;
318 S6 ;
320 for (p3=1;p3<=-p2;p3++) {
321 i = -p2+1 ;
322 if ((p1-2)%2 == 0) {
323 j = (p1+2*p2-2)/2 ;
324 S5(k = p3) ;
328 for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
329 i = -p2+2 ;
330 if ((p1-4)%2 == 0) {
331 j = (p1+2*p2-4)/2 ;
332 S6 ;
334 for (p3=1;p3<=-p2;p3++) {
335 i = -p2+1 ;
336 if ((p1-2)%2 == 0) {
337 j = (p1+2*p2-2)/2 ;
338 S5(k = p3) ;
342 if ((p1-4)%2 == 0) {
343 j = (p1-4)/2 ;
344 S6(i = 2) ;
346 if ((p1-1)%4 == 0) {
347 i = (p1-1)/4 ;
348 S3 ;
350 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
351 if ((p1-1)%2 == 0) {
352 j = (p1-2*i-1)/2 ;
353 S2 ;
356 if ((p1-2)%2 == 0) {
357 i = (p1-2)/2 ;
358 S1 ;
361 for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
362 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
363 if (p1%2 == 0) {
364 j = (p1+2*p2)/2 ;
365 S4(i = -p2) ;
368 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
369 if (p1%2 == 0) {
370 j = (p1+2*p2)/2 ;
371 S4(i = -p2) ;
373 for (p3=1;p3<=-p2;p3++) {
374 i = -p2+1 ;
375 if ((p1-2)%2 == 0) {
376 j = (p1+2*p2-2)/2 ;
377 S5(k = p3) ;
381 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
382 if (p1%2 == 0) {
383 j = (p1+2*p2)/2 ;
384 S4(i = -p2) ;
386 i = -p2+2 ;
387 if ((p1-4)%2 == 0) {
388 j = (p1+2*p2-4)/2 ;
389 S6 ;
391 for (p3=1;p3<=-p2;p3++) {
392 i = -p2+1 ;
393 if ((p1-2)%2 == 0) {
394 j = (p1+2*p2-2)/2 ;
395 S5(k = p3) ;
399 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
400 i = -p2+2 ;
401 if ((p1-4)%2 == 0) {
402 j = (p1+2*p2-4)/2 ;
403 S6 ;
405 for (p3=1;p3<=-p2;p3++) {
406 i = -p2+1 ;
407 if ((p1-2)%2 == 0) {
408 j = (p1+2*p2-2)/2 ;
409 S5(k = p3) ;
413 for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
414 i = -p2+2 ;
415 if ((p1-4)%2 == 0) {
416 j = (p1+2*p2-4)/2 ;
417 S6 ;
420 if ((p1-1)%4 == 0) {
421 i = (p1-1)/4 ;
422 S3 ;
424 for (i=ceild(p1+1,4);i<=n;i++) {
425 if ((p1-1)%2 == 0) {
426 j = (p1-2*i-1)/2 ;
427 S2 ;
430 if ((p1-2)%2 == 0) {
431 i = (p1-2)/2 ;
432 S1 ;
435 for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) {
436 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
437 if (p1%2 == 0) {
438 j = (p1+2*p2)/2 ;
439 S4(i = -p2) ;
442 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
443 if (p1%2 == 0) {
444 j = (p1+2*p2)/2 ;
445 S4(i = -p2) ;
447 for (p3=1;p3<=-p2;p3++) {
448 i = -p2+1 ;
449 if ((p1-2)%2 == 0) {
450 j = (p1+2*p2-2)/2 ;
451 S5(k = p3) ;
455 for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
456 i = -p2+2 ;
457 if ((p1-4)%2 == 0) {
458 j = (p1+2*p2-4)/2 ;
459 S6 ;
461 for (p3=1;p3<=-p2;p3++) {
462 i = -p2+1 ;
463 if ((p1-2)%2 == 0) {
464 j = (p1+2*p2-2)/2 ;
465 S5(k = p3) ;
469 if ((p1-4)%2 == 0) {
470 j = (p1-4)/2 ;
471 S6(i = 2) ;
473 if ((p1-1)%4 == 0) {
474 i = (p1-1)/4 ;
475 S3 ;
477 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
478 if ((p1-1)%2 == 0) {
479 j = (p1-2*i-1)/2 ;
480 S2 ;
483 if ((p1-2)%2 == 0) {
484 i = (p1-2)/2 ;
485 S1 ;
488 for (p1=max(4*n-7,14);p1<=2*n+4;p1++) {
489 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
490 if (p1%2 == 0) {
491 j = (p1+2*p2)/2 ;
492 S4(i = -p2) ;
495 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
496 if (p1%2 == 0) {
497 j = (p1+2*p2)/2 ;
498 S4(i = -p2) ;
500 for (p3=1;p3<=-p2;p3++) {
501 i = -p2+1 ;
502 if ((p1-2)%2 == 0) {
503 j = (p1+2*p2-2)/2 ;
504 S5(k = p3) ;
508 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
509 for (p3=1;p3<=-p2;p3++) {
510 i = -p2+1 ;
511 if ((p1-2)%2 == 0) {
512 j = (p1+2*p2-2)/2 ;
513 S5(k = p3) ;
517 for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
518 i = -p2+2 ;
519 if ((p1-4)%2 == 0) {
520 j = (p1+2*p2-4)/2 ;
521 S6 ;
523 for (p3=1;p3<=-p2;p3++) {
524 i = -p2+1 ;
525 if ((p1-2)%2 == 0) {
526 j = (p1+2*p2-2)/2 ;
527 S5(k = p3) ;
531 if ((p1-4)%2 == 0) {
532 j = (p1-4)/2 ;
533 S6(i = 2) ;
535 if ((p1-1)%4 == 0) {
536 i = (p1-1)/4 ;
537 S3 ;
539 for (i=ceild(p1+1,4);i<=min(floord(p1-3,2),n);i++) {
540 if ((p1-1)%2 == 0) {
541 j = (p1-2*i-1)/2 ;
542 S2 ;
545 if ((p1-2)%2 == 0) {
546 i = (p1-2)/2 ;
547 S1 ;
550 for (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) {
551 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
552 if (p1%2 == 0) {
553 j = (p1+2*p2)/2 ;
554 S4(i = -p2) ;
557 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
558 if (p1%2 == 0) {
559 j = (p1+2*p2)/2 ;
560 S4(i = -p2) ;
562 for (p3=1;p3<=-p2;p3++) {
563 i = -p2+1 ;
564 if ((p1-2)%2 == 0) {
565 j = (p1+2*p2-2)/2 ;
566 S5(k = p3) ;
570 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
571 i = -p2+2 ;
572 if ((p1-4)%2 == 0) {
573 j = (p1+2*p2-4)/2 ;
574 S6 ;
576 for (p3=1;p3<=-p2;p3++) {
577 i = -p2+1 ;
578 if ((p1-2)%2 == 0) {
579 j = (p1+2*p2-2)/2 ;
580 S5(k = p3) ;
584 for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
585 i = -p2+2 ;
586 if ((p1-4)%2 == 0) {
587 j = (p1+2*p2-4)/2 ;
588 S6 ;
591 if ((p1-1)%4 == 0) {
592 i = (p1-1)/4 ;
593 S3 ;
595 for (i=ceild(p1+1,4);i<=n;i++) {
596 if ((p1-1)%2 == 0) {
597 j = (p1-2*i-1)/2 ;
598 S2 ;
601 if ((p1-2)%2 == 0) {
602 i = (p1-2)/2 ;
603 S1 ;
606 for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) {
607 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
608 if (p1%2 == 0) {
609 j = (p1+2*p2)/2 ;
610 S4(i = -p2) ;
613 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
614 if (p1%2 == 0) {
615 j = (p1+2*p2)/2 ;
616 S4(i = -p2) ;
618 for (p3=1;p3<=-p2;p3++) {
619 i = -p2+1 ;
620 if ((p1-2)%2 == 0) {
621 j = (p1+2*p2-2)/2 ;
622 S5(k = p3) ;
626 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
627 for (p3=1;p3<=-p2;p3++) {
628 i = -p2+1 ;
629 if ((p1-2)%2 == 0) {
630 j = (p1+2*p2-2)/2 ;
631 S5(k = p3) ;
635 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
636 i = -p2+2 ;
637 if ((p1-4)%2 == 0) {
638 j = (p1+2*p2-4)/2 ;
639 S6 ;
641 for (p3=1;p3<=-p2;p3++) {
642 i = -p2+1 ;
643 if ((p1-2)%2 == 0) {
644 j = (p1+2*p2-2)/2 ;
645 S5(k = p3) ;
649 for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
650 i = -p2+2 ;
651 if ((p1-4)%2 == 0) {
652 j = (p1+2*p2-4)/2 ;
653 S6 ;
656 if ((p1-1)%4 == 0) {
657 i = (p1-1)/4 ;
658 S3 ;
660 for (i=ceild(p1+1,4);i<=n;i++) {
661 if ((p1-1)%2 == 0) {
662 j = (p1-2*i-1)/2 ;
663 S2 ;
666 if ((p1-2)%2 == 0) {
667 i = (p1-2)/2 ;
668 S1 ;
671 for (p1=max(max(4*n-5,14),2*n+5);p1<=min(4*n-2,2*n+58);p1++) {
672 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
673 if (p1%2 == 0) {
674 j = (p1+2*p2)/2 ;
675 S4(i = -p2) ;
678 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
679 for (p3=1;p3<=-p2;p3++) {
680 i = -p2+1 ;
681 if ((p1-2)%2 == 0) {
682 j = (p1+2*p2-2)/2 ;
683 S5(k = p3) ;
687 for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
688 i = -p2+2 ;
689 if ((p1-4)%2 == 0) {
690 j = (p1+2*p2-4)/2 ;
691 S6 ;
694 if ((p1-1)%4 == 0) {
695 i = (p1-1)/4 ;
696 S3 ;
698 for (i=ceild(p1+1,4);i<=n;i++) {
699 if ((p1-1)%2 == 0) {
700 j = (p1-2*i-1)/2 ;
701 S2 ;
704 if ((p1-2)%2 == 0) {
705 i = (p1-2)/2 ;
706 S1 ;
709 if ((n <= 29) && (n >= 3)) {
710 p1 = 4*n-1 ;
711 j = n-1 ;
712 S2(i = n) ;
714 if (n == 2) {
715 j = n-1 ;
716 S2(i = 2) ;
718 for (p1=2*n+59;p1<=4*n-10;p1++) {
719 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
720 if (p1%2 == 0) {
721 j = (p1+2*p2)/2 ;
722 S4(i = -p2) ;
725 for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
726 if (p1%2 == 0) {
727 j = (p1+2*p2)/2 ;
728 S4(i = -p2) ;
730 for (p3=1;p3<=-p2;p3++) {
731 i = -p2+1 ;
732 if ((p1-2)%2 == 0) {
733 j = (p1+2*p2-2)/2 ;
734 S5(k = p3) ;
738 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
739 if (p1%2 == 0) {
740 j = (p1+2*p2)/2 ;
741 S4(i = -p2) ;
743 i = -p2+2 ;
744 if ((p1-4)%2 == 0) {
745 j = (p1+2*p2-4)/2 ;
746 S6 ;
748 for (p3=1;p3<=-p2;p3++) {
749 i = -p2+1 ;
750 if ((p1-2)%2 == 0) {
751 j = (p1+2*p2-2)/2 ;
752 S5(k = p3) ;
756 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
757 i = -p2+2 ;
758 if ((p1-4)%2 == 0) {
759 j = (p1+2*p2-4)/2 ;
760 S6 ;
762 for (p3=1;p3<=-p2;p3++) {
763 i = -p2+1 ;
764 if ((p1-2)%2 == 0) {
765 j = (p1+2*p2-2)/2 ;
766 S5(k = p3) ;
770 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
771 i = -p2+2 ;
772 if ((p1-4)%2 == 0) {
773 j = (p1+2*p2-4)/2 ;
774 S6 ;
777 if ((p1-1)%4 == 0) {
778 i = (p1-1)/4 ;
779 S3 ;
781 for (i=ceild(p1+1,4);i<=n;i++) {
782 if ((p1-1)%2 == 0) {
783 j = (p1-2*i-1)/2 ;
784 S2 ;
788 for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
789 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
790 if (p1%2 == 0) {
791 j = (p1+2*p2)/2 ;
792 S4(i = -p2) ;
795 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
796 if (p1%2 == 0) {
797 j = (p1+2*p2)/2 ;
798 S4(i = -p2) ;
800 for (p3=1;p3<=-p2;p3++) {
801 i = -p2+1 ;
802 if ((p1-2)%2 == 0) {
803 j = (p1+2*p2-2)/2 ;
804 S5(k = p3) ;
808 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
809 i = -p2+2 ;
810 if ((p1-4)%2 == 0) {
811 j = (p1+2*p2-4)/2 ;
812 S6 ;
814 for (p3=1;p3<=-p2;p3++) {
815 i = -p2+1 ;
816 if ((p1-2)%2 == 0) {
817 j = (p1+2*p2-2)/2 ;
818 S5(k = p3) ;
822 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
823 i = -p2+2 ;
824 if ((p1-4)%2 == 0) {
825 j = (p1+2*p2-4)/2 ;
826 S6 ;
829 if ((p1-1)%4 == 0) {
830 i = (p1-1)/4 ;
831 S3 ;
833 for (i=ceild(p1+1,4);i<=n;i++) {
834 if ((p1-1)%2 == 0) {
835 j = (p1-2*i-1)/2 ;
836 S2 ;
840 for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
841 for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
842 if (p1%2 == 0) {
843 j = (p1+2*p2)/2 ;
844 S4(i = -p2) ;
847 for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
848 if (p1%2 == 0) {
849 j = (p1+2*p2)/2 ;
850 S4(i = -p2) ;
852 for (p3=1;p3<=-p2;p3++) {
853 i = -p2+1 ;
854 if ((p1-2)%2 == 0) {
855 j = (p1+2*p2-2)/2 ;
856 S5(k = p3) ;
860 for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
861 for (p3=1;p3<=-p2;p3++) {
862 i = -p2+1 ;
863 if ((p1-2)%2 == 0) {
864 j = (p1+2*p2-2)/2 ;
865 S5(k = p3) ;
869 for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
870 i = -p2+2 ;
871 if ((p1-4)%2 == 0) {
872 j = (p1+2*p2-4)/2 ;
873 S6 ;
875 for (p3=1;p3<=-p2;p3++) {
876 i = -p2+1 ;
877 if ((p1-2)%2 == 0) {
878 j = (p1+2*p2-2)/2 ;
879 S5(k = p3) ;
883 for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
884 i = -p2+2 ;
885 if ((p1-4)%2 == 0) {
886 j = (p1+2*p2-4)/2 ;
887 S6 ;
890 if ((p1-1)%4 == 0) {
891 i = (p1-1)/4 ;
892 S3 ;
894 for (i=ceild(p1+1,4);i<=n;i++) {
895 if ((p1-1)%2 == 0) {
896 j = (p1-2*i-1)/2 ;
897 S2 ;
901 for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
902 for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
903 if (p1%2 == 0) {
904 j = (p1+2*p2)/2 ;
905 S4(i = -p2) ;
908 for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
909 for (p3=1;p3<=-p2;p3++) {
910 i = -p2+1 ;
911 if ((p1-2)%2 == 0) {
912 j = (p1+2*p2-2)/2 ;
913 S5(k = p3) ;
917 for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
918 i = -p2+2 ;
919 if ((p1-4)%2 == 0) {
920 j = (p1+2*p2-4)/2 ;
921 S6 ;
924 if ((p1-1)%4 == 0) {
925 i = (p1-1)/4 ;
926 S3 ;
928 for (i=ceild(p1+1,4);i<=n;i++) {
929 if ((p1-1)%2 == 0) {
930 j = (p1-2*i-1)/2 ;
931 S2 ;
935 for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) {
936 if ((p1-1)%4 == 0) {
937 i = (p1-1)/4 ;
938 S3 ;
940 if ((p1-2)%2 == 0) {
941 i = (p1-2)/2 ;
942 S1 ;
945 if (n >= 30) {
946 p1 = 4*n-1 ;
947 j = n-1 ;
948 S2(i = n) ;
950 for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) {
951 if ((p1-2)%2 == 0) {
952 i = (p1-2)/2 ;
953 S1 ;
956 for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) {
957 if ((p1-1)%4 == 0) {
958 i = (p1-1)/4 ;
959 S3 ;