Use top_builddir, not builddir that is undefined.
[cloog-ppl.git] / test / vivien.c.ppl
blobc61e9ed2d33d9e7c3b4c145442af8c10705c5efc
1 /* Generated from ./vivien.cloog by CLooG 0.15 64 bits in 2.52s. */
2 for (p1=-54*n+4;p1<=4;p1++) {
3   if (p1%2 == 0) {
4     i = (p1-2)/2 ;
5     S1 ;
6   }
8 if (n >= 1) {
9   S3(i = 1) ;
11 if (n >= 2) {
12   S4(i = 1,j = 2) ;
13   S1(i = 2) ;
14   S6(i = 1,j = 2) ;
16 for (p1=7;p1<=min(2*n+2,9);p1++) {
17   for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
18     if (p1%2 == 0) {
19       j = (p1+2*p2)/2 ;
20       S4(i = -p2) ;
21     }
22   }
23   if ((p1+3)%4 == 0) {
24     i = (p1-1)/4 ;
25     S3 ;
26   }
27   for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
28     if ((p1+1)%2 == 0) {
29       j = (p1-2*i-1)/2 ;
30       S2 ;
31     }
32   }
33   if (p1%2 == 0) {
34     i = (p1-2)/2 ;
35     S1 ;
36   }
37   if (p1%2 == 0) {
38     j = (p1-2)/2 ;
39     S6(i = 1) ;
40   }
42 for (p1=2*n+3;p1<=min(4*n-2,9);p1++) {
43   for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
44     if (p1%2 == 0) {
45       j = (p1+2*p2)/2 ;
46       S4(i = -p2) ;
47     }
48   }
49   if ((p1+3)%4 == 0) {
50     i = (p1-1)/4 ;
51     S3 ;
52   }
53   for (i=ceild(p1+1,4);i<=n;i++) {
54     if ((p1+1)%2 == 0) {
55       j = (p1-2*i-1)/2 ;
56       S2 ;
57     }
58   }
59   if (p1%2 == 0) {
60     i = (p1-2)/2 ;
61     S1 ;
62   }
64 if (n >= 6) {
65   for (i=3;i<=4;i++) {
66     j = -i+5 ;
67     S2 ;
68   }
70 if (n >= 5) {
71   S6(i = 2,j = 4) ;
72   S1(i = 5) ;
73   S4(i = 2,j = 4) ;
74   S4(i = 1,j = 5) ;
75   S5(i = 2,j = 4,k = 1) ;
76   S6(i = 1,j = 5) ;
78 for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) {
79   if (p1%2 == 0) {
80     j = (p1-4)/2 ;
81     S6(i = 2) ;
82   }
83   if ((p1+3)%4 == 0) {
84     i = (p1-1)/4 ;
85     S3 ;
86   }
87   for (i=ceild(p1+1,4);i<=n;i++) {
88     if ((p1+1)%2 == 0) {
89       j = (p1-2*i-1)/2 ;
90       S2 ;
91     }
92   }
93   if (p1%2 == 0) {
94     i = (p1-2)/2 ;
95     S1 ;
96   }
97   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
98     if (p1%2 == 0) {
99       j = (p1+2*p2)/2 ;
100       S4(i = -p2) ;
101     }
102   }
103   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
104     if (p1%2 == 0) {
105       j = (p1+2*p2)/2 ;
106       S4(i = -p2) ;
107     }
108     for (p3=1;p3<=-p2;p3++) {
109       i = -p2+1 ;
110       if (p1%2 == 0) {
111         j = (p1+2*p2-2)/2 ;
112         S5(k = p3) ;
113       }
114     }
115   }
116   for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
117     i = -p2+2 ;
118     if (p1%2 == 0) {
119       j = (p1+2*p2-4)/2 ;
120       S6 ;
121     }
122     for (p3=1;p3<=-p2;p3++) {
123       i = -p2+1 ;
124       if (p1%2 == 0) {
125         j = (p1+2*p2-2)/2 ;
126         S5(k = p3) ;
127       }
128     }
129   }
131 for (p1=n+6;p1<=min(2*n+2,11);p1++) {
132   if (p1%2 == 0) {
133     j = (p1-4)/2 ;
134     S6(i = 2) ;
135   }
136   for (i=3;i<=floord(p1-3,2);i++) {
137     if ((p1+1)%2 == 0) {
138       j = (p1-2*i-1)/2 ;
139       S2 ;
140     }
141   }
142   if (p1%2 == 0) {
143     i = (p1-2)/2 ;
144     S1 ;
145   }
146   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
147     if (p1%2 == 0) {
148       j = (p1+2*p2)/2 ;
149       S4(i = -p2) ;
150     }
151   }
152   for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
153     if (p1%2 == 0) {
154       j = (p1+2*p2)/2 ;
155       S4(i = -p2) ;
156     }
157     for (p3=1;p3<=-p2;p3++) {
158       i = -p2+1 ;
159       if (p1%2 == 0) {
160         j = (p1+2*p2-2)/2 ;
161         S5(k = p3) ;
162       }
163     }
164   }
165   for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+12,2));p2<=1;p2++) {
166     i = -p2+2 ;
167     if (p1%2 == 0) {
168       j = (p1+2*p2-4)/2 ;
169       S6 ;
170     }
171   }
173 for (p1=max(max(4*n-5,2*n+5),14);p1<=min(4*n-2,2*n+58);p1++) {
174   for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
175     for (p3=1;p3<=-p2;p3++) {
176       i = -p2+1 ;
177       if (p1%2 == 0) {
178         j = (p1+2*p2-2)/2 ;
179         S5(k = p3) ;
180       }
181     }
182   }
183   for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
184     i = -p2+2 ;
185     if (p1%2 == 0) {
186       j = (p1+2*p2-4)/2 ;
187       S6 ;
188     }
189   }
190   if ((p1+3)%4 == 0) {
191     i = (p1-1)/4 ;
192     S3 ;
193   }
194   for (i=ceild(p1+1,4);i<=n;i++) {
195     if ((p1+1)%2 == 0) {
196       j = (p1-2*i-1)/2 ;
197       S2 ;
198     }
199   }
200   if (p1%2 == 0) {
201     i = (p1-2)/2 ;
202     S1 ;
203   }
204   for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
205     if (p1%2 == 0) {
206       j = (p1+2*p2)/2 ;
207       S4(i = -p2) ;
208     }
209   }
211 if ((n >= 5) && (n <= 5)) {
212   S3(i = 3) ;
213   for (i=4;i<=n;i++) {
214     j = -i+6 ;
215     S2 ;
216   }
218 if (n >= 5) {
219   S6(i = 2,j = 3) ;
220   S1(i = 4) ;
221   S4(i = 2,j = 3) ;
222   S4(i = 1,j = 4) ;
223   S5(i = 2,j = 3,k = 1) ;
224   S6(i = 1,j = 4) ;
226 if (n >= 6) {
227   S3(i = 3) ;
228   for (i=4;i<=5;i++) {
229     j = -i+6 ;
230     S2 ;
231   }
233 for (p1=14;p1<=2*n+2;p1++) {
234   for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
235     if (p1%2 == 0) {
236       j = (p1+2*p2)/2 ;
237       S4(i = -p2) ;
238     }
239     i = -p2+2 ;
240     if (p1%2 == 0) {
241       j = (p1+2*p2-4)/2 ;
242       S6 ;
243     }
244     for (p3=1;p3<=-p2;p3++) {
245       i = -p2+1 ;
246       if (p1%2 == 0) {
247         j = (p1+2*p2-2)/2 ;
248         S5(k = p3) ;
249       }
250     }
251   }
252   if (p1%2 == 0) {
253     j = (p1-4)/2 ;
254     S6(i = 2) ;
255   }
256   if ((p1+3)%4 == 0) {
257     i = (p1-1)/4 ;
258     S3 ;
259   }
260   for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
261     if ((p1+1)%2 == 0) {
262       j = (p1-2*i-1)/2 ;
263       S2 ;
264     }
265   }
266   if (p1%2 == 0) {
267     i = (p1-2)/2 ;
268     S1 ;
269   }
270   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
271     if (p1%2 == 0) {
272       j = (p1+2*p2)/2 ;
273       S4(i = -p2) ;
274     }
275   }
276   for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
277     if (p1%2 == 0) {
278       j = (p1+2*p2)/2 ;
279       S4(i = -p2) ;
280     }
281     for (p3=1;p3<=-p2;p3++) {
282       i = -p2+1 ;
283       if (p1%2 == 0) {
284         j = (p1+2*p2-2)/2 ;
285         S5(k = p3) ;
286       }
287     }
288   }
289   if (p1%2 == 0) {
290     j = (p1-2)/2 ;
291     S6(i = 1) ;
292   }
294 for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) {
295   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
296     for (p3=1;p3<=-p2;p3++) {
297       i = -p2+1 ;
298       if (p1%2 == 0) {
299         j = (p1+2*p2-2)/2 ;
300         S5(k = p3) ;
301       }
302     }
303   }
304   for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
305     i = -p2+2 ;
306     if (p1%2 == 0) {
307       j = (p1+2*p2-4)/2 ;
308       S6 ;
309     }
310   }
311   if ((p1+3)%4 == 0) {
312     i = (p1-1)/4 ;
313     S3 ;
314   }
315   for (i=ceild(p1+1,4);i<=n;i++) {
316     if ((p1+1)%2 == 0) {
317       j = (p1-2*i-1)/2 ;
318       S2 ;
319     }
320   }
321   if (p1%2 == 0) {
322     i = (p1-2)/2 ;
323     S1 ;
324   }
325   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
326     if (p1%2 == 0) {
327       j = (p1+2*p2)/2 ;
328       S4(i = -p2) ;
329     }
330   }
331   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
332     if (p1%2 == 0) {
333       j = (p1+2*p2)/2 ;
334       S4(i = -p2) ;
335     }
336     for (p3=1;p3<=-p2;p3++) {
337       i = -p2+1 ;
338       if (p1%2 == 0) {
339         j = (p1+2*p2-2)/2 ;
340         S5(k = p3) ;
341       }
342     }
343   }
344   for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
345     i = -p2+2 ;
346     if (p1%2 == 0) {
347       j = (p1+2*p2-4)/2 ;
348       S6 ;
349     }
350     for (p3=1;p3<=-p2;p3++) {
351       i = -p2+1 ;
352       if (p1%2 == 0) {
353         j = (p1+2*p2-2)/2 ;
354         S5(k = p3) ;
355       }
356     }
357   }
359 for (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) {
360   for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
361     if (p1%2 == 0) {
362       j = (p1+2*p2)/2 ;
363       S4(i = -p2) ;
364     }
365     i = -p2+2 ;
366     if (p1%2 == 0) {
367       j = (p1+2*p2-4)/2 ;
368       S6 ;
369     }
370     for (p3=1;p3<=-p2;p3++) {
371       i = -p2+1 ;
372       if (p1%2 == 0) {
373         j = (p1+2*p2-2)/2 ;
374         S5(k = p3) ;
375       }
376     }
377   }
378   if (p1%2 == 0) {
379     j = (p1-4)/2 ;
380     S6(i = 2) ;
381   }
382   if ((p1+3)%4 == 0) {
383     i = (p1-1)/4 ;
384     S3 ;
385   }
386   for (i=ceild(p1+1,4);i<=n;i++) {
387     if ((p1+1)%2 == 0) {
388       j = (p1-2*i-1)/2 ;
389       S2 ;
390     }
391   }
392   if (p1%2 == 0) {
393     i = (p1-2)/2 ;
394     S1 ;
395   }
396   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
397     if (p1%2 == 0) {
398       j = (p1+2*p2)/2 ;
399       S4(i = -p2) ;
400     }
401   }
402   for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
403     if (p1%2 == 0) {
404       j = (p1+2*p2)/2 ;
405       S4(i = -p2) ;
406     }
407     for (p3=1;p3<=-p2;p3++) {
408       i = -p2+1 ;
409       if (p1%2 == 0) {
410         j = (p1+2*p2-2)/2 ;
411         S5(k = p3) ;
412       }
413     }
414   }
415   for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
416     i = -p2+2 ;
417     if (p1%2 == 0) {
418       j = (p1+2*p2-4)/2 ;
419       S6 ;
420     }
421     for (p3=1;p3<=-p2;p3++) {
422       i = -p2+1 ;
423       if (p1%2 == 0) {
424         j = (p1+2*p2-2)/2 ;
425         S5(k = p3) ;
426       }
427     }
428   }
430 for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
431   for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
432     i = -p2+2 ;
433     if (p1%2 == 0) {
434       j = (p1+2*p2-4)/2 ;
435       S6 ;
436     }
437   }
438   for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
439     if (p1%2 == 0) {
440       j = (p1+2*p2)/2 ;
441       S4(i = -p2) ;
442     }
443     i = -p2+2 ;
444     if (p1%2 == 0) {
445       j = (p1+2*p2-4)/2 ;
446       S6 ;
447     }
448     for (p3=1;p3<=-p2;p3++) {
449       i = -p2+1 ;
450       if (p1%2 == 0) {
451         j = (p1+2*p2-2)/2 ;
452         S5(k = p3) ;
453       }
454     }
455   }
456   if ((p1+3)%4 == 0) {
457     i = (p1-1)/4 ;
458     S3 ;
459   }
460   for (i=ceild(p1+1,4);i<=n;i++) {
461     if ((p1+1)%2 == 0) {
462       j = (p1-2*i-1)/2 ;
463       S2 ;
464     }
465   }
466   if (p1%2 == 0) {
467     i = (p1-2)/2 ;
468     S1 ;
469   }
470   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
471     if (p1%2 == 0) {
472       j = (p1+2*p2)/2 ;
473       S4(i = -p2) ;
474     }
475   }
476   for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
477     if (p1%2 == 0) {
478       j = (p1+2*p2)/2 ;
479       S4(i = -p2) ;
480     }
481     for (p3=1;p3<=-p2;p3++) {
482       i = -p2+1 ;
483       if (p1%2 == 0) {
484         j = (p1+2*p2-2)/2 ;
485         S5(k = p3) ;
486       }
487     }
488   }
489   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
490     i = -p2+2 ;
491     if (p1%2 == 0) {
492       j = (p1+2*p2-4)/2 ;
493       S6 ;
494     }
495     for (p3=1;p3<=-p2;p3++) {
496       i = -p2+1 ;
497       if (p1%2 == 0) {
498         j = (p1+2*p2-2)/2 ;
499         S5(k = p3) ;
500       }
501     }
502   }
504 for (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) {
505   for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
506     i = -p2+2 ;
507     if (p1%2 == 0) {
508       j = (p1+2*p2-4)/2 ;
509       S6 ;
510     }
511   }
512   if ((p1+3)%4 == 0) {
513     i = (p1-1)/4 ;
514     S3 ;
515   }
516   for (i=ceild(p1+1,4);i<=n;i++) {
517     if ((p1+1)%2 == 0) {
518       j = (p1-2*i-1)/2 ;
519       S2 ;
520     }
521   }
522   if (p1%2 == 0) {
523     i = (p1-2)/2 ;
524     S1 ;
525   }
526   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
527     if (p1%2 == 0) {
528       j = (p1+2*p2)/2 ;
529       S4(i = -p2) ;
530     }
531   }
532   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
533     if (p1%2 == 0) {
534       j = (p1+2*p2)/2 ;
535       S4(i = -p2) ;
536     }
537     for (p3=1;p3<=-p2;p3++) {
538       i = -p2+1 ;
539       if (p1%2 == 0) {
540         j = (p1+2*p2-2)/2 ;
541         S5(k = p3) ;
542       }
543     }
544   }
545   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
546     i = -p2+2 ;
547     if (p1%2 == 0) {
548       j = (p1+2*p2-4)/2 ;
549       S6 ;
550     }
551     for (p3=1;p3<=-p2;p3++) {
552       i = -p2+1 ;
553       if (p1%2 == 0) {
554         j = (p1+2*p2-2)/2 ;
555         S5(k = p3) ;
556       }
557     }
558   }
560 for (p1=max(max(4*n-5,2*n+3),10);p1<=min(2*n+4,12);p1++) {
561   for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=-1;p2++) {
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) ;
567       }
568     }
569   }
570   if (p1%2 == 0) {
571     j = (p1-4)/2 ;
572     S6(i = 2) ;
573   }
574   for (i=max(ceild(p1+1,4),3);i<=n;i++) {
575     if ((p1+1)%2 == 0) {
576       j = (p1-2*i-1)/2 ;
577       S2 ;
578     }
579   }
580   if (p1%2 == 0) {
581     i = (p1-2)/2 ;
582     S1 ;
583   }
584   for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
585     if (p1%2 == 0) {
586       j = (p1+2*p2)/2 ;
587       S4(i = -p2) ;
588     }
589   }
591 for (p1=2*n+5;p1<=min(floord(8*n+61,7),4*n-2);p1++) {
592   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n+2,2);p2++) {
593     for (p3=1;p3<=-p2;p3++) {
594       i = -p2+1 ;
595       if (p1%2 == 0) {
596         j = (p1+2*p2-2)/2 ;
597         S5(k = p3) ;
598       }
599     }
600   }
601   if ((p1+3)%4 == 0) {
602     i = (p1-1)/4 ;
603     S3 ;
604   }
605   for (i=ceild(p1+1,4);i<=n;i++) {
606     if ((p1+1)%2 == 0) {
607       j = (p1-2*i-1)/2 ;
608       S2 ;
609     }
610   }
611   if (p1%2 == 0) {
612     i = (p1-2)/2 ;
613     S1 ;
614   }
615   for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
616     if (p1%2 == 0) {
617       j = (p1+2*p2)/2 ;
618       S4(i = -p2) ;
619     }
620   }
622 for (p1=max(4*n-7,14);p1<=2*n+4;p1++) {
623   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
624     for (p3=1;p3<=-p2;p3++) {
625       i = -p2+1 ;
626       if (p1%2 == 0) {
627         j = (p1+2*p2-2)/2 ;
628         S5(k = p3) ;
629       }
630     }
631   }
632   if (p1%2 == 0) {
633     j = (p1-4)/2 ;
634     S6(i = 2) ;
635   }
636   if ((p1+3)%4 == 0) {
637     i = (p1-1)/4 ;
638     S3 ;
639   }
640   for (i=ceild(p1+1,4);i<=n;i++) {
641     if ((p1+1)%2 == 0) {
642       j = (p1-2*i-1)/2 ;
643       S2 ;
644     }
645   }
646   if (p1%2 == 0) {
647     i = (p1-2)/2 ;
648     S1 ;
649   }
650   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
651     if (p1%2 == 0) {
652       j = (p1+2*p2)/2 ;
653       S4(i = -p2) ;
654     }
655   }
656   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
657     if (p1%2 == 0) {
658       j = (p1+2*p2)/2 ;
659       S4(i = -p2) ;
660     }
661     for (p3=1;p3<=-p2;p3++) {
662       i = -p2+1 ;
663       if (p1%2 == 0) {
664         j = (p1+2*p2-2)/2 ;
665         S5(k = p3) ;
666       }
667     }
668   }
669   for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
670     i = -p2+2 ;
671     if (p1%2 == 0) {
672       j = (p1+2*p2-4)/2 ;
673       S6 ;
674     }
675     for (p3=1;p3<=-p2;p3++) {
676       i = -p2+1 ;
677       if (p1%2 == 0) {
678         j = (p1+2*p2-2)/2 ;
679         S5(k = p3) ;
680       }
681     }
682   }
684 if ((n >= 3) && (n <= 29)) {
685   p1 = 4*n-1 ;
686   j = n-1 ;
687   S2(i = n) ;
688   if (1%2 == 0) {
689     i = (4*n-3)/2 ;
690     S1 ;
691   }
693 if (n == 2) {
694   S2(i = 2,j = 1) ;
696 for (p1=max(max(-54*n+4,4*n+2),5);p1<=6;p1++) {
697   if (p1%2 == 0) {
698     i = (p1-2)/2 ;
699     S1 ;
700   }
702 for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) {
703   if ((p1+3)%4 == 0) {
704     i = (p1-1)/4 ;
705     S3 ;
706   }
707   if (p1%2 == 0) {
708     i = (p1-2)/2 ;
709     S1 ;
710   }
712 for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) {
713   if (p1%2 == 0) {
714     i = (p1-2)/2 ;
715     S1 ;
716   }
718 for (p1=2*n+59;p1<=4*n-10;p1++) {
719   for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
720     i = -p2+2 ;
721     if (p1%2 == 0) {
722       j = (p1+2*p2-4)/2 ;
723       S6 ;
724     }
725   }
726   for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
727     if (p1%2 == 0) {
728       j = (p1+2*p2)/2 ;
729       S4(i = -p2) ;
730     }
731     for (p3=1;p3<=-p2;p3++) {
732       i = -p2+1 ;
733       if (p1%2 == 0) {
734         j = (p1+2*p2-2)/2 ;
735         S5(k = p3) ;
736       }
737     }
738   }
739   for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
740     if (p1%2 == 0) {
741       j = (p1+2*p2)/2 ;
742       S4(i = -p2) ;
743     }
744     i = -p2+2 ;
745     if (p1%2 == 0) {
746       j = (p1+2*p2-4)/2 ;
747       S6 ;
748     }
749     for (p3=1;p3<=-p2;p3++) {
750       i = -p2+1 ;
751       if (p1%2 == 0) {
752         j = (p1+2*p2-2)/2 ;
753         S5(k = p3) ;
754       }
755     }
756   }
757   if ((p1+3)%4 == 0) {
758     i = (p1-1)/4 ;
759     S3 ;
760   }
761   for (i=ceild(p1+1,4);i<=n;i++) {
762     if ((p1+1)%2 == 0) {
763       j = (p1-2*i-1)/2 ;
764       S2 ;
765     }
766   }
767   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
768     i = -p2+2 ;
769     if (p1%2 == 0) {
770       j = (p1+2*p2-4)/2 ;
771       S6 ;
772     }
773     for (p3=1;p3<=-p2;p3++) {
774       i = -p2+1 ;
775       if (p1%2 == 0) {
776         j = (p1+2*p2-2)/2 ;
777         S5(k = p3) ;
778       }
779     }
780   }
781   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
782     if (p1%2 == 0) {
783       j = (p1+2*p2)/2 ;
784       S4(i = -p2) ;
785     }
786   }
788 for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
789   for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
790     i = -p2+2 ;
791     if (p1%2 == 0) {
792       j = (p1+2*p2-4)/2 ;
793       S6 ;
794     }
795   }
796   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
797     if (p1%2 == 0) {
798       j = (p1+2*p2)/2 ;
799       S4(i = -p2) ;
800     }
801     for (p3=1;p3<=-p2;p3++) {
802       i = -p2+1 ;
803       if (p1%2 == 0) {
804         j = (p1+2*p2-2)/2 ;
805         S5(k = p3) ;
806       }
807     }
808   }
809   if ((p1+3)%4 == 0) {
810     i = (p1-1)/4 ;
811     S3 ;
812   }
813   for (i=ceild(p1+1,4);i<=n;i++) {
814     if ((p1+1)%2 == 0) {
815       j = (p1-2*i-1)/2 ;
816       S2 ;
817     }
818   }
819   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
820     i = -p2+2 ;
821     if (p1%2 == 0) {
822       j = (p1+2*p2-4)/2 ;
823       S6 ;
824     }
825     for (p3=1;p3<=-p2;p3++) {
826       i = -p2+1 ;
827       if (p1%2 == 0) {
828         j = (p1+2*p2-2)/2 ;
829         S5(k = p3) ;
830       }
831     }
832   }
833   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
834     if (p1%2 == 0) {
835       j = (p1+2*p2)/2 ;
836       S4(i = -p2) ;
837     }
838   }
840 for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
841   for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
842     i = -p2+2 ;
843     if (p1%2 == 0) {
844       j = (p1+2*p2-4)/2 ;
845       S6 ;
846     }
847   }
848   for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
849     if (p1%2 == 0) {
850       j = (p1+2*p2)/2 ;
851       S4(i = -p2) ;
852     }
853     for (p3=1;p3<=-p2;p3++) {
854       i = -p2+1 ;
855       if (p1%2 == 0) {
856         j = (p1+2*p2-2)/2 ;
857         S5(k = p3) ;
858       }
859     }
860   }
861   if ((p1+3)%4 == 0) {
862     i = (p1-1)/4 ;
863     S3 ;
864   }
865   for (i=ceild(p1+1,4);i<=n;i++) {
866     if ((p1+1)%2 == 0) {
867       j = (p1-2*i-1)/2 ;
868       S2 ;
869     }
870   }
871   for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
872     i = -p2+2 ;
873     if (p1%2 == 0) {
874       j = (p1+2*p2-4)/2 ;
875       S6 ;
876     }
877     for (p3=1;p3<=-p2;p3++) {
878       i = -p2+1 ;
879       if (p1%2 == 0) {
880         j = (p1+2*p2-2)/2 ;
881         S5(k = p3) ;
882       }
883     }
884   }
885   for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
886     if (p1%2 == 0) {
887       j = (p1+2*p2)/2 ;
888       S4(i = -p2) ;
889     }
890   }
891   for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
892     for (p3=1;p3<=-p2;p3++) {
893       i = -p2+1 ;
894       if (p1%2 == 0) {
895         j = (p1+2*p2-2)/2 ;
896         S5(k = p3) ;
897       }
898     }
899   }
901 for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
902   for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
903     i = -p2+2 ;
904     if (p1%2 == 0) {
905       j = (p1+2*p2-4)/2 ;
906       S6 ;
907     }
908   }
909   if ((p1+3)%4 == 0) {
910     i = (p1-1)/4 ;
911     S3 ;
912   }
913   for (i=ceild(p1+1,4);i<=n;i++) {
914     if ((p1+1)%2 == 0) {
915       j = (p1-2*i-1)/2 ;
916       S2 ;
917     }
918   }
919   for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
920     if (p1%2 == 0) {
921       j = (p1+2*p2)/2 ;
922       S4(i = -p2) ;
923     }
924   }
925   for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
926     for (p3=1;p3<=-p2;p3++) {
927       i = -p2+1 ;
928       if (p1%2 == 0) {
929         j = (p1+2*p2-2)/2 ;
930         S5(k = p3) ;
931       }
932     }
933   }
935 if (n >= 30) {
936   p1 = 4*n-1 ;
937   if (1%2 == 0) {
938     i = (2*n-1)/2 ;
939     S3 ;
940   }
941   j = n-1 ;
942   S2(i = n) ;
944 for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) {
945   if ((p1+3)%4 == 0) {
946     i = (p1-1)/4 ;
947     S3 ;
948   }