\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\begin{array}{l}
\mathbf{if}\;k \le 0.12004989461063595:\\
\;\;\;\;\frac{\left(a \cdot {k}^{\left(\frac{m}{2}\right)}\right) \cdot {k}^{\left(\frac{m}{2}\right)}}{1 + \mathsf{fma}\left(10, k, k \cdot k\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{k}, \frac{a}{k}, 99 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{4}} - 10 \cdot \frac{a \cdot e^{-1 \cdot \left(m \cdot \log \left(\frac{1}{k}\right)\right)}}{{k}^{3}}\right)\\
\end{array}double f(double a, double k, double m) {
double r283939 = a;
double r283940 = k;
double r283941 = m;
double r283942 = pow(r283940, r283941);
double r283943 = r283939 * r283942;
double r283944 = 1.0;
double r283945 = 10.0;
double r283946 = r283945 * r283940;
double r283947 = r283944 + r283946;
double r283948 = r283940 * r283940;
double r283949 = r283947 + r283948;
double r283950 = r283943 / r283949;
return r283950;
}
double f(double a, double k, double m) {
double r283951 = k;
double r283952 = 0.12004989461063595;
bool r283953 = r283951 <= r283952;
double r283954 = a;
double r283955 = m;
double r283956 = 2.0;
double r283957 = r283955 / r283956;
double r283958 = pow(r283951, r283957);
double r283959 = r283954 * r283958;
double r283960 = r283959 * r283958;
double r283961 = 1.0;
double r283962 = 10.0;
double r283963 = r283951 * r283951;
double r283964 = fma(r283962, r283951, r283963);
double r283965 = r283961 + r283964;
double r283966 = r283960 / r283965;
double r283967 = -1.0;
double r283968 = 1.0;
double r283969 = r283968 / r283951;
double r283970 = log(r283969);
double r283971 = r283955 * r283970;
double r283972 = r283967 * r283971;
double r283973 = exp(r283972);
double r283974 = r283973 / r283951;
double r283975 = r283954 / r283951;
double r283976 = 99.0;
double r283977 = r283954 * r283973;
double r283978 = 4.0;
double r283979 = pow(r283951, r283978);
double r283980 = r283977 / r283979;
double r283981 = r283976 * r283980;
double r283982 = 3.0;
double r283983 = pow(r283951, r283982);
double r283984 = r283977 / r283983;
double r283985 = r283962 * r283984;
double r283986 = r283981 - r283985;
double r283987 = fma(r283974, r283975, r283986);
double r283988 = r283953 ? r283966 : r283987;
return r283988;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 0.12004989461063595Initial program 0.1
rmApplied associate-+l+0.1
Simplified0.0
rmApplied sqr-pow0.0
Applied associate-*r*0.0
if 0.12004989461063595 < k Initial program 5.6
Taylor expanded around inf 6.2
Simplified0.7
Final simplification0.3
herbie shell --seed 2020020 +o rules:numerics
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))