Rick:

I think the code you posted for the bisection algorithm contained a typo (missing something):

This statement is syntactically incorrect because it is missing an operator:
if abs(Func(c)) < dy | (b-a)/2 0 then a = c;