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

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

\end{array}
double f(double a, double k, double m) {
        double r185484 = a;
        double r185485 = k;
        double r185486 = m;
        double r185487 = pow(r185485, r185486);
        double r185488 = r185484 * r185487;
        double r185489 = 1.0;
        double r185490 = 10.0;
        double r185491 = r185490 * r185485;
        double r185492 = r185489 + r185491;
        double r185493 = r185485 * r185485;
        double r185494 = r185492 + r185493;
        double r185495 = r185488 / r185494;
        return r185495;
}

double f(double a, double k, double m) {
        double r185496 = k;
        double r185497 = 1.9031409548136811e+140;
        bool r185498 = r185496 <= r185497;
        double r185499 = a;
        double r185500 = 10.0;
        double r185501 = r185496 + r185500;
        double r185502 = 1.0;
        double r185503 = fma(r185496, r185501, r185502);
        double r185504 = m;
        double r185505 = pow(r185496, r185504);
        double r185506 = r185503 / r185505;
        double r185507 = r185499 / r185506;
        double r185508 = r185499 / r185496;
        double r185509 = 1.0;
        double r185510 = r185509 / r185496;
        double r185511 = -r185504;
        double r185512 = pow(r185510, r185511);
        double r185513 = r185512 / r185496;
        double r185514 = 4.0;
        double r185515 = pow(r185496, r185514);
        double r185516 = r185512 / r185515;
        double r185517 = r185516 * r185499;
        double r185518 = 99.0;
        double r185519 = -r185512;
        double r185520 = 3.0;
        double r185521 = pow(r185496, r185520);
        double r185522 = r185521 / r185499;
        double r185523 = r185519 / r185522;
        double r185524 = r185523 * r185500;
        double r185525 = fma(r185517, r185518, r185524);
        double r185526 = fma(r185508, r185513, r185525);
        double r185527 = r185498 ? r185507 : r185526;
        return r185527;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 1.9031409548136811e+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{a}{\frac{\mathsf{fma}\left(k, k + 10, 1\right)}{{k}^{m}}}}\]

    if 1.9031409548136811e+140 < k

    1. Initial program 10.1

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

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

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

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

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

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

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

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

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

Reproduce

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