\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{\pi}{2} - \sin^{-1} \left(\frac{\frac{\mathsf{fma}\left(1, 1, -\left(5 \cdot 5\right) \cdot {v}^{4}\right)}{\mathsf{fma}\left(5 \cdot v, v, 1\right)}}{v \cdot v - 1}\right)double f(double v) {
double r173027 = 1.0;
double r173028 = 5.0;
double r173029 = v;
double r173030 = r173029 * r173029;
double r173031 = r173028 * r173030;
double r173032 = r173027 - r173031;
double r173033 = r173030 - r173027;
double r173034 = r173032 / r173033;
double r173035 = acos(r173034);
return r173035;
}
double f(double v) {
double r173036 = atan2(1.0, 0.0);
double r173037 = 2.0;
double r173038 = r173036 / r173037;
double r173039 = 1.0;
double r173040 = 5.0;
double r173041 = r173040 * r173040;
double r173042 = v;
double r173043 = 4.0;
double r173044 = pow(r173042, r173043);
double r173045 = r173041 * r173044;
double r173046 = -r173045;
double r173047 = fma(r173039, r173039, r173046);
double r173048 = r173040 * r173042;
double r173049 = fma(r173048, r173042, r173039);
double r173050 = r173047 / r173049;
double r173051 = r173042 * r173042;
double r173052 = r173051 - r173039;
double r173053 = r173050 / r173052;
double r173054 = asin(r173053);
double r173055 = r173038 - r173054;
return r173055;
}



Bits error versus v
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
Simplified0.5
rmApplied acos-asin0.5
Final simplification0.5
herbie shell --seed 2019322 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))