\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 r185208 = 1.0;
double r185209 = 5.0;
double r185210 = v;
double r185211 = r185210 * r185210;
double r185212 = r185209 * r185211;
double r185213 = r185208 - r185212;
double r185214 = r185211 - r185208;
double r185215 = r185213 / r185214;
double r185216 = acos(r185215);
return r185216;
}
double f(double v) {
double r185217 = 4.0;
double r185218 = v;
double r185219 = 4.0;
double r185220 = pow(r185218, r185219);
double r185221 = fma(r185218, r185218, r185220);
double r185222 = 1.0;
double r185223 = -r185222;
double r185224 = fma(r185217, r185221, r185223);
double r185225 = acos(r185224);
double r185226 = log1p(r185225);
double r185227 = expm1(r185226);
return r185227;
}



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