Average Error: 0.5 → 0.5
Time: 1.0m
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[e^{\log \left(\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1} \cdot \left(v \cdot v + 1\right)\right)\right)}\]
double f(double v) {
        double r40140610 = 1.0;
        double r40140611 = 5.0;
        double r40140612 = v;
        double r40140613 = r40140612 * r40140612;
        double r40140614 = r40140611 * r40140613;
        double r40140615 = r40140610 - r40140614;
        double r40140616 = r40140613 - r40140610;
        double r40140617 = r40140615 / r40140616;
        double r40140618 = acos(r40140617);
        return r40140618;
}

double f(double v) {
        double r40140619 = 1.0;
        double r40140620 = v;
        double r40140621 = r40140620 * r40140620;
        double r40140622 = 5.0;
        double r40140623 = r40140621 * r40140622;
        double r40140624 = r40140619 - r40140623;
        double r40140625 = r40140621 * r40140621;
        double r40140626 = r40140625 - r40140619;
        double r40140627 = r40140624 / r40140626;
        double r40140628 = r40140621 + r40140619;
        double r40140629 = r40140627 * r40140628;
        double r40140630 = acos(r40140629);
        double r40140631 = log(r40140630);
        double r40140632 = exp(r40140631);
        return r40140632;
}

\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
e^{\log \left(\cos^{-1} \left(\frac{1 - \left(v \cdot v\right) \cdot 5}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1} \cdot \left(v \cdot v + 1\right)\right)\right)}

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{1 - 5 \cdot \left(v \cdot v\right)}{\color{blue}{\frac{\left(v \cdot v\right) \cdot \left(v \cdot v\right) - 1 \cdot 1}{v \cdot v + 1}}}\right)\]
  4. Applied associate-/r/0.5

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

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

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

Reproduce

herbie shell --seed 2019102 
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 1"
  (acos (/ (- 1 (* 5 (* v v))) (- (* v v) 1))))