#!/usr/bin/env escript fact(0) -> 1; fact(N) -> N * fact(N - 1). main(_) -> N = fact(65535), io:format("~p~n", [N]).
real 0m11.969s user 0m11.742s sys 0m0.175s
#!/usr/bin/env escript fact(N) -> fact(N, 1). fact(0, Acc) -> Acc; fact(N, Acc) -> fact(N - 1, Acc * N). main(_) -> N = fact(65535), io:format("~p~n", [N]).
real 0m11.921s user 0m11.781s sys 0m0.095s