\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 6.144520496396345 \cdot 10^{+142}:\\
\;\;\;\;\frac{{k}^{m} \cdot a}{1 + k \cdot \left(k + 10\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\sqrt{e^{\log k \cdot m}}}{\sqrt{k}} \cdot \frac{a}{k}\right) \cdot \frac{\sqrt{e^{\log k \cdot m}}}{\sqrt{k}} + \left(\frac{a}{k} \cdot \frac{e^{\log k \cdot m}}{k}\right) \cdot \left(\frac{\frac{99}{k}}{k} - \frac{10}{k}\right)\\
\end{array}double f(double a, double k, double m) {
double r7368287 = a;
double r7368288 = k;
double r7368289 = m;
double r7368290 = pow(r7368288, r7368289);
double r7368291 = r7368287 * r7368290;
double r7368292 = 1.0;
double r7368293 = 10.0;
double r7368294 = r7368293 * r7368288;
double r7368295 = r7368292 + r7368294;
double r7368296 = r7368288 * r7368288;
double r7368297 = r7368295 + r7368296;
double r7368298 = r7368291 / r7368297;
return r7368298;
}
double f(double a, double k, double m) {
double r7368299 = k;
double r7368300 = 6.144520496396345e+142;
bool r7368301 = r7368299 <= r7368300;
double r7368302 = m;
double r7368303 = pow(r7368299, r7368302);
double r7368304 = a;
double r7368305 = r7368303 * r7368304;
double r7368306 = 1.0;
double r7368307 = 10.0;
double r7368308 = r7368299 + r7368307;
double r7368309 = r7368299 * r7368308;
double r7368310 = r7368306 + r7368309;
double r7368311 = r7368305 / r7368310;
double r7368312 = log(r7368299);
double r7368313 = r7368312 * r7368302;
double r7368314 = exp(r7368313);
double r7368315 = sqrt(r7368314);
double r7368316 = sqrt(r7368299);
double r7368317 = r7368315 / r7368316;
double r7368318 = r7368304 / r7368299;
double r7368319 = r7368317 * r7368318;
double r7368320 = r7368319 * r7368317;
double r7368321 = r7368314 / r7368299;
double r7368322 = r7368318 * r7368321;
double r7368323 = 99.0;
double r7368324 = r7368323 / r7368299;
double r7368325 = r7368324 / r7368299;
double r7368326 = r7368307 / r7368299;
double r7368327 = r7368325 - r7368326;
double r7368328 = r7368322 * r7368327;
double r7368329 = r7368320 + r7368328;
double r7368330 = r7368301 ? r7368311 : r7368329;
return r7368330;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 6.144520496396345e+142Initial program 0.1
Simplified0.1
if 6.144520496396345e+142 < k Initial program 9.6
Simplified9.6
Taylor expanded around -inf 63.0
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Applied associate-*l*0.1
Final simplification0.1
herbie shell --seed 2019146
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))