Average Error: 1.9 → 2.0
Time: 19.9s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\frac{1}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}} \cdot \frac{a}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\frac{1}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}} \cdot \frac{a}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}}
double f(double a, double k, double m) {
        double r138673 = a;
        double r138674 = k;
        double r138675 = m;
        double r138676 = pow(r138674, r138675);
        double r138677 = r138673 * r138676;
        double r138678 = 1.0;
        double r138679 = 10.0;
        double r138680 = r138679 * r138674;
        double r138681 = r138678 + r138680;
        double r138682 = r138674 * r138674;
        double r138683 = r138681 + r138682;
        double r138684 = r138677 / r138683;
        return r138684;
}

double f(double a, double k, double m) {
        double r138685 = 1.0;
        double r138686 = k;
        double r138687 = 10.0;
        double r138688 = r138687 + r138686;
        double r138689 = 1.0;
        double r138690 = fma(r138686, r138688, r138689);
        double r138691 = m;
        double r138692 = pow(r138686, r138691);
        double r138693 = r138690 / r138692;
        double r138694 = sqrt(r138693);
        double r138695 = r138685 / r138694;
        double r138696 = a;
        double r138697 = r138696 / r138694;
        double r138698 = r138695 * r138697;
        return r138698;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Initial program 1.9

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

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

    \[\leadsto \frac{a}{\color{blue}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}} \cdot \sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}}}\]
  5. Applied *-un-lft-identity2.0

    \[\leadsto \frac{\color{blue}{1 \cdot a}}{\sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}} \cdot \sqrt{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{{k}^{m}}}}\]
  6. Applied times-frac2.0

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

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

Reproduce

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