\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(\mathsf{fma}\left(4, \mathsf{fma}\left(v, v, {v}^{4}\right), -1\right)\right)\right)\right)double f(double v) {
double r258354 = 1.0;
double r258355 = 5.0;
double r258356 = v;
double r258357 = r258356 * r258356;
double r258358 = r258355 * r258357;
double r258359 = r258354 - r258358;
double r258360 = r258357 - r258354;
double r258361 = r258359 / r258360;
double r258362 = acos(r258361);
return r258362;
}
double f(double v) {
double r258363 = 4.0;
double r258364 = v;
double r258365 = 4.0;
double r258366 = pow(r258364, r258365);
double r258367 = fma(r258364, r258364, r258366);
double r258368 = 1.0;
double r258369 = -r258368;
double r258370 = fma(r258363, r258367, r258369);
double r258371 = acos(r258370);
double r258372 = log1p(r258371);
double r258373 = expm1(r258372);
return r258373;
}



Bits error versus v
Initial program 0.5
rmApplied expm1-log1p-u0.5
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2019303 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))