Average Error: 0.6 → 0.6
Time: 18.7s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\frac{\mathsf{fma}\left(-5 \cdot v, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)}\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\frac{\mathsf{fma}\left(-5 \cdot v, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)}\right)
double f(double v) {
        double r3693547 = 1.0;
        double r3693548 = 5.0;
        double r3693549 = v;
        double r3693550 = r3693549 * r3693549;
        double r3693551 = r3693548 * r3693550;
        double r3693552 = r3693547 - r3693551;
        double r3693553 = r3693550 - r3693547;
        double r3693554 = r3693552 / r3693553;
        double r3693555 = acos(r3693554);
        return r3693555;
}

double f(double v) {
        double r3693556 = -5.0;
        double r3693557 = v;
        double r3693558 = r3693556 * r3693557;
        double r3693559 = 1.0;
        double r3693560 = fma(r3693558, r3693557, r3693559);
        double r3693561 = -1.0;
        double r3693562 = fma(r3693557, r3693557, r3693561);
        double r3693563 = r3693560 / r3693562;
        double r3693564 = acos(r3693563);
        return r3693564;
}

Error

Bits error versus v

Derivation

  1. Initial program 0.6

    \[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
  2. Simplified0.6

    \[\leadsto \color{blue}{\cos^{-1} \left(\frac{\mathsf{fma}\left(-5 \cdot v, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)}\right)}\]
  3. Using strategy rm
  4. Applied add-exp-log0.6

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

    \[\leadsto e^{\color{blue}{\log \left(\cos^{-1} \left(\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{v \cdot v - 1}\right)\right)}}\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.6

    \[\leadsto e^{\color{blue}{\sqrt{\log \left(\cos^{-1} \left(\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{v \cdot v - 1}\right)\right)} \cdot \sqrt{\log \left(\cos^{-1} \left(\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{v \cdot v - 1}\right)\right)}}}\]
  8. Taylor expanded around -inf 0.6

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

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

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

Reproduce

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