or download this
Benchmark: timing 100000 iterations of factorial_i, factorial_i_extra,
+ factorial_r, factorial_r_extra...
factorial_i: 5 wallclock secs ( 4.94 usr + 0.00 sys = 4.94 CPU) @ 2
+0251.11/s (n=100000)
factorial_i_extra: 6 wallclock secs ( 5.67 usr + 0.00 sys = 5.67 CP
+U) @ 17633.57/s (n=100000)
factorial_r: 6 wallclock secs ( 6.44 usr + 0.01 sys = 6.45 CPU) @ 1
+5496.67/s (n=100000)
factorial_r_extra: 13 wallclock secs (11.98 usr + 0.00 sys = 11.98 CP
+U) @ 8344.46/s (n=100000)