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 ( CLEAR M INCREASE C )
REPEAT N TIMES ( CLEAR N INCREASE M INCREASE Y INCREASE Z )
REPEAT B TIMES ( CLEAR B INCREASE N )
REPEAT V TIMES ( CLEAR V INCREASE B INCREASE Z )
REPEAT C TIMES ( CLEAR C INCREASE V )
)
# 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 (
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!!!
CLEAR S
REPEAT X TIMES ( INCREASE S INCREASE S INCREASE X INCREASE X )
INCREASE X
PRINT X
CLEAR X
REPEAT Z TIMES ( INCREASE Z INCREASE Z ) INCREASE Z INCREASE Z PRINT Z
REPEAT Z TIMES ( INCREASE X ) INCREASE X PRINT X
CLEAR X
REPEAT Y TIMES ( INCREASE S )
REPEAT S TIMES ( INCREASE X ) INCREASE X INCREASE X
)
)
)
)