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

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

\end{array}
double f(double a, double k, double m) {
        double r600 = a;
        double r601 = k;
        double r602 = m;
        double r603 = pow(r601, r602);
        double r604 = r600 * r603;
        double r605 = 1.0;
        double r606 = 10.0;
        double r607 = r606 * r601;
        double r608 = r605 + r607;
        double r609 = r601 * r601;
        double r610 = r608 + r609;
        double r611 = r604 / r610;
        return r611;
}

double f(double a, double k, double m) {
        double r612 = k;
        double r613 = 1.1085263457066272e+69;
        bool r614 = r612 <= r613;
        double r615 = a;
        double r616 = cbrt(r612);
        double r617 = r616 * r616;
        double r618 = m;
        double r619 = pow(r617, r618);
        double r620 = r615 * r619;
        double r621 = pow(r616, r618);
        double r622 = r620 * r621;
        double r623 = 1.0;
        double r624 = 10.0;
        double r625 = 1.0;
        double r626 = fma(r624, r612, r625);
        double r627 = fma(r612, r612, r626);
        double r628 = r623 / r627;
        double r629 = r622 * r628;
        double r630 = -1.0;
        double r631 = r623 / r612;
        double r632 = log(r631);
        double r633 = r618 * r632;
        double r634 = r630 * r633;
        double r635 = exp(r634);
        double r636 = r635 / r612;
        double r637 = r615 / r612;
        double r638 = 99.0;
        double r639 = r615 * r635;
        double r640 = 4.0;
        double r641 = pow(r612, r640);
        double r642 = r639 / r641;
        double r643 = r638 * r642;
        double r644 = 3.0;
        double r645 = pow(r612, r644);
        double r646 = r639 / r645;
        double r647 = r624 * r646;
        double r648 = r643 - r647;
        double r649 = fma(r636, r637, r648);
        double r650 = r614 ? r629 : r649;
        return r650;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 1.1085263457066272e+69

    1. Initial program 0.1

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

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

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

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

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

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

    if 1.1085263457066272e+69 < k

    1. Initial program 7.0

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Taylor expanded around inf 7.0

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

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

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

Reproduce

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