# Collatz sequence optimized: single-pass parity/half and gated odd branch PRINT X # Build C = 300 using 10*10*3 CLEAR A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A CLEAR B REPEAT A TIMES ( REPEAT A TIMES ( INCREASE B ) ) CLEAR C REPEAT B TIMES ( INCREASE C INCREASE C INCREASE C ) REPEAT C TIMES ( # If X == 1 then skip body CLEAR D INCREASE D CLEAR E REPEAT X TIMES ( REPEAT E TIMES ( CLEAR D ) INCREASE E ) CLEAR F INCREASE F REPEAT D TIMES ( CLEAR F ) REPEAT F TIMES ( # Unified pass for parity (G) and I = ceil(X/2) CLEAR G CLEAR I CLEAR J INCREASE J REPEAT X TIMES ( CLEAR H REPEAT G TIMES ( INCREASE H ) CLEAR G INCREASE G REPEAT H TIMES ( CLEAR G ) REPEAT J TIMES ( INCREASE I ) CLEAR H REPEAT J TIMES ( INCREASE H ) CLEAR J INCREASE J REPEAT H TIMES ( CLEAR J ) ) # K = 3X + 1 computed only if odd CLEAR K INCREASE K REPEAT G TIMES ( REPEAT X TIMES ( INCREASE K INCREASE K INCREASE K ) ) # Rebuild X from branches CLEAR X # even branch: X = I CLEAR L INCREASE L REPEAT G TIMES ( CLEAR L ) REPEAT L TIMES ( REPEAT I TIMES ( INCREASE X ) ) # odd branch: X = K REPEAT G TIMES ( REPEAT K TIMES ( INCREASE X ) ) PRINT X ) )