\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)e^{\sqrt{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\right)} \cdot \sqrt{\log \left(\cos^{-1} \left(\frac{1 - \log \left(e^{5 \cdot \left(v \cdot v\right)}\right)}{v \cdot v - 1}\right)\right)}}double f(double v) {
double r170059 = 1.0;
double r170060 = 5.0;
double r170061 = v;
double r170062 = r170061 * r170061;
double r170063 = r170060 * r170062;
double r170064 = r170059 - r170063;
double r170065 = r170062 - r170059;
double r170066 = r170064 / r170065;
double r170067 = acos(r170066);
return r170067;
}
double f(double v) {
double r170068 = 1.0;
double r170069 = 5.0;
double r170070 = v;
double r170071 = r170070 * r170070;
double r170072 = r170069 * r170071;
double r170073 = r170068 - r170072;
double r170074 = r170071 - r170068;
double r170075 = r170073 / r170074;
double r170076 = acos(r170075);
double r170077 = log(r170076);
double r170078 = sqrt(r170077);
double r170079 = exp(r170072);
double r170080 = log(r170079);
double r170081 = r170068 - r170080;
double r170082 = r170081 / r170074;
double r170083 = acos(r170082);
double r170084 = log(r170083);
double r170085 = sqrt(r170084);
double r170086 = r170078 * r170085;
double r170087 = exp(r170086);
return r170087;
}



Bits error versus v
Results
Initial program 0.5
rmApplied add-exp-log0.5
rmApplied add-sqr-sqrt0.6
rmApplied add-log-exp0.6
Final simplification0.6
herbie shell --seed 2019323 +o rules:numerics
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))