privately export pet_stmt_is_affine_assume
[pet.git] / tests / break3.scop
blob70ce630d61523a8ad7205ea5d39e91459b09bb91
1 start: 43
2 end: 186
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_0[]; S_6[i] : 0 <= i <= 99; S_7[]; S_3[i, j] : 0 <= i <=
6   99 and 0 <= j <= 99; S_8[]; S_2[i, j] : 0 <= i <= 99 and 0 <= j <= 99; S_9[]; S_4[i,
7   j] : 0 <= i <= 99 and 0 <= j <= 99; S_5[i, j] : 0 <= i <= 99 and 0 <= j <= 99; S_1[i]
8   : 0 <= i <= 99 }", child: { sequence: [ { filter: "{ S_0[] }" }, { filter: "{ S_6[i];
9   S_3[i, j]; S_2[i, j]; S_4[i, j]; S_5[i, j]; S_1[i] }", child: { schedule: "L_0[{
10   S_3[i, j] -> [(i)]; S_4[i, j] -> [(i)]; S_6[i] -> [(i)]; S_1[i] -> [(i)]; S_2[i,
11   j] -> [(i)]; S_5[i, j] -> [(i)] }]", child: { sequence: [ { filter: "{ S_1[i] }"
12   }, { filter: "{ S_3[i, j]; S_2[i, j]; S_4[i, j]; S_5[i, j] }", child: { schedule:
13   "L_1[{ S_3[i, j] -> [(j)]; S_4[i, j] -> [(j)]; S_5[i, j] -> [(j)]; S_2[i, j] ->
14   [(j)] }]", child: { sequence: [ { filter: "{ S_2[i, j] }" }, { filter: "{ S_3[i,
15   j] }" }, { filter: "{ S_4[i, j] }" }, { filter: "{ S_5[i, j] }" } ] } } }, { filter:
16   "{ S_6[i] }" } ] } } }, { filter: "{ S_7[]; S_8[]; S_9[] }", child: { set: [ { filter:
17   "{ S_7[] }" }, { filter: "{ S_8[] }" }, { filter: "{ S_9[] }" } ] } } ] } }'
18 arrays:
19 - context: '{  :  }'
20   extent: '{ __pet_test_0[i, j] : 0 <= i <= 99 and 0 <= j <= 99 }'
21   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
22   element_type: int
23   element_size: 4
24   uniquely_defined: 1
25 - context: '{  :  }'
26   extent: '{ a[i0] : 0 <= i0 <= 99 }'
27   element_type: int
28   element_size: 4
29 - context: '{  :  }'
30   extent: '{ i[] }'
31   element_type: int
32   element_size: 4
33 - context: '{  :  }'
34   extent: '{ j[] }'
35   element_type: int
36   element_size: 4
37 statements:
38 - line: 8
39   domain: '{ S_0[] }'
40   body:
41     type: expression
42     expr:
43       type: op
44       operation: =
45       arguments:
46       - type: access
47         index: '{ S_0[] -> i[] }'
48         reference: __pet_ref_0
49         read: 0
50         write: 1
51       - type: int
52         value: 0
53 - line: 9
54   domain: '{ S_1[i] : 0 <= i <= 99 }'
55   body:
56     type: expression
57     expr:
58       type: op
59       operation: =
60       arguments:
61       - type: access
62         index: '{ S_1[i] -> j[] }'
63         reference: __pet_ref_1
64         read: 0
65         write: 1
66       - type: int
67         value: 0
68 - line: 10
69   domain: '{ [S_2[i, j] -> [__pet_test_0 = 0]] : 0 <= i <= 99 and 0 <= j <= 99 }'
70   body:
71     type: expression
72     expr:
73       type: op
74       operation: =
75       arguments:
76       - type: access
77         index: '{ S_2[i, j] -> a[(i)] }'
78         reference: __pet_ref_3
79         read: 0
80         write: 1
81       - type: int
82         value: 0
83   arguments:
84   - type: access
85     index: '{ S_2[i, j] -> __pet_test_0[(i), ((-1 + j) : j > 0)] }'
86     reference: __pet_ref_2
87     read: 1
88     write: 0
89 - line: 11
90   domain: '{ [S_3[i, j] -> [__pet_test_0 = 0]] : 0 <= i <= 99 and 0 <= j <= 99 }'
91   body:
92     type: expression
93     expr:
94       type: op
95       operation: =
96       arguments:
97       - type: access
98         index: '{ S_3[i, j] -> __pet_test_0[(i), (j)] }'
99         reference: __pet_ref_5
100         read: 0
101         write: 1
102       - type: call
103         name: f
104   arguments:
105   - type: access
106     index: '{ S_3[i, j] -> __pet_test_0[(i), ((-1 + j) : j > 0)] }'
107     reference: __pet_ref_4
108     read: 1
109     write: 0
110 - line: 13
111   domain: '{ [S_4[i, j] -> [__pet_test_0 = 0]] : 0 <= i <= 99 and 0 <= j <= 99 }'
112   body:
113     type: expression
114     expr:
115       type: op
116       operation: =
117       arguments:
118       - type: access
119         index: '{ S_4[i, j] -> a[(i)] }'
120         reference: __pet_ref_7
121         read: 0
122         write: 1
123       - type: access
124         index: '{ S_4[i, j] -> [(i + j)] }'
125         reference: __pet_ref_8
126         read: 1
127         write: 0
128   arguments:
129   - type: access
130     index: '{ S_4[i, j] -> __pet_test_0[(i), (j)] }'
131     reference: __pet_ref_6
132     read: 1
133     write: 0
134 - line: 9
135   domain: '{ [S_5[i, j] -> [__pet_test_0 = 0]] : 0 <= i <= 99 and 0 <= j <= 99 }'
136   body:
137     type: expression
138     expr:
139       type: op
140       operation: =
141       arguments:
142       - type: access
143         index: '{ S_5[i, j] -> j[] }'
144         reference: __pet_ref_10
145         read: 0
146         write: 1
147       - type: access
148         index: '{ S_5[i, j] -> [(1 + j)] }'
149         reference: __pet_ref_11
150         read: 1
151         write: 0
152   arguments:
153   - type: access
154     index: '{ S_5[i, j] -> __pet_test_0[(i), (j)] }'
155     reference: __pet_ref_9
156     read: 1
157     write: 0
158 - line: 8
159   domain: '{ S_6[i] : 0 <= i <= 99 }'
160   body:
161     type: expression
162     expr:
163       type: op
164       operation: =
165       arguments:
166       - type: access
167         index: '{ S_6[i] -> i[] }'
168         reference: __pet_ref_12
169         read: 0
170         write: 1
171       - type: access
172         index: '{ S_6[i] -> [(1 + i)] }'
173         reference: __pet_ref_13
174         read: 1
175         write: 0
176 - line: -1
177   domain: '{ S_7[] }'
178   body:
179     type: expression
180     expr:
181       type: op
182       operation: kill
183       arguments:
184       - type: access
185         killed: '{ S_7[] -> i[] }'
186         index: '{ S_7[] -> i[] }'
187         reference: __pet_ref_14
188         kill: 1
189 - line: -1
190   domain: '{ S_8[] }'
191   body:
192     type: expression
193     expr:
194       type: op
195       operation: kill
196       arguments:
197       - type: access
198         killed: '{ S_8[] -> j[] }'
199         index: '{ S_8[] -> j[] }'
200         reference: __pet_ref_15
201         kill: 1
202 - line: -1
203   domain: '{ S_9[] }'
204   body:
205     type: expression
206     expr:
207       type: op
208       operation: kill
209       arguments:
210       - type: access
211         killed: '{ S_9[] -> a[o0] : 0 <= o0 <= 99 }'
212         index: '{ S_9[] -> a[] }'
213         depth: 1
214         reference: __pet_ref_16
215         kill: 1
216 implications:
217 - satisfied: 0
218   extension: '{ __pet_test_0[i, j] -> __pet_test_0[i'' = i, j''] : 0 <= i <= 99 and
219     0 <= j'' <= 99 and j'' <= j }'