\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\cos^{-1} \left(\frac{1}{\sqrt[3]{\mathsf{fma}\left(-1, 1, {v}^{4}\right)} \cdot \sqrt[3]{\mathsf{fma}\left(-1, 1, {v}^{4}\right)}} \cdot \left(\mathsf{fma}\left(v, v, 1\right) \cdot \frac{1 - 5 \cdot \left(v \cdot v\right)}{\sqrt[3]{\mathsf{fma}\left(-1, 1, {v}^{4}\right)}}\right)\right)double f(double v) {
double r350889 = 1.0;
double r350890 = 5.0;
double r350891 = v;
double r350892 = r350891 * r350891;
double r350893 = r350890 * r350892;
double r350894 = r350889 - r350893;
double r350895 = r350892 - r350889;
double r350896 = r350894 / r350895;
double r350897 = acos(r350896);
return r350897;
}
double f(double v) {
double r350898 = 1.0;
double r350899 = 1.0;
double r350900 = -r350899;
double r350901 = v;
double r350902 = 4.0;
double r350903 = pow(r350901, r350902);
double r350904 = fma(r350900, r350899, r350903);
double r350905 = cbrt(r350904);
double r350906 = r350905 * r350905;
double r350907 = r350898 / r350906;
double r350908 = fma(r350901, r350901, r350899);
double r350909 = 5.0;
double r350910 = r350901 * r350901;
double r350911 = r350909 * r350910;
double r350912 = r350899 - r350911;
double r350913 = r350912 / r350905;
double r350914 = r350908 * r350913;
double r350915 = r350907 * r350914;
double r350916 = acos(r350915);
return r350916;
}



Bits error versus v
Initial program 0.5
rmApplied flip--0.5
Applied associate-/r/0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied associate-*l*0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019356 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))