\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\mathsf{expm1}\left(\mathsf{log1p}\left(\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)\right)\right)double f(double v) {
double r7010286 = 1.0;
double r7010287 = 5.0;
double r7010288 = v;
double r7010289 = r7010288 * r7010288;
double r7010290 = r7010287 * r7010289;
double r7010291 = r7010286 - r7010290;
double r7010292 = r7010289 - r7010286;
double r7010293 = r7010291 / r7010292;
double r7010294 = acos(r7010293);
return r7010294;
}
double f(double v) {
double r7010295 = 1.0;
double r7010296 = v;
double r7010297 = r7010296 * r7010296;
double r7010298 = 5.0;
double r7010299 = r7010297 * r7010298;
double r7010300 = r7010295 - r7010299;
double r7010301 = r7010297 - r7010295;
double r7010302 = r7010300 / r7010301;
double r7010303 = acos(r7010302);
double r7010304 = log1p(r7010303);
double r7010305 = expm1(r7010304);
return r7010305;
}



Bits error versus v
Results
Initial program 0.6
rmApplied expm1-log1p-u0.6
Final simplification0.6
herbie shell --seed 2019200 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
(acos (/ (- 1.0 (* 5.0 (* v v))) (- (* v v) 1.0))))