Average Error: 0.5 → 0.5
Time: 5.7s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\frac{\frac{\mathsf{fma}\left(1, 1, \left(-5 \cdot 5\right) \cdot {v}^{4}\right)}{\mathsf{fma}\left(v, 5 \cdot v, 1\right)}}{v \cdot v - 1}\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\frac{\frac{\mathsf{fma}\left(1, 1, \left(-5 \cdot 5\right) \cdot {v}^{4}\right)}{\mathsf{fma}\left(v, 5 \cdot v, 1\right)}}{v \cdot v - 1}\right)
double f(double v) {
        double r258447 = 1.0;
        double r258448 = 5.0;
        double r258449 = v;
        double r258450 = r258449 * r258449;
        double r258451 = r258448 * r258450;
        double r258452 = r258447 - r258451;
        double r258453 = r258450 - r258447;
        double r258454 = r258452 / r258453;
        double r258455 = acos(r258454);
        return r258455;
}

double f(double v) {
        double r258456 = 1.0;
        double r258457 = 5.0;
        double r258458 = r258457 * r258457;
        double r258459 = -r258458;
        double r258460 = v;
        double r258461 = 4.0;
        double r258462 = pow(r258460, r258461);
        double r258463 = r258459 * r258462;
        double r258464 = fma(r258456, r258456, r258463);
        double r258465 = r258457 * r258460;
        double r258466 = fma(r258460, r258465, r258456);
        double r258467 = r258464 / r258466;
        double r258468 = r258460 * r258460;
        double r258469 = r258468 - r258456;
        double r258470 = r258467 / r258469;
        double r258471 = acos(r258470);
        return r258471;
}

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 flip--0.5

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

    \[\leadsto \cos^{-1} \left(\frac{\frac{\color{blue}{\mathsf{fma}\left(1, 1, \left(-5 \cdot 5\right) \cdot {v}^{4}\right)}}{1 + 5 \cdot \left(v \cdot v\right)}}{v \cdot v - 1}\right)\]
  5. Simplified0.5

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

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

Reproduce

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