\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\sqrt{\cos^{-1} \left(\frac{1}{v \cdot v - 1} - \frac{5}{\frac{v \cdot v - 1}{v \cdot v}}\right) \cdot \cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{v \cdot v - 1}\right)}double f(double v) {
double r5983044 = 1.0;
double r5983045 = 5.0;
double r5983046 = v;
double r5983047 = r5983046 * r5983046;
double r5983048 = r5983045 * r5983047;
double r5983049 = r5983044 - r5983048;
double r5983050 = r5983047 - r5983044;
double r5983051 = r5983049 / r5983050;
double r5983052 = acos(r5983051);
return r5983052;
}
double f(double v) {
double r5983053 = 1.0;
double r5983054 = v;
double r5983055 = r5983054 * r5983054;
double r5983056 = r5983055 - r5983053;
double r5983057 = r5983053 / r5983056;
double r5983058 = 5.0;
double r5983059 = r5983056 / r5983055;
double r5983060 = r5983058 / r5983059;
double r5983061 = r5983057 - r5983060;
double r5983062 = acos(r5983061);
double r5983063 = r5983055 * r5983058;
double r5983064 = r5983053 - r5983063;
double r5983065 = r5983064 / r5983056;
double r5983066 = acos(r5983065);
double r5983067 = r5983062 * r5983066;
double r5983068 = sqrt(r5983067);
return r5983068;
}



Bits error versus v
Results
Initial program 0.5
rmApplied add-cbrt-cube0.6
rmApplied add-sqr-sqrt1.5
Taylor expanded around 0 1.5
Simplified1.5
rmApplied sqrt-unprod0.6
Simplified0.5
Final simplification0.5
herbie shell --seed 2019172
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
(acos (/ (- 1.0 (* 5.0 (* v v))) (- (* v v) 1.0))))