INCREASE W
CLEAR A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
REPEAT Q TIMES ( REPEAT A TIMES ( INCREASE B ) )
CLEAR L
INCREASE L
# mod 4:
# 0123
# CVBNM
# Y = x/4
# Z = x/2
# optimizations: check y before checking z for 0
REPEAT B TIMES (
REPEAT L TIMES (
PRINT X
CLEAR C
CLEAR V
CLEAR B
CLEAR N
CLEAR M
CLEAR Y
CLEAR Z
INCREASE C
REPEAT X TIMES (
REPEAT M TIMES ( INCREASE C )
CLEAR M
REPEAT N TIMES ( INCREASE M INCREASE Y INCREASE Z )
CLEAR N
REPEAT B TIMES ( INCREASE N )
CLEAR B
REPEAT V TIMES ( INCREASE B INCREASE Z )
CLEAR V
REPEAT C TIMES ( INCREASE V )
CLEAR C
)
# optimize leave later
CLEAR S
INCREASE S
REPEAT Z TIMES ( CLEAR S )
REPEAT S TIMES ( CLEAR L )
REPEAT L TIMES (
# mod 4 == 0
REPEAT M TIMES (
PRINT Z
CLEAR X
REPEAT Y TIMES ( INCREASE X )
)
# mod 4 == 1
REPEAT V TIMES (
REPEAT X TIMES ( INCREASE X INCREASE X )
INCREASE X
PRINT X
REPEAT Z TIMES ( INCREASE Z INCREASE Z )
INCREASE Z INCREASE Z
PRINT Z
CLEAR X
REPEAT Y TIMES ( INCREASE X INCREASE X INCREASE X )
INCREASE X
)
# mod 4 == 2
REPEAT B TIMES ( # OPTIMIZE FURTHER!!!
INCREASE I
REPEAT Y TIMES ( CLEAR I )
REPEAT I TIMES ( CLEAR L
CLEAR X
REPEAT Z TIMES ( INCREASE X )
PRINT W
)
REPEAT L TIMES (
PRINT Z
REPEAT Z TIMES ( INCREASE Z INCREASE Z )
INCREASE Z
PRINT Z
CLEAR X
REPEAT Y TIMES ( INCREASE X INCREASE X INCREASE X )
INCREASE X INCREASE X
)
)
# mod 4 == 3
REPEAT N TIMES ( # OPTIMIZE FURTHER!!!
REPEAT X TIMES ( INCREASE X INCREASE X )
INCREASE X
PRINT X
CLEAR X
REPEAT Z TIMES ( INCREASE X INCREASE X INCREASE X )
INCREASE X INCREASE X
)
)
)
)