Average Error: 1.9 → 0.1
Time: 18.0s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 4.309780576654702709208487445056226971465 \cdot 10^{132}:\\ \;\;\;\;\left(a \cdot {k}^{m}\right) \cdot \frac{1}{1 + k \cdot \left(10 + k\right)}\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{99 \cdot a}{\frac{{k}^{4}}{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}} - 10 \cdot \left(\frac{a}{{k}^{3}} \cdot {\left(\frac{1}{k}\right)}^{\left(-m\right)}\right)\right) + \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} \cdot \frac{a}{k}\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 4.309780576654702709208487445056226971465 \cdot 10^{132}:\\
\;\;\;\;\left(a \cdot {k}^{m}\right) \cdot \frac{1}{1 + k \cdot \left(10 + k\right)}\\

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

\end{array}
double f(double a, double k, double m) {
        double r270875 = a;
        double r270876 = k;
        double r270877 = m;
        double r270878 = pow(r270876, r270877);
        double r270879 = r270875 * r270878;
        double r270880 = 1.0;
        double r270881 = 10.0;
        double r270882 = r270881 * r270876;
        double r270883 = r270880 + r270882;
        double r270884 = r270876 * r270876;
        double r270885 = r270883 + r270884;
        double r270886 = r270879 / r270885;
        return r270886;
}

double f(double a, double k, double m) {
        double r270887 = k;
        double r270888 = 4.309780576654703e+132;
        bool r270889 = r270887 <= r270888;
        double r270890 = a;
        double r270891 = m;
        double r270892 = pow(r270887, r270891);
        double r270893 = r270890 * r270892;
        double r270894 = 1.0;
        double r270895 = 1.0;
        double r270896 = 10.0;
        double r270897 = r270896 + r270887;
        double r270898 = r270887 * r270897;
        double r270899 = r270895 + r270898;
        double r270900 = r270894 / r270899;
        double r270901 = r270893 * r270900;
        double r270902 = 99.0;
        double r270903 = r270902 * r270890;
        double r270904 = 4.0;
        double r270905 = pow(r270887, r270904);
        double r270906 = r270894 / r270887;
        double r270907 = -r270891;
        double r270908 = pow(r270906, r270907);
        double r270909 = r270905 / r270908;
        double r270910 = r270903 / r270909;
        double r270911 = 3.0;
        double r270912 = pow(r270887, r270911);
        double r270913 = r270890 / r270912;
        double r270914 = r270913 * r270908;
        double r270915 = r270896 * r270914;
        double r270916 = r270910 - r270915;
        double r270917 = r270908 / r270887;
        double r270918 = r270890 / r270887;
        double r270919 = r270917 * r270918;
        double r270920 = r270916 + r270919;
        double r270921 = r270889 ? r270901 : r270920;
        return r270921;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if k < 4.309780576654703e+132

    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 div-inv0.1

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

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

    if 4.309780576654703e+132 < k

    1. Initial program 8.3

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

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

      \[\leadsto \left(a \cdot {k}^{m}\right) \cdot \color{blue}{\frac{1}{1 + k \cdot \left(10 + k\right)}}\]
    5. Using strategy rm
    6. Applied add-sqr-sqrt8.3

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

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

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

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

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

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

Reproduce

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