Average Error: 0.5 → 0.5
Time: 16.9s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} \cdot \sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} - 1\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} \cdot \sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} - 1
double f(double v) {
        double r3288363 = 1.0;
        double r3288364 = 5.0;
        double r3288365 = v;
        double r3288366 = r3288365 * r3288365;
        double r3288367 = r3288364 * r3288366;
        double r3288368 = r3288363 - r3288367;
        double r3288369 = r3288366 - r3288363;
        double r3288370 = r3288368 / r3288369;
        double r3288371 = acos(r3288370);
        return r3288371;
}

double f(double v) {
        double r3288372 = -5.0;
        double r3288373 = v;
        double r3288374 = r3288373 * r3288373;
        double r3288375 = 1.0;
        double r3288376 = fma(r3288372, r3288374, r3288375);
        double r3288377 = r3288374 - r3288375;
        double r3288378 = r3288376 / r3288377;
        double r3288379 = acos(r3288378);
        double r3288380 = log1p(r3288379);
        double r3288381 = exp(r3288380);
        double r3288382 = sqrt(r3288381);
        double r3288383 = r3288382 * r3288382;
        double r3288384 = r3288383 - r3288375;
        return r3288384;
}

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. Simplified0.5

    \[\leadsto \color{blue}{\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)}\]
  3. Using strategy rm
  4. Applied expm1-log1p-u0.5

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

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)} - 1}\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.5

    \[\leadsto \color{blue}{\sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} \cdot \sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}}} - 1\]
  9. Final simplification0.5

    \[\leadsto \sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} \cdot \sqrt{e^{\mathsf{log1p}\left(\left(\cos^{-1} \left(\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{v \cdot v - 1}\right)\right)\right)}} - 1\]

Reproduce

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