\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}
\mathbf{if}\;t \leq -3109908409.3567014 \lor \neg \left(t \leq 3.865341967374077 \cdot 10^{-108}\right):\\
\;\;\;\;\frac{2}{\frac{\left(2 + {\left(\frac{k}{t}\right)}^{2}\right) \cdot \left(\sin k \cdot \left(t \cdot \left(\sin k \cdot \frac{t}{\ell}\right)\right)\right)}{\frac{\ell}{t} \cdot \cos k}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{{\left(\sin k\right)}^{2} \cdot \left(k \cdot k\right)}{\ell} + 2 \cdot \left(t \cdot \left(\frac{t}{\ell} \cdot {\left(\sin k\right)}^{2}\right)\right)}{\frac{\ell}{t} \cdot \cos k}}\\
\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
(if (or (<= t -3109908409.3567014) (not (<= t 3.865341967374077e-108)))
(/
2.0
(/
(* (+ 2.0 (pow (/ k t) 2.0)) (* (sin k) (* t (* (sin k) (/ t l)))))
(* (/ l t) (cos k))))
(/
2.0
(/
(+
(/ (* (pow (sin k) 2.0) (* k k)) l)
(* 2.0 (* t (* (/ t l) (pow (sin k) 2.0)))))
(* (/ l t) (cos k))))))double code(double t, double l, double k) {
return (2.0 / ((double) (((double) (((double) ((((double) pow(t, 3.0)) / ((double) (l * l))) * ((double) sin(k)))) * ((double) tan(k)))) * ((double) (((double) (1.0 + ((double) pow((k / t), 2.0)))) + 1.0)))));
}
double code(double t, double l, double k) {
double tmp;
if (((t <= -3109908409.3567014) || !(t <= 3.865341967374077e-108))) {
tmp = (2.0 / (((double) (((double) (2.0 + ((double) pow((k / t), 2.0)))) * ((double) (((double) sin(k)) * ((double) (t * ((double) (((double) sin(k)) * (t / l))))))))) / ((double) ((l / t) * ((double) cos(k))))));
} else {
tmp = (2.0 / (((double) ((((double) (((double) pow(((double) sin(k)), 2.0)) * ((double) (k * k)))) / l) + ((double) (2.0 * ((double) (t * ((double) ((t / l) * ((double) pow(((double) sin(k)), 2.0)))))))))) / ((double) ((l / t) * ((double) cos(k))))));
}
return tmp;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -3109908409.35670137 or 3.8653419673740771e-108 < t Initial program 22.8
Simplified22.8
rmApplied unpow3_binary6422.9
Applied times-frac_binary6416.1
Applied associate-*l*_binary6414.0
rmApplied associate-/l*_binary648.7
rmApplied tan-quot_binary648.7
Applied associate-*l/_binary647.5
Applied frac-times_binary645.3
Applied associate-*l/_binary644.7
Simplified4.7
if -3109908409.35670137 < t < 3.8653419673740771e-108Initial program 53.2
Simplified53.2
rmApplied unpow3_binary6453.2
Applied times-frac_binary6445.6
Applied associate-*l*_binary6444.5
rmApplied associate-/l*_binary6437.1
rmApplied tan-quot_binary6437.1
Applied associate-*l/_binary6437.1
Applied frac-times_binary6438.7
Applied associate-*l/_binary6435.2
Simplified35.2
Taylor expanded around inf 21.7
Simplified21.0
Final simplification9.8
herbie shell --seed 2020219
(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))))