recursion if function makes multiple calls to other functionseach function call is indicated in the tree by box and directed edge the edges are listed left to right in the order the calls are made for examplesuppose we execute the following simple program that consists of three functions the resulting call tree is shown in figure sample program containing three functions def main() foo bar def foox )if ! return else return foox- def barn )if printn barn- main(since the main routine makes two function callsboth are indicated as directed edges originating from the main(box you will also notice the foo(function makes recursive call to itselfbut the second call is not indicated in the call tree the reason is during this execution of the programwith the given arguments to foo()the logical condition in the if statement evaluates to true andthusthe recursive call is never made the call tree only shows the functions actually called during single executionwhich is based on given set of dataa specific function argument valueor specific user input to follow the flow of execution in figure we start with the top boxthe one to which no solid directed edges flow into in this casethat box is the main(function from the main routinewe take the path along the leftmost solid edge main(foo( bar( print( bar( print( bar( figure sample call tree with multiple calls from each function