
'''simple docstring'''







import math







def        SCREAMING_SNAKE_CASE__			(     __A    ,       __A			) ->			Optional[Any]:
	if 0 not in (x, y):
		# We use the relation x^y = y*log10(x), where 10 is the base.
		return y * math.logaa(__A			)
	else:
		if x == 0:  # 0 raised to any number is 0
			return 0
		elif y == 0:
			return 1  # any number raised to 0 is 1
	raise AssertionError('This should never happen'			)


if __name__ == "__main__":  # Main function
					# Read two numbers from input and typecast them to int using map function.
					# Here x is the base and y is the power.
					lowercase					:							List[str]   =      "Enter the base and the power separated by a comma: "
					lowercase   ,						lowercase					:							Optional[Any]   =      map(int, input(prompt).split(","))
					lowercase   ,						lowercase					:							int   =      map(int, input(prompt).split(","))

					# We find the log of each number, using the function res(), which takes two
					# arguments.
					lowercase					:							Union[str, Any]   =      res(xa, ya)
					lowercase					:							Any   =      res(xa, ya)

					# We check for the largest number
					if resa > resa:
										print("Largest number is", xa, "^", ya)
					elif resa > resa:
										print("Largest number is", xa, "^", ya)
					else:
										print("Both are equal")



'''simple docstring'''







from sympy import diff, lambdify, symbols
from sympy.functions import *  # noqa: F403







def        SCREAMING_SNAKE_CASE__			(     __A    ,       __A    ,       __A = "x"    ,       __A = 10**-10    ,       __A = 1    ,       ) ->			complex:
	_snake_case     		=	symbols(__A			)
	_snake_case     		=	lambdify(__A    ,       __A			)
	_snake_case     		=	lambdify(__A    ,       diff(__A    ,       __A			)			)

	_snake_case     		=	starting_point

	while True:
		if diff_function(__A			) != 0:
			_snake_case     		=	prev_guess - multiplicity * func(__A			) / diff_function(
			    __A			)
		else:
			raise ZeroDivisionError('Could not find root'			) from None

		# Precision is checked by comparing the difference of consecutive guesses
		if abs(next_guess - prev_guess			) < precision:
			return next_guess

		_snake_case     		=	next_guess


# Let's Execute
if __name__ == "__main__":
					# Find root of trigonometric function
					# Find value of pi
					print(F'''The root of sin(x) = 0 is {newton_raphson("sin(x)", 2)}''')

					# Find root of polynomial
					# Find fourth Root of 5
					print(F'''The root of x**4 - 5 = 0 is {newton_raphson("x**4 -5", 0.4 +5J)}''')

					# Find value of e
					print(
					    "The root of log(y) - 1 = 0 is ",
					    F'''{newton_raphson("log(y) - 1", 2, variable="y")}''',
					)

					# Exponential Roots
					print(
					    "The root of exp(x) - 1 = 0 is",
					    F'''{newton_raphson("exp(x) - 1", 10, precision=0.005)}''',
					)

					# Find root of cos(x)
					print(F'''The root of cos(x) = 0 is {newton_raphson("cos(x)", 0)}''')

