with javascript_semantics sequence primes = {2,3,5,7} atom sieved = 10 procedure add_block() integer N = min((sieved-1)*sieved,400000) sequence sieve = repeat(1,N) -- sieve[i] is really i+sieved for i=2 to length(primes) do -- (evens filtered on output) atom p = primes[i], p2 = p*p if p2>sieved+N then exit end if if p2