3 iterator_map: '{ [c0, c1] -> [c0] }'
5 all_iterators: [c0, c1]
11 - {var: {access: '{ ND_0[i0] -> out_0ND_0[] }', type: int}, type: reference}
13 bounds: '{ ND_0[i0] : 0 <= i0 <= 9 }'
15 bounds: '{ ND_0[i0] : 0 <= i0 <= 9 }'
16 schedule: '{ ND_0[i0] -> [c0 = i0, c1 = 0] : 0 <= i0 <= 9 }'
18 - name: ND_0OP_ED_0_0_V_0
22 - {access: '{ [ND_0[i0] -> local[i1]] -> out_0ND_0[] }', type: int}
24 bounds: '{ [ND_0[i0] -> local[i1]] : 3i1 = i0 and 0 <= i0 <= 9 }'
26 - {name: e3, expr: '{ ND_0[c0] -> [(floor((c0)/3))] }'}
27 - name: ND_0OP_ED_1_0_V_0
31 - {access: '{ [ND_0[i0] -> local[i1]] -> out_0ND_0[] }', type: int}
33 bounds: '{ [ND_0[i0] -> local[i1]] : 3i1 = -1 + i0 and 0 <= i0 <= 9 }'
35 - {name: e4, expr: '{ ND_0[c0] -> [(floor((-1 + c0)/3))] }'}
36 - name: ND_0OP_ED_2_0_V_0
40 - {access: '{ [ND_0[i0] -> local[i1]] -> out_0ND_0[] }', type: int}
42 bounds: '{ [ND_0[i0] -> local[i1]] : 3i1 = 1 + i0 and 0 <= i0 <= 9 }'
44 - {name: e5, expr: '{ ND_0[c0] -> [(floor((1 + c0)/3))] }'}
49 - {var: {access: '{ ND_1[i0] -> in_0ND_1[] }', type: int}, type: reference}
51 - {var: {access: '{ ND_1[i0] -> out_1ND_1[] }', type: int}, type: reference}
53 bounds: '{ [ND_1[i0] -> local[i1]] : 3i1 = i0 and 0 <= i0 <= 9 }'
55 - {name: e0, expr: '{ ND_1[c0] -> [(floor((c0)/3))] }'}
57 bounds: '{ [ND_1[i0] -> local[i1]] : 3i1 = i0 and 0 <= i0 <= 9 }'
59 - {name: e0, expr: '{ ND_1[c0] -> [(floor((c0)/3))] }'}
60 schedule: '{ ND_1[i0] -> [c0 = i0, c1 = 1] : 3*floor((i0)/3) = i0 and 0 <= i0 <=
63 - name: ND_1IP_ED_0_0_V_0
67 - {access: '{ [[ND_1[i0] -> local[i1]] -> local[]] -> in_0ND_1[] }', type: int}
69 bounds: '{ [[ND_1[i0] -> local[i1]] -> local[]] : 3i1 = i0 and 0 <= i0 <= 9
72 - {name: e0, expr: '{ ND_1[c0] -> [(floor((c0)/3))] }'}
74 - name: ND_1OP_ED_3_0_V_1
78 - {access: '{ [ND_1[i0] -> local[i1]] -> out_1ND_1[] }', type: int}
80 bounds: '{ [ND_1[i0] -> local[i1]] : 3i1 = i0 and 0 <= i0 <= 9 }'
82 - {name: e0, expr: '{ ND_1[c0] -> [(floor((c0)/3))] }'}
87 - {var: {access: '{ ND_2[i0] -> in_0ND_2[] }', type: int}, type: reference}
89 - {var: {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}, type: reference}
91 bounds: '{ [ND_2[i0] -> local[i1]] : 3i1 = -1 + i0 and 0 <= i0 <= 9 }'
93 - {name: e1, expr: '{ ND_2[c0] -> [(floor((-1 + c0)/3))] }'}
95 bounds: '{ [ND_2[i0] -> local[i1]] : 3i1 = -1 + i0 and 0 <= i0 <= 9 }'
97 - {name: e1, expr: '{ ND_2[c0] -> [(floor((-1 + c0)/3))] }'}
98 schedule: '{ ND_2[i0] -> [c0 = i0, c1 = 1] : 3*floor((-1 + i0)/3) = -1 + i0 and
101 - name: ND_2IP_ED_1_0_V_0
105 - {access: '{ [[ND_2[i0] -> local[i1]] -> local[]] -> in_0ND_2[] }', type: int}
107 bounds: '{ [[ND_2[i0] -> local[i1]] -> local[]] : 3i1 = -1 + i0 and 0 <= i0
110 - {name: e1, expr: '{ ND_2[c0] -> [(floor((-1 + c0)/3))] }'}
112 - name: ND_2OP_ED_4_0_V_1
116 - {access: '{ [ND_2[i0] -> local[i1]] -> out_1ND_2[] }', type: int}
118 bounds: '{ [ND_2[i0] -> local[i1]] : 3i1 = -1 + i0 and 0 <= i0 <= 9 }'
120 - {name: e1, expr: '{ ND_2[c0] -> [(floor((-1 + c0)/3))] }'}
125 - {var: {access: '{ ND_3[i0] -> in_0ND_3[] }', type: int}, type: reference}
127 - {var: {access: '{ ND_3[i0] -> out_1ND_3[] }', type: int}, type: reference}
129 bounds: '{ [ND_3[i0] -> local[i1]] : 0 <= i0 <= 9 and -3 + i0 <= 3i1 <= -2 +
132 - {name: e2, expr: '{ ND_3[c0] -> [(floor((-1 + c0)/3))] }'}
134 bounds: '{ [ND_3[i0] -> local[i1]] : 0 <= i0 <= 9 and -3 + i0 <= 3i1 <= -2 + i0
137 - {name: e2, expr: '{ ND_3[c0] -> [(floor((-1 + c0)/3))] }'}
138 schedule: '{ ND_3[i0] -> [c0 = i0, c1 = 2] : 0 <= i0 <= 9 and 3*floor((-1 + i0)/3)
141 - name: ND_3IP_ED_2_0_V_0
145 - {access: '{ [[ND_3[i0] -> local[i1]] -> local[]] -> in_0ND_3[] }', type: int}
147 bounds: '{ [[ND_3[i0] -> local[i1]] -> local[]] : 3i1 = -2 + i0 and 0 <= i0
150 - {name: e2, expr: '{ ND_3[c0] -> [(floor((-1 + c0)/3))] }'}
151 - name: ND_3IP_ED_3_0_V_0
155 - {access: '{ [[ND_3[i0] -> local[i1]] -> local[]] -> in_0ND_3[] }', type: int}
157 bounds: '{ [[ND_3[i0] -> local[i1]] -> local[]] : 3i1 = -3 + i0 and 0 <= i0
160 - {name: e2, expr: '{ ND_3[c0] -> [(floor((-1 + c0)/3))] }'}
162 - name: ND_3OP_ED_5_0_V_1
166 - {access: '{ [ND_3[i0] -> local[i1]] -> out_1ND_3[] }', type: int}
168 bounds: '{ [ND_3[i0] -> local[i1]] : 0 <= i0 <= 9 and -3 + i0 <= 3i1 <= -2 +
171 - {name: e2, expr: '{ ND_3[c0] -> [(floor((-1 + c0)/3))] }'}
176 - {var: {access: '{ ND_4[i0] -> in_0ND_4[] }', type: int}, type: reference}
178 bounds: '{ ND_4[i0] : 0 <= i0 <= 9 }'
180 bounds: '{ ND_4[i0] : 0 <= i0 <= 9 }'
181 schedule: '{ ND_4[i0] -> [c0 = i0, c1 = 3] : 0 <= i0 <= 9 }'
183 - name: ND_4IP_ED_4_0_V_0
187 - {access: '{ [[ND_4[i0] -> local[]] -> local[i1]] -> in_0ND_4[] }', type: int}
189 bounds: '{ [[ND_4[i0] -> local[]] -> local[i1]] : 3i1 = -1 + i0 and 0 <= i0
192 - {name: e6, expr: '{ [ND_4[c0] -> local[]] -> [(floor((-1 + c0)/3))] }'}
193 - name: ND_4IP_ED_5_0_V_0
197 - {access: '{ [[ND_4[i0] -> local[]] -> local[i1]] -> in_0ND_4[] }', type: int}
199 bounds: '{ [[ND_4[i0] -> local[]] -> local[i1]] : 0 <= i0 <= 9 and i0 <= 3i1
202 - {name: e7, expr: '{ [ND_4[c0] -> local[]] -> [(floor((1 + c0)/3))] }'}
206 map: '{ lifted[[ND_1[i0] -> local[i1]] -> local[]] -> ND_0[(i0)] }'
208 from_port: ND_0OP_ED_0_0_V_0
210 to_port: ND_1IP_ED_0_0_V_0
214 map: '{ lifted[[ND_2[i0] -> local[i1]] -> local[]] -> ND_0[(i0)] }'
216 from_port: ND_0OP_ED_1_0_V_0
218 to_port: ND_2IP_ED_1_0_V_0
222 map: '{ lifted[[ND_3[i0] -> local[i1]] -> local[]] -> ND_0[(i0)] }'
224 from_port: ND_0OP_ED_2_0_V_0
226 to_port: ND_3IP_ED_2_0_V_0
230 map: '{ lifted[[ND_3[i0] -> local[i1]] -> local[]] -> ND_1[(i0)] }'
232 from_port: ND_1OP_ED_3_0_V_1
234 to_port: ND_3IP_ED_3_0_V_0
238 map: '{ lifted[ND_4[i0] -> local[]] -> ND_2[(i0)] }'
240 from_port: ND_2OP_ED_4_0_V_1
242 to_port: ND_4IP_ED_4_0_V_0
246 map: '{ lifted[ND_4[i0] -> local[]] -> ND_3[(i0)] }'
248 from_port: ND_3OP_ED_5_0_V_1
250 to_port: ND_4IP_ED_5_0_V_0