pet_scop: keep track of schedule tree
[pet.git] / tests / unsigned_break2.scop
blob6fd0502b4cd703c332c33993e2ccd75a9b093cd9
1 start: 50
2 end: 172
3 indent: "\t"
4 context: '{  :  }'
5 schedule: '{ domain: "{ S_2[k] : k <= 261 and k >= 252; S_0[k] : (exists (e0 = floor((k)/256):
6   k <= 261 and k >= 252 and 256e0 >= -255 + k and 256e0 <= -2 + k)) or (exists (e0
7   = floor((k)/256): 256e0 = k and k <= 261 and k >= 252)); S_1[k] : k <= 261 and k
8   >= 252 }", child: { schedule: "L_0[{ S_2[k] -> [(k)]; S_1[k] -> [(k)]; S_0[k] ->
9   [(k)] }]", child: { sequence: [ { filter: "{ S_0[k] }" }, { filter: "{ S_1[k] }"
10   }, { filter: "{ S_2[k] }" } ] } } }'
11 arrays:
12 - context: '{  :  }'
13   extent: '{ __pet_test_0[k] : k <= 261 and k >= 252 }'
14   value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }'
15   element_type: int
16   element_size: 4
17   uniquely_defined: 1
18 - context: '{  :  }'
19   extent: '{ a[] }'
20   element_type: int
21   element_size: 4
22 statements:
23 - line: 11
24   domain: '{ [S_0[k] -> [0]] : (exists (e0 = floor((k)/256): k <= 261 and k >= 252
25     and 256e0 >= -255 + k and 256e0 <= -2 + k)) or (exists (e0 = floor((k)/256): 256e0
26     = k and k <= 261 and k >= 252)) }'
27   schedule: '{ S_0[k] -> [0, k, 0] }'
28   body:
29     type: expression
30     expr:
31       type: op
32       operation: =
33       arguments:
34       - type: access
35         index: '{ S_0[k] -> a[] }'
36         reference: __pet_ref_1
37         read: 0
38         write: 1
39       - type: int
40         value: 5
41   arguments:
42   - type: access
43     index: '{ S_0[k] -> __pet_test_0[((-1 + k) : k >= 253)] }'
44     reference: __pet_ref_0
45     read: 1
46     write: 0
47 - line: 12
48   domain: '{ [S_1[k] -> [0]] : k <= 261 and k >= 252 }'
49   schedule: '{ S_1[k] -> [0, k, 1, 0] }'
50   body:
51     type: expression
52     expr:
53       type: op
54       operation: =
55       arguments:
56       - type: access
57         index: '{ S_1[k] -> __pet_test_0[(k)] }'
58         reference: __pet_ref_3
59         read: 0
60         write: 1
61       - type: call
62         name: f
63   arguments:
64   - type: access
65     index: '{ S_1[k] -> __pet_test_0[((-1 + k) : k >= 253)] }'
66     reference: __pet_ref_2
67     read: 1
68     write: 0
69 - line: 14
70   domain: '{ [S_2[k] -> [0]] : k <= 261 and k >= 252 }'
71   schedule: '{ S_2[k] -> [0, k, 2] }'
72   body:
73     type: expression
74     expr:
75       type: op
76       operation: =
77       arguments:
78       - type: access
79         index: '{ S_2[k] -> a[] }'
80         reference: __pet_ref_5
81         read: 0
82         write: 1
83       - type: access
84         index: '{ S_2[k] -> [(k - 256*floor((k)/256))] }'
85         reference: __pet_ref_6
86         read: 1
87         write: 0
88   arguments:
89   - type: access
90     index: '{ S_2[k] -> __pet_test_0[(k)] }'
91     reference: __pet_ref_4
92     read: 1
93     write: 0
94 implications:
95 - satisfied: 0
96   extension: '{ __pet_test_0[k] -> __pet_test_0[k''] : k'' <= k and k'' <= 261 and
97     k'' >= 252 }'