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