Average Error: 0.6 → 0.6
Time: 24.8s
Precision: 64
\[\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)\]
\[e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \mathsf{fma}\left(1, 1 + v \cdot v, {v}^{4}\right)\right)\right)}\]
\cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{v \cdot v - 1}\right)
e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \mathsf{fma}\left(1, 1 + v \cdot v, {v}^{4}\right)\right)\right)}
double f(double v) {
        double r162803 = 1.0;
        double r162804 = 5.0;
        double r162805 = v;
        double r162806 = r162805 * r162805;
        double r162807 = r162804 * r162806;
        double r162808 = r162803 - r162807;
        double r162809 = r162806 - r162803;
        double r162810 = r162808 / r162809;
        double r162811 = acos(r162810);
        return r162811;
}

double f(double v) {
        double r162812 = 1.0;
        double r162813 = 5.0;
        double r162814 = v;
        double r162815 = 2.0;
        double r162816 = pow(r162814, r162815);
        double r162817 = r162813 * r162816;
        double r162818 = r162812 - r162817;
        double r162819 = 6.0;
        double r162820 = pow(r162814, r162819);
        double r162821 = 3.0;
        double r162822 = pow(r162812, r162821);
        double r162823 = r162820 - r162822;
        double r162824 = r162818 / r162823;
        double r162825 = r162814 * r162814;
        double r162826 = r162812 + r162825;
        double r162827 = 4.0;
        double r162828 = pow(r162814, r162827);
        double r162829 = fma(r162812, r162826, r162828);
        double r162830 = r162824 * r162829;
        double r162831 = acos(r162830);
        double r162832 = log(r162831);
        double r162833 = exp(r162832);
        return r162833;
}

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. Using strategy rm
  3. Applied flip3--0.6

    \[\leadsto \cos^{-1} \left(\frac{1 - 5 \cdot \left(v \cdot v\right)}{\color{blue}{\frac{{\left(v \cdot v\right)}^{3} - {1}^{3}}{\left(v \cdot v\right) \cdot \left(v \cdot v\right) + \left(1 \cdot 1 + \left(v \cdot v\right) \cdot 1\right)}}}\right)\]
  4. Applied associate-/r/0.6

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

    \[\leadsto \cos^{-1} \left(\color{blue}{\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}}} \cdot \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + \left(1 \cdot 1 + \left(v \cdot v\right) \cdot 1\right)\right)\right)\]
  6. Using strategy rm
  7. Applied add-exp-log0.6

    \[\leadsto \color{blue}{e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + \left(1 \cdot 1 + \left(v \cdot v\right) \cdot 1\right)\right)\right)\right)}}\]
  8. Simplified0.6

    \[\leadsto e^{\color{blue}{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \mathsf{fma}\left(1, 1 + v \cdot v, {v}^{4}\right)\right)\right)}}\]
  9. Final simplification0.6

    \[\leadsto e^{\log \left(\cos^{-1} \left(\frac{1 - 5 \cdot {v}^{2}}{{v}^{6} - {1}^{3}} \cdot \mathsf{fma}\left(1, 1 + v \cdot v, {v}^{4}\right)\right)\right)}\]

Reproduce

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