Use simplify_using_context_assign to implement domain_simplify.
[cloog-ppl.git] / test / reservoir / mg-interp.c.ppl
blob4e0be21ca24d99f61563f7730a019a8bfaeea6d1
1 /* Generated from ././reservoir/mg-interp.cloog by CLooG 0.15 64 bits in 3.79s. */
2 if ((M >= 2) && (N >= 4)) {
3   for (c2=1;c2<=O-1;c2++) {
4     for (c6=1;c6<=M;c6++) {
5       S1(i = c2,j = 1,k = c6) ;
6     }
7     for (c6=1;c6<=M-1;c6++) {
8       S6(i = c2,j = 1,k = c6) ;
9       S7(i = c2,j = 1,k = c6) ;
10     }
11     for (c6=1;c6<=M;c6++) {
12       S3(i = c2,j = 1,k = c6) ;
13     }
14     for (c6=1;c6<=M-1;c6++) {
15       S1(i = c2,j = 2,k = c6) ;
16     }
17     if (M >= 2) {
18       S1(i = c2,j = 2,k = M) ;
19     }
20     for (c6=1;c6<=M-1;c6++) {
21       S6(i = c2,j = 2,k = c6) ;
22       S7(i = c2,j = 2,k = c6) ;
23     }
24     for (c6=1;c6<=M-1;c6++) {
25       S11(i = c2,j = 1,k = c6) ;
26     }
27     for (c4=3;c4<=2*N-5;c4++) {
28       for (c6=1;c6<=M-1;c6++) {
29         if ((c4+1)%2 == 0) {
30           j = (c4-1)/2 ;
31           S10(i = c2,k = c6) ;
32         }
33       }
34       for (c6=1;c6<=M;c6++) {
35         if ((c4+1)%2 == 0) {
36           j = (c4+1)/2 ;
37           S3(i = c2,k = c6) ;
38         }
39       }
40       for (c6=1;c6<=M-1;c6++) {
41         if (c4%2 == 0) {
42           j = (c4+2)/2 ;
43           S6(i = c2,k = c6) ;
44           S7(i = c2,k = c6) ;
45         }
46         if ((c4+1)%2 == 0) {
47           j = (c4+3)/2 ;
48           S1(i = c2,k = c6) ;
49         }
50       }
51       if (M >= 2) {
52         if ((c4+1)%2 == 0) {
53           j = (c4+3)/2 ;
54           S1(i = c2,k = M) ;
55         }
56       }
57       for (c6=1;c6<=M-1;c6++) {
58         if (c4%2 == 0) {
59           S11(i = c2,j = c4/2,k = c6) ;
60         }
61       }
62     }
63     if (N >= 4) {
64       c4 = 2*N-4 ;
65       for (c6=1;c6<=M-1;c6++) {
66         if (1%2 == 0) {
67           j = (2*N-5)/2 ;
68           S10(i = c2,k = c6) ;
69         }
70       }
71       for (c6=1;c6<=M;c6++) {
72         if (1%2 == 0) {
73           j = (2*N-3)/2 ;
74           S3(i = c2,k = c6) ;
75         }
76       }
77       for (c6=1;c6<=M-1;c6++) {
78         j = N-1 ;
79         S6(i = c2,k = c6) ;
80         S7(i = c2,k = c6) ;
81       }
82       for (c6=1;c6<=M-1;c6++) {
83         j = N-2 ;
84         S11(i = c2,k = c6) ;
85       }
86     }
87     if (N >= 4) {
88       c4 = 2*N-3 ;
89       for (c6=1;c6<=M-1;c6++) {
90         j = N-2 ;
91         S10(i = c2,k = c6) ;
92       }
93       for (c6=1;c6<=M;c6++) {
94         j = N-1 ;
95         S3(i = c2,k = c6) ;
96       }
97       for (c6=1;c6<=M-1;c6++) {
98         if (1%2 == 0) {
99           j = (2*N-3)/2 ;
100           S11(i = c2,k = c6) ;
101         }
102       }
103     }
104     if (N >= 4) {
105       c4 = 2*N-2 ;
106       for (c6=1;c6<=M-1;c6++) {
107         if (1%2 == 0) {
108           j = (2*N-3)/2 ;
109           S10(i = c2,k = c6) ;
110         }
111       }
112       for (c6=1;c6<=M-1;c6++) {
113         j = N-1 ;
114         S11(i = c2,k = c6) ;
115       }
116     }
117     if (N >= 4) {
118       c4 = 2*N-1 ;
119       for (c6=1;c6<=M-1;c6++) {
120         j = N-1 ;
121         S10(i = c2,k = c6) ;
122       }
123     }
124   }
126 if ((M >= 2) && (N == 3)) {
127   for (c2=1;c2<=O-1;c2++) {
128     for (c6=1;c6<=M;c6++) {
129       S1(i = c2,j = 1,k = c6) ;
130     }
131     for (c6=1;c6<=M-1;c6++) {
132       S6(i = c2,j = 1,k = c6) ;
133       S7(i = c2,j = 1,k = c6) ;
134     }
135     for (c6=1;c6<=M;c6++) {
136       S3(i = c2,j = 1,k = c6) ;
137     }
138     for (c6=1;c6<=M-1;c6++) {
139       S1(i = c2,j = 2,k = c6) ;
140     }
141     S1(i = c2,j = 2,k = M) ;
142     for (c6=1;c6<=M-1;c6++) {
143       S6(i = c2,j = 2,k = c6) ;
144       S7(i = c2,j = 2,k = c6) ;
145     }
146     for (c6=1;c6<=M-1;c6++) {
147       S11(i = c2,j = 1,k = c6) ;
148     }
149     for (c6=1;c6<=M-1;c6++) {
150       S10(i = c2,j = 1,k = c6) ;
151     }
152     for (c6=1;c6<=M;c6++) {
153       S3(i = c2,j = 2,k = c6) ;
154     }
155     for (c6=1;c6<=M-1;c6++) {
156       S11(i = c2,j = 2,k = c6) ;
157     }
158     for (c6=1;c6<=M-1;c6++) {
159       S10(i = c2,j = 2,k = c6) ;
160     }
161   }
163 if ((M >= 2) && (N == 2)) {
164   for (c2=1;c2<=O-1;c2++) {
165     for (c6=1;c6<=M;c6++) {
166       S1(i = c2,j = 1,k = c6) ;
167     }
168     for (c6=1;c6<=M-1;c6++) {
169       S6(i = c2,j = 1,k = c6) ;
170       S7(i = c2,j = 1,k = c6) ;
171     }
172     for (c6=1;c6<=M;c6++) {
173       S3(i = c2,j = 1,k = c6) ;
174     }
175     for (c6=1;c6<=M-1;c6++) {
176       S11(i = c2,j = 1,k = c6) ;
177     }
178     for (c6=1;c6<=M-1;c6++) {
179       S10(i = c2,j = 1,k = c6) ;
180     }
181   }
183 if ((M == 1) && (N >= 3)) {
184   for (c2=1;c2<=O-1;c2++) {
185     for (c4=-1;c4<=0;c4++) {
186       if ((c4+1)%2 == 0) {
187         j = (c4+3)/2 ;
188         S1(i = c2,k = 1) ;
189       }
190     }
191     for (c4=1;c4<=2*N-5;c4++) {
192       if ((c4+1)%2 == 0) {
193         j = (c4+1)/2 ;
194         S3(i = c2,k = 1) ;
195       }
196       if ((c4+1)%2 == 0) {
197         j = (c4+3)/2 ;
198         S1(i = c2,k = 1) ;
199       }
200     }
201     for (c4=2*N-4;c4<=2*N-3;c4++) {
202       if ((c4+1)%2 == 0) {
203         j = (c4+1)/2 ;
204         S3(i = c2,k = 1) ;
205       }
206     }
207   }
209 if ((M == 1) && (N == 2)) {
210   for (c2=1;c2<=O-1;c2++) {
211     S1(i = c2,j = 1,k = 1) ;
212     S3(i = c2,j = 1,k = 1) ;
213   }
215 if ((M >= 2) && (N >= 3)) {
216   for (c2=1;c2<=O-1;c2++) {
217     for (c6=1;c6<=M;c6++) {
218       S2(i = c2,j = 1,k = c6) ;
219     }
220     for (c6=1;c6<=M-1;c6++) {
221       S8(i = c2,j = 1,k = c6) ;
222     }
223     for (c4=3;c4<=2*N-2;c4++) {
224       for (c6=1;c6<=M;c6++) {
225         if (c4%2 == 0) {
226           S2(i = c2,j = c4/2,k = c6) ;
227         }
228       }
229       for (c6=1;c6<=M-1;c6++) {
230         if (c4%2 == 0) {
231           S8(i = c2,j = c4/2,k = c6) ;
232         }
233       }
234       for (c6=1;c6<=M-1;c6++) {
235         if ((c4+1)%2 == 0) {
236           j = (c4-1)/2 ;
237           S9(i = c2,k = c6) ;
238         }
239       }
240     }
241     if (N >= 3) {
242       c4 = 2*N-1 ;
243       for (c6=1;c6<=M-1;c6++) {
244         j = N-1 ;
245         S9(i = c2,k = c6) ;
246       }
247     }
248   }
250 if ((M >= 2) && (N == 2)) {
251   for (c2=1;c2<=O-1;c2++) {
252     for (c6=1;c6<=M;c6++) {
253       S2(i = c2,j = 1,k = c6) ;
254     }
255     for (c6=1;c6<=M-1;c6++) {
256       S8(i = c2,j = 1,k = c6) ;
257     }
258     for (c6=1;c6<=M-1;c6++) {
259       S9(i = c2,j = 1,k = c6) ;
260     }
261   }
263 if ((M == 1) && (N >= 2)) {
264   for (c2=1;c2<=O-1;c2++) {
265     for (c4=2;c4<=2*N-2;c4++) {
266       if (c4%2 == 0) {
267         S2(i = c2,j = c4/2,k = 1) ;
268       }
269     }
270   }
272 if ((M >= 2) && (N >= 2)) {
273   for (c2=1;c2<=O-1;c2++) {
274     for (c4=1;c4<=N-1;c4++) {
275       for (c6=1;c6<=M-1;c6++) {
276         S4(i = c2,j = c4,k = c6) ;
277       }
278     }
279   }
281 if ((M >= 2) && (N >= 2)) {
282   for (c2=1;c2<=O-1;c2++) {
283     for (c4=1;c4<=N-1;c4++) {
284       for (c6=1;c6<=M-1;c6++) {
285         S5(i = c2,j = c4,k = c6) ;
286       }
287     }
288   }
290 if ((M >= P+1) && (N >= Q+1)) {
291   for (c2=R;c2<=O-1;c2++) {
292     for (c4=Q;c4<=N-1;c4++) {
293       for (c6=P;c6<=M-1;c6++) {
294         S12(i = c2,j = c4,k = c6) ;
295       }
296     }
297   }
299 if ((M >= 2) && (N >= Q+1)) {
300   for (c2=R;c2<=O-1;c2++) {
301     for (c4=Q;c4<=N-1;c4++) {
302       for (c6=1;c6<=M-1;c6++) {
303         S13(i = c2,j = c4,k = c6) ;
304       }
305     }
306   }
308 if ((M >= P+1) && (N >= 2)) {
309   for (c2=R;c2<=O-1;c2++) {
310     for (c4=1;c4<=N-1;c4++) {
311       for (c6=P;c6<=M-1;c6++) {
312         S14(i = c2,j = c4,k = c6) ;
313       }
314     }
315   }
317 if ((M >= 2) && (N >= 2)) {
318   for (c2=R;c2<=O-1;c2++) {
319     for (c4=1;c4<=N-1;c4++) {
320       for (c6=1;c6<=M-1;c6++) {
321         S15(i = c2,j = c4,k = c6) ;
322       }
323     }
324   }