vextoly/cryn

[# 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