Average Error: 0.5 → 0.6
Time: 16.5s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{\left({v}^{2} - 1\right) \cdot \mathsf{fma}\left(5 \cdot \left(v \cdot v\right), \mathsf{fma}\left(v \cdot v, 5, 1\right), 1 \cdot 1\right)}\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{\left({v}^{2} - 1\right) \cdot \mathsf{fma}\left(5 \cdot \left(v \cdot v\right), \mathsf{fma}\left(v \cdot v, 5, 1\right), 1 \cdot 1\right)}\right)
double f(double v) {
        double r201157 = 1.0;
        double r201158 = 5.0;
        double r201159 = v;
        double r201160 = r201159 * r201159;
        double r201161 = r201158 * r201160;
        double r201162 = r201157 - r201161;
        double r201163 = r201160 - r201157;
        double r201164 = r201162 / r201163;
        double r201165 = acos(r201164);
        return r201165;
}

double f(double v) {
        double r201166 = 1.0;
        double r201167 = 3.0;
        double r201168 = pow(r201166, r201167);
        double r201169 = 5.0;
        double r201170 = v;
        double r201171 = r201170 * r201170;
        double r201172 = r201169 * r201171;
        double r201173 = pow(r201172, r201167);
        double r201174 = r201168 - r201173;
        double r201175 = 2.0;
        double r201176 = pow(r201170, r201175);
        double r201177 = r201176 - r201166;
        double r201178 = fma(r201171, r201169, r201166);
        double r201179 = r201166 * r201166;
        double r201180 = fma(r201172, r201178, r201179);
        double r201181 = r201177 * r201180;
        double r201182 = r201174 / r201181;
        double r201183 = acos(r201182);
        return r201183;
}

Error

Bits error versus v

Derivation

  1. Initial program 0.5

    \[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
  2. Using strategy rm
  3. Applied flip3--0.5

    \[\leadsto \cos^{-1} \left(\frac{\color{blue}{\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{1 \cdot 1 + \left(\left(5 \cdot \left(v \cdot v\right)\right) \cdot \left(5 \cdot \left(v \cdot v\right)\right) + 1 \cdot \left(5 \cdot \left(v \cdot v\right)\right)\right)}}}{v \cdot v - 1}\right)\]
  4. Applied associate-/l/0.6

    \[\leadsto \cos^{-1} \color{blue}{\left(\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{\left(v \cdot v - 1\right) \cdot \left(1 \cdot 1 + \left(\left(5 \cdot \left(v \cdot v\right)\right) \cdot \left(5 \cdot \left(v \cdot v\right)\right) + 1 \cdot \left(5 \cdot \left(v \cdot v\right)\right)\right)\right)}\right)}\]
  5. Simplified0.6

    \[\leadsto \cos^{-1} \left(\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{\color{blue}{\left({v}^{2} - 1\right) \cdot \mathsf{fma}\left(5 \cdot \left(v \cdot v\right), \mathsf{fma}\left(v \cdot v, 5, 1\right), 1 \cdot 1\right)}}\right)\]
  6. Final simplification0.6

    \[\leadsto \cos^{-1} \left(\frac{{1}^{3} - {\left(5 \cdot \left(v \cdot v\right)\right)}^{3}}{\left({v}^{2} - 1\right) \cdot \mathsf{fma}\left(5 \cdot \left(v \cdot v\right), \mathsf{fma}\left(v \cdot v, 5, 1\right), 1 \cdot 1\right)}\right)\]

Reproduce

herbie shell --seed 2019351 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 1"
  :precision binary64
  (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))