\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \leq 1.2939891137448822 \cdot 10^{+133}:\\
\;\;\;\;\begin{array}{l}
t_0 := {k}^{\left(\frac{m}{2}\right)}\\
\frac{a \cdot \left(t_0 \cdot t_0\right)}{\mathsf{fma}\left(k, k + 10, 1\right)}
\end{array}\\
\mathbf{else}:\\
\;\;\;\;\begin{array}{l}
t_1 := a \cdot {k}^{m}\\
\mathsf{fma}\left(99, \frac{t_1}{{k}^{4}}, \mathsf{fma}\left(\frac{a}{k}, \frac{{k}^{m}}{k}, \mathsf{fma}\left(\frac{a}{{k}^{3}}, -10, \frac{-980}{\frac{{k}^{5}}{t_1}}\right)\right)\right)
\end{array}\\
\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 1.2939891137448822e+133)
(let* ((t_0 (pow k (/ m 2.0))))
(/ (* a (* t_0 t_0)) (fma k (+ k 10.0) 1.0)))
(let* ((t_1 (* a (pow k m))))
(fma
99.0
(/ t_1 (pow k 4.0))
(fma
(/ a k)
(/ (pow k m) k)
(fma (/ a (pow k 3.0)) -10.0 (/ -980.0 (/ (pow k 5.0) t_1))))))))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 <= 1.2939891137448822e+133) {
double t_0_1 = pow(k, (m / 2.0));
tmp = (a * (t_0_1 * t_0_1)) / fma(k, (k + 10.0), 1.0);
} else {
double t_1 = a * pow(k, m);
tmp = fma(99.0, (t_1 / pow(k, 4.0)), fma((a / k), (pow(k, m) / k), fma((a / pow(k, 3.0)), -10.0, (-980.0 / (pow(k, 5.0) / t_1)))));
}
return tmp;
}



Bits error versus a



Bits error versus k



Bits error versus m
if k < 1.29398911374488224e133Initial program 0.1
Simplified0.0
Applied sqr-pow_binary640.1
Applied associate-*r*_binary640.1
Applied associate-*l*_binary640.1
if 1.29398911374488224e133 < k Initial program 9.3
Simplified9.3
Applied add-sqr-sqrt_binary649.3
Applied associate-/r*_binary649.3
Taylor expanded in k around inf 9.3
Simplified0.1
Taylor expanded in m around 0 0.1
Final simplification0.1
herbie shell --seed 2021329
(FPCore (a k m)
:name "Falkner and Boettcher, Appendix A"
:precision binary64
(/ (* a (pow k m)) (+ (+ 1.0 (* 10.0 k)) (* k k))))