Average Error: 2.0 → 0.3
Time: 25.3s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 2.2584134818398895 \cdot 10^{-19}:\\ \;\;\;\;\frac{\frac{{k}^{\left(\frac{m}{2}\right)} \cdot \left(a \cdot {k}^{\left(\frac{m}{2}\right)}\right)}{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}}{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{{k}^{\left(\frac{m}{2}\right)}}{\mathsf{fma}\left(10, \frac{k}{e^{\frac{1}{2} \cdot \left(m \cdot \log k\right)} \cdot a}, \frac{k}{e^{\frac{1}{2} \cdot \left(m \cdot \log k\right)}} \cdot \frac{k}{a} + \frac{e^{\frac{-1}{2} \cdot \left(m \cdot \log k\right)}}{a}\right)}\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 2.2584134818398895 \cdot 10^{-19}:\\
\;\;\;\;\frac{\frac{{k}^{\left(\frac{m}{2}\right)} \cdot \left(a \cdot {k}^{\left(\frac{m}{2}\right)}\right)}{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}}{\sqrt{\mathsf{fma}\left(k, k + 10, 1\right)}}\\

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

\end{array}
double f(double a, double k, double m) {
        double r6405472 = a;
        double r6405473 = k;
        double r6405474 = m;
        double r6405475 = pow(r6405473, r6405474);
        double r6405476 = r6405472 * r6405475;
        double r6405477 = 1.0;
        double r6405478 = 10.0;
        double r6405479 = r6405478 * r6405473;
        double r6405480 = r6405477 + r6405479;
        double r6405481 = r6405473 * r6405473;
        double r6405482 = r6405480 + r6405481;
        double r6405483 = r6405476 / r6405482;
        return r6405483;
}

double f(double a, double k, double m) {
        double r6405484 = k;
        double r6405485 = 2.2584134818398895e-19;
        bool r6405486 = r6405484 <= r6405485;
        double r6405487 = m;
        double r6405488 = 2.0;
        double r6405489 = r6405487 / r6405488;
        double r6405490 = pow(r6405484, r6405489);
        double r6405491 = a;
        double r6405492 = r6405491 * r6405490;
        double r6405493 = r6405490 * r6405492;
        double r6405494 = 10.0;
        double r6405495 = r6405484 + r6405494;
        double r6405496 = 1.0;
        double r6405497 = fma(r6405484, r6405495, r6405496);
        double r6405498 = sqrt(r6405497);
        double r6405499 = r6405493 / r6405498;
        double r6405500 = r6405499 / r6405498;
        double r6405501 = 0.5;
        double r6405502 = log(r6405484);
        double r6405503 = r6405487 * r6405502;
        double r6405504 = r6405501 * r6405503;
        double r6405505 = exp(r6405504);
        double r6405506 = r6405505 * r6405491;
        double r6405507 = r6405484 / r6405506;
        double r6405508 = r6405484 / r6405505;
        double r6405509 = r6405484 / r6405491;
        double r6405510 = r6405508 * r6405509;
        double r6405511 = -0.5;
        double r6405512 = r6405511 * r6405503;
        double r6405513 = exp(r6405512);
        double r6405514 = r6405513 / r6405491;
        double r6405515 = r6405510 + r6405514;
        double r6405516 = fma(r6405494, r6405507, r6405515);
        double r6405517 = r6405490 / r6405516;
        double r6405518 = r6405486 ? r6405500 : r6405517;
        return r6405518;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 2.2584134818398895e-19

    1. Initial program 0.0

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

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

      \[\leadsto \frac{\color{blue}{\left({k}^{\left(\frac{m}{2}\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right)} \cdot a}{\mathsf{fma}\left(k, k + 10, 1\right)}\]
    5. Applied associate-*l*0.0

      \[\leadsto \frac{\color{blue}{{k}^{\left(\frac{m}{2}\right)} \cdot \left({k}^{\left(\frac{m}{2}\right)} \cdot a\right)}}{\mathsf{fma}\left(k, k + 10, 1\right)}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt0.1

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

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

    if 2.2584134818398895e-19 < k

    1. Initial program 4.8

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

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

      \[\leadsto \frac{\color{blue}{\left({k}^{\left(\frac{m}{2}\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right)} \cdot a}{\mathsf{fma}\left(k, k + 10, 1\right)}\]
    5. Applied associate-*l*4.8

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

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

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

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

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

Reproduce

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