A set of benchmarks to compare a new prototype MiniZinc implementation
1predicate output_this(array [int] of var int: arr);
2@@@@@@@@@@
3:output_this:ROOT 1
4:f_ack_i_i:FUN 2
5IMMI 1 R2
6IMMI 0 R3
7EQI R0 R3 R4
8JMPIFNOT R4 l3
9ADDI R1 R2 R4
10PUSH R4
11RET
12l3: EQI R1 R3 R4
13JMPIFNOT R4 l4
14DECI R0
15IMMI 1 R1
16TCALL FUN f_ack_i_i 0
17l4: SUBI R1 R2 R3
18CALL FUN f_ack_i_i 0 R0 R3
19POP R1
20DECI R0
21TCALL FUN f_ack_i_i 0
22:main:ROOT 0
23OPEN_AGGREGATION OTHER
24 IMMI 1 R0
25 IMMI 1 R1
26 IMMI 3 R2
27 IMMI 6 R3
28 ITER_RANGE R0 R1 l2
29 l1: ITER_NEXT R4
30 CALL FUN f_ack_i_i 0 R2 R3
31 POP R4
32 JMP l1
33 l2: OPEN_AGGREGATION VEC
34 PUSH R4
35 CLOSE_AGGREGATION
36 POP R3
37 CALL ROOT output_this 1 R3
38 CLEAR R0 R3
39 RET