this repo has no description
1int: w1:: global_register(11);
2array [int] of set of int: courses_of:: global_register(3);
3int: n_precedences:: global_register(4);
4int: max_courses:: global_register(7);
5int: w2:: global_register(12);
6array [int,int] of int: undesirable:: global_register(10);
7int: n_curricula:: global_register(2);
8array [int,int] of int: precedes:: global_register(5);
9array [int] of int: course_load:: global_register(8);
10int: n_undesirables:: global_register(9);
11int: n_periods:: global_register(1);
12int: min_courses:: global_register(6);
13int: n_courses:: global_register(0);
14predicate solve_this(int: mode,var int: objective,array [int] of var int: x,int: varsel,int: valsel);
15predicate int_plus(var int: a,var int: b,var int: c);
16predicate int_max(var int: a,var int: b,var int: c);
17predicate int_minus(var int: x,var int: y,var int: z);
18predicate gecode_bin_packing_load(array [int] of var int: l,array [int] of var int: bin,array [int] of int: w,int: minIndex);
19predicate array_int_minimum(var int: m,array [int] of var int: x);
20predicate int_min(var int: a,var int: b,var int: c);
21predicate int_lin_le(array [int] of int: as,array [int] of var int: bs,int: c);
22predicate fzn_global_cardinality_low_up_closed(array [int] of var int: x,array [int] of int: cover,array [int] of int: lbound,array [int] of int: ubound);
23predicate output_this(array [int] of var int: arr);
24predicate int_lin_eq_reif(array [int] of int: as,array [int] of var int: bs,int: c,var bool: r);
25predicate array_int_maximum(var int: m,array [int] of var int: x);
26predicate int_times(var int: a,var int: b,var int: c);
27predicate int_sum(array [int] of var int: xs,var int: x);
28predicate int_lin_eq(array [int] of int: as,array [int] of var int: bs,int: c);
29predicate clause(array [$T] of var bool: x,array [$T] of var bool: y);
30predicate clause(array [$T] of bool: x,array [$T] of bool: y);
31predicate bool_clause(array [int] of var bool: as,array [int] of var bool: bs);
32predicate bool_not(var bool: a,var bool: b);
33@@@@@@@@@@
34:mk_intvar: 1
35:absent: 1
36:infinity: 1
37:boolean_domain: 0
38:infinite_domain: 0
39:uniform: 2
40:sol: 1
41:sort_by: 2
42:floor: 1
43:ceil: 1
44:slice_Xd: 3
45:array_Xd: 2
46:index_set: 2
47:internal_sort: 1
48:f_op_not_b:FUN 1
49NOT R0 R1
50PUSH R1
51RET
52:f_op_not_vb:FUN 1
53OPEN_AGGREGATION OTHER
54 BUILTIN boolean_domain
55 POP R1
56 CALL ROOT mk_intvar 0 R1
57 POP R2
58 CALL ROOT bool_not 1 R0 R2
59 PUSH R2
60 CLEAR R1 R2
61CLOSE_AGGREGATION
62POP R1
63PUSH R1
64RET
65:d_op_not_b:FUN 1
66ISPAR R0 R1
67JMPIF R1 l0
68JMP l1
69l0: TCALL FUN f_op_not_b 0
70l1: TCALL FUN f_op_not_vb 1
71:bool_clause:ROOT 2
72:bool_clause_reif:ROOT 3
73CALL FUN d_op_not_b 0 R2
74POP R3
75OPEN_AGGREGATION VEC
76 PUSH R3
77CLOSE_AGGREGATION
78POP R4
79OPEN_AGGREGATION VEC
80 ITER_ARRAY R1 l217
81 l216: ITER_NEXT R6
82 PUSH R6
83 JMP l216
84 l217: ITER_ARRAY R4 l219
85 l218: ITER_NEXT R7
86 PUSH R7
87 JMP l218
88 l219: CLEAR R6 R7
89CLOSE_AGGREGATION
90POP R5
91IMMI 1 R6
92BUILTIN index_set R0 R6
93POP R7
94ITER_ARRAY R7 l221
95l220: ITER_NEXT R8
96ITER_NEXT R9
97ITER_RANGE R8 R9 l223
98l222: ITER_NEXT R10
99GET_ARRAY 1 R0 R10 R11 R12
100OPEN_AGGREGATION OR
101 IMMI 0 R14
102 JMPIFNOT R12 l224
103 MOV R11 R14
104 l224: PUSH R14
105 PUSH R3
106 CLEAR R14 R14
107CLOSE_AGGREGATION
108POP R13
109POST R13
110JMP l222
111l223: JMP l220
112l221: IMMI 1 R14
113BUILTIN index_set R1 R14
114POP R15
115ITER_ARRAY R15 l226
116l225: ITER_NEXT R16
117ITER_NEXT R17
118ITER_RANGE R16 R17 l228
119l227: ITER_NEXT R18
120GET_ARRAY 1 R1 R18 R19 R20
121IMMI 1 R21
122NOT R20 R22
123JMPIF R22 l229
124OPEN_AGGREGATION OR
125 CALL FUN d_op_not_b 0 R19
126 POP R23
127 PUSH R23
128 PUSH R3
129 CLEAR R23 R23
130CLOSE_AGGREGATION
131POP R21
132l229: POST R21
133JMP l227
134l228: JMP l225
135l226: CALL ROOT d_clause_d1b_d1b 1 R0 R5
136RET
137:int_lin_eq:ROOT 3
138:int_lin_eq:FUN 3
139OPEN_AGGREGATION OTHER
140 BUILTIN boolean_domain
141 POP R3
142 CALL ROOT mk_intvar 0 R3
143 POP R4
144 CALL ROOT int_lin_eq_reif 1 R0 R1 R2 R4
145 PUSH R4
146 CLEAR R3 R4
147CLOSE_AGGREGATION
148POP R3
149PUSH R3
150RET
151:f_pre_int_lin_eq_d1i_d1vi_i:ROOT 3
152LENGTH R0 R4
153IMMI 0 R5
154EQI R4 R5 R6
155JMPIFNOT R6 l148
156EQI R2 R5 R7
157MOV R7 R3
158JMP l147
159l148: CALL ROOT int_lin_eq 1 R0 R1 R2
160IMMI 1 R8
161MOV R8 R3
162l147: POST R3
163RET
164:f_pre_int_lin_eq_d1i_d1vi_i:FUN 3
165LENGTH R0 R4
166IMMI 0 R5
167EQI R4 R5 R6
168JMPIFNOT R6 l215
169EQI R2 R5 R7
170MOV R7 R3
171JMP l214
172l215: CALL FUN int_lin_eq 1 R0 R1 R2
173POP R8
174MOV R8 R3
175l214: PUSH R3
176RET
177:f_pre_int_lin_eq_d1i_d1vi_i:IMP 3
178LENGTH R0 R4
179IMMI 0 R5
180EQI R4 R5 R6
181JMPIFNOT R6 l183
182EQI R2 R5 R7
183MOV R7 R3
184JMP l182
185l183: CALL FUN int_lin_eq 1 R0 R1 R2
186POP R8
187MOV R8 R3
188l182: PUSH R3
189RET
190:f_sum_cc_dTvi:FUN 1
191OPEN_AGGREGATION OTHER
192 IMMI 0 R2
193 BUILTIN array_Xd R0 R2
194 POP R1
195 BUILTIN infinite_domain
196 POP R3
197 CALL ROOT mk_intvar 0 R3
198 POP R4
199 CALL ROOT int_sum 1 R1 R4
200 PUSH R4
201 CLEAR R1 R4
202CLOSE_AGGREGATION
203POP R1
204PUSH R1
205RET
206:f_op_times_i_i:FUN 2
207MULI R0 R1 R2
208PUSH R2
209RET
210:f_op_times_i_vi:FUN 2
211IMMI 1 R2
212IMMI 1 R4
213EQI R0 R2 R5
214JMPIFNOT R5 l213
215IMMI 0 R4
216MOV R1 R3
217JMP l212
218l213: OPEN_AGGREGATION OTHER
219 BUILTIN infinite_domain
220 POP R6
221 CALL ROOT mk_intvar 0 R6
222 POP R7
223 CALL ROOT int_times 1 R0 R1 R7
224 PUSH R7
225 CLEAR R6 R7
226CLOSE_AGGREGATION
227POP R6
228IMMI 0 R4
229MOV R6 R3
230l212: PUSH R3
231RET
232:f_op_times_vi_i:FUN 2
233CALL FUN d_op_times_i_i 0 R1 R0
234POP R2
235PUSH R2
236RET
237:f_op_times_vi_vi:FUN 2
238OPEN_AGGREGATION OTHER
239 BUILTIN infinite_domain
240 POP R2
241 CALL ROOT mk_intvar 0 R2
242 POP R3
243 CALL ROOT int_times 1 R0 R1 R3
244 PUSH R3
245 CLEAR R2 R3
246CLOSE_AGGREGATION
247POP R2
248PUSH R2
249RET
250:d_op_times_i_i:FUN 2
251ISPAR R0 R2
252JMPIF R2 l69
253JMP l70
254l69: ISPAR R1 R2
255JMPIF R2 l71
256JMP l72
257l70: ISPAR R1 R2
258JMPIF R2 l73
259JMP l74
260l71: TCALL FUN f_op_times_i_i 0
261l72: TCALL FUN f_op_times_i_vi 1
262l73: TCALL FUN f_op_times_vi_i 1
263l74: TCALL FUN f_op_times_vi_vi 1
264:f_LNS_i:ROOT 1
265LOAD_GLOBAL 16 R1
266BUILTIN sol R1
267POP R2
268LB R1 R3
269UB R2 R4
270LTI R3 R4 R3
271SIMPLIFY_LIN R1 R2 1 R5 R6 R7
272IMMI 0 R9
273EQI R0 R9 R10
274JMPIFNOT R10 l176
275CALL ROOT f_free_period 1
276IMMI 1 R11
277MOV R11 R8
278JMP l175
279l176: CALL ROOT f_random_allocation 1
280IMMI 1 R12
281MOV R12 R8
282l175: POST R3
283CALL ROOT f_pre_int_lin_le_d1i_d1vi_i 1 R5 R6 R7
284POST R8
285RET
286:output_this:ROOT 1
287:f_global_cardinality_low_up_closed_d1vi_d1i_d1i_d1i:ROOT 4
288CALL ROOT fzn_global_cardinality_low_up_closed 1 R0 R1 R2 R3
289RET
290:f_pre_int_lin_le_d1i_d1vi_i:ROOT 3
291LENGTH R0 R4
292IMMI 0 R5
293EQI R4 R5 R6
294JMPIFNOT R6 l174
295LEI R5 R2 R7
296MOV R7 R3
297JMP l173
298l174: CALL ROOT int_lin_le 1 R0 R1 R2
299IMMI 1 R8
300MOV R8 R3
301l173: POST R3
302RET
303:f_bin_packing_load_d1vi_d1vi_d1i:ROOT 3
304CALL ROOT f_fzn_bin_packing_load_d1vi_d1vi_d1i 1 R0 R1 R2
305RET
306:f_op_minus_i_i:FUN 2
307SUBI R0 R1 R2
308PUSH R2
309RET
310:f_op_minus_vi_i:FUN 2
311IMMI 1 R2
312IMMI 1 R4
313IMMI 0 R5
314EQI R1 R5 R6
315JMPIFNOT R6 l152
316IMMI 0 R4
317MOV R0 R3
318JMP l151
319l152: OPEN_AGGREGATION OTHER
320 BUILTIN infinite_domain
321 POP R7
322 CALL ROOT mk_intvar 0 R7
323 POP R8
324 CALL ROOT int_minus 1 R0 R1 R8
325 PUSH R8
326 CLEAR R7 R8
327CLOSE_AGGREGATION
328POP R7
329IMMI 0 R4
330MOV R7 R3
331l151: PUSH R3
332RET
333:f_op_minus_vi_vi:FUN 2
334OPEN_AGGREGATION OTHER
335 BUILTIN infinite_domain
336 POP R2
337 CALL ROOT mk_intvar 0 R2
338 POP R3
339 CALL ROOT int_minus 1 R0 R1 R3
340 PUSH R3
341 CLEAR R2 R3
342CLOSE_AGGREGATION
343POP R2
344PUSH R2
345RET
346:d_op_minus_i_i:FUN 2
347ISPAR R0 R2
348JMPIF R2 l130
349JMP l131
350l130: ISPAR R1 R2
351JMPIF R2 l132
352JMP l133
353l131: ISPAR R1 R2
354JMPIF R2 l134
355JMP l133
356l132: TCALL FUN f_op_minus_i_i 0
357l133: TCALL FUN f_op_minus_vi_vi 1
358l134: TCALL FUN f_op_minus_vi_i 1
359:f_max_t_t:FUN 2
360IMMI 1 R2
361IMMI 1 R4
362LTI R1 R0 R5
363JMPIFNOT R5 l150
364IMMI 0 R4
365MOV R0 R3
366JMP l149
367l150: IMMI 0 R4
368MOV R1 R3
369l149: PUSH R3
370RET
371:f_max_vi_vi:FUN 2
372OPEN_AGGREGATION OTHER
373 LB R0 R2
374 LB R1 R3
375 CALL FUN d_max_i_i 0 R2 R3
376 POP R4
377 UB R0 R5
378 UB R1 R6
379 CALL FUN d_max_i_i 0 R5 R6
380 POP R7
381 OPEN_AGGREGATION VEC
382 PUSH R4
383 PUSH R7
384 CLOSE_AGGREGATION
385 POP R8
386 CALL ROOT mk_intvar 0 R8
387 POP R9
388 CALL ROOT int_max 1 R0 R1 R9
389 PUSH R9
390 CLEAR R2 R9
391CLOSE_AGGREGATION
392POP R2
393PUSH R2
394RET
395:d_max_i_i:FUN 2
396ISPAR R0 R2
397JMPIF R2 l135
398JMP l136
399l135: ISPAR R1 R2
400JMPIF R2 l137
401JMP l138
402l136: JMP l138
403l137: TCALL FUN f_max_t_t 0
404l138: TCALL FUN f_max_vi_vi 1
405:f_op_plus_i_i:FUN 2
406ADDI R0 R1 R2
407PUSH R2
408RET
409:f_op_plus_i_vi:FUN 2
410IMMI 1 R2
411IMMI 1 R4
412IMMI 0 R5
413EQI R0 R5 R6
414JMPIFNOT R6 l146
415IMMI 0 R4
416MOV R1 R3
417JMP l145
418l146: OPEN_AGGREGATION OTHER
419 BUILTIN infinite_domain
420 POP R7
421 CALL ROOT mk_intvar 0 R7
422 POP R8
423 CALL ROOT int_plus 1 R0 R1 R8
424 PUSH R8
425 CLEAR R7 R8
426CLOSE_AGGREGATION
427POP R7
428IMMI 0 R4
429MOV R7 R3
430l145: PUSH R3
431RET
432:f_op_plus_vi_i:FUN 2
433CALL FUN d_op_plus_i_i 0 R1 R0
434POP R2
435PUSH R2
436RET
437:f_op_plus_vi_vi:FUN 2
438OPEN_AGGREGATION OTHER
439 BUILTIN infinite_domain
440 POP R2
441 CALL ROOT mk_intvar 0 R2
442 POP R3
443 CALL ROOT int_plus 1 R0 R1 R3
444 PUSH R3
445 CLEAR R2 R3
446CLOSE_AGGREGATION
447POP R2
448PUSH R2
449RET
450:d_op_plus_i_i:FUN 2
451ISPAR R0 R2
452JMPIF R2 l139
453JMP l140
454l139: ISPAR R1 R2
455JMPIF R2 l141
456JMP l142
457l140: ISPAR R1 R2
458JMPIF R2 l143
459JMP l144
460l141: TCALL FUN f_op_plus_i_i 0
461l142: TCALL FUN f_op_plus_i_vi 1
462l143: TCALL FUN f_op_plus_vi_i 1
463l144: TCALL FUN f_op_plus_vi_vi 1
464:solve_this:ROOT 5
465:int_plus:ROOT 3
466:int_max:ROOT 3
467:int_minus:ROOT 3
468:f_fzn_bin_packing_load_d1vi_d1vi_d1i:ROOT 3
469IMMI 1 R3
470BUILTIN index_set R0 R3
471POP R4
472CALL FUN d_min_si 0 R4
473POP R5
474CALL ROOT gecode_bin_packing_load 1 R0 R1 R2 R5
475RET
476:f_min_si:FUN 1
477LENGTH R0 R2
478IMMI 1 R3
479LEI R3 R2 R1
480JMPIF R1 l172
481ABORT
482l172: GET_VEC R0 R3 R1
483PUSH R1
484RET
485:f_min_dTvi:FUN 1
486IMMI 0 R2
487BUILTIN array_Xd R0 R2
488POP R1
489LENGTH R0 R3
490IMMI 1 R4
491LEI R4 R3 R5
492CALL FUN f_min_t_d1vi 1 R1
493POP R6
494PUSH R6
495RET
496:d_min_si:FUN 1
497ISPAR R0 R1
498JMPIF R1 l153
499JMP l154
500l153: TCALL FUN f_min_si 0
501l154: TCALL FUN f_min_dTvi 1
502:gecode_bin_packing_load:ROOT 4
503:f_min_t_d1vi:FUN 1
504IMMI 1 R1
505IMMI 1 R3
506LENGTH R0 R4
507IMMI 0 R5
508EQI R4 R5 R6
509JMPIFNOT R6 l156
510IMMI 0 R3
511MOV R5 R2
512JMP l155
513l156: EQI R4 R1 R7
514JMPIFNOT R7 l157
515GET_ARRAY 1 R0 R1 R8 R9
516MOV R9 R3
517MOV R8 R2
518JMP l155
519l157: IMMI 2 R10
520EQI R4 R10 R11
521JMPIFNOT R11 l158
522GET_ARRAY 1 R0 R1 R12 R13
523GET_ARRAY 1 R0 R10 R14 R15
524CALL FUN d_min_i_i 1 R12 R14
525POP R16
526IMMI 0 R17
527JMPIFNOT R13 l163
528MOV R15 R17
529l163: MOV R17 R3
530MOV R16 R2
531JMP l155
532l158: OPEN_AGGREGATION OTHER
533 BUILTIN infinity R1
534 POP R18
535 ITER_ARRAY R0 l166
536 l165: ITER_NEXT R21
537 LB R21 R19
538 LTI R19 R18 R20
539 JMPIFNOT R20 l164
540 MOV R19 R18
541 l164: JMP l165
542 l166: BUILTIN infinity R5
543 POP R22
544 ITER_ARRAY R0 l169
545 l168: ITER_NEXT R25
546 UB R25 R23
547 LTI R22 R23 R24
548 JMPIFNOT R24 l167
549 MOV R23 R22
550 l167: JMP l168
551 l169: OPEN_AGGREGATION VEC
552 PUSH R18
553 PUSH R22
554 CLOSE_AGGREGATION
555 POP R26
556 CALL ROOT mk_intvar 0 R26
557 POP R27
558 CALL ROOT array_int_minimum 1 R27 R0
559 PUSH R27
560 CLEAR R18 R27
561CLOSE_AGGREGATION
562POP R18
563IMMI 0 R3
564MOV R18 R2
565l155: PUSH R2
566RET
567:f_min_t_t:FUN 2
568IMMI 1 R2
569IMMI 1 R4
570LTI R0 R1 R5
571JMPIFNOT R5 l171
572IMMI 0 R4
573MOV R0 R3
574JMP l170
575l171: IMMI 0 R4
576MOV R1 R3
577l170: PUSH R3
578RET
579:f_min_vi_vi:FUN 2
580OPEN_AGGREGATION OTHER
581 LB R0 R2
582 LB R1 R3
583 CALL FUN d_min_i_i 0 R2 R3
584 POP R4
585 UB R0 R5
586 UB R1 R6
587 CALL FUN d_min_i_i 0 R5 R6
588 POP R7
589 OPEN_AGGREGATION VEC
590 PUSH R4
591 PUSH R7
592 CLOSE_AGGREGATION
593 POP R8
594 CALL ROOT mk_intvar 0 R8
595 POP R9
596 CALL ROOT int_min 1 R0 R1 R9
597 PUSH R9
598 CLEAR R2 R9
599CLOSE_AGGREGATION
600POP R2
601PUSH R2
602RET
603:d_min_i_i:FUN 2
604ISPAR R0 R2
605JMPIF R2 l159
606JMP l160
607l159: ISPAR R1 R2
608JMPIF R2 l161
609JMP l162
610l160: JMP l162
611l161: TCALL FUN f_min_t_t 0
612l162: TCALL FUN f_min_vi_vi 1
613:array_int_minimum:ROOT 2
614:int_min:ROOT 3
615:int_lin_le:ROOT 3
616:fzn_global_cardinality_low_up_closed:ROOT 4
617:f_free_period:ROOT 0
618LOAD_GLOBAL 14 R0
619CALL FUN f_uniform_set_si 0 R0
620POP R1
621LOAD_GLOBAL 13 R2
622ITER_ARRAY R2 l185
623l184: ITER_NEXT R3
624ITER_NEXT R4
625ITER_RANGE R3 R4 l187
626l186: ITER_NEXT R5
627LOAD_GLOBAL 15 R7
628GET_ARRAY 1 R7 R5 R8 R9
629BUILTIN sol R8
630POP R6
631EQI R6 R1 R10
632NOT R10 R10
633IMMI 0 R11
634JMPIFNOT R9 l188
635MOV R10 R11
636l188: DOM R8 R12
637DOM R6 R13
638INTERSECTION R12 R13 R12
639ISEMPTY R12 R13
640NOT R13 R13
641SIMPLIFY_LIN R8 R6 0 R15 R16 R14
642IMMI 1 R17
643JMPIF R11 l189
644NOT R9 R18
645JMPIF R18 l189
646NOT R13 R19
647JMPIF R19 l189
648CALL IMP f_pre_int_lin_eq_d1i_d1vi_i 1 R15 R16 R14
649POP R20
650MOV R20 R17
651l189: POST R17
652JMP l186
653l187: JMP l184
654l185: RET
655:f_random_allocation:ROOT 0
656LOAD_GLOBAL 13 R0
657ITER_ARRAY R0 l178
658l177: ITER_NEXT R1
659ITER_NEXT R2
660ITER_RANGE R1 R2 l180
661l179: ITER_NEXT R3
662IMMI 1 R5
663IMMI 100 R6
664BUILTIN uniform R5 R6
665POP R4
666IMMI 80 R7
667LTI R4 R7 R8
668LOAD_GLOBAL 15 R9
669GET_ARRAY 1 R9 R3 R10 R11
670BUILTIN sol R10
671POP R12
672DOM R10 R13
673DOM R12 R14
674INTERSECTION R13 R14 R13
675ISEMPTY R13 R14
676NOT R14 R14
677SIMPLIFY_LIN R10 R12 0 R16 R17 R15
678IMMI 1 R18
679JMPIF R8 l181
680NOT R11 R19
681JMPIF R19 l181
682NOT R14 R20
683JMPIF R20 l181
684CALL IMP f_pre_int_lin_eq_d1i_d1vi_i 1 R16 R17 R15
685POP R21
686MOV R21 R18
687l181: POST R18
688JMP l179
689l180: JMP l177
690l178: RET
691:int_lin_eq_reif:ROOT 4
692:f_uniform_set_si:FUN 1
693IMMI 1 R1
694IMMI 1 R3
695IMMI 0 R4
696IMMI 1 R5
697LENGTH R0 R6
698LTI R5 R6 R7
699JMPIFNOT R7 l192
700l191: INCI R4
701GET_VEC R0 R5 R7
702SUBI R4 R7 R4
703INCI R5
704GET_VEC R0 R5 R7
705INCI R5
706ADDI R4 R7 R4
707LTI R5 R6 R7
708JMPIF R7 l191
709l192: CALL FUN d_max_si 0 R0
710POP R8
711CALL FUN d_min_si 0 R0
712POP R9
713SUBI R8 R9 R10
714ADDI R10 R1 R11
715EQI R4 R11 R12
716JMPIFNOT R12 l195
717BUILTIN uniform R9 R8
718POP R13
719IMMI 0 R3
720MOV R13 R2
721JMP l190
722l195: BUILTIN uniform R1 R4
723POP R14
724OPEN_AGGREGATION VEC
725 ITER_ARRAY R0 l197
726 l196: ITER_NEXT R15
727 ITER_NEXT R16
728 ITER_RANGE R15 R16 l199
729 l198: ITER_NEXT R17
730 PUSH R17
731 JMP l198
732 l199: JMP l196
733 l197: CLEAR R15 R17
734CLOSE_AGGREGATION
735POP R15
736GET_ARRAY 1 R15 R14 R16 R17
737MOV R17 R3
738MOV R16 R2
739l190: PUSH R2
740RET
741:f_max_si:FUN 1
742LENGTH R0 R2
743IMMI 0 R3
744LEI R3 R2 R1
745JMPIF R1 l211
746ABORT
747l211: GET_VEC R0 R2 R1
748PUSH R1
749RET
750:f_max_dTvi:FUN 1
751IMMI 0 R2
752BUILTIN array_Xd R0 R2
753POP R1
754LENGTH R0 R3
755IMMI 1 R4
756LEI R4 R3 R5
757CALL FUN f_max_t_d1vi 1 R1
758POP R6
759PUSH R6
760RET
761:d_max_si:FUN 1
762ISPAR R0 R1
763JMPIF R1 l193
764JMP l194
765l193: TCALL FUN f_max_si 0
766l194: TCALL FUN f_max_dTvi 1
767:f_max_t_d1vi:FUN 1
768IMMI 1 R1
769IMMI 1 R3
770LENGTH R0 R4
771IMMI 0 R5
772EQI R4 R5 R6
773JMPIFNOT R6 l201
774IMMI 0 R3
775MOV R5 R2
776JMP l200
777l201: EQI R4 R1 R7
778JMPIFNOT R7 l202
779BUILTIN index_set R0 R1
780POP R8
781CALL FUN d_min_si 0 R8
782POP R9
783GET_ARRAY 1 R0 R9 R10 R11
784MOV R11 R3
785MOV R10 R2
786JMP l200
787l202: IMMI 2 R12
788EQI R4 R12 R13
789JMPIFNOT R13 l203
790GET_ARRAY 1 R0 R1 R14 R15
791GET_ARRAY 1 R0 R12 R16 R17
792CALL FUN d_max_i_i 0 R14 R16
793POP R18
794IMMI 0 R19
795JMPIFNOT R15 l204
796MOV R17 R19
797l204: MOV R19 R3
798MOV R18 R2
799JMP l200
800l203: OPEN_AGGREGATION OTHER
801 BUILTIN infinity R1
802 POP R20
803 ITER_ARRAY R0 l207
804 l206: ITER_NEXT R23
805 LB R23 R21
806 LTI R21 R20 R22
807 JMPIFNOT R22 l205
808 MOV R21 R20
809 l205: JMP l206
810 l207: BUILTIN infinity R5
811 POP R24
812 ITER_ARRAY R0 l210
813 l209: ITER_NEXT R27
814 UB R27 R25
815 LTI R24 R25 R26
816 JMPIFNOT R26 l208
817 MOV R25 R24
818 l208: JMP l209
819 l210: OPEN_AGGREGATION VEC
820 PUSH R20
821 PUSH R24
822 CLOSE_AGGREGATION
823 POP R28
824 CALL ROOT mk_intvar 0 R28
825 POP R29
826 CALL ROOT array_int_maximum 1 R29 R0
827 PUSH R29
828 CLEAR R20 R29
829CLOSE_AGGREGATION
830POP R20
831IMMI 0 R3
832MOV R20 R2
833l200: PUSH R2
834RET
835:array_int_maximum:ROOT 2
836:int_times:ROOT 3
837:int_sum:ROOT 2
838:clause:ROOT 2
839:clause:ROOT 2
840:d_clause_d1b_d1b:ROOT 2
841ISPAR R0 R2
842JMPIF R2 l230
843JMP l231
844l230: ISPAR R1 R2
845JMPIF R2 l232
846JMP l233
847l231: JMP l233
848l232: TCALL ROOT clause 1
849l233: TCALL ROOT clause 1
850:bool_not:ROOT 2
851:main:ROOT 0
852OPEN_AGGREGATION OTHER
853 IMMI 1 R0
854 LOAD_GLOBAL 0 R1
855 OPEN_AGGREGATION VEC
856 PUSH R0
857 PUSH R1
858 CLOSE_AGGREGATION
859 POP R2
860 STORE_GLOBAL R2 13
861 LOAD_GLOBAL 1 R3
862 OPEN_AGGREGATION VEC
863 PUSH R0
864 PUSH R3
865 CLOSE_AGGREGATION
866 POP R4
867 STORE_GLOBAL R4 14
868 OPEN_AGGREGATION VEC
869 ITER_ARRAY R2 l3
870 l2: ITER_NEXT R7
871 ITER_NEXT R8
872 ITER_RANGE R7 R8 l5
873 l4: ITER_NEXT R9
874 CALL ROOT mk_intvar 0 R4
875 JMP l4
876 l5: JMP l2
877 l3: CLEAR R7 R9
878 CLOSE_AGGREGATION
879 POP R5
880 OPEN_AGGREGATION VEC
881 GET_VEC R2 R0 R6
882 PUSH R6
883 IMMI 2 R7
884 GET_VEC R2 R7 R6
885 PUSH R6
886 CLEAR R7 R7
887 CLOSE_AGGREGATION
888 POP R6
889 BUILTIN array_Xd R5 R6
890 POP R5
891 STORE_GLOBAL R5 15
892 BUILTIN infinite_domain
893 POP R7
894 CALL ROOT mk_intvar 0 R7
895 POP R8
896 STORE_GLOBAL R8 16
897 LOAD_GLOBAL 2 R9
898 OPEN_AGGREGATION VEC
899 PUSH R0
900 PUSH R9
901 CLOSE_AGGREGATION
902 POP R10
903 STORE_GLOBAL R10 17
904 LOAD_GLOBAL 4 R11
905 OPEN_AGGREGATION VEC
906 PUSH R0
907 PUSH R11
908 CLOSE_AGGREGATION
909 POP R12
910 STORE_GLOBAL R12 18
911 OPEN_AGGREGATION VEC
912 ITER_ARRAY R2 l7
913 l6: ITER_NEXT R13
914 ITER_NEXT R14
915 ITER_RANGE R13 R14 l9
916 l8: ITER_NEXT R15
917 LOAD_GLOBAL 8 R16
918 GET_ARRAY 1 R16 R15 R17 R18
919 PUSH R17
920 JMP l8
921 l9: JMP l6
922 l7: CLEAR R13 R18
923 CLOSE_AGGREGATION
924 POP R13
925 IMMI 0 R14
926 ITER_ARRAY R13 l11
927 l10: ITER_NEXT R15
928 ADDI R14 R15 R14
929 JMP l10
930 l11: STORE_GLOBAL R14 19
931 OPEN_AGGREGATION VEC
932 ITER_ARRAY R10 l13
933 l12: ITER_NEXT R16
934 ITER_NEXT R17
935 ITER_RANGE R16 R17 l15
936 l14: ITER_NEXT R18
937 LOAD_GLOBAL 3 R19
938 GET_ARRAY 1 R19 R18 R20 R21
939 OPEN_AGGREGATION VEC
940 ITER_ARRAY R20 l17
941 l16: ITER_NEXT R22
942 ITER_NEXT R23
943 ITER_RANGE R22 R23 l19
944 l18: ITER_NEXT R24
945 LOAD_GLOBAL 8 R25
946 GET_ARRAY 1 R25 R24 R26 R27
947 PUSH R26
948 JMP l18
949 l19: JMP l16
950 l17: CLEAR R22 R27
951 CLOSE_AGGREGATION
952 POP R22
953 IMMI 0 R23
954 ITER_ARRAY R22 l21
955 l20: ITER_NEXT R24
956 ADDI R23 R24 R23
957 JMP l20
958 l21: PUSH R23
959 JMP l14
960 l15: JMP l12
961 l13: CLEAR R16 R24
962 CLOSE_AGGREGATION
963 POP R16
964 STORE_GLOBAL R16 20
965 OPEN_AGGREGATION VEC
966 ITER_ARRAY R10 l23
967 l22: ITER_NEXT R17
968 ITER_NEXT R18
969 ITER_RANGE R17 R18 l25
970 l24: ITER_NEXT R19
971 GET_ARRAY 1 R16 R19 R20 R21
972 IMMI 0 R23
973 EQI R3 R23 R22
974 NOT R22 R22
975 JMPIFNOT R22 l26
976 DIVI R20 R3 R24
977 MOV R24 R23
978 l26: PUSH R23
979 JMP l24
980 l25: JMP l22
981 l23: CLEAR R17 R24
982 CLOSE_AGGREGATION
983 POP R17
984 STORE_GLOBAL R17 21
985 OPEN_AGGREGATION VEC
986 ITER_ARRAY R10 l28
987 l27: ITER_NEXT R18
988 ITER_NEXT R19
989 ITER_RANGE R18 R19 l30
990 l29: ITER_NEXT R20
991 GET_ARRAY 1 R16 R20 R21 R22
992 IMMI 0 R24
993 EQI R3 R24 R23
994 NOT R23 R23
995 JMPIFNOT R23 l31
996 DIVI R21 R3 R25
997 MOV R25 R24
998 l31: IMMI 1 R27
999 IMMI 0 R29
1000 EQI R3 R29 R28
1001 NOT R28 R28
1002 JMPIFNOT R28 l33
1003 MODI R21 R3 R30
1004 MOV R30 R29
1005 l33: IMMI 0 R31
1006 IMMI 0 R32
1007 JMPIFNOT R22 l34
1008 MOV R28 R32
1009 l34: EQI R29 R31 R33
1010 IMMI 0 R34
1011 JMPIFNOT R32 l35
1012 MOV R33 R34
1013 l35: JMPIFNOT R34 l36
1014 IMMI 0 R27
1015 MOV R31 R26
1016 JMP l32
1017 l36: IMMI 0 R27
1018 MOV R0 R26
1019 l32: ADDI R24 R26 R35
1020 PUSH R35
1021 JMP l29
1022 l30: JMP l27
1023 l28: CLEAR R18 R35
1024CLOSE_AGGREGATION
1025POP R18
1026STORE_GLOBAL R18 22
1027LOAD_GLOBAL 9 R19
1028OPEN_AGGREGATION VEC
1029 PUSH R0
1030 PUSH R19
1031CLOSE_AGGREGATION
1032POP R20
1033STORE_GLOBAL R20 23
1034IMMI 0 R21
1035OPEN_AGGREGATION VEC
1036 PUSH R21
1037 PUSH R14
1038CLOSE_AGGREGATION
1039POP R22
1040OPEN_AGGREGATION VEC
1041 ITER_ARRAY R10 l38
1042 l37: ITER_NEXT R25
1043 ITER_NEXT R26
1044 ITER_RANGE R25 R26 l40
1045 l39: ITER_NEXT R27
1046 ITER_ARRAY R4 l42
1047 l41: ITER_NEXT R28
1048 ITER_NEXT R29
1049 ITER_RANGE R28 R29 l44
1050 l43: ITER_NEXT R30
1051 CALL ROOT mk_intvar 0 R22
1052 JMP l43
1053 l44: JMP l41
1054 l42: JMP l39
1055 l40: JMP l37
1056 l38: CLEAR R25 R30
1057CLOSE_AGGREGATION
1058POP R23
1059OPEN_AGGREGATION VEC
1060 GET_VEC R10 R0 R24
1061 PUSH R24
1062 IMMI 2 R25
1063 GET_VEC R10 R25 R24
1064 PUSH R24
1065 GET_VEC R4 R0 R24
1066 PUSH R24
1067 GET_VEC R4 R25 R24
1068 PUSH R24
1069 CLEAR R25 R25
1070CLOSE_AGGREGATION
1071POP R24
1072BUILTIN array_Xd R23 R24
1073POP R23
1074STORE_GLOBAL R23 24
1075OPEN_AGGREGATION VEC
1076 ITER_ARRAY R20 l46
1077 l45: ITER_NEXT R25
1078 ITER_NEXT R26
1079 ITER_RANGE R25 R26 l48
1080 l47: ITER_NEXT R27
1081 LOAD_GLOBAL 10 R28
1082 GET_ARRAY 2 R28 R27 R0 R29 R30
1083 GET_ARRAY 1 R5 R29 R31 R32
1084 IMMI 2 R33
1085 GET_ARRAY 2 R28 R27 R33 R34 R35
1086 DOM R31 R36
1087 DOM R34 R37
1088 INTERSECTION R36 R37 R36
1089 ISEMPTY R36 R37
1090 NOT R37 R37
1091 SIMPLIFY_LIN R31 R34 0 R39 R40 R38
1092 IMMI 0 R41
1093 JMPIFNOT R30 l49
1094 JMPIFNOT R32 l49
1095 JMPIFNOT R35 l49
1096 JMPIFNOT R37 l49
1097 CALL FUN f_pre_int_lin_eq_d1i_d1vi_i 1 R39 R40 R38
1098 POP R42
1099 MOV R42 R41
1100 l49: PUSH R41
1101 JMP l47
1102 l48: JMP l45
1103 l46: CLEAR R25 R42
1104CLOSE_AGGREGATION
1105POP R25
1106LENGTH R25 R26
1107JMPIFNOT R26 l50
1108EQI R0 R26 R27
1109JMPIF R27 l51
1110CALL FUN f_sum_cc_dTvi 1 R25
1111POP R27
1112JMP l52
1113l50: IMMI 0 R27
1114JMP l52
1115l51: GET_VEC R25 R0 R27
1116l52: OPEN_AGGREGATION VEC
1117 PUSH R21
1118 PUSH R19
1119CLOSE_AGGREGATION
1120POP R28
1121INTERSECT_DOMAIN R27 R28 R29
1122STORE_GLOBAL R27 25
1123OPEN_AGGREGATION VEC
1124 ITER_ARRAY R10 l54
1125 l53: ITER_NEXT R32
1126 ITER_NEXT R33
1127 ITER_RANGE R32 R33 l56
1128 l55: ITER_NEXT R34
1129 ITER_ARRAY R4 l58
1130 l57: ITER_NEXT R35
1131 ITER_NEXT R36
1132 ITER_RANGE R35 R36 l60
1133 l59: ITER_NEXT R37
1134 CALL ROOT mk_intvar 0 R22
1135 JMP l59
1136 l60: JMP l57
1137 l58: JMP l55
1138 l56: JMP l53
1139 l54: CLEAR R32 R37
1140CLOSE_AGGREGATION
1141POP R30
1142OPEN_AGGREGATION VEC
1143 GET_VEC R10 R0 R31
1144 PUSH R31
1145 IMMI 2 R32
1146 GET_VEC R10 R32 R31
1147 PUSH R31
1148 GET_VEC R4 R0 R31
1149 PUSH R31
1150 GET_VEC R4 R32 R31
1151 PUSH R31
1152 CLEAR R32 R32
1153CLOSE_AGGREGATION
1154POP R31
1155BUILTIN array_Xd R30 R31
1156POP R30
1157STORE_GLOBAL R30 26
1158OPEN_AGGREGATION VEC
1159 ITER_ARRAY R10 l62
1160 l61: ITER_NEXT R32
1161 ITER_NEXT R33
1162 ITER_RANGE R32 R33 l64
1163 l63: ITER_NEXT R34
1164 ITER_ARRAY R4 l66
1165 l65: ITER_NEXT R35
1166 ITER_NEXT R36
1167 ITER_RANGE R35 R36 l68
1168 l67: ITER_NEXT R37
1169 GET_ARRAY 2 R30 R34 R37 R38 R39
1170 CALL FUN d_op_times_i_i 1 R38 R38
1171 POP R40
1172 PUSH R40
1173 JMP l67
1174 l68: JMP l65
1175 l66: JMP l63
1176 l64: JMP l61
1177 l62: CLEAR R32 R40
1178CLOSE_AGGREGATION
1179POP R32
1180LENGTH R32 R33
1181JMPIFNOT R33 l75
1182EQI R0 R33 R34
1183JMPIF R34 l76
1184CALL FUN f_sum_cc_dTvi 1 R32
1185POP R34
1186JMP l77
1187l75: IMMI 0 R34
1188JMP l77
1189l76: GET_VEC R32 R0 R34
1190l77: STORE_GLOBAL R34 27
1191OPEN_AGGREGATION VEC
1192 PUSH R8
1193CLOSE_AGGREGATION
1194POP R35
1195OPEN_AGGREGATION VEC
1196 ITER_ARRAY R35 l79
1197 l78: ITER_NEXT R37
1198 PUSH R37
1199 JMP l78
1200 l79: ITER_ARRAY R5 l81
1201 l80: ITER_NEXT R38
1202 PUSH R38
1203 JMP l80
1204 l81: CLEAR R37 R38
1205CLOSE_AGGREGATION
1206POP R36
1207CALL ROOT output_this 1 R36
1208ITER_ARRAY R10 l83
1209l82: ITER_NEXT R37
1210ITER_NEXT R38
1211ITER_RANGE R37 R38 l85
1212l84: ITER_NEXT R39
1213LOAD_GLOBAL 3 R40
1214GET_ARRAY 1 R40 R39 R41 R42
1215OPEN_AGGREGATION VEC
1216 ITER_ARRAY R41 l87
1217 l86: ITER_NEXT R43
1218 ITER_NEXT R44
1219 ITER_RANGE R43 R44 l89
1220 l88: ITER_NEXT R45
1221 GET_ARRAY 1 R5 R45 R46 R47
1222 PUSH R46
1223 JMP l88
1224 l89: JMP l86
1225 l87: CLEAR R43 R47
1226CLOSE_AGGREGATION
1227POP R43
1228OPEN_AGGREGATION VEC
1229 ITER_ARRAY R4 l91
1230 l90: ITER_NEXT R44
1231 ITER_NEXT R45
1232 ITER_RANGE R44 R45 l93
1233 l92: ITER_NEXT R46
1234 PUSH R46
1235 JMP l92
1236 l93: JMP l90
1237 l91: CLEAR R44 R46
1238CLOSE_AGGREGATION
1239POP R44
1240OPEN_AGGREGATION VEC
1241 ITER_ARRAY R4 l95
1242 l94: ITER_NEXT R45
1243 ITER_NEXT R46
1244 ITER_RANGE R45 R46 l97
1245 l96: ITER_NEXT R47
1246 LOAD_GLOBAL 6 R48
1247 PUSH R48
1248 JMP l96
1249 l97: JMP l94
1250 l95: CLEAR R45 R48
1251CLOSE_AGGREGATION
1252POP R45
1253OPEN_AGGREGATION VEC
1254 ITER_ARRAY R4 l99
1255 l98: ITER_NEXT R46
1256 ITER_NEXT R47
1257 ITER_RANGE R46 R47 l101
1258 l100: ITER_NEXT R48
1259 LOAD_GLOBAL 7 R49
1260 PUSH R49
1261 JMP l100
1262 l101: JMP l98
1263 l99: CLEAR R46 R49
1264CLOSE_AGGREGATION
1265POP R46
1266CALL ROOT f_global_cardinality_low_up_closed_d1vi_d1i_d1i_d1i 1 R43 R44 R45 R46
1267JMP l84
1268l85: JMP l82
1269l83: ITER_ARRAY R12 l103
1270l102: ITER_NEXT R47
1271ITER_NEXT R48
1272ITER_RANGE R47 R48 l105
1273l104: ITER_NEXT R49
1274LOAD_GLOBAL 5 R50
1275GET_ARRAY 2 R50 R49 R0 R51 R52
1276GET_ARRAY 1 R5 R51 R53 R54
1277IMMI 2 R55
1278GET_ARRAY 2 R50 R49 R55 R56 R57
1279GET_ARRAY 1 R5 R56 R58 R59
1280LB R53 R60
1281UB R58 R61
1282LTI R60 R61 R60
1283SIMPLIFY_LIN R53 R58 1 R62 R63 R64
1284POST R52
1285POST R54
1286POST R57
1287POST R59
1288POST R60
1289CALL ROOT f_pre_int_lin_le_d1i_d1vi_i 1 R62 R63 R64
1290JMP l104
1291l105: JMP l102
1292l103: ITER_ARRAY R10 l107
1293l106: ITER_NEXT R65
1294ITER_NEXT R66
1295ITER_RANGE R65 R66 l109
1296l108: ITER_NEXT R67
1297OPEN_AGGREGATION VEC
1298 ITER_ARRAY R4 l111
1299 l110: ITER_NEXT R68
1300 ITER_NEXT R69
1301 ITER_RANGE R68 R69 l113
1302 l112: ITER_NEXT R70
1303 GET_ARRAY 2 R23 R67 R70 R71 R72
1304 PUSH R71
1305 JMP l112
1306 l113: JMP l110
1307 l111: CLEAR R68 R72
1308CLOSE_AGGREGATION
1309POP R68
1310LOAD_GLOBAL 3 R69
1311GET_ARRAY 1 R69 R67 R70 R71
1312OPEN_AGGREGATION VEC
1313 ITER_ARRAY R70 l115
1314 l114: ITER_NEXT R72
1315 ITER_NEXT R73
1316 ITER_RANGE R72 R73 l117
1317 l116: ITER_NEXT R74
1318 GET_ARRAY 1 R5 R74 R75 R76
1319 PUSH R75
1320 JMP l116
1321 l117: JMP l114
1322 l115: CLEAR R72 R76
1323CLOSE_AGGREGATION
1324POP R72
1325OPEN_AGGREGATION VEC
1326 ITER_ARRAY R70 l119
1327 l118: ITER_NEXT R73
1328 ITER_NEXT R74
1329 ITER_RANGE R73 R74 l121
1330 l120: ITER_NEXT R75
1331 LOAD_GLOBAL 8 R76
1332 GET_ARRAY 1 R76 R75 R77 R78
1333 PUSH R77
1334 JMP l120
1335 l121: JMP l118
1336 l119: CLEAR R73 R78
1337CLOSE_AGGREGATION
1338POP R73
1339CALL ROOT f_bin_packing_load_d1vi_d1vi_d1i 1 R68 R72 R73
1340JMP l108
1341l109: JMP l106
1342l107: ITER_ARRAY R10 l123
1343l122: ITER_NEXT R74
1344ITER_NEXT R75
1345ITER_RANGE R74 R75 l125
1346l124: ITER_NEXT R76
1347ITER_ARRAY R4 l127
1348l126: ITER_NEXT R77
1349ITER_NEXT R78
1350ITER_RANGE R77 R78 l129
1351l128: ITER_NEXT R79
1352GET_ARRAY 2 R30 R76 R79 R80 R81
1353GET_ARRAY 2 R23 R76 R79 R82 R83
1354GET_ARRAY 1 R18 R76 R84 R85
1355CALL FUN d_op_minus_i_i 1 R82 R84
1356POP R86
1357GET_ARRAY 1 R17 R76 R87 R88
1358CALL FUN d_op_minus_i_i 0 R87 R82
1359POP R89
1360CALL FUN d_max_i_i 1 R86 R89
1361POP R90
1362DOM R80 R91
1363DOM R90 R92
1364INTERSECTION R91 R92 R91
1365ISEMPTY R91 R92
1366NOT R92 R92
1367SIMPLIFY_LIN R80 R90 0 R94 R95 R93
1368POST R81
1369POST R83
1370POST R85
1371POST R88
1372POST R92
1373CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R94 R95 R93
1374JMP l128
1375l129: JMP l126
1376l127: JMP l124
1377l125: JMP l122
1378l123: LOAD_GLOBAL 11 R96
1379CALL FUN d_op_times_i_i 0 R96 R34
1380POP R97
1381LOAD_GLOBAL 12 R98
1382CALL FUN d_op_times_i_i 0 R98 R27
1383POP R99
1384CALL FUN d_op_plus_i_i 1 R97 R99
1385POP R100
1386DOM R8 R101
1387DOM R100 R102
1388INTERSECTION R101 R102 R101
1389ISEMPTY R101 R102
1390NOT R102 R102
1391SIMPLIFY_LIN R8 R100 0 R104 R105 R103
1392POST R102
1393CALL ROOT f_pre_int_lin_eq_d1i_d1vi_i 1 R104 R105 R103
1394IMMI 2 R106
1395CALL ROOT solve_this 1 R21 R21 R5 R106 R0
1396CLEAR R0 R106
1397RET