extract out pet_expr_is_assume
[pet.git] / tests / wdp.scop
blobec96a47330edd707d38afee4887d114df909c6bb
1 start: 248
2 end: 619
3 context: '[N] -> {  : N >= 8 and N <= 16 }'
4 arrays:
5 - context: '{  :  }'
6   extent: '[N] -> { __pet_test_0[i] : i <= -1 + N and i >= 0 }'
7   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
8   element_type: int
9   element_size: 4
10   uniquely_defined: 1
11 - context: '[N] -> {  : N >= -1 and N <= 2147483646 }'
12   extent: '[N] -> { t[i0] : i0 <= N and i0 >= 0 }'
13   element_type: int
14   element_size: 4
15 - context: '[N] -> {  : N >= 0 }'
16   extent: '[N] -> { x[i0] : i0 <= -1 + N and i0 >= 0 }'
17   element_type: int
18   element_size: 4
19 - context: '[N] -> {  : N >= -1 and N <= 2147483646 }'
20   extent: '[N] -> { y[i0] : i0 <= N and i0 >= 0 }'
21   element_type: int
22   element_size: 4
23 - context: '[N] -> {  : N >= -2 and N <= 2147483645 }'
24   extent: '[N] -> { z[i0] : i0 <= 1 + N and i0 >= 0 }'
25   element_type: int
26   element_size: 4
27 statements:
28 - line: 19
29   domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }'
30   schedule: '[N] -> { S_0[i] -> [0, i] }'
31   body:
32     type: op
33     operation: =
34     arguments:
35     - type: access
36       relation: '[N] -> { S_0[i] -> x[i] }'
37       index: '[N] -> { S_0[i] -> x[(i)] }'
38       reference: __pet_ref_0
39       read: 0
40       write: 1
41     - type: call
42       name: _Source_x
43 - line: 22
44   domain: '[N] -> { S_1[i] : i <= N and i >= 0 }'
45   schedule: '[N] -> { S_1[i] -> [1, i] }'
46   body:
47     type: call
48     name: _Source_yt
49     arguments:
50     - type: op
51       operation: '&'
52       arguments:
53       - type: access
54         relation: '[N] -> { S_1[i] -> y[i] }'
55         index: '[N] -> { S_1[i] -> y[(i)] }'
56         reference: __pet_ref_1
57         read: 0
58         write: 1
59     - type: op
60       operation: '&'
61       arguments:
62       - type: access
63         relation: '[N] -> { S_1[i] -> t[i] }'
64         index: '[N] -> { S_1[i] -> t[(i)] }'
65         reference: __pet_ref_2
66         read: 0
67         write: 1
68 - line: 25
69   domain: '[N] -> { S_2[i] : i <= 1 + N and i >= 0 }'
70   schedule: '[N] -> { S_2[i] -> [2, i] }'
71   body:
72     type: op
73     operation: =
74     arguments:
75     - type: access
76       relation: '[N] -> { S_2[i] -> z[i] }'
77       index: '[N] -> { S_2[i] -> z[(i)] }'
78       reference: __pet_ref_3
79       read: 0
80       write: 1
81     - type: call
82       name: _Source_z
83 - line: 29
84   domain: '[N] -> { [S_4[i] -> [0]] : i <= -1 + N and i >= 0 }'
85   schedule: '[N] -> { S_4[i] -> [3, i, 0] }'
86   body:
87     type: op
88     operation: =
89     arguments:
90     - type: access
91       relation: '[N] -> { S_4[i] -> x[i] }'
92       index: '[N] -> { S_4[i] -> x[(i)] }'
93       reference: __pet_ref_5
94       read: 0
95       write: 1
96     - type: call
97       name: F1
98       arguments:
99       - type: access
100         relation: '[N] -> { S_4[i] -> x[i] }'
101         index: '[N] -> { S_4[i] -> x[(i)] }'
102         reference: __pet_ref_6
103         read: 1
104         write: 0
105   arguments:
106   - type: access
107     relation: '[N] -> { S_4[i] -> z[i] }'
108     index: '[N] -> { S_4[i] -> z[(i)] }'
109     reference: __pet_ref_4
110     read: 1
111     write: 0
112 - line: 30
113   domain: '[N] -> { S_5[i] : i <= -1 + N and i >= 0 }'
114   schedule: '[N] -> { S_5[i] -> [3, i, 1, 0] }'
115   body:
116     type: op
117     operation: =
118     arguments:
119     - type: access
120       relation: '[N] -> { S_5[i] -> __pet_test_0[i] }'
121       index: '[N] -> { S_5[i] -> __pet_test_0[(i)] }'
122       reference: __pet_ref_7
123       read: 0
124       write: 1
125     - type: op
126       operation: '>'
127       arguments:
128       - type: op
129         operation: '*'
130         arguments:
131         - type: access
132           relation: '[N] -> { S_5[i] -> x[i] }'
133           index: '[N] -> { S_5[i] -> x[(i)] }'
134           reference: __pet_ref_8
135           read: 1
136           write: 0
137         - type: access
138           relation: '[N] -> { S_5[i] -> x[i] }'
139           index: '[N] -> { S_5[i] -> x[(i)] }'
140           reference: __pet_ref_9
141           read: 1
142           write: 0
143       - type: int
144         value: 100
145 - line: 31
146   domain: '[N] -> { [S_6[i] -> [1]] : i <= -1 + N and i >= 0 }'
147   schedule: '[N] -> { S_6[i] -> [3, i, 1, 1, 0] }'
148   body:
149     type: op
150     operation: =
151     arguments:
152     - type: access
153       relation: '[N] -> { S_6[i] -> y[1 + i] }'
154       index: '[N] -> { S_6[i] -> y[(1 + i)] }'
155       reference: __pet_ref_11
156       read: 0
157       write: 1
158     - type: call
159       name: F2
160       arguments:
161       - type: access
162         relation: '[N] -> { S_6[i] -> y[i] }'
163         index: '[N] -> { S_6[i] -> y[(i)] }'
164         reference: __pet_ref_12
165         read: 1
166         write: 0
167   arguments:
168   - type: access
169     relation: '[N] -> { S_6[i] -> __pet_test_0[i] }'
170     index: '[N] -> { S_6[i] -> __pet_test_0[(i)] }'
171     reference: __pet_ref_10
172     read: 1
173     write: 0
174 - line: 32
175   domain: '[N] -> { [S_7[i] -> [1]] : i <= -1 + N and i >= 0 }'
176   schedule: '[N] -> { S_7[i] -> [3, i, 1, 1, 1] }'
177   body:
178     type: op
179     operation: =
180     arguments:
181     - type: access
182       relation: '[N] -> { S_7[i] -> t[i] }'
183       index: '[N] -> { S_7[i] -> t[(i)] }'
184       reference: __pet_ref_14
185       read: 0
186       write: 1
187     - type: call
188       name: F3
189       arguments:
190       - type: access
191         relation: '[N] -> { S_7[i] -> t[i] }'
192         index: '[N] -> { S_7[i] -> t[(i)] }'
193         reference: __pet_ref_15
194         read: 1
195         write: 0
196   arguments:
197   - type: access
198     relation: '[N] -> { S_7[i] -> __pet_test_0[i] }'
199     index: '[N] -> { S_7[i] -> __pet_test_0[(i)] }'
200     reference: __pet_ref_13
201     read: 1
202     write: 0
203 - line: 34
204   domain: '[N] -> { S_8[i] : i <= -1 + N and i >= 0 }'
205   schedule: '[N] -> { S_8[i] -> [3, i, 2] }'
206   body:
207     type: call
208     name: F4
209     arguments:
210     - type: access
211       relation: '[N] -> { S_8[i] -> y[1 + i] }'
212       index: '[N] -> { S_8[i] -> y[(1 + i)] }'
213       reference: __pet_ref_16
214       read: 1
215       write: 0
216     - type: access
217       relation: '[N] -> { S_8[i] -> z[i] }'
218       index: '[N] -> { S_8[i] -> z[(i)] }'
219       reference: __pet_ref_17
220       read: 1
221       write: 0
222     - type: op
223       operation: '&'
224       arguments:
225       - type: access
226         relation: '[N] -> { S_8[i] -> y[1 + i] }'
227         index: '[N] -> { S_8[i] -> y[(1 + i)] }'
228         reference: __pet_ref_18
229         read: 0
230         write: 1
231     - type: op
232       operation: '&'
233       arguments:
234       - type: access
235         relation: '[N] -> { S_8[i] -> z[2 + i] }'
236         index: '[N] -> { S_8[i] -> z[(2 + i)] }'
237         reference: __pet_ref_19
238         read: 0
239         write: 1