\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.8029813469456922 \cdot 10^{38}:\\
\;\;\;\;\left(\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}\right) \cdot \frac{2}{\mathsf{fma}\left(k, k, \mathsf{fma}\left(k, 10, 1\right)\right) \cdot 2}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k}, \frac{a}{k}, 99 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{4}} - 10 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{3}}\right)\\
\end{array}double f(double a, double k, double m) {
double r259152 = a;
double r259153 = k;
double r259154 = m;
double r259155 = pow(r259153, r259154);
double r259156 = r259152 * r259155;
double r259157 = 1.0;
double r259158 = 10.0;
double r259159 = r259158 * r259153;
double r259160 = r259157 + r259159;
double r259161 = r259153 * r259153;
double r259162 = r259160 + r259161;
double r259163 = r259156 / r259162;
return r259163;
}
double f(double a, double k, double m) {
double r259164 = k;
double r259165 = 1.8029813469456922e+38;
bool r259166 = r259164 <= r259165;
double r259167 = a;
double r259168 = cbrt(r259164);
double r259169 = r259168 * r259168;
double r259170 = m;
double r259171 = pow(r259169, r259170);
double r259172 = r259167 * r259171;
double r259173 = pow(r259168, r259170);
double r259174 = r259172 * r259173;
double r259175 = 2.0;
double r259176 = 10.0;
double r259177 = 1.0;
double r259178 = fma(r259164, r259176, r259177);
double r259179 = fma(r259164, r259164, r259178);
double r259180 = r259179 * r259175;
double r259181 = r259175 / r259180;
double r259182 = r259174 * r259181;
double r259183 = -1.0;
double r259184 = 1.0;
double r259185 = r259184 / r259164;
double r259186 = log(r259185);
double r259187 = r259170 * r259186;
double r259188 = r259183 * r259187;
double r259189 = exp(r259188);
double r259190 = r259189 / r259164;
double r259191 = r259167 / r259164;
double r259192 = 99.0;
double r259193 = r259167 * r259189;
double r259194 = 4.0;
double r259195 = pow(r259164, r259194);
double r259196 = r259193 / r259195;
double r259197 = r259192 * r259196;
double r259198 = 3.0;
double r259199 = pow(r259164, r259198);
double r259200 = r259193 / r259199;
double r259201 = r259176 * r259200;
double r259202 = r259197 - r259201;
double r259203 = fma(r259190, r259191, r259202);
double r259204 = r259166 ? r259182 : r259203;
return r259204;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.8029813469456922e+38Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied associate-*r*0.1
rmApplied div-inv0.1
Simplified0.0
if 1.8029813469456922e+38 < k Initial program 6.1
Taylor expanded around inf 6.1
Simplified0.2
Final simplification0.1
herbie shell --seed 2020060 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))