pub fn bisect<F>(f: F, a: f64, b: f64, tol: f64, max_iter: usize) -> RootResultwhere F: Fn(f64) -> f64,
Bisection method (guaranteed convergence on bracket).