Added howto file for a new CLooG release
[cloog.git] / test / non_optimal / usvd_e_t.good.c
blobf54c11c8c23cd3e1dc81c39e3d6198531c290a89
1 /* Generated from ../../../git/cloog/test/./non_optimal/usvd_e_t.cloog by CLooG 0.14.0-72-gefe2fc2 gmp bits in 0.36s. */
2 extern void hash(int);
4 /* Useful macros. */
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,j,k) { hash(1); hash(i); hash(j); hash(k); }
11 #define S2(i,j,k) { hash(2); hash(i); hash(j); hash(k); }
12 #define S3(i,j,k) { hash(3); hash(i); hash(j); hash(k); }
13 #define S4(i,j,k) { hash(4); hash(i); hash(j); hash(k); }
14 #define S5(i,j,k) { hash(5); hash(i); hash(j); hash(k); }
15 #define S6(i,j,k) { hash(6); hash(i); hash(j); hash(k); }
16 #define S7(i,j,k) { hash(7); hash(i); hash(j); hash(k); }
17 #define S8(i,j,k) { hash(8); hash(i); hash(j); hash(k); }
18 #define S9(i,j,k) { hash(9); hash(i); hash(j); hash(k); }
19 #define S10(i,j,k) { hash(10); hash(i); hash(j); hash(k); }
20 #define S11(i,j,k) { hash(11); hash(i); hash(j); hash(k); }
21 #define S12(i,j,k) { hash(12); hash(i); hash(j); hash(k); }
22 #define S13(i,j,k) { hash(13); hash(i); hash(j); hash(k); }
23 #define S14(i,j,k) { hash(14); hash(i); hash(j); hash(k); }
24 #define S15(i,j,k) { hash(15); hash(i); hash(j); hash(k); }
25 #define S16(i,j,k) { hash(16); hash(i); hash(j); hash(k); }
26 #define S17(i,j,k) { hash(17); hash(i); hash(j); hash(k); }
27 #define S18(i,j,k) { hash(18); hash(i); hash(j); hash(k); }
28 #define S19(i,j,k) { hash(19); hash(i); hash(j); hash(k); }
29 #define S20(i,j,k) { hash(20); hash(i); hash(j); hash(k); }
30 #define S21(i,j,k) { hash(21); hash(i); hash(j); hash(k); }
31 #define S22(i,j,k) { hash(22); hash(i); hash(j); hash(k); }
32 #define S23(i,j,k) { hash(23); hash(i); hash(j); hash(k); }
33 #define S24(i,j,k) { hash(24); hash(i); hash(j); hash(k); }
34 #define S25(i,j,k) { hash(25); hash(i); hash(j); hash(k); }
35 #define S26(i,j,k) { hash(26); hash(i); hash(j); hash(k); }
37 void test()
39 /* Original iterators. */
40 int i, j, k;
41 for (i=0;i<=2;i++) {
42 S1(i,0,0) ;
43 S2(i,0,0) ;
44 for (j=1;j<=4;j++) {
45 S2(i,j,0) ;
48 S1(3,0,0) ;
49 S2(3,0,0) ;
50 for (j=1;j<=4;j++) {
51 S2(3,j,0) ;
53 for (j=7;j<=11;j++) {
54 S8(3,j,0) ;
56 S1(4,0,0) ;
57 S2(4,0,0) ;
58 S3(4,0,0) ;
59 S5(4,0,0) ;
60 for (j=1;j<=4;j++) {
61 S2(4,j,0) ;
62 S5(4,j,0) ;
64 for (j=7;j<=11;j++) {
65 S8(4,j,0) ;
67 S6(5,-4,0) ;
68 S7(5,-4,0) ;
69 for (j=-3;j<=-1;j++) {
70 S7(5,j,0) ;
72 S3(5,0,0) ;
73 S7(5,0,0) ;
74 S4(5,1,-1) ;
75 S5(5,1,0) ;
76 for (j=2;j<=4;j++) {
77 S5(5,j,0) ;
79 for (j=7;j<=11;j++) {
80 S8(5,j,0) ;
82 S6(6,-4,0) ;
83 S6(6,-3,0) ;
84 S7(6,-3,0) ;
85 for (j=-2;j<=-1;j++) {
86 S7(6,j,0) ;
88 S3(6,0,0) ;
89 S7(6,0,0) ;
90 S4(6,1,-1) ;
91 S4(6,2,-1) ;
92 S5(6,2,0) ;
93 for (j=3;j<=4;j++) {
94 S5(6,j,0) ;
96 for (j=7;j<=11;j++) {
97 S8(6,j,0) ;
99 for (j=-4;j<=-3;j++) {
100 S6(7,j,0) ;
102 S6(7,-2,0) ;
103 S7(7,-2,0) ;
104 S7(7,-1,0) ;
105 S3(7,0,0) ;
106 S7(7,0,0) ;
107 for (j=1;j<=2;j++) {
108 S4(7,j,-1) ;
110 S4(7,3,-1) ;
111 S5(7,3,0) ;
112 S5(7,4,0) ;
113 S9(7,4,0) ;
114 S10(7,4,0) ;
115 S11(7,4,0) ;
116 S21(7,4,0) ;
117 S23(7,4,0) ;
118 S11(7,4,1) ;
119 S16(7,4,1) ;
120 S17(7,4,1) ;
121 for (k=2;k<=4;k++) {
122 S11(7,4,k) ;
124 S12(7,5,0) ;
125 S21(7,5,0) ;
126 S22(7,5,0) ;
127 S23(7,5,0) ;
128 S12(7,5,1) ;
129 S16(7,5,1) ;
130 S17(7,5,1) ;
131 for (k=2;k<=4;k++) {
132 S12(7,5,k) ;
134 S21(7,6,0) ;
135 S22(7,6,0) ;
136 S23(7,6,0) ;
137 for (j=7;j<=8;j++) {
138 S8(7,j,0) ;
139 S21(7,j,0) ;
140 S22(7,j,0) ;
141 S23(7,j,0) ;
143 S8(7,9,0) ;
144 S22(7,9,0) ;
145 for (j=10;j<=11;j++) {
146 S8(7,j,0) ;
148 for (j=-4;j<=-2;j++) {
149 S6(8,j,0) ;
151 S6(8,-1,0) ;
152 S7(8,-1,0) ;
153 S3(8,0,0) ;
154 S7(8,0,0) ;
155 S19(8,1,-2) ;
156 S4(8,1,-1) ;
157 S19(8,1,-1) ;
158 S19(8,1,0) ;
159 S15(8,1,4) ;
160 S18(8,1,4) ;
161 for (k=-4;k<=-3;k++) {
162 S14(8,2,k) ;
163 S20(8,2,k) ;
165 S14(8,2,-2) ;
166 S19(8,2,-2) ;
167 S20(8,2,-2) ;
168 S4(8,2,-1) ;
169 S14(8,2,-1) ;
170 S19(8,2,-1) ;
171 S20(8,2,-1) ;
172 S14(8,2,0) ;
173 S19(8,2,0) ;
174 S20(8,2,0) ;
175 S15(8,2,4) ;
176 S18(8,2,4) ;
177 for (k=-4;k<=-2;k++) {
178 S14(8,3,k) ;
179 S20(8,3,k) ;
181 S4(8,3,-1) ;
182 S14(8,3,-1) ;
183 S20(8,3,-1) ;
184 S14(8,3,0) ;
185 S20(8,3,0) ;
186 S15(8,3,4) ;
187 S18(8,3,4) ;
188 for (k=-4;k<=-2;k++) {
189 S14(8,4,k) ;
190 S20(8,4,k) ;
192 S4(8,4,-1) ;
193 S14(8,4,-1) ;
194 S20(8,4,-1) ;
195 S5(8,4,0) ;
196 S9(8,4,0) ;
197 S10(8,4,0) ;
198 S14(8,4,0) ;
199 S20(8,4,0) ;
200 S23(8,4,0) ;
201 S13(8,4,1) ;
202 S21(8,4,1) ;
203 S23(8,4,1) ;
204 S24(8,4,1) ;
205 S13(8,4,2) ;
206 S16(8,4,2) ;
207 S17(8,4,2) ;
208 S24(8,4,2) ;
209 S13(8,4,3) ;
210 S24(8,4,3) ;
211 S13(8,4,4) ;
212 S15(8,4,4) ;
213 S23(8,5,0) ;
214 S11(8,5,1) ;
215 S21(8,5,1) ;
216 S22(8,5,1) ;
217 S23(8,5,1) ;
218 S24(8,5,1) ;
219 S11(8,5,2) ;
220 S16(8,5,2) ;
221 S17(8,5,2) ;
222 S24(8,5,2) ;
223 S11(8,5,3) ;
224 S24(8,5,3) ;
225 S11(8,5,4) ;
226 S15(8,5,4) ;
227 S23(8,6,0) ;
228 S12(8,6,1) ;
229 S21(8,6,1) ;
230 S22(8,6,1) ;
231 S23(8,6,1) ;
232 S24(8,6,1) ;
233 S12(8,6,2) ;
234 S16(8,6,2) ;
235 S17(8,6,2) ;
236 S24(8,6,2) ;
237 S12(8,6,3) ;
238 S24(8,6,3) ;
239 S12(8,6,4) ;
240 for (j=7;j<=8;j++) {
241 S23(8,j,0) ;
242 S21(8,j,1) ;
243 S22(8,j,1) ;
244 S23(8,j,1) ;
245 S24(8,j,1) ;
246 for (k=2;k<=3;k++) {
247 S24(8,j,k) ;
250 S22(8,9,1) ;
251 S7(9,0,0) ;
252 for (j=1;j<=2;j++) {
253 for (k=-1;k<=0;k++) {
254 S19(9,j,k) ;
256 for (k=4;k<=5;k++) {
257 S15(9,j,k) ;
258 S18(9,j,k) ;
261 S20(9,3,-4) ;
262 for (k=-3;k<=-2;k++) {
263 S14(9,3,k) ;
264 S20(9,3,k) ;
266 for (k=-1;k<=0;k++) {
267 S14(9,3,k) ;
268 S19(9,3,k) ;
269 S20(9,3,k) ;
271 for (k=4;k<=5;k++) {
272 S15(9,3,k) ;
273 S18(9,3,k) ;
275 S20(9,4,-4) ;
276 for (k=-3;k<=-1;k++) {
277 S14(9,4,k) ;
278 S20(9,4,k) ;
280 S9(9,4,0) ;
281 S10(9,4,0) ;
282 S14(9,4,0) ;
283 S20(9,4,0) ;
284 S23(9,4,0) ;
285 S23(9,4,1) ;
286 S13(9,4,2) ;
287 S21(9,4,2) ;
288 S23(9,4,2) ;
289 S24(9,4,2) ;
290 S13(9,4,3) ;
291 S16(9,4,3) ;
292 S17(9,4,3) ;
293 S24(9,4,3) ;
294 S13(9,4,4) ;
295 S15(9,4,4) ;
296 S18(9,4,4) ;
297 S15(9,4,5) ;
298 S18(9,4,5) ;
299 for (k=0;k<=1;k++) {
300 S23(9,5,k) ;
302 S13(9,5,2) ;
303 S21(9,5,2) ;
304 S22(9,5,2) ;
305 S23(9,5,2) ;
306 S24(9,5,2) ;
307 S13(9,5,3) ;
308 S16(9,5,3) ;
309 S17(9,5,3) ;
310 S24(9,5,3) ;
311 S13(9,5,4) ;
312 S15(9,5,4) ;
313 S15(9,5,5) ;
314 for (k=0;k<=1;k++) {
315 S23(9,6,k) ;
317 S11(9,6,2) ;
318 S21(9,6,2) ;
319 S22(9,6,2) ;
320 S23(9,6,2) ;
321 S24(9,6,2) ;
322 S11(9,6,3) ;
323 S16(9,6,3) ;
324 S17(9,6,3) ;
325 S24(9,6,3) ;
326 S11(9,6,4) ;
327 for (k=0;k<=1;k++) {
328 S23(9,7,k) ;
330 S12(9,7,2) ;
331 S21(9,7,2) ;
332 S22(9,7,2) ;
333 S23(9,7,2) ;
334 S24(9,7,2) ;
335 S12(9,7,3) ;
336 S16(9,7,3) ;
337 S17(9,7,3) ;
338 S24(9,7,3) ;
339 S12(9,7,4) ;
340 for (k=0;k<=1;k++) {
341 S23(9,8,k) ;
343 S21(9,8,2) ;
344 S22(9,8,2) ;
345 S23(9,8,2) ;
346 S24(9,8,2) ;
347 S24(9,8,3) ;
348 S22(9,9,2) ;
349 for (j=1;j<=3;j++) {
350 S19(10,j,0) ;
351 S26(10,j,3) ;
352 S15(10,j,4) ;
353 S18(10,j,4) ;
354 S25(10,j,4) ;
355 for (k=5;k<=6;k++) {
356 S15(10,j,k) ;
357 S18(10,j,k) ;
360 for (k=-4;k<=-3;k++) {
361 S20(10,4,k) ;
363 for (k=-2;k<=-1;k++) {
364 S14(10,4,k) ;
365 S20(10,4,k) ;
367 S9(10,4,0) ;
368 S10(10,4,0) ;
369 S14(10,4,0) ;
370 S19(10,4,0) ;
371 S20(10,4,0) ;
372 S13(10,4,3) ;
373 S21(10,4,3) ;
374 S24(10,4,3) ;
375 S26(10,4,3) ;
376 S13(10,4,4) ;
377 S15(10,4,4) ;
378 S16(10,4,4) ;
379 S17(10,4,4) ;
380 S18(10,4,4) ;
381 S25(10,4,4) ;
382 for (k=5;k<=6;k++) {
383 S15(10,4,k) ;
384 S18(10,4,k) ;
386 S13(10,5,3) ;
387 S21(10,5,3) ;
388 S22(10,5,3) ;
389 S24(10,5,3) ;
390 S26(10,5,3) ;
391 S13(10,5,4) ;
392 S15(10,5,4) ;
393 S16(10,5,4) ;
394 S17(10,5,4) ;
395 S18(10,5,4) ;
396 S25(10,5,4) ;
397 for (k=5;k<=6;k++) {
398 S15(10,5,k) ;
399 S18(10,5,k) ;
401 S13(10,6,3) ;
402 S21(10,6,3) ;
403 S22(10,6,3) ;
404 S24(10,6,3) ;
405 S13(10,6,4) ;
406 S16(10,6,4) ;
407 S17(10,6,4) ;
408 S11(10,7,3) ;
409 S21(10,7,3) ;
410 S22(10,7,3) ;
411 S24(10,7,3) ;
412 S11(10,7,4) ;
413 S16(10,7,4) ;
414 S17(10,7,4) ;
415 S12(10,8,3) ;
416 S21(10,8,3) ;
417 S22(10,8,3) ;
418 S24(10,8,3) ;
419 S12(10,8,4) ;
420 S16(10,8,4) ;
421 S17(10,8,4) ;
422 S22(10,9,3) ;
423 for (i=11;i<=14;i++) {
424 for (j=1;j<=5;j++) {
425 S26(i,j,3) ;
426 S25(i,j,4) ;