Average Error: 2.0 → 2.1
Time: 11.5s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\left(\frac{\frac{1}{\mathsf{fma}\left(k, 10 + k, 1\right)}}{\frac{1}{a}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\left(\frac{\frac{1}{\mathsf{fma}\left(k, 10 + k, 1\right)}}{\frac{1}{a}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}
double f(double a, double k, double m) {
        double r281855 = a;
        double r281856 = k;
        double r281857 = m;
        double r281858 = pow(r281856, r281857);
        double r281859 = r281855 * r281858;
        double r281860 = 1.0;
        double r281861 = 10.0;
        double r281862 = r281861 * r281856;
        double r281863 = r281860 + r281862;
        double r281864 = r281856 * r281856;
        double r281865 = r281863 + r281864;
        double r281866 = r281859 / r281865;
        return r281866;
}

double f(double a, double k, double m) {
        double r281867 = 1.0;
        double r281868 = k;
        double r281869 = 10.0;
        double r281870 = r281869 + r281868;
        double r281871 = 1.0;
        double r281872 = fma(r281868, r281870, r281871);
        double r281873 = r281867 / r281872;
        double r281874 = a;
        double r281875 = r281867 / r281874;
        double r281876 = r281873 / r281875;
        double r281877 = m;
        double r281878 = 2.0;
        double r281879 = r281877 / r281878;
        double r281880 = pow(r281868, r281879);
        double r281881 = r281876 * r281880;
        double r281882 = r281881 * r281880;
        return r281882;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Initial program 2.0

    \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
  2. Simplified2.0

    \[\leadsto \color{blue}{\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {k}^{m}}\]
  3. Using strategy rm
  4. Applied sqr-pow2.0

    \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot \color{blue}{\left({k}^{\left(\frac{m}{2}\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right)}\]
  5. Applied associate-*r*2.0

    \[\leadsto \color{blue}{\left(\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}}\]
  6. Using strategy rm
  7. Applied clear-num2.1

    \[\leadsto \left(\color{blue}{\frac{1}{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{a}}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\]
  8. Using strategy rm
  9. Applied div-inv2.2

    \[\leadsto \left(\frac{1}{\color{blue}{\mathsf{fma}\left(k, 10 + k, 1\right) \cdot \frac{1}{a}}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\]
  10. Applied associate-/r*2.1

    \[\leadsto \left(\color{blue}{\frac{\frac{1}{\mathsf{fma}\left(k, 10 + k, 1\right)}}{\frac{1}{a}}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\]
  11. Final simplification2.1

    \[\leadsto \left(\frac{\frac{1}{\mathsf{fma}\left(k, 10 + k, 1\right)}}{\frac{1}{a}} \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}\]

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  :precision binary64
  (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))