\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 2.6905430635633034 \cdot 10^{+145}:\\
\;\;\;\;\frac{a \cdot {k}^{\left(\frac{m}{2}\right)}}{1 + k \cdot \left(k + 10\right)} \cdot {k}^{\left(\frac{m}{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{99}{k \cdot k} - \frac{10}{k}\right) \cdot \frac{\frac{e^{m \cdot \log k}}{k} \cdot a}{k} + \frac{\frac{e^{m \cdot \log k}}{k} \cdot a}{k}\\
\end{array}double f(double a, double k, double m) {
double r6913061 = a;
double r6913062 = k;
double r6913063 = m;
double r6913064 = pow(r6913062, r6913063);
double r6913065 = r6913061 * r6913064;
double r6913066 = 1.0;
double r6913067 = 10.0;
double r6913068 = r6913067 * r6913062;
double r6913069 = r6913066 + r6913068;
double r6913070 = r6913062 * r6913062;
double r6913071 = r6913069 + r6913070;
double r6913072 = r6913065 / r6913071;
return r6913072;
}
double f(double a, double k, double m) {
double r6913073 = k;
double r6913074 = 2.6905430635633034e+145;
bool r6913075 = r6913073 <= r6913074;
double r6913076 = a;
double r6913077 = m;
double r6913078 = 2.0;
double r6913079 = r6913077 / r6913078;
double r6913080 = pow(r6913073, r6913079);
double r6913081 = r6913076 * r6913080;
double r6913082 = 1.0;
double r6913083 = 10.0;
double r6913084 = r6913073 + r6913083;
double r6913085 = r6913073 * r6913084;
double r6913086 = r6913082 + r6913085;
double r6913087 = r6913081 / r6913086;
double r6913088 = r6913087 * r6913080;
double r6913089 = 99.0;
double r6913090 = r6913073 * r6913073;
double r6913091 = r6913089 / r6913090;
double r6913092 = r6913083 / r6913073;
double r6913093 = r6913091 - r6913092;
double r6913094 = log(r6913073);
double r6913095 = r6913077 * r6913094;
double r6913096 = exp(r6913095);
double r6913097 = r6913096 / r6913073;
double r6913098 = r6913097 * r6913076;
double r6913099 = r6913098 / r6913073;
double r6913100 = r6913093 * r6913099;
double r6913101 = r6913100 + r6913099;
double r6913102 = r6913075 ? r6913088 : r6913101;
return r6913102;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 2.6905430635633034e+145Initial program 0.1
Simplified0.0
rmApplied sqr-pow0.0
Applied associate-*l*0.1
Taylor expanded around 0 0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied associate-/r*0.1
rmApplied *-un-lft-identity0.1
Applied sqrt-prod0.1
Applied *-un-lft-identity0.1
Applied sqrt-prod0.1
Applied times-frac0.1
Applied times-frac0.1
Simplified0.1
Simplified0.1
if 2.6905430635633034e+145 < k Initial program 9.7
Simplified9.7
rmApplied sqr-pow9.7
Applied associate-*l*9.7
Taylor expanded around 0 9.7
Simplified9.7
Taylor expanded around -inf 63.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019141
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))