\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \mathsf{fma}\left(1, 1 + v \cdot v, {v}^{4}\right)\right)\right)}double f(double v) {
double r162803 = 1.0;
double r162804 = 5.0;
double r162805 = v;
double r162806 = r162805 * r162805;
double r162807 = r162804 * r162806;
double r162808 = r162803 - r162807;
double r162809 = r162806 - r162803;
double r162810 = r162808 / r162809;
double r162811 = acos(r162810);
return r162811;
}
double f(double v) {
double r162812 = 1.0;
double r162813 = 5.0;
double r162814 = v;
double r162815 = 2.0;
double r162816 = pow(r162814, r162815);
double r162817 = r162813 * r162816;
double r162818 = r162812 - r162817;
double r162819 = 6.0;
double r162820 = pow(r162814, r162819);
double r162821 = 3.0;
double r162822 = pow(r162812, r162821);
double r162823 = r162820 - r162822;
double r162824 = r162818 / r162823;
double r162825 = r162814 * r162814;
double r162826 = r162812 + r162825;
double r162827 = 4.0;
double r162828 = pow(r162814, r162827);
double r162829 = fma(r162812, r162826, r162828);
double r162830 = r162824 * r162829;
double r162831 = acos(r162830);
double r162832 = log(r162831);
double r162833 = exp(r162832);
return r162833;
}



Bits error versus v
Initial program 0.6
rmApplied flip3--0.6
Applied associate-/r/0.6
Simplified0.6
rmApplied add-exp-log0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019325 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))