Average Error: 2.1 → 0.1
Time: 19.6s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 5.244008546125697 \cdot 10^{+140}:\\ \;\;\;\;\frac{{\left(\sqrt[3]{k}\right)}^{m} \cdot a}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)} \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-10, \left(\frac{\frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}}{k}\right), \left(\frac{\frac{99}{k}}{k} \cdot \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k} + \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}\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 5.244008546125697 \cdot 10^{+140}:\\
\;\;\;\;\frac{{\left(\sqrt[3]{k}\right)}^{m} \cdot a}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)} \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-10, \left(\frac{\frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}}{k}\right), \left(\frac{\frac{99}{k}}{k} \cdot \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k} + \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}\right)\right)\\

\end{array}
double f(double a, double k, double m) {
        double r7986600 = a;
        double r7986601 = k;
        double r7986602 = m;
        double r7986603 = pow(r7986601, r7986602);
        double r7986604 = r7986600 * r7986603;
        double r7986605 = 1.0;
        double r7986606 = 10.0;
        double r7986607 = r7986606 * r7986601;
        double r7986608 = r7986605 + r7986607;
        double r7986609 = r7986601 * r7986601;
        double r7986610 = r7986608 + r7986609;
        double r7986611 = r7986604 / r7986610;
        return r7986611;
}

double f(double a, double k, double m) {
        double r7986612 = k;
        double r7986613 = 5.244008546125697e+140;
        bool r7986614 = r7986612 <= r7986613;
        double r7986615 = cbrt(r7986612);
        double r7986616 = m;
        double r7986617 = pow(r7986615, r7986616);
        double r7986618 = a;
        double r7986619 = r7986617 * r7986618;
        double r7986620 = 10.0;
        double r7986621 = r7986612 + r7986620;
        double r7986622 = 1.0;
        double r7986623 = fma(r7986621, r7986612, r7986622);
        double r7986624 = r7986619 / r7986623;
        double r7986625 = r7986615 * r7986615;
        double r7986626 = pow(r7986625, r7986616);
        double r7986627 = r7986624 * r7986626;
        double r7986628 = -10.0;
        double r7986629 = log(r7986612);
        double r7986630 = r7986616 * r7986629;
        double r7986631 = exp(r7986630);
        double r7986632 = r7986618 / r7986612;
        double r7986633 = r7986631 * r7986632;
        double r7986634 = r7986633 / r7986612;
        double r7986635 = r7986634 / r7986612;
        double r7986636 = 99.0;
        double r7986637 = r7986636 / r7986612;
        double r7986638 = r7986637 / r7986612;
        double r7986639 = r7986638 * r7986634;
        double r7986640 = r7986639 + r7986634;
        double r7986641 = fma(r7986628, r7986635, r7986640);
        double r7986642 = r7986614 ? r7986627 : r7986641;
        return r7986642;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 5.244008546125697e+140

    1. Initial program 0.1

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

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

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

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

      \[\leadsto \frac{\color{blue}{{\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m} \cdot \left({\left(\sqrt[3]{k}\right)}^{m} \cdot a\right)}}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity0.0

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

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

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

    if 5.244008546125697e+140 < k

    1. Initial program 9.7

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \le 5.244008546125697 \cdot 10^{+140}:\\ \;\;\;\;\frac{{\left(\sqrt[3]{k}\right)}^{m} \cdot a}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)} \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(-10, \left(\frac{\frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}}{k}\right), \left(\frac{\frac{99}{k}}{k} \cdot \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k} + \frac{e^{m \cdot \log k} \cdot \frac{a}{k}}{k}\right)\right)\\ \end{array}\]

Reproduce

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