\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.158753162179787 \cdot 10^{+109}:\\
\;\;\;\;\frac{a}{\frac{1 + \left(k + 10\right) \cdot k}{{k}^{m}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(a \cdot 99\right) \cdot e^{\log k \cdot m}}{\left(k \cdot k\right) \cdot \left(k \cdot k\right)} + \left(\frac{\frac{a \cdot e^{\log k \cdot m}}{k}}{k} + \frac{\left(a \cdot e^{\log k \cdot m}\right) \cdot -10}{\left(k \cdot k\right) \cdot k}\right)\\
\end{array}double f(double a, double k, double m) {
double r10287200 = a;
double r10287201 = k;
double r10287202 = m;
double r10287203 = pow(r10287201, r10287202);
double r10287204 = r10287200 * r10287203;
double r10287205 = 1.0;
double r10287206 = 10.0;
double r10287207 = r10287206 * r10287201;
double r10287208 = r10287205 + r10287207;
double r10287209 = r10287201 * r10287201;
double r10287210 = r10287208 + r10287209;
double r10287211 = r10287204 / r10287210;
return r10287211;
}
double f(double a, double k, double m) {
double r10287212 = k;
double r10287213 = 3.158753162179787e+109;
bool r10287214 = r10287212 <= r10287213;
double r10287215 = a;
double r10287216 = 1.0;
double r10287217 = 10.0;
double r10287218 = r10287212 + r10287217;
double r10287219 = r10287218 * r10287212;
double r10287220 = r10287216 + r10287219;
double r10287221 = m;
double r10287222 = pow(r10287212, r10287221);
double r10287223 = r10287220 / r10287222;
double r10287224 = r10287215 / r10287223;
double r10287225 = 99.0;
double r10287226 = r10287215 * r10287225;
double r10287227 = log(r10287212);
double r10287228 = r10287227 * r10287221;
double r10287229 = exp(r10287228);
double r10287230 = r10287226 * r10287229;
double r10287231 = r10287212 * r10287212;
double r10287232 = r10287231 * r10287231;
double r10287233 = r10287230 / r10287232;
double r10287234 = r10287215 * r10287229;
double r10287235 = r10287234 / r10287212;
double r10287236 = r10287235 / r10287212;
double r10287237 = -10.0;
double r10287238 = r10287234 * r10287237;
double r10287239 = r10287231 * r10287212;
double r10287240 = r10287238 / r10287239;
double r10287241 = r10287236 + r10287240;
double r10287242 = r10287233 + r10287241;
double r10287243 = r10287214 ? r10287224 : r10287242;
return r10287243;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 3.158753162179787e+109Initial program 0.1
Simplified0.0
if 3.158753162179787e+109 < k Initial program 8.8
Simplified8.8
rmApplied clear-num9.0
Taylor expanded around 0 9.0
Simplified9.0
Taylor expanded around inf 8.8
Simplified0.3
Final simplification0.1
herbie shell --seed 2019163
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))