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_tak_i_i_i:FUN 3
5LTI R1 R0 R3
6JMPIFNOT R3 l7
7IMMI 1 R4
8SUBI R0 R4 R5
9CALL FUN f_tak_i_i_i 0 R5 R1 R2
10POP R5
11SUBI R1 R4 R6
12CALL FUN f_tak_i_i_i 0 R6 R2 R0
13POP R6
14SUBI R2 R4 R7
15CALL FUN f_tak_i_i_i 0 R7 R0 R1
16POP R2
17MOV R5 R0
18MOV R6 R1
19TCALL FUN f_tak_i_i_i 0
20l7: PUSH R2
21RET
22:main:ROOT 0
23OPEN_AGGREGATION OTHER
24 IMMI 1 R0
25 IMMI 1000 R1
26 IMMI 18 R2
27 IMMI 12 R3
28 IMMI 6 R4
29 ITER_RANGE R0 R1 l2
30 l1: ITER_NEXT R5
31 CALL FUN f_tak_i_i_i 0 R2 R3 R4
32 POP R5
33 JMP l1
34 l2: OPEN_AGGREGATION VEC
35 PUSH R5
36 CLOSE_AGGREGATION
37 POP R5
38 CALL ROOT output_this 1 R5
39 CLEAR R0 R5
40 RET