Average Error: 0.5 → 0.5
Time: 31.6s
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{\frac{\mathsf{fma}\left(1, 1, -\left(5 \cdot 5\right) \cdot {v}^{4}\right)}{\mathsf{fma}\left(5 \cdot v, v, 1\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{\frac{\mathsf{fma}\left(1, 1, -\left(5 \cdot 5\right) \cdot {v}^{4}\right)}{\mathsf{fma}\left(5 \cdot v, v, 1\right)}}{v \cdot v - 1}\right)
double f(double v) {
        double r173027 = 1.0;
        double r173028 = 5.0;
        double r173029 = v;
        double r173030 = r173029 * r173029;
        double r173031 = r173028 * r173030;
        double r173032 = r173027 - r173031;
        double r173033 = r173030 - r173027;
        double r173034 = r173032 / r173033;
        double r173035 = acos(r173034);
        return r173035;
}

double f(double v) {
        double r173036 = atan2(1.0, 0.0);
        double r173037 = 2.0;
        double r173038 = r173036 / r173037;
        double r173039 = 1.0;
        double r173040 = 5.0;
        double r173041 = r173040 * r173040;
        double r173042 = v;
        double r173043 = 4.0;
        double r173044 = pow(r173042, r173043);
        double r173045 = r173041 * r173044;
        double r173046 = -r173045;
        double r173047 = fma(r173039, r173039, r173046);
        double r173048 = r173040 * r173042;
        double r173049 = fma(r173048, r173042, r173039);
        double r173050 = r173047 / r173049;
        double r173051 = r173042 * r173042;
        double r173052 = r173051 - r173039;
        double r173053 = r173050 / r173052;
        double r173054 = asin(r173053);
        double r173055 = r173038 - r173054;
        return r173055;
}

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

    \[\leadsto \cos^{-1} \left(\frac{\frac{\color{blue}{\mathsf{fma}\left(1, 1, -\left(5 \cdot 5\right) \cdot {v}^{4}\right)}}{1 + 5 \cdot \left(v \cdot v\right)}}{v \cdot v - 1}\right)\]
  5. Simplified0.5

    \[\leadsto \cos^{-1} \left(\frac{\frac{\mathsf{fma}\left(1, 1, -\left(5 \cdot 5\right) \cdot {v}^{4}\right)}{\color{blue}{\mathsf{fma}\left(5 \cdot v, v, 1\right)}}}{v \cdot v - 1}\right)\]
  6. Using strategy rm
  7. Applied acos-asin0.5

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

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

Reproduce

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