40 lines
619 B
Plaintext
40 lines
619 B
Plaintext
predicate output_this(array [int] of var int: arr);
|
|
@@@@@@@@@@
|
|
:output_this:ROOT 1
|
|
:f_ack_i_i:FUN 2
|
|
IMMI 1 R2
|
|
IMMI 0 R3
|
|
EQI R0 R3 R4
|
|
JMPIFNOT R4 l3
|
|
ADDI R1 R2 R4
|
|
PUSH R4
|
|
RET
|
|
l3: EQI R1 R3 R4
|
|
JMPIFNOT R4 l4
|
|
DECI R0
|
|
IMMI 1 R1
|
|
TCALL FUN f_ack_i_i 0
|
|
l4: SUBI R1 R2 R3
|
|
CALL FUN f_ack_i_i 0 R0 R3
|
|
POP R1
|
|
DECI R0
|
|
TCALL FUN f_ack_i_i 0
|
|
:main:ROOT 0
|
|
OPEN_AGGREGATION OTHER
|
|
IMMI 1 R0
|
|
IMMI 1 R1
|
|
IMMI 3 R2
|
|
IMMI 6 R3
|
|
ITER_RANGE R0 R1 l2
|
|
l1: ITER_NEXT R4
|
|
CALL FUN f_ack_i_i 0 R2 R3
|
|
POP R4
|
|
JMP l1
|
|
l2: OPEN_AGGREGATION VEC
|
|
PUSH R4
|
|
CLOSE_AGGREGATION
|
|
POP R3
|
|
CALL ROOT output_this 1 R3
|
|
CLEAR R0 R3
|
|
RET
|