Average Error: 0.5 → 0.5
Time: 15.1s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\frac{\pi}{2} - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\right)\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\frac{\pi}{2} - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\right)\right)
double f(double v) {
        double r195889 = 1.0;
        double r195890 = 5.0;
        double r195891 = v;
        double r195892 = r195891 * r195891;
        double r195893 = r195890 * r195892;
        double r195894 = r195889 - r195893;
        double r195895 = r195892 - r195889;
        double r195896 = r195894 / r195895;
        double r195897 = acos(r195896);
        return r195897;
}

double f(double v) {
        double r195898 = atan2(1.0, 0.0);
        double r195899 = 2.0;
        double r195900 = r195898 / r195899;
        double r195901 = 1.0;
        double r195902 = 5.0;
        double r195903 = v;
        double r195904 = r195903 * r195903;
        double r195905 = r195902 * r195904;
        double r195906 = r195901 - r195905;
        double r195907 = r195904 - r195901;
        double r195908 = r195906 / r195907;
        double r195909 = asin(r195908);
        double r195910 = expm1(r195909);
        double r195911 = log1p(r195910);
        double r195912 = r195900 - r195911;
        return r195912;
}

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. Using strategy rm
  5. Applied log1p-expm1-u0.5

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

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

Reproduce

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