Average Error: 2.0 → 2.0
Time: 9.2s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\left(\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\left(\frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}
double f(double a, double k, double m) {
        double r211417 = a;
        double r211418 = k;
        double r211419 = m;
        double r211420 = pow(r211418, r211419);
        double r211421 = r211417 * r211420;
        double r211422 = 1.0;
        double r211423 = 10.0;
        double r211424 = r211423 * r211418;
        double r211425 = r211422 + r211424;
        double r211426 = r211418 * r211418;
        double r211427 = r211425 + r211426;
        double r211428 = r211421 / r211427;
        return r211428;
}

double f(double a, double k, double m) {
        double r211429 = a;
        double r211430 = k;
        double r211431 = 10.0;
        double r211432 = r211431 + r211430;
        double r211433 = 1.0;
        double r211434 = fma(r211430, r211432, r211433);
        double r211435 = r211429 / r211434;
        double r211436 = cbrt(r211430);
        double r211437 = r211436 * r211436;
        double r211438 = m;
        double r211439 = pow(r211437, r211438);
        double r211440 = r211435 * r211439;
        double r211441 = pow(r211436, r211438);
        double r211442 = r211440 * r211441;
        return r211442;
}

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 add-cube-cbrt2.0

    \[\leadsto \frac{a}{\mathsf{fma}\left(k, 10 + k, 1\right)} \cdot {\color{blue}{\left(\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right) \cdot \sqrt[3]{k}\right)}}^{m}\]
  5. Applied unpow-prod-down2.0

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

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

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

Reproduce

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