The number/type/order of parameters passed in a user-defined function does not match the number required by the Def statement.
Inline variable setting within user defined function calls should be set with :=, not =. This does not present a problem until the function call is nested within other logic such as an if statement.
Remedy:
Either match the number of parameters to that specified in the Def statement or change the Def statement.