'''simple docstring'''




import math






def 							snake_case__				(     _A:   float ,  _A:   float					)       ->      float:

		'''simple docstring'''


		return math.pow(_A ,  2					) - a






def 							snake_case__				(     _A:   float					)       ->      float:

		'''simple docstring'''


		return 2 * x






def 							snake_case__				(     _A:   float					)       ->      float:

		'''simple docstring'''


		lowerCAmelCase     =    2.0

		while start <= a:
				lowerCAmelCase     =    math.pow(_A ,  2					)

		return start






def 							snake_case__				(     _A:   float ,  _A:   int = 9999 ,  _A:   float = 0.00_000_000_000_001					)       ->      float:

		'''simple docstring'''


		if a < 0:
				raise ValueError("""math domain error"""					)

		lowerCAmelCase     =    get_initial_point(_A					)

		for _ in range(_A					):
				lowerCAmelCase     =    value
				lowerCAmelCase     =    value - fx(_A ,  _A					) / fx_derivative(_A					)
				if abs(prev_value - value					) < tolerance:
						return value

		return value


if __name__ == "__main__":
						from doctest import testmod

						testmod()





'''simple docstring'''




from functools import lru_cache






@lru_cache
def 							snake_case__				(     _A:   int					)       ->      int:

		'''simple docstring'''


		if num < 0:
				raise ValueError("""Number should not be negative."""					)

		return 1 if num in (0, 1) else num * factorial(num - 1					)


if __name__ == "__main__":
						import doctest

						doctest.testmod()




