\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \leq 9.77492532341824 \cdot 10^{+94}:\\
\;\;\;\;\frac{a \cdot {k}^{m}}{\mathsf{fma}\left(k, k + 10, 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{e^{m \cdot \log k}}{k}, \frac{a}{k}, \frac{a}{\frac{{k}^{3}}{{k}^{m}}} \cdot -10\right)\\
\end{array}
(FPCore (a k m) :precision binary64 (/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))
(FPCore (a k m)
:precision binary64
(if (<= k 9.77492532341824e+94)
(/ (* a (pow k m)) (fma k (+ k 10.0) 1.0))
(fma
(/ (exp (* m (log k))) k)
(/ a k)
(* (/ a (/ (pow k 3.0) (pow k m))) -10.0))))double code(double a, double k, double m) {
return (a * pow(k, m)) / ((1.0 + (10.0 * k)) + (k * k));
}
double code(double a, double k, double m) {
double tmp;
if (k <= 9.77492532341824e+94) {
tmp = (a * pow(k, m)) / fma(k, (k + 10.0), 1.0);
} else {
tmp = fma((exp(m * log(k)) / k), (a / k), ((a / (pow(k, 3.0) / pow(k, m))) * -10.0));
}
return tmp;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 9.77492532341824072e94Initial program 0.1
Simplified0.0
if 9.77492532341824072e94 < k Initial program 8.1
Simplified8.1
Applied *-un-lft-identity_binary648.1
Applied times-frac_binary648.2
Simplified8.2
Applied add-sqr-sqrt_binary648.2
Applied associate-/r*_binary648.2
Taylor expanded in k around inf 8.1
Simplified0.1
Applied exp-neg_binary640.1
Applied associate-*r/_binary640.1
Applied associate-/l/_binary640.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2021313
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))