\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{\pi}{2} - \sin^{-1} \left(\frac{\frac{\left(-5 \cdot 5\right) \cdot {v}^{4} + 1 \cdot 1}{1 + 5 \cdot \left(v \cdot v\right)}}{v \cdot v - 1}\right)double f(double v) {
double r303149 = 1.0;
double r303150 = 5.0;
double r303151 = v;
double r303152 = r303151 * r303151;
double r303153 = r303150 * r303152;
double r303154 = r303149 - r303153;
double r303155 = r303152 - r303149;
double r303156 = r303154 / r303155;
double r303157 = acos(r303156);
return r303157;
}
double f(double v) {
double r303158 = atan2(1.0, 0.0);
double r303159 = 2.0;
double r303160 = r303158 / r303159;
double r303161 = 5.0;
double r303162 = r303161 * r303161;
double r303163 = -r303162;
double r303164 = v;
double r303165 = 4.0;
double r303166 = pow(r303164, r303165);
double r303167 = r303163 * r303166;
double r303168 = 1.0;
double r303169 = r303168 * r303168;
double r303170 = r303167 + r303169;
double r303171 = r303164 * r303164;
double r303172 = r303161 * r303171;
double r303173 = r303168 + r303172;
double r303174 = r303170 / r303173;
double r303175 = r303171 - r303168;
double r303176 = r303174 / r303175;
double r303177 = asin(r303176);
double r303178 = r303160 - r303177;
return r303178;
}



Bits error versus v
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied acos-asin0.5
Final simplification0.5
herbie shell --seed 2019322
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))