Average Error: 2.2 → 0.2
Time: 21.1s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 1.38202916987206885 \cdot 10^{153}:\\ \;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(\frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \mathsf{fma}\left(\frac{10}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \frac{\frac{1}{a}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 1.38202916987206885 \cdot 10^{153}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(\frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \mathsf{fma}\left(\frac{10}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \frac{\frac{1}{a}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}\\

\end{array}
double f(double a, double k, double m) {
        double r318674 = a;
        double r318675 = k;
        double r318676 = m;
        double r318677 = pow(r318675, r318676);
        double r318678 = r318674 * r318677;
        double r318679 = 1.0;
        double r318680 = 10.0;
        double r318681 = r318680 * r318675;
        double r318682 = r318679 + r318681;
        double r318683 = r318675 * r318675;
        double r318684 = r318682 + r318683;
        double r318685 = r318678 / r318684;
        return r318685;
}

double f(double a, double k, double m) {
        double r318686 = k;
        double r318687 = 1.3820291698720688e+153;
        bool r318688 = r318686 <= r318687;
        double r318689 = a;
        double r318690 = m;
        double r318691 = pow(r318686, r318690);
        double r318692 = r318689 * r318691;
        double r318693 = 1.0;
        double r318694 = 10.0;
        double r318695 = r318694 * r318686;
        double r318696 = r318693 + r318695;
        double r318697 = r318686 * r318686;
        double r318698 = r318696 + r318697;
        double r318699 = r318692 / r318698;
        double r318700 = 1.0;
        double r318701 = r318700 / r318686;
        double r318702 = -r318690;
        double r318703 = pow(r318701, r318702);
        double r318704 = r318686 / r318703;
        double r318705 = r318686 / r318689;
        double r318706 = r318694 / r318703;
        double r318707 = r318693 / r318689;
        double r318708 = r318707 / r318703;
        double r318709 = fma(r318706, r318705, r318708);
        double r318710 = fma(r318704, r318705, r318709);
        double r318711 = r318700 / r318710;
        double r318712 = r318688 ? r318699 : r318711;
        return r318712;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 1.3820291698720688e+153

    1. Initial program 0.1

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

    if 1.3820291698720688e+153 < k

    1. Initial program 11.1

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Using strategy rm
    3. Applied clear-num11.1

      \[\leadsto \color{blue}{\frac{1}{\frac{\left(1 + 10 \cdot k\right) + k \cdot k}{a \cdot {k}^{m}}}}\]
    4. Simplified11.1

      \[\leadsto \frac{1}{\color{blue}{\frac{\mathsf{fma}\left(k, 10 + k, 1\right)}{a \cdot {k}^{m}}}}\]
    5. Taylor expanded around inf 11.1

      \[\leadsto \frac{1}{\color{blue}{1 \cdot \frac{1}{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}} + \left(10 \cdot \frac{k}{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}} + \frac{{k}^{2}}{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}\right)}}\]
    6. Simplified0.4

      \[\leadsto \frac{1}{\color{blue}{\mathsf{fma}\left(\frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \mathsf{fma}\left(\frac{10}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \frac{\frac{1}{a}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \le 1.38202916987206885 \cdot 10^{153}:\\ \;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\mathsf{fma}\left(\frac{k}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \mathsf{fma}\left(\frac{10}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}, \frac{k}{a}, \frac{\frac{1}{a}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019199 +o rules:numerics
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  (/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))