Average Error: 2.0 → 0.2
Time: 21.3s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 8.663816625552649 \cdot 10^{+141}:\\ \;\;\;\;\frac{a \cdot {k}^{m}}{k \cdot k + \left(k \cdot 10 + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{e^{m \cdot \log k}}{\frac{k \cdot k}{\frac{a}{k}}}, -10, \mathsf{fma}\left(\frac{e^{m \cdot \log k}}{\frac{\left(k \cdot k\right) \cdot \left(k \cdot k\right)}{a}}, 99, \frac{e^{m \cdot \log k}}{\frac{k}{\frac{a}{k}}}\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 8.663816625552649 \cdot 10^{+141}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{k \cdot k + \left(k \cdot 10 + 1\right)}\\

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

\end{array}
double f(double a, double k, double m) {
        double r6555015 = a;
        double r6555016 = k;
        double r6555017 = m;
        double r6555018 = pow(r6555016, r6555017);
        double r6555019 = r6555015 * r6555018;
        double r6555020 = 1.0;
        double r6555021 = 10.0;
        double r6555022 = r6555021 * r6555016;
        double r6555023 = r6555020 + r6555022;
        double r6555024 = r6555016 * r6555016;
        double r6555025 = r6555023 + r6555024;
        double r6555026 = r6555019 / r6555025;
        return r6555026;
}

double f(double a, double k, double m) {
        double r6555027 = k;
        double r6555028 = 8.663816625552649e+141;
        bool r6555029 = r6555027 <= r6555028;
        double r6555030 = a;
        double r6555031 = m;
        double r6555032 = pow(r6555027, r6555031);
        double r6555033 = r6555030 * r6555032;
        double r6555034 = r6555027 * r6555027;
        double r6555035 = 10.0;
        double r6555036 = r6555027 * r6555035;
        double r6555037 = 1.0;
        double r6555038 = r6555036 + r6555037;
        double r6555039 = r6555034 + r6555038;
        double r6555040 = r6555033 / r6555039;
        double r6555041 = log(r6555027);
        double r6555042 = r6555031 * r6555041;
        double r6555043 = exp(r6555042);
        double r6555044 = r6555030 / r6555027;
        double r6555045 = r6555034 / r6555044;
        double r6555046 = r6555043 / r6555045;
        double r6555047 = -10.0;
        double r6555048 = r6555034 * r6555034;
        double r6555049 = r6555048 / r6555030;
        double r6555050 = r6555043 / r6555049;
        double r6555051 = 99.0;
        double r6555052 = r6555027 / r6555044;
        double r6555053 = r6555043 / r6555052;
        double r6555054 = fma(r6555050, r6555051, r6555053);
        double r6555055 = fma(r6555046, r6555047, r6555054);
        double r6555056 = r6555029 ? r6555040 : r6555055;
        return r6555056;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 8.663816625552649e+141

    1. Initial program 0.1

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

    if 8.663816625552649e+141 < k

    1. Initial program 9.8

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Using strategy rm
    3. Applied add-cbrt-cube10.8

      \[\leadsto \color{blue}{\sqrt[3]{\left(\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k} \cdot \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\right) \cdot \frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}}}\]
    4. Simplified10.8

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

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

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

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

Reproduce

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