\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2.3152997001546612 \cdot 10^{+128}:\\
\;\;\;\;\frac{1}{\mathsf{fma}\left(\left(k + 10\right), k, 1\right)} \cdot \left({k}^{m} \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99}{k \cdot k} - \frac{10}{k}\right) \cdot \frac{e^{\log k \cdot m}}{\frac{k}{\frac{a}{k}}} + \frac{e^{\log k \cdot m}}{\frac{k}{\frac{a}{k}}}\\
\end{array}double f(double a, double k, double m) {
double r6959251 = a;
double r6959252 = k;
double r6959253 = m;
double r6959254 = pow(r6959252, r6959253);
double r6959255 = r6959251 * r6959254;
double r6959256 = 1.0;
double r6959257 = 10.0;
double r6959258 = r6959257 * r6959252;
double r6959259 = r6959256 + r6959258;
double r6959260 = r6959252 * r6959252;
double r6959261 = r6959259 + r6959260;
double r6959262 = r6959255 / r6959261;
return r6959262;
}
double f(double a, double k, double m) {
double r6959263 = k;
double r6959264 = 2.3152997001546612e+128;
bool r6959265 = r6959263 <= r6959264;
double r6959266 = 1.0;
double r6959267 = 10.0;
double r6959268 = r6959263 + r6959267;
double r6959269 = fma(r6959268, r6959263, r6959266);
double r6959270 = r6959266 / r6959269;
double r6959271 = m;
double r6959272 = pow(r6959263, r6959271);
double r6959273 = a;
double r6959274 = r6959272 * r6959273;
double r6959275 = r6959270 * r6959274;
double r6959276 = 99.0;
double r6959277 = r6959263 * r6959263;
double r6959278 = r6959276 / r6959277;
double r6959279 = r6959267 / r6959263;
double r6959280 = r6959278 - r6959279;
double r6959281 = log(r6959263);
double r6959282 = r6959281 * r6959271;
double r6959283 = exp(r6959282);
double r6959284 = r6959273 / r6959263;
double r6959285 = r6959263 / r6959284;
double r6959286 = r6959283 / r6959285;
double r6959287 = r6959280 * r6959286;
double r6959288 = r6959287 + r6959286;
double r6959289 = r6959265 ? r6959275 : r6959288;
return r6959289;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 2.3152997001546612e+128Initial program 0.1
Simplified0.1
rmApplied *-un-lft-identity0.1
Applied associate-*r*0.1
Simplified0.1
rmApplied div-inv0.1
if 2.3152997001546612e+128 < k Initial program 8.9
Simplified8.9
rmApplied *-un-lft-identity8.9
Applied associate-*r*8.9
Simplified8.9
Taylor expanded around -inf 63.0
Simplified0.5
Final simplification0.2
herbie shell --seed 2019132 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))