1function fib(n) {
2  return n < 2 ? 1 : fib(n - 1) + fib(n - 2);
3}
4
5function eternal_fib() {
6  var started = Date.now();
7  while(true) {
8    fib(20);
9    // Make page responsive by making a break every 100 ms.
10    if (Date.now() - started >= 100) {
11      setTimeout(eternal_fib, 0);
12      return;
13    }
14  }
15}
16
17function run_fib() {
18  // Let the page do initial rendering, then go.
19  setTimeout(eternal_fib, 200);
20}
21