pub(crate) fn find_root<F: Fn(f64) -> f64, DF: Fn(f64) -> f64>( f: F, deriv: DF, lower: f64, upper: f64, val_lower: f64, val_upper: f64, x_error: f64, ) -> f64