CLEAR A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
REPEAT A TIMES ( REPEAT A TIMES ( INCREASE B 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 V
CLEAR Y
CLEAR Z
CLEAR Y
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
)
CLEAR S
INCREASE S
REPEAT Z TIMES ( CLEAR S )
REPEAT S TIMES ( CLEAR L )
REPEAT L TIMES (
# mod 4 == 0
REPEAT V TIMES (
PRINT Z
CLEAR X
REPEAT Y TIMES ( INCREASE X )
)
# mode 4 == 1
REPEAT B TIMES (
REPEAT X TIMES ( 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
)
REPEAT N TIMES ( # OPTIMIZE FURTHER!!!
CLEAR X
REPEAT Z TIMES ( INCREASE X )
)
REPEAT M 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
)
)
)
)