OK, now I got it! You have brent algorithm for finding the minima, but not brent algorithm for finding the root.
I don't have derivative for f, so how does toms748_solve compare to [1]?
They are very similar and differ only in the interpolation methods used, see http://na.math.kit.edu/alefeld/download/1995_Algorithm_748_Enclosing_Zeros_o... for the details, but TOMS748 claims to be the best of the bunch - albeit I suspect for many problems there is little to choose between them. Certainly TOM748 seems to be very robust, and for most functions will find the root to double precision in about 8-10 calls to f() provided the starting bounds aren't too far apart. Of course in the extreme case that your function is basically a square wave, you can't do better than bisection, which all of these algorithms ultimately fall back to. John.