\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{2} - 1}\right)\right)}^{3}\right)\right)}double f(double v) {
double r184849 = 1.0;
double r184850 = 5.0;
double r184851 = v;
double r184852 = r184851 * r184851;
double r184853 = r184850 * r184852;
double r184854 = r184849 - r184853;
double r184855 = r184852 - r184849;
double r184856 = r184854 / r184855;
double r184857 = acos(r184856);
return r184857;
}
double f(double v) {
double r184858 = 1.0;
double r184859 = 5.0;
double r184860 = v;
double r184861 = 2.0;
double r184862 = pow(r184860, r184861);
double r184863 = r184859 * r184862;
double r184864 = r184858 - r184863;
double r184865 = r184862 - r184858;
double r184866 = r184864 / r184865;
double r184867 = acos(r184866);
double r184868 = 3.0;
double r184869 = pow(r184867, r184868);
double r184870 = log1p(r184869);
double r184871 = expm1(r184870);
double r184872 = cbrt(r184871);
return r184872;
}



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