double f(double v) {
double r45215387 = 1.0;
double r45215388 = 5.0;
double r45215389 = v;
double r45215390 = r45215389 * r45215389;
double r45215391 = r45215388 * r45215390;
double r45215392 = r45215387 - r45215391;
double r45215393 = r45215390 - r45215387;
double r45215394 = r45215392 / r45215393;
double r45215395 = acos(r45215394);
return r45215395;
}
double f(double v) {
double r45215396 = 0.5;
double r45215397 = atan2(1.0, 0.0);
double r45215398 = r45215396 * r45215397;
double r45215399 = v;
double r45215400 = r45215399 * r45215399;
double r45215401 = -5.0;
double r45215402 = 1.0;
double r45215403 = fma(r45215400, r45215401, r45215402);
double r45215404 = -1.0;
double r45215405 = fma(r45215399, r45215399, r45215404);
double r45215406 = r45215403 / r45215405;
double r45215407 = asin(r45215406);
double r45215408 = r45215398 - r45215407;
return r45215408;
}
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{1}{2} \cdot \pi - \sin^{-1} \left(\frac{(\left(v \cdot v\right) \cdot -5 + 1)_*}{(v \cdot v + -1)_*}\right)


Bits error versus v
Initial program 0.6
Simplified0.6
rmApplied acos-asin0.6
Taylor expanded around inf 0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019101 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))