






import numpy as np
def      a_ (      _A      ,   _A      ,   _A      ,   _A      ,   _A  )			->			Optional[Any]:







				"""simple docstring"""
				snake_case__									=     int(np.ceil((x_end - xa) / h  )  )
				snake_case__									=     np.zeros((n + 1,)  )
				snake_case__									=     ya
				snake_case__									=     xa

				for k in range(_A  ):
								snake_case__									=     f(_A      ,   y[k]  )
								snake_case__									=     f(x + 0.5 * h      ,   y[k] + 0.5 * h * ka  )
								snake_case__									=     f(x + 0.5 * h      ,   y[k] + 0.5 * h * ka  )
								snake_case__									=     f(x + h      ,   y[k] + h * ka  )
								snake_case__									=     y[k] + (1 / 6) * h * (ka + 2 * ka + 2 * ka + ka)
								x += h

				return y


if __name__ == "__main__":
							import doctest

							doctest.testmod()












from collections.abc import Sequence
def      a_ (      _A      ,   _A  )			->			float:







				"""simple docstring"""
				return sum(c * (x**i) for i, c in enumerate(_A  )  )
def      a_ (      _A      ,   _A  )			->			float:







				"""simple docstring"""
				snake_case__									=     0.0
				for coeff in reversed(_A  ):
								snake_case__									=     result * x + coeff
				return result


if __name__ == "__main__":
							__UpperCamelCase					:		str	  =						(0.0, 0.0, 5.0, 9.3, 7.0)
							__UpperCamelCase					:		Dict	  =						1_0.0
							print(evaluate_poly(poly, x))
							print(horner(poly, x))




