Average Error: 0.6 → 0.6
Time: 23.3s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[\cos^{-1} \left(\sqrt[3]{\frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)} \cdot \left(\frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)} \cdot \frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)}\right)}\right)\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
\cos^{-1} \left(\sqrt[3]{\frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)} \cdot \left(\frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)} \cdot \frac{\mathsf{fma}\left(v \cdot -5, v, 1\right)}{\mathsf{fma}\left(v, v, -1\right)}\right)}\right)
double f(double v) {
        double r8169807 = 1.0;
        double r8169808 = 5.0;
        double r8169809 = v;
        double r8169810 = r8169809 * r8169809;
        double r8169811 = r8169808 * r8169810;
        double r8169812 = r8169807 - r8169811;
        double r8169813 = r8169810 - r8169807;
        double r8169814 = r8169812 / r8169813;
        double r8169815 = acos(r8169814);
        return r8169815;
}

double f(double v) {
        double r8169816 = v;
        double r8169817 = -5.0;
        double r8169818 = r8169816 * r8169817;
        double r8169819 = 1.0;
        double r8169820 = fma(r8169818, r8169816, r8169819);
        double r8169821 = -1.0;
        double r8169822 = fma(r8169816, r8169816, r8169821);
        double r8169823 = r8169820 / r8169822;
        double r8169824 = r8169823 * r8169823;
        double r8169825 = r8169823 * r8169824;
        double r8169826 = cbrt(r8169825);
        double r8169827 = acos(r8169826);
        return r8169827;
}

Error

Bits error versus v

Derivation

  1. Initial program 0.6

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

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

    \[\leadsto \cos^{-1} \left(\frac{\mathsf{fma}\left(-5 \cdot v, v, 1\right)}{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(v, v, -1\right) \cdot \mathsf{fma}\left(v, v, -1\right)\right) \cdot \mathsf{fma}\left(v, v, -1\right)}}}\right)\]
  5. Applied add-cbrt-cube0.6

    \[\leadsto \cos^{-1} \left(\frac{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(-5 \cdot v, v, 1\right) \cdot \mathsf{fma}\left(-5 \cdot v, v, 1\right)\right) \cdot \mathsf{fma}\left(-5 \cdot v, v, 1\right)}}}{\sqrt[3]{\left(\mathsf{fma}\left(v, v, -1\right) \cdot \mathsf{fma}\left(v, v, -1\right)\right) \cdot \mathsf{fma}\left(v, v, -1\right)}}\right)\]
  6. Applied cbrt-undiv0.6

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

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

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

Reproduce

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