# print first value
PRINT X
# setting up for main loop
INCREASE Y
INCREASE Y
INCREASE Y
REPEAT Y TIMES (
INCREASE Y
INCREASE Z
INCREASE S
)
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 R
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 R
)
CLEAR E
)
# Do one cycle
REPEAT R TIMES (
CLEAR T
# Save x in t
REPEAT X TIMES (
INCREASE T
)
CLEAR A
CLEAR X
# Is even or add, a is 0 or 1
REPEAT T TIMES (
INCREASE E
REPEAT A TIMES (
INCREASE X
CLEAR A
CLEAR E
)
REPEAT E TIMES (
CLEAR E
INCREASE A
)
)
# If a is 1 aka if x is odd
REPEAT A TIMES (
# 3n+1
# using s which is 3 to multiply
CLEAR X
REPEAT S TIMES (
REPEAT T TIMES (
INCREASE X
)
)
INCREASE X
)
PRINT X
)
)