\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 3.442415825498342 \cdot 10^{+150}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{k \cdot k + \left(k \cdot 10 + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{a}{k} \cdot \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k} + \left(\frac{99}{k \cdot k} \cdot \left(\frac{a}{k} \cdot \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)}}{k}\right) - \frac{{\left(\frac{1}{k}\right)}^{\left(-m\right)} \cdot \left(10 \cdot a\right)}{\left(k \cdot k\right) \cdot k}\right)\\
\end{array}double f(double a, double k, double m) {
double r3623828 = a;
double r3623829 = k;
double r3623830 = m;
double r3623831 = pow(r3623829, r3623830);
double r3623832 = r3623828 * r3623831;
double r3623833 = 1.0;
double r3623834 = 10.0;
double r3623835 = r3623834 * r3623829;
double r3623836 = r3623833 + r3623835;
double r3623837 = r3623829 * r3623829;
double r3623838 = r3623836 + r3623837;
double r3623839 = r3623832 / r3623838;
return r3623839;
}
double f(double a, double k, double m) {
double r3623840 = k;
double r3623841 = 3.442415825498342e+150;
bool r3623842 = r3623840 <= r3623841;
double r3623843 = a;
double r3623844 = m;
double r3623845 = pow(r3623840, r3623844);
double r3623846 = r3623843 * r3623845;
double r3623847 = r3623840 * r3623840;
double r3623848 = 10.0;
double r3623849 = r3623840 * r3623848;
double r3623850 = 1.0;
double r3623851 = r3623849 + r3623850;
double r3623852 = r3623847 + r3623851;
double r3623853 = r3623846 / r3623852;
double r3623854 = r3623843 / r3623840;
double r3623855 = r3623850 / r3623840;
double r3623856 = -r3623844;
double r3623857 = pow(r3623855, r3623856);
double r3623858 = r3623857 / r3623840;
double r3623859 = r3623854 * r3623858;
double r3623860 = 99.0;
double r3623861 = r3623860 / r3623847;
double r3623862 = r3623861 * r3623859;
double r3623863 = r3623848 * r3623843;
double r3623864 = r3623857 * r3623863;
double r3623865 = r3623847 * r3623840;
double r3623866 = r3623864 / r3623865;
double r3623867 = r3623862 - r3623866;
double r3623868 = r3623859 + r3623867;
double r3623869 = r3623842 ? r3623853 : r3623868;
return r3623869;
}



Bits error versus a



Bits error versus k



Bits error versus m
Results
if k < 3.442415825498342e+150Initial program 0.1
if 3.442415825498342e+150 < k Initial program 10.3
rmApplied clear-num10.3
Simplified10.3
rmApplied add-cbrt-cube10.6
Taylor expanded around inf 10.3
Simplified0.1
Final simplification0.1
herbie shell --seed 2019152
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))