add reference identifiers to all access expressions
[pet.git] / tests / while.scop
blobb4eb62ad1e89c39b1daea84a328f1a113e230dfd
1 start: 83
2 end: 210
3 context: '[n] -> {  : n <= 2147483647 and n >= -2147483648 }'
4 arrays:
5 - context: '{  :  }'
6   extent: '[n] -> { __pet_test_0[x, t] : x <= -1 + n and x >= 0 and t >= 0 }'
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: '[n] -> { s[] }'
13   element_type: int
14   element_size: 4
15 statements:
16 - line: 12
17   domain: '[n] -> { S1[x] : x <= -1 + n and x >= 0 }'
18   schedule: '[n] -> { S1[x] -> [0, x, 0] }'
19   body:
20     type: binary
21     operation: =
22     arguments:
23     - type: access
24       relation: '[n] -> { S1[x] -> s[] }'
25       reference: __pet_ref_0
26       read: 0
27       write: 1
28     - type: call
29       name: f
30 - line: 13
31   domain: '[n] -> { [S_1[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }'
32   schedule: '[n] -> { S_1[x, t] -> [0, x, 1, t, 0] }'
33   body:
34     type: binary
35     operation: =
36     arguments:
37     - type: access
38       relation: '[n] -> { S_1[x, t] -> __pet_test_0[x, t] }'
39       reference: __pet_ref_2
40       read: 0
41       write: 1
42     - type: call
43       name: P
44       arguments:
45       - type: access
46         relation: '[n] -> { S_1[x, t] -> [x] }'
47         reference: __pet_ref_3
48         read: 1
49         write: 0
50       - type: access
51         relation: '[n] -> { S_1[x, t] -> s[] }'
52         reference: __pet_ref_4
53         read: 1
54         write: 0
55   arguments:
56   - type: access
57     relation: '[n] -> { S_1[x, t] -> __pet_test_0[x, o1] : o1 >= 0 and o1 <= -1 +
58       t }'
59     reference: __pet_ref_1
60     read: 1
61     write: 0
62 - line: 14
63   domain: '[n] -> { [S2[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }'
64   schedule: '[n] -> { S2[x, t] -> [0, x, 1, t, 1, 0] }'
65   body:
66     type: binary
67     operation: =
68     arguments:
69     - type: access
70       relation: '[n] -> { S2[x, t] -> s[] }'
71       reference: __pet_ref_6
72       read: 0
73       write: 1
74     - type: call
75       name: g
76       arguments:
77       - type: access
78         relation: '[n] -> { S2[x, t] -> s[] }'
79         reference: __pet_ref_7
80         read: 1
81         write: 0
82   arguments:
83   - type: access
84     relation: '[n] -> { S2[x, t] -> __pet_test_0[x, o1] : o1 >= 0 and o1 <= t }'
85     reference: __pet_ref_5
86     read: 1
87     write: 0
88 - line: 16
89   domain: '[n] -> { R[x] : x <= -1 + n and x >= 0 }'
90   schedule: '[n] -> { R[x] -> [0, x, 2] }'
91   body:
92     type: call
93     name: h
94     arguments:
95     - type: access
96       relation: '[n] -> { R[x] -> s[] }'
97       reference: __pet_ref_8
98       read: 1
99       write: 0