Richard J. Fateman's
LISP implementations of the recursive split algorithm
The programs below were taken from Richard J. Fateman, Comments on Factorial Programs (2006).
Fateman introduces his paper with the statement: "Programs to compute the factorial function are used as classic illustrations of iteration and recursion. While such programs can be written in any programming language, many of the example solutions are inefficient, pointless, or both."
Fateman discusses several programs for computing the factorial and gives two implementations of the split-factorial algorithm: "one simply converting it to Lisp, sprfact and then a revision gsprfact to use GMP." Fateman comments: "Both versions below are notably obscure, considering what is being computed is just the factorial function."
The simple version
The version using the GMP library