\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \leq 3.2317114830070396 \cdot 10^{+78}:\\
\;\;\;\;\frac{\frac{1}{\mathsf{fma}\left(k, k + 10, 1\right)}}{\frac{{k}^{\left(-m\right)}}{a}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{k \cdot \frac{k}{a \cdot {k}^{m}}}\\
\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 3.2317114830070396e+78) (/ (/ 1.0 (fma k (+ k 10.0) 1.0)) (/ (pow k (- m)) a)) (/ 1.0 (* k (/ k (* a (pow k m)))))))
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 <= 3.2317114830070396e+78) {
tmp = (1.0 / fma(k, (k + 10.0), 1.0)) / (pow(k, -m) / a);
} else {
tmp = 1.0 / (k * (k / (a * pow(k, m))));
}
return tmp;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 3.2317114830070396e78Initial program 0.1
Applied clear-num_binary640.2
Simplified0.2
Applied div-inv_binary640.2
Applied associate-/r*_binary640.1
Taylor expanded in a around 0 21.4
Simplified0.1
if 3.2317114830070396e78 < k Initial program 7.3
Applied clear-num_binary647.4
Simplified7.4
Taylor expanded in k around inf 7.4
Simplified0.6
Final simplification0.2
herbie shell --seed 2022095
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))