Average Error: 0.5 → 0.5
Time: 4.7s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\frac{\pi}{2} - \sin^{-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)
\frac{\pi}{2} - \sin^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
double f(double v) {
        double r233087 = 1.0;
        double r233088 = 5.0;
        double r233089 = v;
        double r233090 = r233089 * r233089;
        double r233091 = r233088 * r233090;
        double r233092 = r233087 - r233091;
        double r233093 = r233090 - r233087;
        double r233094 = r233092 / r233093;
        double r233095 = acos(r233094);
        return r233095;
}

double f(double v) {
        double r233096 = atan2(1.0, 0.0);
        double r233097 = 2.0;
        double r233098 = r233096 / r233097;
        double r233099 = 1.0;
        double r233100 = 5.0;
        double r233101 = v;
        double r233102 = r233101 * r233101;
        double r233103 = r233100 * r233102;
        double r233104 = r233099 - r233103;
        double r233105 = r233102 - r233099;
        double r233106 = r233104 / r233105;
        double r233107 = asin(r233106);
        double r233108 = r233098 - r233107;
        return r233108;
}

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. Using strategy rm
  3. Applied acos-asin0.5

    \[\leadsto \color{blue}{\frac{\pi}{2} - \sin^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)}\]
  4. Final simplification0.5

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

Reproduce

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