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

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

\end{array}
double f(double a, double k, double m) {
        double r5944858 = a;
        double r5944859 = k;
        double r5944860 = m;
        double r5944861 = pow(r5944859, r5944860);
        double r5944862 = r5944858 * r5944861;
        double r5944863 = 1.0;
        double r5944864 = 10.0;
        double r5944865 = r5944864 * r5944859;
        double r5944866 = r5944863 + r5944865;
        double r5944867 = r5944859 * r5944859;
        double r5944868 = r5944866 + r5944867;
        double r5944869 = r5944862 / r5944868;
        return r5944869;
}

double f(double a, double k, double m) {
        double r5944870 = k;
        double r5944871 = 224.30094724071168;
        bool r5944872 = r5944870 <= r5944871;
        double r5944873 = m;
        double r5944874 = 2.0;
        double r5944875 = r5944873 / r5944874;
        double r5944876 = pow(r5944870, r5944875);
        double r5944877 = a;
        double r5944878 = r5944877 * r5944876;
        double r5944879 = r5944876 * r5944878;
        double r5944880 = 10.0;
        double r5944881 = r5944870 + r5944880;
        double r5944882 = 1.0;
        double r5944883 = fma(r5944881, r5944870, r5944882);
        double r5944884 = cbrt(r5944883);
        double r5944885 = r5944884 * r5944884;
        double r5944886 = sqrt(r5944885);
        double r5944887 = r5944879 / r5944886;
        double r5944888 = sqrt(r5944883);
        double r5944889 = r5944882 / r5944888;
        double r5944890 = sqrt(r5944884);
        double r5944891 = r5944889 / r5944890;
        double r5944892 = r5944887 * r5944891;
        double r5944893 = log(r5944870);
        double r5944894 = r5944873 * r5944893;
        double r5944895 = exp(r5944894);
        double r5944896 = r5944895 / r5944870;
        double r5944897 = r5944877 / r5944870;
        double r5944898 = r5944896 * r5944897;
        double r5944899 = 99.0;
        double r5944900 = r5944899 / r5944870;
        double r5944901 = r5944900 / r5944870;
        double r5944902 = r5944880 / r5944870;
        double r5944903 = r5944901 - r5944902;
        double r5944904 = r5944898 * r5944903;
        double r5944905 = r5944904 + r5944898;
        double r5944906 = r5944872 ? r5944892 : r5944905;
        return r5944906;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

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

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

      \[\leadsto \frac{\color{blue}{\left({k}^{\left(\frac{m}{2}\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\right)} \cdot a}{\mathsf{fma}\left(k + 10, k, 1\right)}\]
    5. Applied associate-*l*0.0

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

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

      \[\leadsto \color{blue}{\frac{\frac{{k}^{\left(\frac{m}{2}\right)} \cdot \left({k}^{\left(\frac{m}{2}\right)} \cdot a\right)}{\sqrt{\mathsf{fma}\left(k + 10, k, 1\right)}}}{\sqrt{\mathsf{fma}\left(k + 10, k, 1\right)}}}\]
    9. Using strategy rm
    10. Applied add-cube-cbrt0.1

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

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

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

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

    if 224.30094724071168 < k

    1. Initial program 5.3

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

      \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{\mathsf{fma}\left(k + 10, k, 1\right)}}\]
    3. 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}}}\]
    4. Simplified0.2

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

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

Reproduce

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