Я рассматривал реализацию библиотеки времени выполнения arcsin
, которая была реализована путем вычисления:
ArcTan(X, Sqrt(1 - X*X))
Однако код, который вычислял 1 - X*X
, фактически оценивал (1-X)*(1+X)
. Есть ли веская причина для предпочтения последнего? Я подозреваю, что последний уменьшает погрешность округления для X
близко к нулю, но я не могу объяснить, почему это было бы так.