# 871
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
# A = 179 is the length of the Maximum collatz sequence (X=871)
# To beat:
# 5894250
# 5239377
# 5239198
# 5238841
# 5238663
# 4911340
# 4910739
INCREASE T
REPEAT A TIMES ( # Basically a WHILE TRUE
REPEAT T TIMES (
# Check to terminate
CLEAR H CLEAR M CLEAR E CLEAR B
INCREASE E
REPEAT X TIMES (
INCREASE B REPEAT M TIMES (
CLEAR B
CLEAR M
INCREASE H
CLEAR E
) # 00>01, 11>00
REPEAT B TIMES ( INCREASE M ) # 00>00, 01>11
)
REPEAT E TIMES ( CLEAR T )
)
# H := HALF X
# M := MOD2 X
# B := MOD2 X
# E := ISZERO HALF X
# T := Running.
REPEAT T TIMES ( # If we do not terminate
PRINT X
INCREASE P
REPEAT M TIMES ( # If X is odd, Multiply by 3 and add 1, and then divide by two.
CLEAR Z
REPEAT X TIMES ( INCREASE Z )
REPEAT X TIMES ( INCREASE Z )
REPEAT X TIMES ( INCREASE Z )
INCREASE Z
PRINT Z
# Z = 3X+1
REPEAT H TIMES ( INCREASE X )
INCREASE X
# X = 3/2X + 1
CLEAR P
)
REPEAT P TIMES ( # Otherwise X is even. Divide by 2.
CLEAR X
REPEAT H TIMES ( INCREASE X )
CLEAR P
)
)
)
PRINT X