Average Error: 0.5 → 0.6
Time: 41.0s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\left(1 + v \cdot v\right) \cdot \frac{(-5 \cdot \left(v \cdot v\right) + 1)_*}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1}\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\left(1 + v \cdot v\right) \cdot \frac{(-5 \cdot \left(v \cdot v\right) + 1)_*}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1}\right)
double f(double v) {
        double r18746541 = 1.0;
        double r18746542 = 5.0;
        double r18746543 = v;
        double r18746544 = r18746543 * r18746543;
        double r18746545 = r18746542 * r18746544;
        double r18746546 = r18746541 - r18746545;
        double r18746547 = r18746544 - r18746541;
        double r18746548 = r18746546 / r18746547;
        double r18746549 = acos(r18746548);
        return r18746549;
}

double f(double v) {
        double r18746550 = 1.0;
        double r18746551 = v;
        double r18746552 = r18746551 * r18746551;
        double r18746553 = r18746550 + r18746552;
        double r18746554 = -5.0;
        double r18746555 = fma(r18746554, r18746552, r18746550);
        double r18746556 = r18746552 * r18746552;
        double r18746557 = r18746556 - r18746550;
        double r18746558 = r18746555 / r18746557;
        double r18746559 = r18746553 * r18746558;
        double r18746560 = acos(r18746559);
        return r18746560;
}

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. Simplified0.5

    \[\leadsto \color{blue}{\cos^{-1} \left(\frac{(-5 \cdot \left(v \cdot v\right) + 1)_*}{v \cdot v - 1}\right)}\]
  3. Using strategy rm
  4. Applied flip--0.6

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

    \[\leadsto \cos^{-1} \color{blue}{\left(\frac{(-5 \cdot \left(v \cdot v\right) + 1)_*}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1 \cdot 1} \cdot \left(v \cdot v + 1\right)\right)}\]
  6. Final simplification0.6

    \[\leadsto \cos^{-1} \left(\left(1 + v \cdot v\right) \cdot \frac{(-5 \cdot \left(v \cdot v\right) + 1)_*}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1}\right)\]

Reproduce

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