
'''simple docstring'''


from ..utils import DummyObject, requires_backends


__SCREAMING_SNAKE_CASE						=      None
def 					__magic_name__(       *UpperCAmelCase__ :       List[str]							,				**UpperCAmelCase__ :       List[Any]	):
						requires_backends(_snake_case							,				["""sentencepiece""", """tokenizers"""]	)








"""simple docstring"""





from collections.abc import Callable

snake_case__		:  Optional[int]     					=					Callable[[float], float]  # type alias for a real -> real function


def   _snake_case    (    _snake_case					:      RealFunc			, _snake_case					:      RealFunc			, _snake_case					:      int			, ):
      lowerCAmelCase       :						Dict							= float(_snake_case      )
      while True:
            try:
                  lowerCAmelCase       :						Optional[Any]							= prev_guess - function(_snake_case      ) / derivative(_snake_case      )
            except ZeroDivisionError:
                  raise ZeroDivisionError('''Could not find root'''      ) from None
            if abs(prev_guess - next_guess      ) < 10**-5:
                  return next_guess
            lowerCAmelCase       :						Optional[int]							= next_guess


def   _snake_case    (    _snake_case					:      float      ):
      return (x**3) - (2 * x) - 5


def   _snake_case    (    _snake_case					:      float      ):
      return 3 * (x**2) - 2


if __name__ == "__main__":
 print(newton(f, fa, 3))


