\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 r394487 = 1.0;
double r394488 = 5.0;
double r394489 = v;
double r394490 = r394489 * r394489;
double r394491 = r394488 * r394490;
double r394492 = r394487 - r394491;
double r394493 = r394490 - r394487;
double r394494 = r394492 / r394493;
double r394495 = acos(r394494);
return r394495;
}
double f(double v) {
double r394496 = atan2(1.0, 0.0);
double r394497 = 2.0;
double r394498 = r394496 / r394497;
double r394499 = 1.0;
double r394500 = 5.0;
double r394501 = v;
double r394502 = r394501 * r394501;
double r394503 = r394500 * r394502;
double r394504 = r394499 - r394503;
double r394505 = cbrt(r394504);
double r394506 = r394505 * r394505;
double r394507 = sqrt(r394499);
double r394508 = r394501 + r394507;
double r394509 = r394506 / r394508;
double r394510 = r394501 - r394507;
double r394511 = r394505 / r394510;
double r394512 = r394509 * r394511;
double r394513 = asin(r394512);
double r394514 = 3.0;
double r394515 = pow(r394513, r394514);
double r394516 = cbrt(r394515);
double r394517 = r394498 - r394516;
return r394517;
}



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))))