pet_expr_filter: avoid introduction of constraints in index expression
[pet.git] / tests / break3.scop
blobdc2a5cf7266dd2dba42eccf45cac4317de1ac1ee
1 start: 43
2 end: 186
3 context: '{  :  }'
4 arrays:
5 - context: '{  :  }'
6   extent: '{ __pet_test_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
7   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
8   element_type: int
9   element_size: 4
10   uniquely_defined: 1
11 - context: '{  :  }'
12   extent: '{ a[i0] : i0 >= 0 and i0 <= 99 }'
13   element_type: int
14   element_size: 4
15 statements:
16 - line: 10
17   domain: '{ [S_0[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
18   schedule: '{ S_0[i, j] -> [0, i, j, 0] }'
19   body:
20     type: op
21     operation: =
22     arguments:
23     - type: access
24       relation: '{ S_0[i, j] -> a[i] }'
25       index: '{ S_0[i, j] -> a[(i)] }'
26       reference: __pet_ref_1
27       read: 0
28       write: 1
29     - type: int
30       value: 0
31   arguments:
32   - type: access
33     relation: '{ S_0[i, j] -> __pet_test_0[i, -1 + j] : j >= 1 }'
34     index: '{ S_0[i, j] -> __pet_test_0[(i), ((-1 + j) : j >= 1)] }'
35     reference: __pet_ref_0
36     read: 1
37     write: 0
38 - line: 11
39   domain: '{ [S_1[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
40   schedule: '{ S_1[i, j] -> [0, i, j, 1, 0] }'
41   body:
42     type: op
43     operation: =
44     arguments:
45     - type: access
46       relation: '{ S_1[i, j] -> __pet_test_0[i, j] }'
47       index: '{ S_1[i, j] -> __pet_test_0[(i), (j)] }'
48       reference: __pet_ref_3
49       read: 0
50       write: 1
51     - type: call
52       name: f
53   arguments:
54   - type: access
55     relation: '{ S_1[i, j] -> __pet_test_0[i, -1 + j] : j >= 1 }'
56     index: '{ S_1[i, j] -> __pet_test_0[(i), ((-1 + j) : j >= 1)] }'
57     reference: __pet_ref_2
58     read: 1
59     write: 0
60 - line: 13
61   domain: '{ [S_2[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }'
62   schedule: '{ S_2[i, j] -> [0, i, j, 2] }'
63   body:
64     type: op
65     operation: =
66     arguments:
67     - type: access
68       relation: '{ S_2[i, j] -> a[i] }'
69       index: '{ S_2[i, j] -> a[(i)] }'
70       reference: __pet_ref_5
71       read: 0
72       write: 1
73     - type: op
74       operation: +
75       arguments:
76       - type: access
77         relation: '{ S_2[i, j] -> [i] }'
78         index: '{ S_2[i, j] -> [(i)] }'
79         reference: __pet_ref_6
80         read: 1
81         write: 0
82       - type: access
83         relation: '{ S_2[i, j] -> [j] }'
84         index: '{ S_2[i, j] -> [(j)] }'
85         reference: __pet_ref_7
86         read: 1
87         write: 0
88   arguments:
89   - type: access
90     relation: '{ S_2[i, j] -> __pet_test_0[i, j] }'
91     index: '{ S_2[i, j] -> __pet_test_0[(i), (j)] }'
92     reference: __pet_ref_4
93     read: 1
94     write: 0
95 implications:
96 - satisfied: 0
97   extension: '{ __pet_test_0[i, j] -> __pet_test_0[i, j''] : i >= 0 and i <= 99 and
98     j'' <= j and j'' >= 0 and j'' <= 99 }'