Average Error: 2.1 → 0.2
Time: 14.8s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 4.372453420225965504107282237030197699145 \cdot 10^{54}:\\ \;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{k} \cdot \frac{a}{k} - \frac{{\left(e^{m}\right)}^{\left(\log k\right)} \cdot \left(10 \cdot a\right)}{{k}^{3}}\right) + \frac{\left(99 \cdot a\right) \cdot {\left(e^{m}\right)}^{\left(\log k\right)}}{{k}^{4}}\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 4.372453420225965504107282237030197699145 \cdot 10^{54}:\\
\;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\

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

\end{array}
double f(double a, double k, double m) {
        double r364609 = a;
        double r364610 = k;
        double r364611 = m;
        double r364612 = pow(r364610, r364611);
        double r364613 = r364609 * r364612;
        double r364614 = 1.0;
        double r364615 = 10.0;
        double r364616 = r364615 * r364610;
        double r364617 = r364614 + r364616;
        double r364618 = r364610 * r364610;
        double r364619 = r364617 + r364618;
        double r364620 = r364613 / r364619;
        return r364620;
}

double f(double a, double k, double m) {
        double r364621 = k;
        double r364622 = 4.3724534202259655e+54;
        bool r364623 = r364621 <= r364622;
        double r364624 = 1.0;
        double r364625 = 10.0;
        double r364626 = r364625 + r364621;
        double r364627 = r364621 * r364626;
        double r364628 = 1.0;
        double r364629 = r364627 + r364628;
        double r364630 = r364624 / r364629;
        double r364631 = m;
        double r364632 = pow(r364621, r364631);
        double r364633 = a;
        double r364634 = r364632 * r364633;
        double r364635 = r364630 * r364634;
        double r364636 = exp(r364631);
        double r364637 = log(r364621);
        double r364638 = pow(r364636, r364637);
        double r364639 = r364638 / r364621;
        double r364640 = r364633 / r364621;
        double r364641 = r364639 * r364640;
        double r364642 = r364625 * r364633;
        double r364643 = r364638 * r364642;
        double r364644 = 3.0;
        double r364645 = pow(r364621, r364644);
        double r364646 = r364643 / r364645;
        double r364647 = r364641 - r364646;
        double r364648 = 99.0;
        double r364649 = r364648 * r364633;
        double r364650 = r364649 * r364638;
        double r364651 = 4.0;
        double r364652 = pow(r364621, r364651);
        double r364653 = r364650 / r364652;
        double r364654 = r364647 + r364653;
        double r364655 = r364623 ? r364635 : r364654;
        return r364655;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if k < 4.3724534202259655e+54

    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{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}}\]
    3. Using strategy rm
    4. Applied div-inv0.1

      \[\leadsto \frac{a}{\color{blue}{\left(k \cdot \left(10 + k\right) + 1\right) \cdot \frac{1}{{k}^{m}}}}\]
    5. Applied *-un-lft-identity0.1

      \[\leadsto \frac{\color{blue}{1 \cdot a}}{\left(k \cdot \left(10 + k\right) + 1\right) \cdot \frac{1}{{k}^{m}}}\]
    6. Applied times-frac0.1

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

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

    if 4.3724534202259655e+54 < k

    1. Initial program 6.6

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

      \[\leadsto \color{blue}{\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}}\]
    3. Taylor expanded around -inf 64.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}}}\]
    4. Simplified0.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \le 4.372453420225965504107282237030197699145 \cdot 10^{54}:\\ \;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{k} \cdot \frac{a}{k} - \frac{{\left(e^{m}\right)}^{\left(\log k\right)} \cdot \left(10 \cdot a\right)}{{k}^{3}}\right) + \frac{\left(99 \cdot a\right) \cdot {\left(e^{m}\right)}^{\left(\log k\right)}}{{k}^{4}}\\ \end{array}\]

Reproduce

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