support modulo operation in statements
[pet.git] / tests / break4.scop
blob283671693466b8c41324d6d7a18a87fa104bc1d7
1 context: '{  :  }'
2 arrays:
3 - context: '{  :  }'
4   extent: '{ __pet_test_0[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
5   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
6   element_type: int
7   element_size: 4
8   uniquely_defined: 1
9 - context: '{  :  }'
10   extent: '{ __pet_test_1[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
11   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
12   element_type: int
13   element_size: 4
14   uniquely_defined: 1
15 - context: '{  :  }'
16   extent: '{ __pet_test_5[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
17   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
18   element_type: int
19   element_size: 4
20   uniquely_defined: 1
21 - context: '{  :  }'
22   extent: '{ __pet_test_2[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
23   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
24   element_type: int
25   element_size: 4
26   uniquely_defined: 1
27 - context: '{  :  }'
28   extent: '{ __pet_test_3[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
29   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
30   element_type: int
31   element_size: 4
32   uniquely_defined: 1
33 - context: '{  :  }'
34   extent: '{ __pet_test_4[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
35   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
36   element_type: int
37   element_size: 4
38   uniquely_defined: 1
39 - context: '{  :  }'
40   extent: '{ __pet_test_6[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
41   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
42   element_type: int
43   element_size: 4
44   uniquely_defined: 1
45 - context: '{  :  }'
46   extent: '{ __pet_test_7[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
47   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
48   element_type: int
49   element_size: 4
50   uniquely_defined: 1
51 - context: '{  :  }'
52   extent: '{ __pet_test_8[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
53   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
54   element_type: int
55   element_size: 4
56   uniquely_defined: 1
57 - context: '{  :  }'
58   extent: '{ __pet_test_9[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
59   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
60   element_type: int
61   element_size: 4
62   uniquely_defined: 1
63 - context: '{  :  }'
64   extent: '{ __pet_test_10[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
65   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
66   element_type: int
67   element_size: 4
68   uniquely_defined: 1
69 - context: '{  :  }'
70   extent: '{ __pet_test_11[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
71   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
72   element_type: int
73   element_size: 4
74   uniquely_defined: 1
75 - context: '{  :  }'
76   extent: '{ __pet_test_12[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }'
77   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
78   element_type: int
79   element_size: 4
80   uniquely_defined: 1
81 - context: '{  :  }'
82   extent: '{ a[i0] : i0 >= 0 and i0 <= 99 }'
83   element_type: int
84   element_size: 4
85 statements:
86 - line: 10
87   domain: '{ [S_0[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
88   schedule: '{ S_0[i, j] -> [0, i, j, 0] }'
89   body:
90     type: binary
91     operation: =
92     arguments:
93     - type: access
94       relation: '{ S_0[i, j] -> a[i] }'
95       read: 0
96       write: 1
97     - type: access
98       relation: '{ S_0[i, j] -> [0] }'
99       read: 1
100       write: 0
101   arguments:
102   - type: access
103     relation: '{ S_0[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
104     read: 1
105     write: 0
106 - line: 12
107   domain: '{ [S_1[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 81 and j <= 99 }'
108   schedule: '{ S_1[i, j] -> [0, i, j, 1, 0, 0, 0] }'
109   body:
110     type: binary
111     operation: =
112     arguments:
113     - type: access
114       relation: '{ S_1[i, j] -> __pet_test_0[i, j] }'
115       read: 0
116       write: 1
117     - type: call
118       name: f
119   arguments:
120   - type: access
121     relation: '{ S_1[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
122     read: 1
123     write: 0
124 - line: -1
125   domain: '{ [S_2[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
126   schedule: '{ S_2[i, j] -> [0, i, j, 1, 1] }'
127   body:
128     type: binary
129     operation: =
130     arguments:
131     - type: access
132       relation: '{ S_2[i, j] -> __pet_test_1[i, j] }'
133       read: 0
134       write: 1
135     - type: ternary
136       arguments:
137       - type: access
138         relation: '{ S_2[i, j] -> [1] : j >= 81; S_2[i, j] -> [0] : j <= 80 }'
139         read: 1
140         write: 0
141       - type: access
142         relation: '{ S_2[i, j] -> __pet_test_0[i, j] : j >= 81 }'
143         read: 1
144         write: 0
145       - type: access
146         relation: '{ S_2[i, j] -> [0] }'
147         read: 1
148         write: 0
149   arguments:
150   - type: access
151     relation: '{ S_2[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
152     read: 1
153     write: 0
154 - line: 15
155   domain: '{ [S_3[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
156   schedule: '{ S_3[i, j] -> [0, i, j, 2, 0, 0] }'
157   body:
158     type: binary
159     operation: =
160     arguments:
161     - type: access
162       relation: '{ S_3[i, j] -> __pet_test_5[i, j] }'
163       read: 0
164       write: 1
165     - type: call
166       name: f
167   arguments:
168   - type: access
169     relation: '{ S_3[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
170     read: 1
171     write: 0
172   - type: access
173     relation: '{ S_3[i, j] -> __pet_test_1[i, j] }'
174     read: 1
175     write: 0
176 - line: 16
177   domain: '{ [S_4[i, j] -> [0, 0, 1]] : i >= 0 and i <= 99 and j >= 0 and j <= 99
178     }'
179   schedule: '{ S_4[i, j] -> [0, i, j, 2, 0, 1, 0, 0] }'
180   body:
181     type: binary
182     operation: =
183     arguments:
184     - type: access
185       relation: '{ S_4[i, j] -> __pet_test_2[i, j] }'
186       read: 0
187       write: 1
188     - type: call
189       name: f
190   arguments:
191   - type: access
192     relation: '{ S_4[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
193     read: 1
194     write: 0
195   - type: access
196     relation: '{ S_4[i, j] -> __pet_test_1[i, j] }'
197     read: 1
198     write: 0
199   - type: access
200     relation: '{ S_4[i, j] -> __pet_test_5[i, j] }'
201     read: 1
202     write: 0
203 - line: 18
204   domain: '{ [S_5[i, j] -> [0, 0, 1, 0]] : i >= 0 and i <= 99 and j >= 0 and j <=
205     99 }'
206   schedule: '{ S_5[i, j] -> [0, i, j, 2, 0, 1, 1] }'
207   body:
208     type: binary
209     operation: =
210     arguments:
211     - type: access
212       relation: '{ S_5[i, j] -> a[i] }'
213       read: 0
214       write: 1
215     - type: access
216       relation: '{ S_5[i, j] -> [1] }'
217       read: 1
218       write: 0
219   arguments:
220   - type: access
221     relation: '{ S_5[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
222     read: 1
223     write: 0
224   - type: access
225     relation: '{ S_5[i, j] -> __pet_test_1[i, j] }'
226     read: 1
227     write: 0
228   - type: access
229     relation: '{ S_5[i, j] -> __pet_test_5[i, j] }'
230     read: 1
231     write: 0
232   - type: access
233     relation: '{ S_5[i, j] -> __pet_test_2[i, j] }'
234     read: 1
235     write: 0
236 - line: 19
237   domain: '{ [S_6[i, j] -> [0, 0, 1, 0]] : i >= 0 and i <= 99 and j >= 0 and j <=
238     99 }'
239   schedule: '{ S_6[i, j] -> [0, i, j, 2, 0, 1, 2, 0, 0] }'
240   body:
241     type: binary
242     operation: =
243     arguments:
244     - type: access
245       relation: '{ S_6[i, j] -> __pet_test_3[i, j] }'
246       read: 0
247       write: 1
248     - type: call
249       name: f
250   arguments:
251   - type: access
252     relation: '{ S_6[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
253     read: 1
254     write: 0
255   - type: access
256     relation: '{ S_6[i, j] -> __pet_test_1[i, j] }'
257     read: 1
258     write: 0
259   - type: access
260     relation: '{ S_6[i, j] -> __pet_test_5[i, j] }'
261     read: 1
262     write: 0
263   - type: access
264     relation: '{ S_6[i, j] -> __pet_test_2[i, j] }'
265     read: 1
266     write: 0
267 - line: 22
268   domain: '{ [S_7[i, j] -> [0, 0, 1, 0, 0]] : i >= 0 and i <= 99 and j >= 0 and j
269     <= 99 }'
270   schedule: '{ S_7[i, j] -> [0, i, j, 2, 0, 1, 2, 0, 1] }'
271   body:
272     type: binary
273     operation: =
274     arguments:
275     - type: access
276       relation: '{ S_7[i, j] -> a[i] }'
277       read: 0
278       write: 1
279     - type: access
280       relation: '{ S_7[i, j] -> [2] }'
281       read: 1
282       write: 0
283   arguments:
284   - type: access
285     relation: '{ S_7[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
286     read: 1
287     write: 0
288   - type: access
289     relation: '{ S_7[i, j] -> __pet_test_1[i, j] }'
290     read: 1
291     write: 0
292   - type: access
293     relation: '{ S_7[i, j] -> __pet_test_5[i, j] }'
294     read: 1
295     write: 0
296   - type: access
297     relation: '{ S_7[i, j] -> __pet_test_2[i, j] }'
298     read: 1
299     write: 0
300   - type: access
301     relation: '{ S_7[i, j] -> __pet_test_3[i, j] }'
302     read: 1
303     write: 0
304 - line: -1
305   domain: '{ [S_8[i, j] -> [0, 0, 1]] : i >= 0 and i <= 99 and j >= 0 and j <= 99
306     }'
307   schedule: '{ S_8[i, j] -> [0, i, j, 2, 0, 1, 2, 1] }'
308   body:
309     type: binary
310     operation: =
311     arguments:
312     - type: access
313       relation: '{ S_8[i, j] -> __pet_test_4[i, j] }'
314       read: 0
315       write: 1
316     - type: ternary
317       arguments:
318       - type: access
319         relation: '{ S_8[i, j] -> __pet_test_2[i, j] }'
320         read: 1
321         write: 0
322       - type: access
323         relation: '{ S_8[i, j] -> [1] }'
324         read: 1
325         write: 0
326       - type: access
327         relation: '{ [S_8[i, j] -> [0]] -> __pet_test_3[i, j] }'
328         read: 1
329         write: 0
330         arguments:
331         - type: access
332           relation: '{ S_8[i, j] -> __pet_test_2[i, j] }'
333           read: 1
334           write: 0
335   arguments:
336   - type: access
337     relation: '{ S_8[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
338     read: 1
339     write: 0
340   - type: access
341     relation: '{ S_8[i, j] -> __pet_test_1[i, j] }'
342     read: 1
343     write: 0
344   - type: access
345     relation: '{ S_8[i, j] -> __pet_test_5[i, j] }'
346     read: 1
347     write: 0
348 - line: 23
349   domain: '{ [S_9[i, j] -> [0, 0, 1, 0]] : i >= 0 and i <= 99 and j >= 0 and j <=
350     99 }'
351   schedule: '{ S_9[i, j] -> [0, i, j, 2, 0, 1, 3] }'
352   body:
353     type: binary
354     operation: =
355     arguments:
356     - type: access
357       relation: '{ S_9[i, j] -> a[i] }'
358       read: 0
359       write: 1
360     - type: access
361       relation: '{ S_9[i, j] -> [3] }'
362       read: 1
363       write: 0
364   arguments:
365   - type: access
366     relation: '{ S_9[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
367     read: 1
368     write: 0
369   - type: access
370     relation: '{ S_9[i, j] -> __pet_test_1[i, j] }'
371     read: 1
372     write: 0
373   - type: access
374     relation: '{ S_9[i, j] -> __pet_test_5[i, j] }'
375     read: 1
376     write: 0
377   - type: access
378     relation: '{ S_9[i, j] -> __pet_test_4[i, j] }'
379     read: 1
380     write: 0
381 - line: -1
382   domain: '{ [S_10[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
383   schedule: '{ S_10[i, j] -> [0, i, j, 2, 0, 2] }'
384   body:
385     type: binary
386     operation: =
387     arguments:
388     - type: access
389       relation: '{ S_10[i, j] -> __pet_test_6[i, j] }'
390       read: 0
391       write: 1
392     - type: ternary
393       arguments:
394       - type: access
395         relation: '{ S_10[i, j] -> __pet_test_5[i, j] }'
396         read: 1
397         write: 0
398       - type: access
399         relation: '{ [S_10[i, j] -> [1]] -> __pet_test_4[i, j] }'
400         read: 1
401         write: 0
402         arguments:
403         - type: access
404           relation: '{ S_10[i, j] -> __pet_test_5[i, j] }'
405           read: 1
406           write: 0
407       - type: access
408         relation: '{ S_10[i, j] -> [0] }'
409         read: 1
410         write: 0
411   arguments:
412   - type: access
413     relation: '{ S_10[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
414     read: 1
415     write: 0
416   - type: access
417     relation: '{ S_10[i, j] -> __pet_test_1[i, j] }'
418     read: 1
419     write: 0
420 - line: -1
421   domain: '{ [S_11[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
422   schedule: '{ S_11[i, j] -> [0, i, j, 2, 0, 2] }'
423   body:
424     type: binary
425     operation: =
426     arguments:
427     - type: access
428       relation: '{ S_11[i, j] -> __pet_test_7[i, j] }'
429       read: 0
430       write: 1
431     - type: ternary
432       arguments:
433       - type: access
434         relation: '{ S_11[i, j] -> __pet_test_5[i, j] }'
435         read: 1
436         write: 0
437       - type: access
438         relation: '{ [S_11[i, j] -> [1]] -> __pet_test_2[i, j] }'
439         read: 1
440         write: 0
441         arguments:
442         - type: access
443           relation: '{ S_11[i, j] -> __pet_test_5[i, j] }'
444           read: 1
445           write: 0
446       - type: access
447         relation: '{ S_11[i, j] -> [0] }'
448         read: 1
449         write: 0
450   arguments:
451   - type: access
452     relation: '{ S_11[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
453     read: 1
454     write: 0
455   - type: access
456     relation: '{ S_11[i, j] -> __pet_test_1[i, j] }'
457     read: 1
458     write: 0
459 - line: -1
460   domain: '{ [S_12[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
461   schedule: '{ S_12[i, j] -> [0, i, j, 2, 1] }'
462   body:
463     type: binary
464     operation: =
465     arguments:
466     - type: access
467       relation: '{ S_12[i, j] -> __pet_test_8[i, j] }'
468       read: 0
469       write: 1
470     - type: ternary
471       arguments:
472       - type: access
473         relation: '{ S_12[i, j] -> __pet_test_1[i, j] }'
474         read: 1
475         write: 0
476       - type: access
477         relation: '{ S_12[i, j] -> [1] }'
478         read: 1
479         write: 0
480       - type: access
481         relation: '{ [S_12[i, j] -> [0]] -> __pet_test_6[i, j] }'
482         read: 1
483         write: 0
484         arguments:
485         - type: access
486           relation: '{ S_12[i, j] -> __pet_test_1[i, j] }'
487           read: 1
488           write: 0
489   arguments:
490   - type: access
491     relation: '{ S_12[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
492     read: 1
493     write: 0
494 - line: -1
495   domain: '{ [S_13[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
496   schedule: '{ S_13[i, j] -> [0, i, j, 2, 1] }'
497   body:
498     type: binary
499     operation: =
500     arguments:
501     - type: access
502       relation: '{ S_13[i, j] -> __pet_test_9[i, j] }'
503       read: 0
504       write: 1
505     - type: ternary
506       arguments:
507       - type: access
508         relation: '{ S_13[i, j] -> __pet_test_1[i, j] }'
509         read: 1
510         write: 0
511       - type: access
512         relation: '{ S_13[i, j] -> [1] }'
513         read: 1
514         write: 0
515       - type: access
516         relation: '{ [S_13[i, j] -> [0]] -> __pet_test_7[i, j] }'
517         read: 1
518         write: 0
519         arguments:
520         - type: access
521           relation: '{ S_13[i, j] -> __pet_test_1[i, j] }'
522           read: 1
523           write: 0
524   arguments:
525   - type: access
526     relation: '{ S_13[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
527     read: 1
528     write: 0
529 - line: 25
530   domain: '{ [S_14[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
531   schedule: '{ S_14[i, j] -> [0, i, j, 3, 0, 0] }'
532   body:
533     type: binary
534     operation: =
535     arguments:
536     - type: access
537       relation: '{ S_14[i, j] -> __pet_test_10[i, j] }'
538       read: 0
539       write: 1
540     - type: call
541       name: f
542   arguments:
543   - type: access
544     relation: '{ S_14[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
545     read: 1
546     write: 0
547   - type: access
548     relation: '{ S_14[i, j] -> __pet_test_8[i, j] }'
549     read: 1
550     write: 0
551 - line: -1
552   domain: '{ [S_15[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
553   schedule: '{ S_15[i, j] -> [0, i, j, 3, 1] }'
554   body:
555     type: binary
556     operation: =
557     arguments:
558     - type: access
559       relation: '{ S_15[i, j] -> __pet_test_11[i, j] }'
560       read: 0
561       write: 1
562     - type: ternary
563       arguments:
564       - type: access
565         relation: '{ S_15[i, j] -> __pet_test_8[i, j] }'
566         read: 1
567         write: 0
568       - type: access
569         relation: '{ S_15[i, j] -> [1] }'
570         read: 1
571         write: 0
572       - type: access
573         relation: '{ [S_15[i, j] -> [0]] -> __pet_test_10[i, j] }'
574         read: 1
575         write: 0
576         arguments:
577         - type: access
578           relation: '{ S_15[i, j] -> __pet_test_8[i, j] }'
579           read: 1
580           write: 0
581   arguments:
582   - type: access
583     relation: '{ S_15[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
584     read: 1
585     write: 0
586 - line: -1
587   domain: '{ [S_16[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
588   schedule: '{ S_16[i, j] -> [0, i, j, 3, 1] }'
589   body:
590     type: binary
591     operation: =
592     arguments:
593     - type: access
594       relation: '{ S_16[i, j] -> __pet_test_12[i, j] }'
595       read: 0
596       write: 1
597     - type: ternary
598       arguments:
599       - type: access
600         relation: '{ S_16[i, j] -> __pet_test_9[i, j] }'
601         read: 1
602         write: 0
603       - type: access
604         relation: '{ S_16[i, j] -> [1] }'
605         read: 1
606         write: 0
607       - type: access
608         relation: '{ [S_16[i, j] -> [0]] -> __pet_test_10[i, j] }'
609         read: 1
610         write: 0
611         arguments:
612         - type: access
613           relation: '{ S_16[i, j] -> __pet_test_9[i, j] }'
614           read: 1
615           write: 0
616   arguments:
617   - type: access
618     relation: '{ S_16[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
619     read: 1
620     write: 0
621 - line: 27
622   domain: '{ [S_17[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
623   schedule: '{ S_17[i, j] -> [0, i, j, 4] }'
624   body:
625     type: binary
626     operation: =
627     arguments:
628     - type: access
629       relation: '{ S_17[i, j] -> a[i] }'
630       read: 0
631       write: 1
632     - type: binary
633       operation: +
634       arguments:
635       - type: access
636         relation: '{ S_17[i, j] -> [i] }'
637         read: 1
638         write: 0
639       - type: access
640         relation: '{ S_17[i, j] -> [j] }'
641         read: 1
642         write: 0
643   arguments:
644   - type: access
645     relation: '{ S_17[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }'
646     read: 1
647     write: 0
648   - type: access
649     relation: '{ S_17[i, j] -> __pet_test_11[i, j] }'
650     read: 1
651     write: 0