# s is going to be 2 INCREASE S INCREASE S # print first value PRINT X # setting up for main loop INCREASE Y INCREASE Y INCREASE Y REPEAT Y TIMES ( INCREASE Y INCREASE Z ) REPEAT Y TIMES ( REPEAT Z TIMES ( INCREASE Z ) ) # mainloop REPEAT Z TIMES ( # Checking if the x is not 1 # Setting up values CLEAR R INCREASE Z CLEAR N INCREASE N CLEAR E # if clause, if r is 1 then x is not 1 REPEAT X TIMES ( INCREASE E REPEAT N TIMES ( CLEAR R CLEAR N CLEAR E ) REPEAT E TIMES ( CLEAR R INCREASE Z ) CLEAR E ) # Do one cycle REPEAT R TIMES ( CLEAR T # Save x in t REPEAT X TIMES ( INCREASE T ) CLEAR A # Is even or add, a is 0 or 1 REPEAT X TIMES ( INCREASE E REPEAT A TIMES ( CLEAR A CLEAR E ) REPEAT E TIMES ( CLEAR E INCREASE A ) ) # If a is 1 aka if x is odd CLEAR E INCREASE E REPEAT A TIMES ( # 3n+1 # using s which is 3 to multiply REPEAT S TIMES ( REPEAT T TIMES ( INCREASE X ) ) INCREASE X # Disable else CLEAR E ) REPEAT E TIMES ( # Resetting variables CLEAR X CLEAR F CLEAR A # divide by 2 REPEAT T TIMES ( INCREASE F REPEAT A TIMES ( INCREASE X CLEAR A CLEAR F ) REPEAT F TIMES ( CLEAR F INCREASE A ) ) ) PRINT X ) )