Average Error: 2.0 → 0.2
Time: 25.6s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 1.579755785607989 \cdot 10^{+89}:\\ \;\;\;\;\frac{{k}^{m}}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)} \cdot a\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{e^{\log k \cdot m}}{\frac{{k}^{4}}{a}}, 99, \frac{e^{\log k \cdot m}}{\frac{k}{\frac{a}{k}}}\right) - \frac{e^{\log k \cdot m}}{\frac{k \cdot k}{\frac{a}{k}}} \cdot 10\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 1.579755785607989 \cdot 10^{+89}:\\
\;\;\;\;\frac{{k}^{m}}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)} \cdot a\\

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

\end{array}
double f(double a, double k, double m) {
        double r7158636 = a;
        double r7158637 = k;
        double r7158638 = m;
        double r7158639 = pow(r7158637, r7158638);
        double r7158640 = r7158636 * r7158639;
        double r7158641 = 1.0;
        double r7158642 = 10.0;
        double r7158643 = r7158642 * r7158637;
        double r7158644 = r7158641 + r7158643;
        double r7158645 = r7158637 * r7158637;
        double r7158646 = r7158644 + r7158645;
        double r7158647 = r7158640 / r7158646;
        return r7158647;
}

double f(double a, double k, double m) {
        double r7158648 = k;
        double r7158649 = 1.579755785607989e+89;
        bool r7158650 = r7158648 <= r7158649;
        double r7158651 = m;
        double r7158652 = pow(r7158648, r7158651);
        double r7158653 = 10.0;
        double r7158654 = 1.0;
        double r7158655 = fma(r7158653, r7158648, r7158654);
        double r7158656 = fma(r7158648, r7158648, r7158655);
        double r7158657 = r7158652 / r7158656;
        double r7158658 = a;
        double r7158659 = r7158657 * r7158658;
        double r7158660 = log(r7158648);
        double r7158661 = r7158660 * r7158651;
        double r7158662 = exp(r7158661);
        double r7158663 = 4.0;
        double r7158664 = pow(r7158648, r7158663);
        double r7158665 = r7158664 / r7158658;
        double r7158666 = r7158662 / r7158665;
        double r7158667 = 99.0;
        double r7158668 = r7158658 / r7158648;
        double r7158669 = r7158648 / r7158668;
        double r7158670 = r7158662 / r7158669;
        double r7158671 = fma(r7158666, r7158667, r7158670);
        double r7158672 = r7158648 * r7158648;
        double r7158673 = r7158672 / r7158668;
        double r7158674 = r7158662 / r7158673;
        double r7158675 = r7158674 * r7158653;
        double r7158676 = r7158671 - r7158675;
        double r7158677 = r7158650 ? r7158659 : r7158676;
        return r7158677;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 1.579755785607989e+89

    1. Initial program 0.1

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity0.1

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

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

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

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

    if 1.579755785607989e+89 < k

    1. Initial program 7.3

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity7.3

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

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

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

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

      \[\leadsto a \cdot \frac{{k}^{m}}{\color{blue}{\sqrt{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)} \cdot \sqrt{\mathsf{fma}\left(k, k, \mathsf{fma}\left(10, k, 1\right)\right)}}}\]
    9. Applied *-un-lft-identity7.3

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

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

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

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

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

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

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

Reproduce

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