\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 5.978361395410556472428743156224032900354 \cdot 10^{138}:\\
\;\;\;\;\frac{\left(a \cdot {\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)}^{m}\right) \cdot {\left(\sqrt[3]{k}\right)}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{a}{k}, \frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{k}, \frac{{\left(e^{m}\right)}^{\left(\log k\right)}}{\frac{{k}^{3}}{a}} \cdot \left(\frac{99}{k} - 10\right)\right)\\
\end{array}double f(double a, double k, double m) {
double r190123 = a;
double r190124 = k;
double r190125 = m;
double r190126 = pow(r190124, r190125);
double r190127 = r190123 * r190126;
double r190128 = 1.0;
double r190129 = 10.0;
double r190130 = r190129 * r190124;
double r190131 = r190128 + r190130;
double r190132 = r190124 * r190124;
double r190133 = r190131 + r190132;
double r190134 = r190127 / r190133;
return r190134;
}
double f(double a, double k, double m) {
double r190135 = k;
double r190136 = 5.978361395410556e+138;
bool r190137 = r190135 <= r190136;
double r190138 = a;
double r190139 = cbrt(r190135);
double r190140 = r190139 * r190139;
double r190141 = m;
double r190142 = pow(r190140, r190141);
double r190143 = r190138 * r190142;
double r190144 = pow(r190139, r190141);
double r190145 = r190143 * r190144;
double r190146 = 1.0;
double r190147 = 10.0;
double r190148 = r190147 * r190135;
double r190149 = r190146 + r190148;
double r190150 = r190135 * r190135;
double r190151 = r190149 + r190150;
double r190152 = r190145 / r190151;
double r190153 = r190138 / r190135;
double r190154 = exp(r190141);
double r190155 = log(r190135);
double r190156 = pow(r190154, r190155);
double r190157 = r190156 / r190135;
double r190158 = 3.0;
double r190159 = pow(r190135, r190158);
double r190160 = r190159 / r190138;
double r190161 = r190156 / r190160;
double r190162 = 99.0;
double r190163 = r190162 / r190135;
double r190164 = r190163 - r190147;
double r190165 = r190161 * r190164;
double r190166 = fma(r190153, r190157, r190165);
double r190167 = r190137 ? r190152 : r190166;
return r190167;
}



Bits error versus a



Bits error versus k



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