privately export pet_stmt_is_affine_assume
[pet.git] / tests / for_while_unsigned.scop
blob80d828a323286e97b66fa627febb8f98273f1a91
1 start: 83
2 end: 244
3 indent: "\t"
4 context: '[n] -> {  : -2147483648 <= n <= 2147483647 }'
5 schedule: '{ domain: "[n] -> { S2[x1, x2] : 3*floor((x2)/3) = x2 and 0 <= x1 < n and
6   x2 <= 9; S_4[]; S1[x1] : 0 <= x1 < n; S_1[x1, x2] : 3*floor((x2)/3) = x2 and 0 <=
7   x1 < n and x2 <= 9; R[x1] : 0 <= x1 < n }", child: { sequence: [ { filter: "[n]
8   -> { S2[x1, x2]; S1[x1]; S_1[x1, x2]; R[x1] }", child: { schedule: "[n] -> L_0[{
9   S2[x1, x2] -> [(x1)]; S1[x1] -> [(x1)]; S_1[x1, x2] -> [(x1)]; R[x1] -> [(x1)] }]",
10   child: { sequence: [ { filter: "[n] -> { S1[x1] }" }, { filter: "[n] -> { S2[x1,
11   x2]; S_1[x1, x2] }", child: { schedule: "[n] -> L_1[{ S2[x1, x2] -> [(-x2)]; S_1[x1,
12   x2] -> [(-x2)] }]", child: { sequence: [ { filter: "[n] -> { S_1[x1, x2] }" }, {
13   filter: "[n] -> { S2[x1, x2] }" } ] } } }, { filter: "[n] -> { R[x1] }" } ] } }
14   }, { filter: "[n] -> { S_4[] }" } ] } }'
15 arrays:
16 - context: '{  :  }'
17   extent: '[n] -> { __pet_test_0[x1, x2] : 3*floor((x2)/3) = x2 and 0 <= x1 < n and
18     x2 <= 9 }'
19   value_bounds: '{ [i0] : 0 <= i0 <= 1 }'
20   element_type: int
21   element_size: 4
22   uniquely_defined: 1
23 - context: '{  :  }'
24   extent: '[n] -> { s[] }'
25   element_type: int
26   element_size: 4
27 statements:
28 - line: 12
29   domain: '[n] -> { S1[x1] : 0 <= x1 < n }'
30   body:
31     type: expression
32     expr:
33       type: op
34       operation: =
35       arguments:
36       - type: access
37         index: '[n] -> { S1[x1] -> s[] }'
38         reference: __pet_ref_0
39         read: 0
40         write: 1
41       - type: call
42         name: f
43 - line: 13
44   domain: '[n] -> { [S_1[x1, x2] -> [__pet_test_0 = 1]] : 3*floor((x2)/3) = x2 and
45     0 <= x1 < n and x2 <= 9 }'
46   body:
47     type: expression
48     expr:
49       type: op
50       operation: =
51       arguments:
52       - type: access
53         index: '[n] -> { S_1[x1, x2] -> __pet_test_0[(x1), (x2)] }'
54         reference: __pet_ref_2
55         read: 0
56         write: 1
57       - type: call
58         name: P
59         arguments:
60         - type: access
61           index: '[n] -> { S_1[x1, x2] -> [(x1)] }'
62           reference: __pet_ref_3
63           read: 1
64           write: 0
65         - type: access
66           index: '[n] -> { S_1[x1, x2] -> [(x2 - 256*floor((x2)/256))] }'
67           reference: __pet_ref_4
68           read: 1
69           write: 0
70   arguments:
71   - type: access
72     index: '[n] -> { S_1[x1, x2] -> __pet_test_0[(x1), ((3 + x2) : x2 <= 6)] }'
73     reference: __pet_ref_1
74     read: 1
75     write: 0
76 - line: 14
77   domain: '[n] -> { [S2[x1, x2] -> [__pet_test_0 = 1]] : 3*floor((x2)/3) = x2 and
78     0 <= x1 < n and x2 <= 9 }'
79   body:
80     type: expression
81     expr:
82       type: op
83       operation: =
84       arguments:
85       - type: access
86         index: '[n] -> { S2[x1, x2] -> s[] }'
87         reference: __pet_ref_6
88         read: 0
89         write: 1
90       - type: call
91         name: g
92         arguments:
93         - type: access
94           index: '[n] -> { S2[x1, x2] -> s[] }'
95           reference: __pet_ref_7
96           read: 1
97           write: 0
98   arguments:
99   - type: access
100     index: '[n] -> { S2[x1, x2] -> __pet_test_0[(x1), (x2)] }'
101     reference: __pet_ref_5
102     read: 1
103     write: 0
104 - line: 16
105   domain: '[n] -> { R[x1] : 0 <= x1 < n }'
106   body:
107     type: expression
108     expr:
109       type: call
110       name: h
111       arguments:
112       - type: access
113         index: '[n] -> { R[x1] -> s[] }'
114         reference: __pet_ref_8
115         read: 1
116         write: 0
117 - line: -1
118   domain: '[n] -> { S_4[] }'
119   body:
120     type: expression
121     expr:
122       type: op
123       operation: kill
124       arguments:
125       - type: access
126         killed: '[n] -> { S_4[] -> s[] }'
127         index: '[n] -> { S_4[] -> s[] }'
128         reference: __pet_ref_9
129         kill: 1
130 implications:
131 - satisfied: 1
132   extension: '[n] -> { __pet_test_0[x1, x2] -> __pet_test_0[x1'' = x1, x2''] : 3*floor((x2'')/3)
133     = x2'' and 0 <= x1 < n and x2 <= x2'' <= 9 }'