Average Error: 2.0 → 2.0
Time: 9.4s
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 r387686 = a;
        double r387687 = k;
        double r387688 = m;
        double r387689 = pow(r387687, r387688);
        double r387690 = r387686 * r387689;
        double r387691 = 1.0;
        double r387692 = 10.0;
        double r387693 = r387692 * r387687;
        double r387694 = r387691 + r387693;
        double r387695 = r387687 * r387687;
        double r387696 = r387694 + r387695;
        double r387697 = r387690 / r387696;
        return r387697;
}

double f(double a, double k, double m) {
        double r387698 = a;
        double r387699 = k;
        double r387700 = 10.0;
        double r387701 = r387700 + r387699;
        double r387702 = 1.0;
        double r387703 = fma(r387699, r387701, r387702);
        double r387704 = r387698 / r387703;
        double r387705 = cbrt(r387699);
        double r387706 = r387705 * r387705;
        double r387707 = m;
        double r387708 = pow(r387706, r387707);
        double r387709 = r387704 * r387708;
        double r387710 = pow(r387705, r387707);
        double r387711 = r387709 * r387710;
        return r387711;
}

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))))