this repo has no description
1int: n:: global_register(1);
2int: m:: global_register(0);
3array [int,int] of int: Intensity:: global_register(2);
4predicate solve_this(int: mode,var int: objective,array [int] of var int: x,int: varsel,int: valsel);
5predicate int_lin_le(array [int] of int: as,array [int] of var int: bs,int: c);
6predicate int_plus(var int: a,var int: b,var int: c);
7predicate int_max(var int: a,var int: b,var int: c);
8predicate int_minus(var int: x,var int: y,var int: z);
9predicate int_sum(array [int] of var int: xs,var int: x);
10predicate int_times(var int: a,var int: b,var int: c);
11predicate array_int_minimum(var int: m,array [int] of var int: x);
12predicate int_min(var int: a,var int: b,var int: c);
13predicate output_this(array [int] of var int: arr);
14predicate array_int_maximum(var int: m,array [int] of var int: x);
15predicate int_lin_eq(array [int] of int: as,array [int] of var int: bs,int: c);
16predicate clause(array [$T] of var bool: x,array [$T] of var bool: y);
17predicate clause(array [$T] of bool: x,array [$T] of bool: y);
18predicate bool_clause(array [int] of var bool: as,array [int] of var bool: bs);
19predicate bool_not(var bool: a,var bool: b);
20@@@@@@@@@@
21:mk_intvar: 1
22:absent: 1
23:infinity: 1
24:boolean_domain: 0
25:infinite_domain: 0
26:uniform: 2
27:sol: 1
28:sort_by: 2
29:floor: 1
30:ceil: 1
31:slice_Xd: 3
32:array_Xd: 2
33:index_set: 2
34:internal_sort: 1
35:f_op_not_b:FUN 1
36NOT R0 R1
37PUSH R1
38RET
39:f_op_not_vb:FUN 1
40OPEN_AGGREGATION OTHER
41 BUILTIN boolean_domain
42 POP R1
43 CALL ROOT mk_intvar 0 R1
44 POP R2
45 CALL ROOT bool_not 1 R0 R2
46 PUSH R2
47 CLEAR R1 R2
48CLOSE_AGGREGATION
49POP R1
50PUSH R1
51RET
52:d_op_not_b:FUN 1
53ISPAR R0 R1
54JMPIF R1 l0
55JMP l1
56l0: TCALL FUN f_op_not_b 0
57l1: TCALL FUN f_op_not_vb 1
58:bool_clause:ROOT 2
59:bool_clause_reif:ROOT 3
60CALL FUN d_op_not_b 0 R2
61POP R3
62OPEN_AGGREGATION VEC
63 PUSH R3
64CLOSE_AGGREGATION
65POP R4
66OPEN_AGGREGATION VEC
67 ITER_ARRAY R1 l178
68 l177: ITER_NEXT R6
69 PUSH R6
70 JMP l177
71 l178: ITER_ARRAY R4 l180
72 l179: ITER_NEXT R7
73 PUSH R7
74 JMP l179
75 l180: CLEAR R6 R7
76CLOSE_AGGREGATION
77POP R5
78IMMI 1 R6
79BUILTIN index_set R0 R6
80POP R7
81ITER_ARRAY R7 l182
82l181: ITER_NEXT R8
83ITER_NEXT R9
84ITER_RANGE R8 R9 l184
85l183: ITER_NEXT R10
86GET_ARRAY 1 R0 R10 R11 R12
87OPEN_AGGREGATION OR
88 IMMI 0 R14
89 JMPIFNOT R12 l185
90 MOV R11 R14
91 l185: PUSH R14
92 PUSH R3
93 CLEAR R14 R14
94CLOSE_AGGREGATION
95POP R13
96POST R13
97JMP l183
98l184: JMP l181
99l182: IMMI 1 R14
100BUILTIN index_set R1 R14
101POP R15
102ITER_ARRAY R15 l187
103l186: ITER_NEXT R16
104ITER_NEXT R17
105ITER_RANGE R16 R17 l189
106l188: ITER_NEXT R18
107GET_ARRAY 1 R1 R18 R19 R20
108IMMI 1 R21
109NOT R20 R22
110JMPIF R22 l190
111OPEN_AGGREGATION OR
112 CALL FUN d_op_not_b 0 R19
113 POP R23
114 PUSH R23
115 PUSH R3
116 CLEAR R23 R23
117CLOSE_AGGREGATION
118POP R21
119l190: POST R21
120JMP l188
121l189: JMP l186
122l187: CALL ROOT d_clause_d1b_d1b 1 R0 R5
123RET
124:int_lin_eq:ROOT 3
125:f_max_dTi:FUN 1
126IMMI 0 R2
127BUILTIN array_Xd R0 R2
128POP R1
129BUILTIN infinity R2
130POP R3
131ITER_ARRAY R1 l176
132l175: ITER_NEXT R5
133LTI R3 R5 R4
134JMPIFNOT R4 l174
135MOV R5 R3
136l174: JMP l175
137l176: PUSH R3
138RET
139:f_max_dTvi:FUN 1
140IMMI 0 R2
141BUILTIN array_Xd R0 R2
142POP R1
143LENGTH R0 R3
144IMMI 1 R4
145LEI R4 R3 R5
146CALL FUN f_max_t_d1vi 1 R1
147POP R6
148PUSH R6
149RET
150:d_max_d1i:FUN 1
151ISPAR R0 R1
152JMPIF R1 l20
153JMP l21
154l20: TCALL FUN f_max_dTi 0
155l21: TCALL FUN f_max_dTvi 1
156:output_this:ROOT 1
157:f_lex_obj_i:ROOT 1
158LOAD_GLOBAL 6 R1
159LOAD_GLOBAL 7 R2
160OPEN_AGGREGATION VEC
161 PUSH R1
162 PUSH R2
163CLOSE_AGGREGATION
164POP R3
165CALL ROOT f_lex_minimize_d1vi_i 1 R3 R0
166RET
167:f_op_times_i_i:FUN 2
168MULI R0 R1 R2
169PUSH R2
170RET
171:f_op_times_i_vi:FUN 2
172IMMI 1 R2
173IMMI 1 R4
174EQI R0 R2 R5
175JMPIFNOT R5 l138
176IMMI 0 R4
177MOV R1 R3
178JMP l137
179l138: OPEN_AGGREGATION OTHER
180 BUILTIN infinite_domain
181 POP R6
182 CALL ROOT mk_intvar 0 R6
183 POP R7
184 CALL ROOT int_times 1 R0 R1 R7
185 PUSH R7
186 CLEAR R6 R7
187CLOSE_AGGREGATION
188POP R6
189IMMI 0 R4
190MOV R6 R3
191l137: PUSH R3
192RET
193:f_op_times_vi_i:FUN 2
194CALL FUN d_op_times_i_i 0 R1 R0
195POP R2
196PUSH R2
197RET
198:f_op_times_vi_vi:FUN 2
199OPEN_AGGREGATION OTHER
200 BUILTIN infinite_domain
201 POP R2
202 CALL ROOT mk_intvar 0 R2
203 POP R3
204 CALL ROOT int_times 1 R0 R1 R3
205 PUSH R3
206 CLEAR R2 R3
207CLOSE_AGGREGATION
208POP R2
209PUSH R2
210RET
211:d_op_times_i_i:FUN 2
212ISPAR R0 R2
213JMPIF R2 l42
214JMP l43
215l42: ISPAR R1 R2
216JMPIF R2 l44
217JMP l45
218l43: ISPAR R1 R2
219JMPIF R2 l46
220JMP l47
221l44: TCALL FUN f_op_times_i_i 0
222l45: TCALL FUN f_op_times_i_vi 1
223l46: TCALL FUN f_op_times_vi_i 1
224l47: TCALL FUN f_op_times_vi_vi 1
225:f_sum_cc_dTvi:FUN 1
226OPEN_AGGREGATION OTHER
227 IMMI 0 R2
228 BUILTIN array_Xd R0 R2
229 POP R1
230 BUILTIN infinite_domain
231 POP R3
232 CALL ROOT mk_intvar 0 R3
233 POP R4
234 CALL ROOT int_sum 1 R1 R4
235 PUSH R4
236 CLEAR R1 R4
237CLOSE_AGGREGATION
238POP R1
239PUSH R1
240RET
241:f_pre_int_lin_eq_d1i_d1vi_i:ROOT 3
242LENGTH R0 R4
243IMMI 0 R5
244EQI R4 R5 R6
245JMPIFNOT R6 l136
246EQI R2 R5 R7
247MOV R7 R3
248JMP l135
249l136: CALL ROOT int_lin_eq 1 R0 R1 R2
250IMMI 1 R8
251MOV R8 R3
252l135: POST R3
253RET
254:f_upper_bound_on_increments_vi_d1vi:ROOT 2
255IMMI 1 R2
256GET_ARRAY 1 R1 R2 R3 R4
257IMMI 2 R5
258LOAD_GLOBAL 1 R6
259OPEN_AGGREGATION VEC
260 PUSH R5
261 PUSH R6
262CLOSE_AGGREGATION
263POP R7
264OPEN_AGGREGATION VEC
265 ITER_ARRAY R7 l106
266 l105: ITER_NEXT R8
267 ITER_NEXT R9
268 ITER_RANGE R8 R9 l108
269 l107: ITER_NEXT R10
270 GET_ARRAY 1 R1 R10 R11 R12
271 SUBI R10 R2 R13
272 GET_ARRAY 1 R1 R13 R14 R15
273 CALL FUN d_op_minus_i_i 1 R11 R14
274 POP R16
275 IMMI 0 R17
276 CALL FUN d_max_i_i 1 R16 R17
277 POP R18
278 PUSH R18
279 JMP l107
280 l108: JMP l105
281 l106: CLEAR R8 R18
282CLOSE_AGGREGATION
283POP R8
284LENGTH R8 R9
285JMPIFNOT R9 l118
286EQI R2 R9 R10
287JMPIF R10 l119
288CALL FUN f_sum_cc_dTvi 1 R8
289POP R10
290JMP l120
291l118: IMMI 0 R10
292JMP l120
293l119: GET_VEC R8 R2 R10
294l120: CALL FUN d_op_plus_i_i 1 R3 R10
295POP R11
296LB R11 R12
297UB R0 R13
298LEI R12 R13 R12
299SIMPLIFY_LIN R11 R0 0 R14 R15 R16
300POST R4
301POST R12
302CALL ROOT f_pre_int_lin_le_d1i_d1vi_i 1 R14 R15 R16
303RET
304:solve_this:ROOT 5
305:f_op_minus_i_i:FUN 2
306SUBI R0 R1 R2
307PUSH R2
308RET
309:f_op_minus_vi_i:FUN 2
310IMMI 1 R2
311IMMI 1 R4
312IMMI 0 R5
313EQI R1 R5 R6
314JMPIFNOT R6 l134
315IMMI 0 R4
316MOV R0 R3
317JMP l133
318l134: OPEN_AGGREGATION OTHER
319 BUILTIN infinite_domain
320 POP R7
321 CALL ROOT mk_intvar 0 R7
322 POP R8
323 CALL ROOT int_minus 1 R0 R1 R8
324 PUSH R8
325 CLEAR R7 R8
326CLOSE_AGGREGATION
327POP R7
328IMMI 0 R4
329MOV R7 R3
330l133: PUSH R3
331RET
332:f_op_minus_vi_vi:FUN 2
333OPEN_AGGREGATION OTHER
334 BUILTIN infinite_domain
335 POP R2
336 CALL ROOT mk_intvar 0 R2
337 POP R3
338 CALL ROOT int_minus 1 R0 R1 R3
339 PUSH R3
340 CLEAR R2 R3
341CLOSE_AGGREGATION
342POP R2
343PUSH R2
344RET
345:d_op_minus_i_i:FUN 2
346ISPAR R0 R2
347JMPIF R2 l109
348JMP l110
349l109: ISPAR R1 R2
350JMPIF R2 l111
351JMP l112
352l110: ISPAR R1 R2
353JMPIF R2 l113
354JMP l112
355l111: TCALL FUN f_op_minus_i_i 0
356l112: TCALL FUN f_op_minus_vi_vi 1
357l113: TCALL FUN f_op_minus_vi_i 1
358:f_max_t_t:FUN 2
359IMMI 1 R2
360IMMI 1 R4
361LTI R1 R0 R5
362JMPIFNOT R5 l132
363IMMI 0 R4
364MOV R0 R3
365JMP l131
366l132: IMMI 0 R4
367MOV R1 R3
368l131: PUSH R3
369RET
370:f_max_vi_vi:FUN 2
371OPEN_AGGREGATION OTHER
372 LB R0 R2
373 LB R1 R3
374 CALL FUN d_max_i_i 0 R2 R3
375 POP R4
376 UB R0 R5
377 UB R1 R6
378 CALL FUN d_max_i_i 0 R5 R6
379 POP R7
380 OPEN_AGGREGATION VEC
381 PUSH R4
382 PUSH R7
383 CLOSE_AGGREGATION
384 POP R8
385 CALL ROOT mk_intvar 0 R8
386 POP R9
387 CALL ROOT int_max 1 R0 R1 R9
388 PUSH R9
389 CLEAR R2 R9
390CLOSE_AGGREGATION
391POP R2
392PUSH R2
393RET
394:d_max_i_i:FUN 2
395ISPAR R0 R2
396JMPIF R2 l114
397JMP l115
398l114: ISPAR R1 R2
399JMPIF R2 l116
400JMP l117
401l115: JMP l117
402l116: TCALL FUN f_max_t_t 0
403l117: TCALL FUN f_max_vi_vi 1
404:f_op_plus_i_i:FUN 2
405ADDI R0 R1 R2
406PUSH R2
407RET
408:f_op_plus_i_vi:FUN 2
409IMMI 1 R2
410IMMI 1 R4
411IMMI 0 R5
412EQI R0 R5 R6
413JMPIFNOT R6 l130
414IMMI 0 R4
415MOV R1 R3
416JMP l129
417l130: OPEN_AGGREGATION OTHER
418 BUILTIN infinite_domain
419 POP R7
420 CALL ROOT mk_intvar 0 R7
421 POP R8
422 CALL ROOT int_plus 1 R0 R1 R8
423 PUSH R8
424 CLEAR R7 R8
425CLOSE_AGGREGATION
426POP R7
427IMMI 0 R4
428MOV R7 R3
429l129: PUSH R3
430RET
431:f_op_plus_vi_i:FUN 2
432CALL FUN d_op_plus_i_i 0 R1 R0
433POP R2
434PUSH R2
435RET
436:f_op_plus_vi_vi:FUN 2
437OPEN_AGGREGATION OTHER
438 BUILTIN infinite_domain
439 POP R2
440 CALL ROOT mk_intvar 0 R2
441 POP R3
442 CALL ROOT int_plus 1 R0 R1 R3
443 PUSH R3
444 CLEAR R2 R3
445CLOSE_AGGREGATION
446POP R2
447PUSH R2
448RET
449:d_op_plus_i_i:FUN 2
450ISPAR R0 R2
451JMPIF R2 l121
452JMP l122
453l121: ISPAR R1 R2
454JMPIF R2 l123
455JMP l124
456l122: ISPAR R1 R2
457JMPIF R2 l125
458JMP l126
459l123: TCALL FUN f_op_plus_i_i 0
460l124: TCALL FUN f_op_plus_i_vi 1
461l125: TCALL FUN f_op_plus_vi_i 1
462l126: TCALL FUN f_op_plus_vi_vi 1
463:f_pre_int_lin_le_d1i_d1vi_i:ROOT 3
464LENGTH R0 R4
465IMMI 0 R5
466EQI R4 R5 R6
467JMPIFNOT R6 l128
468LEI R5 R2 R7
469MOV R7 R3
470JMP l127
471l128: CALL ROOT int_lin_le 1 R0 R1 R2
472IMMI 1 R8
473MOV R8 R3
474l127: POST R3
475RET
476:int_lin_le:ROOT 3
477:int_plus:ROOT 3
478:int_max:ROOT 3
479:int_minus:ROOT 3
480:int_sum:ROOT 2
481:int_times:ROOT 3
482:f_lex_minimize_d1vi_i:ROOT 2
483IMMI 1 R2
484BUILTIN index_set R0 R2
485POP R3
486CALL FUN d_min_si 0 R3
487POP R4
488SUBI R1 R2 R5
489OPEN_AGGREGATION VEC
490 PUSH R4
491 PUSH R5
492CLOSE_AGGREGATION
493POP R6
494ITER_ARRAY R6 l142
495l141: ITER_NEXT R7
496ITER_NEXT R8
497ITER_RANGE R7 R8 l144
498l143: ITER_NEXT R9
499GET_ARRAY 1 R0 R9 R10 R11
500BUILTIN sol R10
501POP R12
502DOM R10 R13
503DOM R12 R14
504INTERSECTION R13 R14 R13
505ISEMPTY R13 R14
506NOT R14 R14
507SIMPLIFY_LIN R10 R12 0 R16 R17 R15
508POST R11
509POST R14
510CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R16 R17 R15
511JMP l143
512l144: JMP l141
513l142: GET_ARRAY 1 R0 R1 R18 R19
514BUILTIN sol R18
515POP R20
516LB R18 R21
517UB R20 R22
518LTI R21 R22 R21
519SIMPLIFY_LIN R18 R20 1 R23 R24 R25
520POST R19
521POST R21
522CALL ROOT f_pre_int_lin_le_d1i_d1vi_i 1 R23 R24 R25
523RET
524:f_min_si:FUN 1
525LENGTH R0 R2
526IMMI 1 R3
527LEI R3 R2 R1
528JMPIF R1 l162
529ABORT
530l162: GET_VEC R0 R3 R1
531PUSH R1
532RET
533:f_min_dTvi:FUN 1
534IMMI 0 R2
535BUILTIN array_Xd R0 R2
536POP R1
537LENGTH R0 R3
538IMMI 1 R4
539LEI R4 R3 R5
540CALL FUN f_min_t_d1vi 1 R1
541POP R6
542PUSH R6
543RET
544:d_min_si:FUN 1
545ISPAR R0 R1
546JMPIF R1 l139
547JMP l140
548l139: TCALL FUN f_min_si 0
549l140: TCALL FUN f_min_dTvi 1
550:f_min_t_d1vi:FUN 1
551IMMI 1 R1
552IMMI 1 R3
553LENGTH R0 R4
554IMMI 0 R5
555EQI R4 R5 R6
556JMPIFNOT R6 l146
557IMMI 0 R3
558MOV R5 R2
559JMP l145
560l146: EQI R4 R1 R7
561JMPIFNOT R7 l147
562GET_ARRAY 1 R0 R1 R8 R9
563MOV R9 R3
564MOV R8 R2
565JMP l145
566l147: IMMI 2 R10
567EQI R4 R10 R11
568JMPIFNOT R11 l148
569GET_ARRAY 1 R0 R1 R12 R13
570GET_ARRAY 1 R0 R10 R14 R15
571CALL FUN d_min_i_i 1 R12 R14
572POP R16
573IMMI 0 R17
574JMPIFNOT R13 l153
575MOV R15 R17
576l153: MOV R17 R3
577MOV R16 R2
578JMP l145
579l148: OPEN_AGGREGATION OTHER
580 BUILTIN infinity R1
581 POP R18
582 ITER_ARRAY R0 l156
583 l155: ITER_NEXT R21
584 LB R21 R19
585 LTI R19 R18 R20
586 JMPIFNOT R20 l154
587 MOV R19 R18
588 l154: JMP l155
589 l156: BUILTIN infinity R5
590 POP R22
591 ITER_ARRAY R0 l159
592 l158: ITER_NEXT R25
593 UB R25 R23
594 LTI R22 R23 R24
595 JMPIFNOT R24 l157
596 MOV R23 R22
597 l157: JMP l158
598 l159: OPEN_AGGREGATION VEC
599 PUSH R18
600 PUSH R22
601 CLOSE_AGGREGATION
602 POP R26
603 CALL ROOT mk_intvar 0 R26
604 POP R27
605 CALL ROOT array_int_minimum 1 R27 R0
606 PUSH R27
607 CLEAR R18 R27
608CLOSE_AGGREGATION
609POP R18
610IMMI 0 R3
611MOV R18 R2
612l145: PUSH R2
613RET
614:f_min_t_t:FUN 2
615IMMI 1 R2
616IMMI 1 R4
617LTI R0 R1 R5
618JMPIFNOT R5 l161
619IMMI 0 R4
620MOV R0 R3
621JMP l160
622l161: IMMI 0 R4
623MOV R1 R3
624l160: PUSH R3
625RET
626:f_min_vi_vi:FUN 2
627OPEN_AGGREGATION OTHER
628 LB R0 R2
629 LB R1 R3
630 CALL FUN d_min_i_i 0 R2 R3
631 POP R4
632 UB R0 R5
633 UB R1 R6
634 CALL FUN d_min_i_i 0 R5 R6
635 POP R7
636 OPEN_AGGREGATION VEC
637 PUSH R4
638 PUSH R7
639 CLOSE_AGGREGATION
640 POP R8
641 CALL ROOT mk_intvar 0 R8
642 POP R9
643 CALL ROOT int_min 1 R0 R1 R9
644 PUSH R9
645 CLEAR R2 R9
646CLOSE_AGGREGATION
647POP R2
648PUSH R2
649RET
650:d_min_i_i:FUN 2
651ISPAR R0 R2
652JMPIF R2 l149
653JMP l150
654l149: ISPAR R1 R2
655JMPIF R2 l151
656JMP l152
657l150: JMP l152
658l151: TCALL FUN f_min_t_t 0
659l152: TCALL FUN f_min_vi_vi 1
660:array_int_minimum:ROOT 2
661:int_min:ROOT 3
662:f_max_t_d1vi:FUN 1
663IMMI 1 R1
664IMMI 1 R3
665LENGTH R0 R4
666IMMI 0 R5
667EQI R4 R5 R6
668JMPIFNOT R6 l164
669IMMI 0 R3
670MOV R5 R2
671JMP l163
672l164: EQI R4 R1 R7
673JMPIFNOT R7 l165
674BUILTIN index_set R0 R1
675POP R8
676CALL FUN d_min_si 0 R8
677POP R9
678GET_ARRAY 1 R0 R9 R10 R11
679MOV R11 R3
680MOV R10 R2
681JMP l163
682l165: IMMI 2 R12
683EQI R4 R12 R13
684JMPIFNOT R13 l166
685GET_ARRAY 1 R0 R1 R14 R15
686GET_ARRAY 1 R0 R12 R16 R17
687CALL FUN d_max_i_i 0 R14 R16
688POP R18
689IMMI 0 R19
690JMPIFNOT R15 l167
691MOV R17 R19
692l167: MOV R19 R3
693MOV R18 R2
694JMP l163
695l166: OPEN_AGGREGATION OTHER
696 BUILTIN infinity R1
697 POP R20
698 ITER_ARRAY R0 l170
699 l169: ITER_NEXT R23
700 LB R23 R21
701 LTI R21 R20 R22
702 JMPIFNOT R22 l168
703 MOV R21 R20
704 l168: JMP l169
705 l170: BUILTIN infinity R5
706 POP R24
707 ITER_ARRAY R0 l173
708 l172: ITER_NEXT R27
709 UB R27 R25
710 LTI R24 R25 R26
711 JMPIFNOT R26 l171
712 MOV R25 R24
713 l171: JMP l172
714 l173: OPEN_AGGREGATION VEC
715 PUSH R20
716 PUSH R24
717 CLOSE_AGGREGATION
718 POP R28
719 CALL ROOT mk_intvar 0 R28
720 POP R29
721 CALL ROOT array_int_maximum 1 R29 R0
722 PUSH R29
723 CLEAR R20 R29
724CLOSE_AGGREGATION
725POP R20
726IMMI 0 R3
727MOV R20 R2
728l163: PUSH R2
729RET
730:array_int_maximum:ROOT 2
731:clause:ROOT 2
732:clause:ROOT 2
733:d_clause_d1b_d1b:ROOT 2
734ISPAR R0 R2
735JMPIF R2 l191
736JMP l192
737l191: ISPAR R1 R2
738JMPIF R2 l193
739JMP l194
740l192: JMP l194
741l193: TCALL ROOT clause 1
742l194: TCALL ROOT clause 1
743:bool_not:ROOT 2
744:main:ROOT 0
745OPEN_AGGREGATION OTHER
746 IMMI 1 R0
747 LOAD_GLOBAL 0 R1
748 OPEN_AGGREGATION VEC
749 PUSH R0
750 PUSH R1
751 CLOSE_AGGREGATION
752 POP R2
753 STORE_GLOBAL R2 3
754 LOAD_GLOBAL 1 R3
755 OPEN_AGGREGATION VEC
756 PUSH R0
757 PUSH R3
758 CLOSE_AGGREGATION
759 POP R4
760 STORE_GLOBAL R4 4
761 OPEN_AGGREGATION VEC
762 ITER_ARRAY R2 l3
763 l2: ITER_NEXT R5
764 ITER_NEXT R6
765 ITER_RANGE R5 R6 l5
766 l4: ITER_NEXT R7
767 ITER_ARRAY R4 l7
768 l6: ITER_NEXT R8
769 ITER_NEXT R9
770 ITER_RANGE R8 R9 l9
771 l8: ITER_NEXT R10
772 LOAD_GLOBAL 2 R11
773 GET_ARRAY 2 R11 R7 R10 R12 R13
774 PUSH R12
775 JMP l8
776 l9: JMP l6
777 l7: JMP l4
778 l5: JMP l2
779 l3: CLEAR R5 R13
780 CLOSE_AGGREGATION
781 POP R5
782 IMMI 0 R6
783 ITER_ARRAY R5 l11
784 l10: ITER_NEXT R7
785 ADDI R6 R7 R6
786 JMP l10
787 l11: STORE_GLOBAL R6 5
788 IMMI 0 R8
789 OPEN_AGGREGATION VEC
790 PUSH R8
791 PUSH R6
792 CLOSE_AGGREGATION
793 POP R9
794 CALL ROOT mk_intvar 0 R9
795 POP R10
796 STORE_GLOBAL R10 6
797 MULI R1 R3 R11
798 OPEN_AGGREGATION VEC
799 PUSH R8
800 PUSH R11
801 CLOSE_AGGREGATION
802 POP R12
803 CALL ROOT mk_intvar 0 R12
804 POP R13
805 STORE_GLOBAL R13 7
806 OPEN_AGGREGATION VEC
807 ITER_ARRAY R2 l13
808 l12: ITER_NEXT R14
809 ITER_NEXT R15
810 ITER_RANGE R14 R15 l15
811 l14: ITER_NEXT R16
812 ITER_ARRAY R4 l17
813 l16: ITER_NEXT R17
814 ITER_NEXT R18
815 ITER_RANGE R17 R18 l19
816 l18: ITER_NEXT R19
817 LOAD_GLOBAL 2 R20
818 GET_ARRAY 2 R20 R16 R19 R21 R22
819 PUSH R21
820 JMP l18
821 l19: JMP l16
822 l17: JMP l14
823 l15: JMP l12
824 l13: CLEAR R14 R22
825 CLOSE_AGGREGATION
826 POP R14
827 CALL FUN d_max_d1i 0 R14
828 POP R15
829 STORE_GLOBAL R15 8
830 OPEN_AGGREGATION VEC
831 PUSH R0
832 PUSH R15
833 CLOSE_AGGREGATION
834 POP R16
835 STORE_GLOBAL R16 9
836 OPEN_AGGREGATION VEC
837 ITER_ARRAY R2 l23
838 l22: ITER_NEXT R19
839 ITER_NEXT R20
840 ITER_RANGE R19 R20 l25
841 l24: ITER_NEXT R21
842 ITER_ARRAY R4 l27
843 l26: ITER_NEXT R22
844 ITER_NEXT R23
845 ITER_RANGE R22 R23 l29
846 l28: ITER_NEXT R24
847 ITER_ARRAY R16 l31
848 l30: ITER_NEXT R25
849 ITER_NEXT R26
850 ITER_RANGE R25 R26 l33
851 l32: ITER_NEXT R27
852 CALL ROOT mk_intvar 0 R12
853 JMP l32
854 l33: JMP l30
855 l31: JMP l28
856 l29: JMP l26
857 l27: JMP l24
858 l25: JMP l22
859 l23: CLEAR R19 R27
860 CLOSE_AGGREGATION
861 POP R17
862 OPEN_AGGREGATION VEC
863 GET_VEC R2 R0 R18
864 PUSH R18
865 IMMI 2 R19
866 GET_VEC R2 R19 R18
867 PUSH R18
868 GET_VEC R4 R0 R18
869 PUSH R18
870 GET_VEC R4 R19 R18
871 PUSH R18
872 GET_VEC R16 R0 R18
873 PUSH R18
874 GET_VEC R16 R19 R18
875 PUSH R18
876 CLEAR R19 R19
877 CLOSE_AGGREGATION
878 POP R18
879 BUILTIN array_Xd R17 R18
880 POP R17
881 STORE_GLOBAL R17 10
882 OPEN_AGGREGATION VEC
883 ITER_ARRAY R16 l35
884 l34: ITER_NEXT R21
885 ITER_NEXT R22
886 ITER_RANGE R21 R22 l37
887 l36: ITER_NEXT R23
888 CALL ROOT mk_intvar 0 R12
889 JMP l36
890 l37: JMP l34
891 l35: CLEAR R21 R23
892CLOSE_AGGREGATION
893POP R19
894OPEN_AGGREGATION VEC
895 GET_VEC R16 R0 R20
896 PUSH R20
897 IMMI 2 R21
898 GET_VEC R16 R21 R20
899 PUSH R20
900 CLEAR R21 R21
901CLOSE_AGGREGATION
902POP R20
903BUILTIN array_Xd R19 R20
904POP R19
905STORE_GLOBAL R19 11
906OPEN_AGGREGATION VEC
907 PUSH R10
908 PUSH R13
909CLOSE_AGGREGATION
910POP R21
911CALL ROOT output_this 1 R21
912OPEN_AGGREGATION VEC
913 ITER_ARRAY R16 l39
914 l38: ITER_NEXT R22
915 ITER_NEXT R23
916 ITER_RANGE R22 R23 l41
917 l40: ITER_NEXT R24
918 GET_ARRAY 1 R19 R24 R25 R26
919 CALL FUN d_op_times_i_i 1 R24 R25
920 POP R27
921 PUSH R27
922 JMP l40
923 l41: JMP l38
924 l39: CLEAR R22 R27
925CLOSE_AGGREGATION
926POP R22
927LENGTH R22 R23
928JMPIFNOT R23 l48
929EQI R0 R23 R24
930JMPIF R24 l49
931CALL FUN f_sum_cc_dTvi 1 R22
932POP R24
933JMP l50
934l48: IMMI 0 R24
935JMP l50
936l49: GET_VEC R22 R0 R24
937l50: DOM R10 R25
938DOM R24 R26
939INTERSECTION R25 R26 R25
940ISEMPTY R25 R26
941NOT R26 R26
942SIMPLIFY_LIN R10 R24 0 R28 R29 R27
943OPEN_AGGREGATION VEC
944 ITER_ARRAY R16 l52
945 l51: ITER_NEXT R30
946 ITER_NEXT R31
947 ITER_RANGE R30 R31 l54
948 l53: ITER_NEXT R32
949 GET_ARRAY 1 R19 R32 R33 R34
950 PUSH R33
951 JMP l53
952 l54: JMP l51
953 l52: CLEAR R30 R34
954CLOSE_AGGREGATION
955POP R30
956LENGTH R30 R31
957JMPIFNOT R31 l55
958EQI R0 R31 R32
959JMPIF R32 l56
960CALL FUN f_sum_cc_dTvi 1 R30
961POP R32
962JMP l57
963l55: IMMI 0 R32
964JMP l57
965l56: GET_VEC R30 R0 R32
966l57: DOM R13 R33
967DOM R32 R34
968INTERSECTION R33 R34 R33
969ISEMPTY R33 R34
970NOT R34 R34
971SIMPLIFY_LIN R13 R32 0 R36 R37 R35
972ITER_ARRAY R2 l59
973l58: ITER_NEXT R38
974ITER_NEXT R39
975ITER_RANGE R38 R39 l61
976l60: ITER_NEXT R40
977ITER_ARRAY R4 l63
978l62: ITER_NEXT R41
979ITER_NEXT R42
980ITER_RANGE R41 R42 l65
981l64: ITER_NEXT R43
982LOAD_GLOBAL 2 R44
983GET_ARRAY 2 R44 R40 R43 R45 R46
984OPEN_AGGREGATION VEC
985 ITER_ARRAY R16 l67
986 l66: ITER_NEXT R47
987 ITER_NEXT R48
988 ITER_RANGE R47 R48 l69
989 l68: ITER_NEXT R49
990 GET_ARRAY 3 R17 R40 R43 R49 R50 R51
991 CALL FUN d_op_times_i_i 0 R49 R50
992 POP R52
993 PUSH R52
994 JMP l68
995 l69: JMP l66
996 l67: CLEAR R47 R52
997CLOSE_AGGREGATION
998POP R47
999LENGTH R47 R48
1000JMPIFNOT R48 l70
1001EQI R0 R48 R49
1002JMPIF R49 l71
1003CALL FUN f_sum_cc_dTvi 1 R47
1004POP R49
1005JMP l72
1006l70: IMMI 0 R49
1007JMP l72
1008l71: GET_VEC R47 R0 R49
1009l72: DOM R45 R50
1010DOM R49 R51
1011INTERSECTION R50 R51 R50
1012ISEMPTY R50 R51
1013NOT R51 R51
1014SIMPLIFY_LIN R45 R49 0 R53 R54 R52
1015POST R46
1016POST R51
1017CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R53 R54 R52
1018JMP l64
1019l65: JMP l62
1020l63: JMP l60
1021l61: JMP l58
1022l59: ITER_ARRAY R2 l74
1023l73: ITER_NEXT R55
1024ITER_NEXT R56
1025ITER_RANGE R55 R56 l76
1026l75: ITER_NEXT R57
1027ITER_ARRAY R16 l78
1028l77: ITER_NEXT R58
1029ITER_NEXT R59
1030ITER_RANGE R58 R59 l80
1031l79: ITER_NEXT R60
1032GET_ARRAY 1 R19 R60 R61 R62
1033OPEN_AGGREGATION VEC
1034 ITER_ARRAY R4 l82
1035 l81: ITER_NEXT R63
1036 ITER_NEXT R64
1037 ITER_RANGE R63 R64 l84
1038 l83: ITER_NEXT R65
1039 GET_ARRAY 3 R17 R57 R65 R60 R66 R67
1040 PUSH R66
1041 JMP l83
1042 l84: JMP l81
1043 l82: CLEAR R63 R67
1044CLOSE_AGGREGATION
1045POP R63
1046POST R62
1047CALL ROOT f_upper_bound_on_increments_vi_d1vi 1 R61 R63
1048JMP l79
1049l80: JMP l77
1050l78: JMP l75
1051l76: JMP l73
1052l74: POST R26
1053CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R28 R29 R27
1054POST R34
1055CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R36 R37 R35
1056OPEN_AGGREGATION VEC
1057 PUSH R10
1058CLOSE_AGGREGATION
1059POP R64
1060OPEN_AGGREGATION VEC
1061 ITER_ARRAY R64 l86
1062 l85: ITER_NEXT R66
1063 PUSH R66
1064 JMP l85
1065 l86: ITER_ARRAY R19 l88
1066 l87: ITER_NEXT R67
1067 PUSH R67
1068 JMP l87
1069 l88: CLEAR R66 R67
1070CLOSE_AGGREGATION
1071POP R65
1072OPEN_AGGREGATION VEC
1073 ITER_ARRAY R2 l90
1074 l89: ITER_NEXT R66
1075 ITER_NEXT R67
1076 ITER_RANGE R66 R67 l92
1077 l91: ITER_NEXT R68
1078 ITER_ARRAY R4 l94
1079 l93: ITER_NEXT R69
1080 ITER_NEXT R70
1081 ITER_RANGE R69 R70 l96
1082 l95: ITER_NEXT R71
1083 ITER_ARRAY R16 l98
1084 l97: ITER_NEXT R72
1085 ITER_NEXT R73
1086 ITER_RANGE R72 R73 l100
1087 l99: ITER_NEXT R74
1088 GET_ARRAY 3 R17 R68 R71 R74 R75 R76
1089 PUSH R75
1090 JMP l99
1091 l100: JMP l97
1092 l98: JMP l95
1093 l96: JMP l93
1094 l94: JMP l91
1095 l92: JMP l89
1096 l90: CLEAR R66 R76
1097CLOSE_AGGREGATION
1098POP R66
1099OPEN_AGGREGATION VEC
1100 ITER_ARRAY R65 l102
1101 l101: ITER_NEXT R68
1102 PUSH R68
1103 JMP l101
1104 l102: ITER_ARRAY R66 l104
1105 l103: ITER_NEXT R69
1106 PUSH R69
1107 JMP l103
1108 l104: CLEAR R68 R69
1109CLOSE_AGGREGATION
1110POP R67
1111CALL ROOT solve_this 1 R8 R8 R67 R0 R0
1112CLEAR R0 R67
1113RET