3 iterator_map: '{ [c0, c1] -> [c0] }'
5 all_iterators: [c0, c1]
11 - {var: {access: '{ ND_0[i0] -> in_0ND_0[] }', type: int}, type: value}
13 - {var: {access: '{ ND_0[i0] -> out_1ND_0[] }', type: int}, type: return}
18 schedule: '{ ND_0[0] -> [0, 0] }'
20 - name: ND_0OP_ED_6_0_V_1
24 - {access: '{ ND_0[i0] -> out_1ND_0[] }', type: int}
28 - {name: in_0ND_0, expr: '{ ND_0[c0] -> [(0)] : c0 = 0 }'}
33 - {var: {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}, type: reference}
35 bounds: '{ ND_1[i0] : i0 >= 1 }'
37 bounds: '{ ND_1[i0] : i0 >= 1 }'
38 schedule: '{ ND_1[i0] -> [i0, 0] : i0 >= 1 }'
40 - name: ND_1OP_ED_4_0_V_0
44 - {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}
46 bounds: '{ ND_1[i0] : i0 >= 1 }'
47 - name: ND_1OP_ED_5_0_V_0
51 - {access: '{ ND_1[i0] -> out_0ND_1[] }', type: int}
53 bounds: '{ ND_1[i0] : i0 >= 1 }'
58 - {var: {access: '{ ND_2[i0] -> in_0ND_2[] }', type: int}, type: value}
60 - {var: {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}, type: return}
62 bounds: '{ ND_2[i0] : i0 >= 0 }'
64 bounds: '{ ND_2[i0] : i0 >= 0 }'
65 schedule: '{ ND_2[i0] -> [i0, 2] : i0 >= 0 }'
67 - name: ND_2IP_ED_6_0_V_0
71 - {access: '{ [ND_2[i0] -> local[]] -> in_0ND_2[] }', type: int}
73 bounds: '{ [ND_2[0] -> local[]] }'
74 - name: ND_2IP_CED_11_0_V_0
78 - {access: '{ [ND_2[i0] -> local[]] -> dc0_ND_2_b[] }', type: int}
79 - {access: '{ [ND_2[i0] -> local[]] -> dc0_ND_2_c0[] }', type: int}
81 bounds: '{ [ND_2[i0] -> local[]] : i0 >= 1 }'
82 - name: ND_2IP_CED_12_0_V_0
86 - {access: '{ [ND_2[i0] -> local[]] -> dc1_ND_2_b[] }', type: int}
87 - {access: '{ [ND_2[i0] -> local[]] -> dc1_ND_2_c0[] }', type: int}
89 bounds: '{ [ND_2[i0] -> local[]] : i0 >= 1 }'
90 - name: ND_2IP_ED_7_0_V_2
94 - {access: '{ [[ND_2[i0] -> [i1, i2]] -> local[]] -> in_2ND_2[] }', type: int}
96 bounds: '{ [[ND_2[i0] -> [1, -1 + i0]] -> local[]] : i0 >= 1 }'
98 - {access: '[dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0] -> dc0_ND_2_b[] }'}
99 - {access: '[dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0] -> dc0_ND_2_c0[] }'}
100 - name: ND_2IP_ED_8_0_V_0
104 - {access: '{ [[ND_2[i0] -> [i1, i2]] -> local[]] -> in_0ND_2[] }', type: int}
106 bounds: '{ [[ND_2[i0] -> [1, -1 + i0]] -> local[]] : i0 >= 1 }'
108 - {access: '[dc1_ND_2_b, dc1_ND_2_c0] -> { ND_2[i0] -> dc1_ND_2_b[] }'}
109 - {access: '[dc1_ND_2_b, dc1_ND_2_c0] -> { ND_2[i0] -> dc1_ND_2_c0[] }'}
111 - name: ND_2OP_ED_0_0_V_1
115 - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
117 bounds: '{ ND_2[i0] : i0 >= 0 }'
118 - name: ND_2OP_ED_1_0_V_1
122 - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
124 bounds: '{ ND_2[i0] : i0 >= 0 }'
125 - name: ND_2OP_ED_2_0_V_1
129 - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
131 bounds: '{ ND_2[i0] : i0 >= 0 }'
132 - name: ND_2OP_ED_3_0_V_1
136 - {access: '{ ND_2[i0] -> out_1ND_2[] }', type: int}
138 bounds: '{ ND_2[i0] : i0 >= 0 }'
142 in: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
143 -> in_2ND_2[] }', type: int}
144 out: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
145 -> in_0ND_2[] }', type: int}
147 bounds: '{ [ND_2[i0] -> [0, i2, 1, -1 + i0]] : i0 >= 1 }'
149 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
151 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
153 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
155 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
159 in: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
160 -> in_2ND_2[] }', type: int}
161 out: {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
162 -> in_0ND_2[] }', type: int}
164 bounds: '{ [ND_2[i0] -> [1, i2, 1, -1 + i0]] : i2 <= -2 + i0 and i2 >= 0 }'
166 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
168 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
170 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
172 - {access: '[dc1_ND_2_b, dc1_ND_2_c0, dc0_ND_2_b, dc0_ND_2_c0] -> { ND_2[i0]
178 - {var: {access: '{ [ND_3[i0] -> [i1]] -> in_1ND_3[] }', type: int}, type: reference}
180 - {var: {access: '{ [ND_3[i0] -> [i1]] -> out_2ND_3[] }', type: int}, type: reference}
182 - {name: dc0_ND_3_b, expr: '{ ND_3[c0] -> [(1)] }'}
183 - {name: dc0_ND_3_c0, expr: '{ ND_3[c0] -> [(-1 + c0)] }'}
185 bounds: '{ [ND_3[i0] -> [1]] : i0 >= 1 }'
187 - {access: '{ [ND_3[i0] -> [i1]] -> in_0ND_3[] }', type: int}
189 bounds: '{ ND_3[i0] : i0 >= 1 }'
190 schedule: '{ ND_3[i0] -> [i0, 1] : i0 >= 1 }'
192 - name: ND_3IP_ED_0_0_V_0
196 - {access: '{ [ND_3[i0] -> local[]] -> in_0ND_3[] }', type: int}
198 bounds: '{ [ND_3[i0] -> local[]] : i0 >= 1 }'
199 - name: ND_3IP_ED_4_0_V_1
203 - {access: '{ [ND_3[i0] -> local[]] -> in_1ND_3[] }', type: int}
205 bounds: '{ [ND_3[i0] -> local[]] : i0 >= 1 }'
207 - name: ND_3OP_ED_7_0_V_2
211 - {access: '{ [ND_3[i0] -> [i1, i2]] -> out_2ND_3[] }', type: int}
213 bounds: '{ [ND_3[i0] -> [1, -1 + i0]] : i0 >= 1 }'
215 - {access: '[dc0_ND_3_b, dc0_ND_3_c0] -> { ND_3[i0] -> dc0_ND_3_b[] }'}
216 - {access: '[dc0_ND_3_b, dc0_ND_3_c0] -> { ND_3[i0] -> dc0_ND_3_c0[] }'}
217 - name: ND_3OP_CED_11_0_V_2
221 - {access: '{ ND_3[i0] -> dc0_ND_3_b[] }', type: int}
222 - {access: '{ ND_3[i0] -> dc0_ND_3_c0[] }', type: int}
224 bounds: '{ ND_3[i0] : i0 >= 1 }'
229 - {var: {access: '{ [ND_4[i0] -> [i1]] -> in_1ND_4[] }', type: int}, type: reference}
231 - {var: {access: '{ [ND_4[i0] -> [i1]] -> out_2ND_4[] }', type: int}, type: reference}
232 - {var: {access: '{ [ND_4[i0] -> [i1]] -> out_3ND_4[] }', type: int}, type: reference}
234 - {name: dc0_ND_4_b, expr: '{ ND_4[c0] -> [(1)] }'}
235 - {name: dc0_ND_4_c0, expr: '{ ND_4[c0] -> [(-1 + c0)] }'}
237 bounds: '{ [ND_4[i0] -> [0]] : i0 >= 1 }'
239 - {access: '{ [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
241 bounds: '{ ND_4[i0] : i0 >= 1 }'
242 schedule: '{ ND_4[i0] -> [i0, 1] : i0 >= 1 }'
244 - name: ND_4IP_ED_1_0_V_0
248 - {access: '{ [ND_4[i0] -> local[]] -> in_0ND_4[] }', type: int}
250 bounds: '{ [ND_4[i0] -> local[]] : i0 >= 1 }'
251 - name: ND_4IP_ED_5_0_V_1
255 - {access: '{ [ND_4[i0] -> local[]] -> in_1ND_4[] }', type: int}
257 bounds: '{ [ND_4[i0] -> local[]] : i0 >= 1 }'
259 - name: ND_4OP_ED_8_0_V_2
263 - {access: '{ [ND_4[i0] -> [i1, i2]] -> out_2ND_4[] }', type: int}
265 bounds: '{ [ND_4[i0] -> [1, -1 + i0]] : i0 >= 1 }'
267 - {access: '[dc0_ND_4_b, dc0_ND_4_c0] -> { ND_4[i0] -> dc0_ND_4_b[] }'}
268 - {access: '[dc0_ND_4_b, dc0_ND_4_c0] -> { ND_4[i0] -> dc0_ND_4_c0[] }'}
269 - name: ND_4OP_ED_9_0_V_3
273 - {access: '{ [ND_4[i0] -> [i1]] -> out_3ND_4[] }', type: int}
275 bounds: '{ [ND_4[i0] -> [0]] : i0 >= 1 }'
277 - {access: '{ [ND_4[i0] -> [i1]] -> in_0ND_4[] }', type: int}
278 - name: ND_4OP_CED_12_0_V_2
282 - {access: '{ ND_4[i0] -> dc0_ND_4_b[] }', type: int}
283 - {access: '{ ND_4[i0] -> dc0_ND_4_c0[] }', type: int}
285 bounds: '{ ND_4[i0] : i0 >= 1 }'
290 - {var: {access: '{ [ND_5[i0] -> [i1]] -> in_1ND_5[] }', type: int}, type: reference}
292 - {var: {access: '{ [ND_5[i0] -> [i1]] -> out_2ND_5[] }', type: int}, type: reference}
294 bounds: '{ [ND_5[i0] -> [0]] : i0 >= 1 }'
296 - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
298 bounds: '{ ND_5[i0] : i0 >= 1 }'
299 schedule: '{ ND_5[i0] -> [i0, 2] : i0 >= 1 }'
301 - name: ND_5IP_ED_2_0_V_0
305 - {access: '{ [ND_5[i0] -> local[]] -> in_0ND_5[] }', type: int}
307 bounds: '{ [ND_5[i0] -> local[]] : i0 >= 1 }'
308 - name: ND_5IP_ED_9_0_V_1
312 - {access: '{ [[ND_5[i0] -> [i1]] -> local[]] -> in_1ND_5[] }', type: int}
314 bounds: '{ [[ND_5[i0] -> [0]] -> local[]] : i0 >= 1 }'
316 - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
318 - name: ND_5OP_ED_10_0_V_2
322 - {access: '{ [ND_5[i0] -> [i1]] -> out_2ND_5[] }', type: int}
324 bounds: '{ [ND_5[i0] -> [0]] : i0 >= 1 }'
326 - {access: '{ [ND_5[i0] -> [i1]] -> in_0ND_5[] }', type: int}
331 - {var: {access: '{ [ND_6[i0] -> [i1]] -> in_1ND_6[] }', type: int}, type: reference}
333 bounds: '{ [ND_6[i0] -> [0]] : i0 >= 1 }'
335 - {access: '{ [ND_6[i0] -> [i1]] -> in_0ND_6[] }', type: int}
337 bounds: '{ ND_6[i0] : i0 >= 1 }'
338 schedule: '{ ND_6[i0] -> [i0, 3] : i0 >= 1 }'
340 - name: ND_6IP_ED_3_0_V_0
344 - {access: '{ [ND_6[i0] -> local[]] -> in_0ND_6[] }', type: int}
346 bounds: '{ [ND_6[i0] -> local[]] : i0 >= 1 }'
347 - name: ND_6IP_ED_10_0_V_1
351 - {access: '{ [[ND_6[i0] -> [i1]] -> local[]] -> in_1ND_6[] }', type: int}
353 bounds: '{ [[ND_6[i0] -> [0]] -> local[]] : i0 >= 1 }'
355 - {access: '{ [ND_6[i0] -> [i1]] -> in_0ND_6[] }', type: int}
359 map: '{ lifted[ND_3[i0] -> local[]] -> ND_2[(-1 + i0)] }'
361 from_port: ND_2OP_ED_0_0_V_1
363 to_port: ND_3IP_ED_0_0_V_0
367 map: '{ lifted[ND_4[i0] -> local[]] -> ND_2[(-1 + i0)] }'
369 from_port: ND_2OP_ED_1_0_V_1
371 to_port: ND_4IP_ED_1_0_V_0
375 map: '{ lifted[ND_5[i0] -> local[]] -> ND_2[(-1 + i0)] }'
377 from_port: ND_2OP_ED_2_0_V_1
379 to_port: ND_5IP_ED_2_0_V_0
383 map: '{ lifted[ND_6[i0] -> local[]] -> ND_2[(-1 + i0)] }'
385 from_port: ND_2OP_ED_3_0_V_1
387 to_port: ND_6IP_ED_3_0_V_0
391 map: '{ lifted[ND_3[i0] -> local[]] -> ND_1[(i0)] }'
393 from_port: ND_1OP_ED_4_0_V_0
395 to_port: ND_3IP_ED_4_0_V_1
399 map: '{ lifted[ND_4[i0] -> local[]] -> ND_1[(i0)] }'
401 from_port: ND_1OP_ED_5_0_V_0
403 to_port: ND_4IP_ED_5_0_V_1
407 map: '{ lifted[ND_2[i0] -> local[]] -> ND_0[(0)] }'
409 from_port: ND_0OP_ED_6_0_V_1
411 to_port: ND_2IP_ED_6_0_V_0
415 map: '{ lifted[[ND_2[i0] -> [i1, i2]] -> local[]] -> ND_3[(i0)] }'
417 from_port: ND_3OP_ED_7_0_V_2
419 to_port: ND_2IP_ED_7_0_V_2
423 map: '{ lifted[[ND_2[i0] -> [i1, i2]] -> local[]] -> ND_4[(i0)] }'
425 from_port: ND_4OP_ED_8_0_V_2
427 to_port: ND_2IP_ED_8_0_V_0
431 map: '{ lifted[[ND_5[i0] -> [i1]] -> local[]] -> ND_4[(i0)] }'
433 from_port: ND_4OP_ED_9_0_V_3
435 to_port: ND_5IP_ED_9_0_V_1
439 map: '{ lifted[[ND_6[i0] -> [i1]] -> local[]] -> ND_5[(i0)] }'
441 from_port: ND_5OP_ED_10_0_V_2
443 to_port: ND_6IP_ED_10_0_V_1
447 map: '{ lifted[ND_2[i0] -> local[]] -> ND_3[(i0)] }'
449 from_port: ND_3OP_CED_11_0_V_2
451 to_port: ND_2IP_CED_11_0_V_0
455 map: '{ lifted[ND_2[i0] -> local[]] -> ND_4[(i0)] }'
457 from_port: ND_4OP_CED_12_0_V_2
459 to_port: ND_2IP_CED_12_0_V_0