privately export pet_stmt_is_affine_assume
[pet.git] / tests / continue2.scop
blob2514d9e0c85bf396f114bc7c4347b01c762068ea
1 start: 47
2 end: 289
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_3[i] : 0 <= i <= 59; S_5[i] : 0 <= i <= 59; S_0[]; S_6[i]
6   : 0 <= i <= 59; S_9[i] : 0 <= i <= 99; S_8[i] : 60 <= i <= 99; S_2[i] : 0 <= i <=
7   59; S_13[]; S_14[]; S_7[i] : 0 <= i <= 59; S_4[i] : 0 <= i <= 59; S_11[i] : 0 <=
8   i <= 99; S_10[i] : 0 <= i <= 99; S_12[i] : 0 <= i <= 99; S_15[]; S_1[i] : 0 <= i
9   <= 59 }", child: { sequence: [ { filter: "{ S_0[] }" }, { filter: "{ S_3[i]; S_5[i];
10   S_6[i]; S_9[i]; S_8[i]; S_2[i]; S_7[i]; S_4[i]; S_11[i]; S_10[i]; S_12[i]; S_1[i]
11   }", child: { schedule: "L_0[{ S_3[i] -> [(i)]; S_5[i] -> [(i)]; S_6[i] -> [(i)];
12   S_9[i] -> [(i)]; S_8[i] -> [(i)]; S_2[i] -> [(i)]; S_7[i] -> [(i)]; S_4[i] -> [(i)];
13   S_11[i] -> [(i)]; S_10[i] -> [(i)]; S_12[i] -> [(i)]; S_1[i] -> [(i)] }]", child:
14   { sequence: [ { filter: "{ S_3[i]; S_5[i]; S_6[i]; S_8[i]; S_2[i]; S_7[i]; S_4[i];
15   S_1[i] }", child: { set: [ { filter: "{ S_3[i]; S_5[i]; S_6[i]; S_2[i]; S_7[i];
16   S_4[i]; S_1[i] }", child: { sequence: [ { filter: "{ S_1[i] }" }, { filter: "{ S_3[i];
17   S_5[i]; S_2[i]; S_4[i] }", child: { set: [ { filter: "{ S_3[i]; S_2[i]; S_4[i] }",
18   child: { sequence: [ { filter: "{ S_2[i] }" }, { filter: "{ S_3[i] }" }, { filter:
19   "{ S_4[i] }" } ] } }, { filter: "{ S_5[i] }" } ] } }, { filter: "{ S_6[i] }" },
20   { filter: "{ S_7[i] }" } ] } }, { filter: "{ S_8[i] }" } ] } }, { filter: "{ S_9[i]
21   }" }, { filter: "{ S_10[i] }" }, { filter: "{ S_11[i] }" }, { filter: "{ S_12[i]
22   }" } ] } } }, { filter: "{ S_13[]; S_14[]; S_15[] }", child: { set: [ { filter:
23   "{ S_13[] }" }, { filter: "{ S_14[] }" }, { filter: "{ S_15[] }" } ] } } ] } }'
24 arrays:
25 - context: '{  :  }'
26   extent: '{ __pet_test_0[i] : 0 <= i <= 59 }'
27   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
28   element_type: int
29   element_size: 4
30   uniquely_defined: 1
31 - context: '{  :  }'
32   extent: '{ __pet_test_1[i] : 0 <= i <= 59 }'
33   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
34   element_type: int
35   element_size: 4
36   uniquely_defined: 1
37 - context: '{  :  }'
38   extent: '{ __pet_test_2[i] : 0 <= i <= 59 }'
39   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
40   element_type: int
41   element_size: 4
42   uniquely_defined: 1
43 - context: '{  :  }'
44   extent: '{ __pet_test_3[i] : 0 <= i <= 99 }'
45   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
46   element_type: int
47   element_size: 4
48   uniquely_defined: 1
49 - context: '{  :  }'
50   extent: '{ a[i0] : 0 <= i0 <= 99 }'
51   element_type: int
52   element_size: 4
53 - context: '{  :  }'
54   extent: '{ i[] }'
55   element_type: int
56   element_size: 4
57 - context: '{  :  }'
58   extent: '{ j[] }'
59   element_type: int
60   element_size: 4
61 statements:
62 - line: 8
63   domain: '{ S_0[] }'
64   body:
65     type: expression
66     expr:
67       type: op
68       operation: =
69       arguments:
70       - type: access
71         index: '{ S_0[] -> i[] }'
72         reference: __pet_ref_0
73         read: 0
74         write: 1
75       - type: int
76         value: 0
77 - line: 10
78   domain: '{ S_1[i] : 0 <= i <= 59 }'
79   body:
80     type: expression
81     expr:
82       type: op
83       operation: =
84       arguments:
85       - type: access
86         index: '{ S_1[i] -> __pet_test_0[(i)] }'
87         reference: __pet_ref_1
88         read: 0
89         write: 1
90       - type: op
91         operation: '>'
92         arguments:
93         - type: access
94           index: '{ S_1[i] -> a[(i)] }'
95           reference: __pet_ref_2
96           read: 1
97           write: 0
98         - type: int
99           value: 5
100 - line: 11
101   domain: '{ [S_2[i] -> [__pet_test_0 = 1]] : 0 <= i <= 59 }'
102   body:
103     type: expression
104     expr:
105       type: op
106       operation: =
107       arguments:
108       - type: access
109         index: '{ S_2[i] -> j[] }'
110         reference: __pet_ref_4
111         read: 0
112         write: 1
113       - type: call
114         name: f
115   arguments:
116   - type: access
117     index: '{ S_2[i] -> __pet_test_0[(i)] }'
118     reference: __pet_ref_3
119     read: 1
120     write: 0
121 - line: 12
122   domain: '{ [S_3[i] -> [__pet_test_0 = 1]] : 0 <= i <= 59 }'
123   body:
124     type: expression
125     expr:
126       type: op
127       operation: =
128       arguments:
129       - type: access
130         index: '{ S_3[i] -> __pet_test_1[(i)] }'
131         reference: __pet_ref_6
132         read: 0
133         write: 1
134       - type: op
135         operation: ==
136         arguments:
137         - type: access
138           index: '{ S_3[i] -> j[] }'
139           reference: __pet_ref_7
140           read: 1
141           write: 0
142         - type: int
143           value: 0
144   arguments:
145   - type: access
146     index: '{ S_3[i] -> __pet_test_0[(i)] }'
147     reference: __pet_ref_5
148     read: 1
149     write: 0
150 - line: 14
151   domain: '{ [S_4[i] -> [__pet_test_0 = 1, __pet_test_1 = 0]] : 0 <= i <= 59 }'
152   body:
153     type: expression
154     expr:
155       type: op
156       operation: =
157       arguments:
158       - type: access
159         index: '{ S_4[i] -> a[(i)] }'
160         reference: __pet_ref_10
161         read: 0
162         write: 1
163       - type: access
164         index: '{ S_4[i] -> [(i)] }'
165         reference: __pet_ref_11
166         read: 1
167         write: 0
168   arguments:
169   - type: access
170     index: '{ S_4[i] -> __pet_test_0[(i)] }'
171     reference: __pet_ref_8
172     read: 1
173     write: 0
174   - type: access
175     index: '{ S_4[i] -> __pet_test_1[(i)] }'
176     reference: __pet_ref_9
177     read: 1
178     write: 0
179 - line: 16
180   domain: '{ [S_5[i] -> [__pet_test_0 = 0]] : 0 <= i <= 59 }'
181   body:
182     type: expression
183     expr:
184       type: op
185       operation: =
186       arguments:
187       - type: access
188         index: '{ S_5[i] -> a[(i)] }'
189         reference: __pet_ref_13
190         read: 0
191         write: 1
192       - type: int
193         value: 0
194   arguments:
195   - type: access
196     index: '{ S_5[i] -> __pet_test_0[(i)] }'
197     reference: __pet_ref_12
198     read: 1
199     write: 0
200 - line: -1
201   domain: '{ S_6[i] : 0 <= i <= 59 }'
202   body:
203     type: expression
204     expr:
205       type: op
206       operation: =
207       arguments:
208       - type: access
209         index: '{ S_6[i] -> __pet_test_2[(i)] }'
210         reference: __pet_ref_14
211         read: 0
212         write: 1
213       - type: op
214         operation: '?:'
215         arguments:
216         - type: access
217           index: '{ S_6[i] -> __pet_test_0[(i)] }'
218           reference: __pet_ref_15
219           read: 1
220           write: 0
221         - type: access
222           may_read: '{ [S_6[i] -> [__pet_test_0 = 1]] -> __pet_test_1[i'' = i] }'
223           index: '{ [S_6[i] -> [__pet_test_0]] -> __pet_test_1[(i)] }'
224           reference: __pet_ref_17
225           read: 1
226           write: 0
227           arguments:
228           - type: access
229             index: '{ S_6[i] -> __pet_test_0[(i)] }'
230             reference: __pet_ref_16
231             read: 1
232             write: 0
233         - type: access
234           index: '{ S_6[i] -> [(0)] }'
235           reference: __pet_ref_18
236           read: 1
237           write: 0
238 - line: 17
239   domain: '{ [S_7[i] -> [__pet_test_2 = 0]] : 0 <= i <= 59 }'
240   body:
241     type: expression
242     expr:
243       type: op
244       operation: =
245       arguments:
246       - type: access
247         index: '{ S_7[i] -> j[] }'
248         reference: __pet_ref_20
249         read: 0
250         write: 1
251       - type: call
252         name: f
253   arguments:
254   - type: access
255     index: '{ S_7[i] -> __pet_test_2[(i)] }'
256     reference: __pet_ref_19
257     read: 1
258     write: 0
259 - line: 19
260   domain: '{ S_8[i] : 60 <= i <= 99 }'
261   body:
262     type: expression
263     expr:
264       type: op
265       operation: =
266       arguments:
267       - type: access
268         index: '{ S_8[i] -> a[(i)] }'
269         reference: __pet_ref_21
270         read: 0
271         write: 1
272       - type: access
273         index: '{ S_8[i] -> [(i)] }'
274         reference: __pet_ref_22
275         read: 1
276         write: 0
277 - line: -1
278   domain: '{ S_9[i] : 0 <= i <= 99 }'
279   body:
280     type: expression
281     expr:
282       type: op
283       operation: =
284       arguments:
285       - type: access
286         index: '{ S_9[i] -> __pet_test_3[(i)] }'
287         reference: __pet_ref_23
288         read: 0
289         write: 1
290       - type: op
291         operation: '?:'
292         arguments:
293         - type: access
294           index: '{ S_9[i] -> [((1) : i <= 59; (0) : i >= 60)] }'
295           reference: __pet_ref_24
296           read: 1
297           write: 0
298         - type: access
299           may_read: '{ S_9[i] -> __pet_test_2[i'' = i] : i <= 59 }'
300           index: '{ S_9[i] -> __pet_test_2[(i)] }'
301           reference: __pet_ref_25
302           read: 1
303           write: 0
304         - type: access
305           index: '{ S_9[i] -> [(0)] }'
306           reference: __pet_ref_26
307           read: 1
308           write: 0
309 - line: 20
310   domain: '{ [S_10[i] -> [__pet_test_3 = 0]] : 0 <= i <= 99 }'
311   body:
312     type: expression
313     expr:
314       type: op
315       operation: =
316       arguments:
317       - type: access
318         index: '{ S_10[i] -> j[] }'
319         reference: __pet_ref_28
320         read: 0
321         write: 1
322       - type: call
323         name: f
324   arguments:
325   - type: access
326     index: '{ S_10[i] -> __pet_test_3[(i)] }'
327     reference: __pet_ref_27
328     read: 1
329     write: 0
330 - line: 21
331   domain: '{ [S_11[i] -> [__pet_test_3 = 0]] : 0 <= i <= 99 }'
332   body:
333     type: expression
334     expr:
335       type: op
336       operation: =
337       arguments:
338       - type: access
339         index: '{ S_11[i] -> a[(i)] }'
340         reference: __pet_ref_30
341         read: 0
342         write: 1
343       - type: op
344         operation: +
345         arguments:
346         - type: access
347           index: '{ S_11[i] -> a[(i)] }'
348           reference: __pet_ref_31
349           read: 1
350           write: 0
351         - type: int
352           value: 1
353   arguments:
354   - type: access
355     index: '{ S_11[i] -> __pet_test_3[(i)] }'
356     reference: __pet_ref_29
357     read: 1
358     write: 0
359 - line: 8
360   domain: '{ S_12[i] : 0 <= i <= 99 }'
361   body:
362     type: expression
363     expr:
364       type: op
365       operation: =
366       arguments:
367       - type: access
368         index: '{ S_12[i] -> i[] }'
369         reference: __pet_ref_32
370         read: 0
371         write: 1
372       - type: access
373         index: '{ S_12[i] -> [(1 + i)] }'
374         reference: __pet_ref_33
375         read: 1
376         write: 0
377 - line: -1
378   domain: '{ S_13[] }'
379   body:
380     type: expression
381     expr:
382       type: op
383       operation: kill
384       arguments:
385       - type: access
386         killed: '{ S_13[] -> i[] }'
387         index: '{ S_13[] -> i[] }'
388         reference: __pet_ref_34
389         kill: 1
390 - line: -1
391   domain: '{ S_14[] }'
392   body:
393     type: expression
394     expr:
395       type: op
396       operation: kill
397       arguments:
398       - type: access
399         killed: '{ S_14[] -> j[] }'
400         index: '{ S_14[] -> j[] }'
401         reference: __pet_ref_35
402         kill: 1
403 - line: -1
404   domain: '{ S_15[] }'
405   body:
406     type: expression
407     expr:
408       type: op
409       operation: kill
410       arguments:
411       - type: access
412         killed: '{ S_15[] -> a[o0] : 0 <= o0 <= 99 }'
413         index: '{ S_15[] -> a[] }'
414         depth: 1
415         reference: __pet_ref_36
416         kill: 1