I don't know recent VB very well, but the following seems to work in LinqPad:
Christoph
Dim f As Func(Of Double, Double) = Function(x) 2*x^2 - 2*x - 2
Bisection.FindRoot(f, 0, 2) ' 1.61803398874989
Bisection.FindRoot(f, -2, 0) ' -0.618033988749895
Thanks,Christoph