\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)e^{\mathsf{log1p}\left(\cos^{-1} \left(\frac{1}{v \cdot v - 1} - \frac{5}{1 - \frac{1}{v \cdot v}}\right)\right)} - 1double f(double v) {
double r252543 = 1.0;
double r252544 = 5.0;
double r252545 = v;
double r252546 = r252545 * r252545;
double r252547 = r252544 * r252546;
double r252548 = r252543 - r252547;
double r252549 = r252546 - r252543;
double r252550 = r252548 / r252549;
double r252551 = acos(r252550);
return r252551;
}
double f(double v) {
double r252552 = 1.0;
double r252553 = v;
double r252554 = r252553 * r252553;
double r252555 = r252554 - r252552;
double r252556 = r252552 / r252555;
double r252557 = 5.0;
double r252558 = 1.0;
double r252559 = r252552 / r252554;
double r252560 = r252558 - r252559;
double r252561 = r252557 / r252560;
double r252562 = r252556 - r252561;
double r252563 = acos(r252562);
double r252564 = log1p(r252563);
double r252565 = exp(r252564);
double r252566 = r252565 - r252558;
return r252566;
}



Bits error versus v
Results
Initial program 0.6
rmApplied div-sub0.6
Simplified0.6
rmApplied expm1-log1p-u0.6
rmApplied expm1-udef0.6
Final simplification0.6
herbie shell --seed 2019305 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))