Average Error: 0.5 → 0.5
Time: 5.9s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\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{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
double f(double v) {
        double r193981 = 1.0;
        double r193982 = 5.0;
        double r193983 = v;
        double r193984 = r193983 * r193983;
        double r193985 = r193982 * r193984;
        double r193986 = r193981 - r193985;
        double r193987 = r193984 - r193981;
        double r193988 = r193986 / r193987;
        double r193989 = acos(r193988);
        return r193989;
}

double f(double v) {
        double r193990 = 1.0;
        double r193991 = 5.0;
        double r193992 = v;
        double r193993 = r193992 * r193992;
        double r193994 = r193991 * r193993;
        double r193995 = r193990 - r193994;
        double r193996 = r193993 - r193990;
        double r193997 = r193995 / r193996;
        double r193998 = acos(r193997);
        return r193998;
}

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

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

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

Reproduce

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