\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{\pi}{2} - \sqrt[3]{{\left(\sin^{-1} \left(\frac{\sqrt[3]{1 - 5 \cdot \left(v \cdot v\right)} \cdot \sqrt[3]{1 - 5 \cdot \left(v \cdot v\right)}}{v + \sqrt{1}} \cdot \frac{\sqrt[3]{1 - 5 \cdot \left(v \cdot v\right)}}{v - \sqrt{1}}\right)\right)}^{3}}double f(double v) {
double r303419 = 1.0;
double r303420 = 5.0;
double r303421 = v;
double r303422 = r303421 * r303421;
double r303423 = r303420 * r303422;
double r303424 = r303419 - r303423;
double r303425 = r303422 - r303419;
double r303426 = r303424 / r303425;
double r303427 = acos(r303426);
return r303427;
}
double f(double v) {
double r303428 = atan2(1.0, 0.0);
double r303429 = 2.0;
double r303430 = r303428 / r303429;
double r303431 = 1.0;
double r303432 = 5.0;
double r303433 = v;
double r303434 = r303433 * r303433;
double r303435 = r303432 * r303434;
double r303436 = r303431 - r303435;
double r303437 = cbrt(r303436);
double r303438 = r303437 * r303437;
double r303439 = sqrt(r303431);
double r303440 = r303433 + r303439;
double r303441 = r303438 / r303440;
double r303442 = r303433 - r303439;
double r303443 = r303437 / r303442;
double r303444 = r303441 * r303443;
double r303445 = asin(r303444);
double r303446 = 3.0;
double r303447 = pow(r303445, r303446);
double r303448 = cbrt(r303447);
double r303449 = r303430 - r303448;
return r303449;
}



Bits error versus v
Results
Initial program 0.5
rmApplied acos-asin0.5
rmApplied add-sqr-sqrt0.5
Applied difference-of-squares0.9
Applied add-cube-cbrt1.0
Applied times-frac1.0
rmApplied add-cbrt-cube1.0
Simplified1.0
Final simplification1.0
herbie shell --seed 2020062 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))