pub fn root_search<F, N, T>(
    f: F,
    opts: RootSearchOptions<T>
) -> RootSearchResult<T>where
    F: Fn(N) -> N + Sync + Send + Copy,
    N: Derivable<T> + Coerceable<T> + Display + Copy + Sub + Div,
    T: DualNumFloat,