Average Error: 2.1 → 0.1
Time: 14.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.955206810537291195558058673943677315794 \cdot 10^{60}:\\ \;\;\;\;\frac{a}{\frac{\frac{k \cdot \left(10 \cdot 10 - k \cdot k\right)}{10 - k} + 1}{{k}^{m}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k} + \left(\frac{a}{k} \cdot \frac{e^{m \cdot \log k}}{k}\right) \cdot \left(\frac{99}{k \cdot k} - \frac{10}{k}\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.955206810537291195558058673943677315794 \cdot 10^{60}:\\
\;\;\;\;\frac{a}{\frac{\frac{k \cdot \left(10 \cdot 10 - k \cdot k\right)}{10 - k} + 1}{{k}^{m}}}\\

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

\end{array}
double f(double a, double k, double m) {
        double r199649 = a;
        double r199650 = k;
        double r199651 = m;
        double r199652 = pow(r199650, r199651);
        double r199653 = r199649 * r199652;
        double r199654 = 1.0;
        double r199655 = 10.0;
        double r199656 = r199655 * r199650;
        double r199657 = r199654 + r199656;
        double r199658 = r199650 * r199650;
        double r199659 = r199657 + r199658;
        double r199660 = r199653 / r199659;
        return r199660;
}

double f(double a, double k, double m) {
        double r199661 = k;
        double r199662 = 5.955206810537291e+60;
        bool r199663 = r199661 <= r199662;
        double r199664 = a;
        double r199665 = 10.0;
        double r199666 = r199665 * r199665;
        double r199667 = r199661 * r199661;
        double r199668 = r199666 - r199667;
        double r199669 = r199661 * r199668;
        double r199670 = r199665 - r199661;
        double r199671 = r199669 / r199670;
        double r199672 = 1.0;
        double r199673 = r199671 + r199672;
        double r199674 = m;
        double r199675 = pow(r199661, r199674);
        double r199676 = r199673 / r199675;
        double r199677 = r199664 / r199676;
        double r199678 = r199664 / r199661;
        double r199679 = log(r199661);
        double r199680 = r199674 * r199679;
        double r199681 = exp(r199680);
        double r199682 = r199681 / r199661;
        double r199683 = r199678 * r199682;
        double r199684 = 99.0;
        double r199685 = r199684 / r199667;
        double r199686 = r199665 / r199661;
        double r199687 = r199685 - r199686;
        double r199688 = r199683 * r199687;
        double r199689 = r199683 + r199688;
        double r199690 = r199663 ? r199677 : r199689;
        return r199690;
}

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 < 5.955206810537291e+60

    1. Initial program 0.1

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

      \[\leadsto \color{blue}{\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}}\]
    3. Using strategy rm
    4. Applied flip-+0.0

      \[\leadsto \frac{a}{\frac{k \cdot \color{blue}{\frac{10 \cdot 10 - k \cdot k}{10 - k}} + 1}{{k}^{m}}}\]
    5. Applied associate-*r/0.0

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

    if 5.955206810537291e+60 < k

    1. Initial program 6.7

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

      \[\leadsto \color{blue}{\frac{a}{\frac{k \cdot \left(10 + k\right) + 1}{{k}^{m}}}}\]
    3. Using strategy rm
    4. Applied div-inv6.7

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

      \[\leadsto a \cdot \color{blue}{\frac{{k}^{m}}{k \cdot \left(10 + k\right) + 1}}\]
    6. Taylor expanded around inf 6.7

      \[\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}}}\]
    7. Simplified0.1

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

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

Reproduce

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