[# arrays as indexed connections: sieve of Eratosthenes under 50 #]
define main
make array 50 of int64 sieve
make int64 i
make int64 j
make int64 count
set 2
move i
write
set 0
move count
write
set 0
home
mark outer
move i
read
compare 50
jump endOuter when greater-or-equal
set 0
home
move i
read
move sieve
move index
read
home
compare 0
jump skip when different
set 0
home
move count
read
add 1
move count
write
set 0
home
move i
read
multiply 2
move j
write
set 0
home
mark inner
move j
read
home
compare 50
jump outerInc when greater-or-equal
set 0
home
move j
read
move sieve
move index
set 1
write
home
move j
read
push
move i
read
add
move j
write
set 0
home
jump inner
mark skip
mark outerInc
move i
read
add 1
move i
write
set 0
home
jump outer
mark endOuter
move count
read
output
return
end