Average Error: 2.0 → 0.1
Time: 55.3s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 14275233.181671431:\\ \;\;\;\;\frac{{k}^{m} \cdot a}{1 + \left(k + 10\right) \cdot k}\\ \mathbf{else}:\\ \;\;\;\;\frac{a \cdot e^{m \cdot \log k}}{\left(k \cdot k\right) \cdot \left(k \cdot k\right)} \cdot 99 + \left(\frac{\frac{a}{k}}{k} \cdot e^{m \cdot \log k} - e^{m \cdot \log k} \cdot \left(\frac{10}{k} \cdot \frac{\frac{a}{k}}{k}\right)\right)\\ \end{array}\]
double f(double a, double k, double m) {
        double r38711896 = a;
        double r38711897 = k;
        double r38711898 = m;
        double r38711899 = pow(r38711897, r38711898);
        double r38711900 = r38711896 * r38711899;
        double r38711901 = 1.0;
        double r38711902 = 10.0;
        double r38711903 = r38711902 * r38711897;
        double r38711904 = r38711901 + r38711903;
        double r38711905 = r38711897 * r38711897;
        double r38711906 = r38711904 + r38711905;
        double r38711907 = r38711900 / r38711906;
        return r38711907;
}

double f(double a, double k, double m) {
        double r38711908 = k;
        double r38711909 = 14275233.181671431;
        bool r38711910 = r38711908 <= r38711909;
        double r38711911 = m;
        double r38711912 = pow(r38711908, r38711911);
        double r38711913 = a;
        double r38711914 = r38711912 * r38711913;
        double r38711915 = 1.0;
        double r38711916 = 10.0;
        double r38711917 = r38711908 + r38711916;
        double r38711918 = r38711917 * r38711908;
        double r38711919 = r38711915 + r38711918;
        double r38711920 = r38711914 / r38711919;
        double r38711921 = log(r38711908);
        double r38711922 = r38711911 * r38711921;
        double r38711923 = exp(r38711922);
        double r38711924 = r38711913 * r38711923;
        double r38711925 = r38711908 * r38711908;
        double r38711926 = r38711925 * r38711925;
        double r38711927 = r38711924 / r38711926;
        double r38711928 = 99.0;
        double r38711929 = r38711927 * r38711928;
        double r38711930 = r38711913 / r38711908;
        double r38711931 = r38711930 / r38711908;
        double r38711932 = r38711931 * r38711923;
        double r38711933 = r38711916 / r38711908;
        double r38711934 = r38711933 * r38711931;
        double r38711935 = r38711923 * r38711934;
        double r38711936 = r38711932 - r38711935;
        double r38711937 = r38711929 + r38711936;
        double r38711938 = r38711910 ? r38711920 : r38711937;
        return r38711938;
}

\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 14275233.181671431:\\
\;\;\;\;\frac{{k}^{m} \cdot a}{1 + \left(k + 10\right) \cdot k}\\

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

\end{array}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

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

    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}{k \cdot \left(k + 10\right) + 1}}\]
    3. Taylor expanded around inf 0.0

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

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

    if 14275233.181671431 < k

    1. Initial program 5.2

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

      \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{k \cdot \left(k + 10\right) + 1}}\]
    3. Taylor expanded around inf 5.2

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

      \[\leadsto \frac{{k}^{m} \cdot a}{\color{blue}{1 + k \cdot \left(k + 10\right)}}\]
    5. Taylor expanded around -inf 62.9

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

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

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

Reproduce

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