Error de dominio de Python math usando la función math.acos

Estoy usando la función math.acos ():

math.acos(1.0000000000000002) 

Esto arroja un error de dominio matemático. ¿Alguien puede decir la razón? Obtengo este valor calculado anteriormente y aquí este valor genera un error, pero si elimino 2 al final, no produce ningún error. No entendí la razón para esto.

Usted está tratando de hacer acos de un número para el cual el acos no existe.

 Acos - Arccosine , which is the inverse of cosine function. 

El valor de entrada para acos varía de -1 <= x <= 1 .

Por lo tanto, al intentar hacer - math.acos(1.0000000000000002) está obteniendo el error.

Si intentas números más altos, math.acos(2) obteniendo el mismo error - math.acos(2) - lleva a - ValueError: math domain error

El coseno inverso se define solo entre -1 y 1, ambos inclusive. El arco-coseno de 1.0000000000000002 no tiene un significado matemático o semántico que no sea “no existe” o “indefinido”.

Por supuesto, dado que existe el coseno inverso de 1, acos (1) no produce ningún error.