\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}
\begin{array}{l}
t_1 := 2 + {\left(\frac{k}{t}\right)}^{2}\\
t_2 := t \cdot \left(\frac{t}{\ell} \cdot \sin k\right)\\
\mathbf{if}\;t \leq -1.4693556835341005 \cdot 10^{-69}:\\
\;\;\;\;\frac{2}{\left(\frac{t_2}{\frac{\ell}{t}} \cdot \tan k\right) \cdot t_1}\\
\mathbf{elif}\;t \leq 9.025767398431058 \cdot 10^{+33}:\\
\;\;\;\;\frac{2}{\frac{\frac{{\sin k}^{2} \cdot \mathsf{fma}\left(k, k, 2 \cdot \left(t \cdot t\right)\right)}{\ell}}{\frac{\ell}{t} \cdot \cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{t_1 \cdot \frac{t_2 \cdot \tan k}{\frac{\ell}{t}}}\\
\end{array}
(FPCore (t l k) :precision binary64 (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
(FPCore (t l k)
:precision binary64
(let* ((t_1 (+ 2.0 (pow (/ k t) 2.0))) (t_2 (* t (* (/ t l) (sin k)))))
(if (<= t -1.4693556835341005e-69)
(/ 2.0 (* (* (/ t_2 (/ l t)) (tan k)) t_1))
(if (<= t 9.025767398431058e+33)
(/
2.0
(/
(/ (* (pow (sin k) 2.0) (fma k k (* 2.0 (* t t)))) l)
(* (/ l t) (cos k))))
(/ 2.0 (* t_1 (/ (* t_2 (tan k)) (/ l t))))))))double code(double t, double l, double k) {
return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) + 1.0));
}
double code(double t, double l, double k) {
double t_1 = 2.0 + pow((k / t), 2.0);
double t_2 = t * ((t / l) * sin(k));
double tmp;
if (t <= -1.4693556835341005e-69) {
tmp = 2.0 / (((t_2 / (l / t)) * tan(k)) * t_1);
} else if (t <= 9.025767398431058e+33) {
tmp = 2.0 / (((pow(sin(k), 2.0) * fma(k, k, (2.0 * (t * t)))) / l) / ((l / t) * cos(k)));
} else {
tmp = 2.0 / (t_1 * ((t_2 * tan(k)) / (l / t)));
}
return tmp;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -1.4693556835341005e-69Initial program 22.6
Simplified22.6
Applied unpow3_binary6422.6
Applied times-frac_binary6416.6
Applied associate-*l*_binary6414.5
Applied associate-/l*_binary648.8
Applied associate-*l/_binary647.6
if -1.4693556835341005e-69 < t < 9.0257673984310579e33Initial program 51.3
Simplified51.3
Applied unpow3_binary6451.3
Applied times-frac_binary6444.2
Applied associate-*l*_binary6442.8
Applied associate-/l*_binary6437.1
Applied tan-quot_binary6437.1
Applied associate-*l/_binary6437.1
Applied frac-times_binary6438.4
Applied associate-*l/_binary6435.3
Taylor expanded in l around inf 22.8
Simplified22.8
if 9.0257673984310579e33 < t Initial program 22.2
Simplified22.2
Applied unpow3_binary6422.2
Applied times-frac_binary6414.8
Applied associate-*l*_binary6413.5
Applied associate-/l*_binary646.6
Applied associate-*l/_binary645.1
Applied associate-*l/_binary642.5
Simplified2.5
Final simplification11.7
herbie shell --seed 2022077
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
:precision binary64
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))