Multiple recursion occurs when one invocation makes more than one recursive call. The Fibonacci function demonstrates the pattern by calling itself with n−1 and n−2. section 7.3
Fibonacci and repeated work
For fib(4), the recursive call tree includes fib(2) twice. Recomputing those identical subproblems makes execution time exponential in n, often ruling out the direct recursive algorithm in practice. A cache stores computed values and changes the running time to linear in n, trading storage for computation. section 7.3
Use the recursive call tree for fib(4) to trace where multiple recursion duplicates computation. section 7.3

