\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{\pi}{2} - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\right)\right)double f(double v) {
double r195889 = 1.0;
double r195890 = 5.0;
double r195891 = v;
double r195892 = r195891 * r195891;
double r195893 = r195890 * r195892;
double r195894 = r195889 - r195893;
double r195895 = r195892 - r195889;
double r195896 = r195894 / r195895;
double r195897 = acos(r195896);
return r195897;
}
double f(double v) {
double r195898 = atan2(1.0, 0.0);
double r195899 = 2.0;
double r195900 = r195898 / r195899;
double r195901 = 1.0;
double r195902 = 5.0;
double r195903 = v;
double r195904 = r195903 * r195903;
double r195905 = r195902 * r195904;
double r195906 = r195901 - r195905;
double r195907 = r195904 - r195901;
double r195908 = r195906 / r195907;
double r195909 = asin(r195908);
double r195910 = expm1(r195909);
double r195911 = log1p(r195910);
double r195912 = r195900 - r195911;
return r195912;
}



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