nfib = (n) { if (n < 2) 1; else nfib(n-1) + nfib(n-2) + 1; }; then = cputime(); calls = nfib(32); now = cputime(); secs = now - then; print(calls, " calls in ", secs, " seconds = ", round(calls / secs), " calls/sec\n"); numbers = 8192; // 1028 primes repeats = 200; count = 0; then = cputime(); evals = evaluations(); for (n = 0; n < repeats; n = n + 1) { print("\r", n, "/", repeats); sieve = []; count = 0; for (i in numbers) sieve.push(nil); for (i = 2; i < numbers; i = i + 1) { if (!sieve[i]) { // print(i, " "); count = count + 1; for (k = i+i; k < numbers; k = k+i) sieve[k] = #t; } } count; } evals = evaluations() - evals; now = cputime(); secs = now - then; print("\r", count, " primes in the first ", numbers, " numbers\n"); print(evals, " nodes evaluated in ", secs, " seconds = ", round(evals / secs), " nodes/sec\n");