Earlier quoted context omitted.
This: a = f((e(d(c(b))), 4), 5) Seems not to make sense. Replacing c(b) with x we get: a = f((e(d(x)), 4), 5) Replacing d(x) with x we get: a = f((e(x), 4), 5) Replacing e(x) with x we get: a = f((x, 4), 5) What is that?
Sorry, messed up parens here. It should have been: a = f(e(d(c(b))), 4), 5) b is passed to c, then the result is passed to d, then to e along with 4 as a second parameter, and finally to f along with 5.
a = f(e(d(c(b))), 4), 5)
That has 4 opening parenthesis and 5 closing parenthesis. b is passed to c
b ~> c
then the result is passed to d
b ~> c ~> d
then to e along with 4 as a second parameter
b ~> c ~> d,4 ~> e
and finally to f along with 5
b ~> c ~> d,4 ~> e,5 ~> f