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