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

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

\end{array}
double f(double a, double k, double m) {
        double r152581 = a;
        double r152582 = k;
        double r152583 = m;
        double r152584 = pow(r152582, r152583);
        double r152585 = r152581 * r152584;
        double r152586 = 1.0;
        double r152587 = 10.0;
        double r152588 = r152587 * r152582;
        double r152589 = r152586 + r152588;
        double r152590 = r152582 * r152582;
        double r152591 = r152589 + r152590;
        double r152592 = r152585 / r152591;
        return r152592;
}

double f(double a, double k, double m) {
        double r152593 = k;
        double r152594 = 6372440.7964035785;
        bool r152595 = r152593 <= r152594;
        double r152596 = a;
        double r152597 = 10.0;
        double r152598 = r152593 + r152597;
        double r152599 = 1.0;
        double r152600 = fma(r152593, r152598, r152599);
        double r152601 = sqrt(r152600);
        double r152602 = r152596 / r152601;
        double r152603 = m;
        double r152604 = pow(r152593, r152603);
        double r152605 = r152601 / r152604;
        double r152606 = r152602 / r152605;
        double r152607 = 1.0;
        double r152608 = r152607 / r152593;
        double r152609 = -r152603;
        double r152610 = pow(r152608, r152609);
        double r152611 = r152610 / r152593;
        double r152612 = r152596 / r152593;
        double r152613 = 4.0;
        double r152614 = pow(r152593, r152613);
        double r152615 = r152614 / r152596;
        double r152616 = r152610 / r152615;
        double r152617 = 99.0;
        double r152618 = -r152610;
        double r152619 = r152618 * r152597;
        double r152620 = 3.0;
        double r152621 = pow(r152593, r152620);
        double r152622 = r152621 / r152596;
        double r152623 = r152619 / r152622;
        double r152624 = fma(r152616, r152617, r152623);
        double r152625 = fma(r152611, r152612, r152624);
        double r152626 = r152595 ? r152606 : r152625;
        return r152626;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 6372440.7964035785

    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{\mathsf{fma}\left(k, k + 10, 1\right)}{{k}^{m}}}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity0.0

      \[\leadsto \frac{a}{\frac{\mathsf{fma}\left(k, k + 10, 1\right)}{{\color{blue}{\left(1 \cdot k\right)}}^{m}}}\]
    5. Applied unpow-prod-down0.0

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

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

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

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

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

    if 6372440.7964035785 < k

    1. Initial program 5.5

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

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

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

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

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

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

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

Reproduce

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