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

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

\end{array}
double f(double a, double k, double m) {
        double r7502731 = a;
        double r7502732 = k;
        double r7502733 = m;
        double r7502734 = pow(r7502732, r7502733);
        double r7502735 = r7502731 * r7502734;
        double r7502736 = 1.0;
        double r7502737 = 10.0;
        double r7502738 = r7502737 * r7502732;
        double r7502739 = r7502736 + r7502738;
        double r7502740 = r7502732 * r7502732;
        double r7502741 = r7502739 + r7502740;
        double r7502742 = r7502735 / r7502741;
        return r7502742;
}

double f(double a, double k, double m) {
        double r7502743 = k;
        double r7502744 = 7.485561233862986e+31;
        bool r7502745 = r7502743 <= r7502744;
        double r7502746 = a;
        double r7502747 = cbrt(r7502743);
        double r7502748 = r7502747 * r7502747;
        double r7502749 = m;
        double r7502750 = pow(r7502748, r7502749);
        double r7502751 = r7502746 * r7502750;
        double r7502752 = 10.0;
        double r7502753 = 1.0;
        double r7502754 = fma(r7502752, r7502743, r7502753);
        double r7502755 = fma(r7502743, r7502743, r7502754);
        double r7502756 = pow(r7502747, r7502749);
        double r7502757 = r7502755 / r7502756;
        double r7502758 = r7502751 / r7502757;
        double r7502759 = log(r7502743);
        double r7502760 = r7502759 * r7502749;
        double r7502761 = exp(r7502760);
        double r7502762 = r7502761 / r7502743;
        double r7502763 = r7502746 / r7502743;
        double r7502764 = r7502762 * r7502763;
        double r7502765 = 99.0;
        double r7502766 = r7502743 * r7502743;
        double r7502767 = r7502765 / r7502766;
        double r7502768 = r7502752 / r7502743;
        double r7502769 = r7502767 - r7502768;
        double r7502770 = r7502764 * r7502769;
        double r7502771 = fma(r7502762, r7502763, r7502770);
        double r7502772 = r7502745 ? r7502758 : r7502771;
        return r7502772;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 7.485561233862986e+31

    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 add-cube-cbrt0.1

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

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

      \[\leadsto \frac{\color{blue}{\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    6. Using strategy rm
    7. Applied associate-/l*0.1

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

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

    if 7.485561233862986e+31 < k

    1. Initial program 5.9

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

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

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

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

Reproduce

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