by Ricardo Fernández Serrata
Avoids the need for memoization and explicit stack by replacing the entire code with expressions.
Because of this, non-integer input arguments are also supported. m will always be truncated but n won't (except if m > 3), which allows the output to be "interpolated" (extended to the full domain of real numbers)
Negative inputs won't cause an infinite loop. In fact, there's absolutely NO input that will prevent this flow from halting, not even NaN.
Rate and review within the app in the Community section.