PetScan::extract_condition: convert clang::Expr to pet_expr first
[pet.git] / tests / unsigned_break2.scop
blob926e90db491b36e21fffa7fc85e662e9db917537
1 start: 50
2 end: 172
3 context: '{  :  }'
4 arrays:
5 - context: '{  :  }'
6   extent: '{ __pet_test_0[k] : k >= 252 and k <= 261 }'
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[] }'
13   element_type: int
14   element_size: 4
15 statements:
16 - line: 11
17   domain: '{ [S_0[k] -> [0]] : (exists (e0 = floor((k)/256): 256e0 = k and k >= 252
18     and k <= 261)) or (exists (e0 = floor((257 - k)/256): k >= 252 and k <= 261 and
19     256e0 >= 2 - k and 256e0 <= 255 - k)) }'
20   schedule: '{ S_0[k] -> [0, k, 0] }'
21   body:
22     type: op
23     operation: =
24     arguments:
25     - type: access
26       relation: '{ S_0[k] -> a[] }'
27       index: '{ S_0[k] -> a[] }'
28       reference: __pet_ref_1
29       read: 0
30       write: 1
31     - type: int
32       value: 5
33   arguments:
34   - type: access
35     relation: '{ S_0[k] -> __pet_test_0[-1 + k] : k >= 253 }'
36     index: '{ S_0[k] -> __pet_test_0[((-1 + k) : k >= 253)] }'
37     reference: __pet_ref_0
38     read: 1
39     write: 0
40 - line: 12
41   domain: '{ [S_1[k] -> [0]] : k >= 252 and k <= 261 }'
42   schedule: '{ S_1[k] -> [0, k, 1, 0] }'
43   body:
44     type: op
45     operation: =
46     arguments:
47     - type: access
48       relation: '{ S_1[k] -> __pet_test_0[k] }'
49       index: '{ S_1[k] -> __pet_test_0[(k)] }'
50       reference: __pet_ref_3
51       read: 0
52       write: 1
53     - type: call
54       name: f
55   arguments:
56   - type: access
57     relation: '{ S_1[k] -> __pet_test_0[-1 + k] : k >= 253 }'
58     index: '{ S_1[k] -> __pet_test_0[((-1 + k) : k >= 253)] }'
59     reference: __pet_ref_2
60     read: 1
61     write: 0
62 - line: 14
63   domain: '{ [S_2[k] -> [0]] : k >= 252 and k <= 261 }'
64   schedule: '{ S_2[k] -> [0, k, 2] }'
65   body:
66     type: op
67     operation: =
68     arguments:
69     - type: access
70       relation: '{ S_2[k] -> a[] }'
71       index: '{ S_2[k] -> a[] }'
72       reference: __pet_ref_5
73       read: 0
74       write: 1
75     - type: access
76       relation: '{ S_2[k] -> [o0] : exists (e0 = floor((-k + o0)/256): 256e0 = -k
77         + o0 and o0 >= 0 and o0 <= 255) }'
78       index: '{ S_2[k] -> [(k - 256*floor((k)/256))] }'
79       reference: __pet_ref_6
80       read: 1
81       write: 0
82   arguments:
83   - type: access
84     relation: '{ S_2[k] -> __pet_test_0[k] }'
85     index: '{ S_2[k] -> __pet_test_0[(k)] }'
86     reference: __pet_ref_4
87     read: 1
88     write: 0
89 implications:
90 - satisfied: 0
91   extension: '{ __pet_test_0[k] -> __pet_test_0[k''] : k'' <= k and k'' >= 252 and
92     k'' <= 261 }'