\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 1.097649070943432541316308677194287050937 \cdot 10^{139}:\\
\;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99}{k \cdot k} + 1\right) \cdot \left(\frac{a}{k} \cdot \frac{{\left(e^{\log k}\right)}^{m}}{k}\right) - \frac{\left(10 \cdot a\right) \cdot {\left(e^{\log k}\right)}^{m}}{{k}^{3}}\\
\end{array}double f(double a, double k, double m) {
double r246218 = a;
double r246219 = k;
double r246220 = m;
double r246221 = pow(r246219, r246220);
double r246222 = r246218 * r246221;
double r246223 = 1.0;
double r246224 = 10.0;
double r246225 = r246224 * r246219;
double r246226 = r246223 + r246225;
double r246227 = r246219 * r246219;
double r246228 = r246226 + r246227;
double r246229 = r246222 / r246228;
return r246229;
}
double f(double a, double k, double m) {
double r246230 = k;
double r246231 = 1.0976490709434325e+139;
bool r246232 = r246230 <= r246231;
double r246233 = 1.0;
double r246234 = 10.0;
double r246235 = r246234 + r246230;
double r246236 = r246230 * r246235;
double r246237 = 1.0;
double r246238 = r246236 + r246237;
double r246239 = r246233 / r246238;
double r246240 = m;
double r246241 = pow(r246230, r246240);
double r246242 = a;
double r246243 = r246241 * r246242;
double r246244 = r246239 * r246243;
double r246245 = 99.0;
double r246246 = r246230 * r246230;
double r246247 = r246245 / r246246;
double r246248 = r246247 + r246233;
double r246249 = r246242 / r246230;
double r246250 = log(r246230);
double r246251 = exp(r246250);
double r246252 = pow(r246251, r246240);
double r246253 = r246252 / r246230;
double r246254 = r246249 * r246253;
double r246255 = r246248 * r246254;
double r246256 = r246234 * r246242;
double r246257 = r246256 * r246252;
double r246258 = 3.0;
double r246259 = pow(r246230, r246258);
double r246260 = r246257 / r246259;
double r246261 = r246255 - r246260;
double r246262 = r246232 ? r246244 : r246261;
return r246262;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 1.0976490709434325e+139Initial program 0.1
Simplified0.1
rmApplied div-inv0.1
Applied *-un-lft-identity0.1
Applied times-frac0.1
Simplified0.1
if 1.0976490709434325e+139 < k Initial program 9.3
Simplified9.3
rmApplied div-inv9.3
Applied *-un-lft-identity9.3
Applied times-frac9.3
Simplified9.3
Taylor expanded around inf 9.3
Simplified0.3
Final simplification0.1
herbie shell --seed 2019347
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))