\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\frac{\frac{1}{8} \cdot {\pi}^{3} - {\left(\sin^{-1} \left(4 \cdot \left(v \cdot v + {v}^{4}\right) - 1\right)\right)}^{3}}{\left(\frac{1}{4} \cdot {\pi}^{2} + {\left(\sin^{-1} \left(4 \cdot \left(v \cdot v + {v}^{4}\right) - 1\right)\right)}^{2}\right) + \frac{1}{2} \cdot \left(\pi \cdot \sin^{-1} \left(4 \cdot \left(v \cdot v + {v}^{4}\right) - 1\right)\right)}double f(double v) {
double r267170 = 1.0;
double r267171 = 5.0;
double r267172 = v;
double r267173 = r267172 * r267172;
double r267174 = r267171 * r267173;
double r267175 = r267170 - r267174;
double r267176 = r267173 - r267170;
double r267177 = r267175 / r267176;
double r267178 = acos(r267177);
return r267178;
}
double f(double v) {
double r267179 = 0.125;
double r267180 = atan2(1.0, 0.0);
double r267181 = 3.0;
double r267182 = pow(r267180, r267181);
double r267183 = r267179 * r267182;
double r267184 = 4.0;
double r267185 = v;
double r267186 = r267185 * r267185;
double r267187 = 4.0;
double r267188 = pow(r267185, r267187);
double r267189 = r267186 + r267188;
double r267190 = r267184 * r267189;
double r267191 = 1.0;
double r267192 = r267190 - r267191;
double r267193 = asin(r267192);
double r267194 = pow(r267193, r267181);
double r267195 = r267183 - r267194;
double r267196 = 0.25;
double r267197 = 2.0;
double r267198 = pow(r267180, r267197);
double r267199 = r267196 * r267198;
double r267200 = pow(r267193, r267197);
double r267201 = r267199 + r267200;
double r267202 = 0.5;
double r267203 = r267180 * r267193;
double r267204 = r267202 * r267203;
double r267205 = r267201 + r267204;
double r267206 = r267195 / r267205;
return r267206;
}



Bits error versus v
Results
Initial program 0.6
Taylor expanded around 0 0.8
Simplified0.8
rmApplied acos-asin0.8
rmApplied flip3--0.8
Simplified0.8
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.8
herbie shell --seed 2020046
(FPCore (v)
:name "Falkner and Boettcher, Appendix B, 1"
:precision binary64
(acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))