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