\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}\;k \le -1.42984790985911057 \cdot 10^{130}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;k \le -4.0649028969036264 \cdot 10^{-114}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\sin k \cdot \frac{\sin k}{\ell}}\\
\mathbf{elif}\;k \le 3.3304890964175232 \cdot 10^{-77}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \left(\left(\frac{\cos k}{\sin k} \cdot \frac{\ell}{\sin k}\right) \cdot \ell\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}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 VAR;
if ((k <= -1.4298479098591106e+130)) {
VAR = (2.0 * (pow((1.0 / pow(k, (2.0 / 2.0))), 1.0) * (pow((1.0 / (pow(k, (2.0 / 2.0)) * pow(t, 1.0))), 1.0) * ((cos(k) * pow(l, 2.0)) / pow(sin(k), 2.0)))));
} else {
double VAR_1;
if ((k <= -4.0649028969036264e-114)) {
VAR_1 = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * l) * cos(k)) / (sin(k) * (sin(k) / l))));
} else {
double VAR_2;
if ((k <= 3.330489096417523e-77)) {
VAR_2 = (2.0 * (pow((1.0 / (pow(k, (2.0 / 2.0)) * (pow(k, (2.0 / 2.0)) * pow(t, 1.0)))), 1.0) * (((cos(k) / sin(k)) * (l / sin(k))) * l)));
} else {
VAR_2 = (2.0 * (pow((1.0 / pow(k, (2.0 / 2.0))), 1.0) * (pow((1.0 / (pow(k, (2.0 / 2.0)) * pow(t, 1.0))), 1.0) * ((cos(k) * pow(l, 2.0)) / pow(sin(k), 2.0)))));
}
VAR_1 = VAR_2;
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -1.4298479098591106e+130 or 3.330489096417523e-77 < k Initial program 44.0
Simplified36.7
Taylor expanded around inf 21.0
rmApplied sqr-pow21.0
Applied associate-*l*17.8
rmApplied *-un-lft-identity17.8
Applied times-frac17.6
Applied unpow-prod-down17.6
Applied associate-*l*15.3
if -1.4298479098591106e+130 < k < -4.0649028969036264e-114Initial program 53.9
Simplified42.3
Taylor expanded around inf 15.8
rmApplied sqr-pow15.8
Applied associate-*l*15.8
rmApplied add-sqr-sqrt48.6
Applied unpow-prod-down48.6
Applied times-frac48.6
Simplified48.6
Simplified14.5
rmApplied frac-times13.6
Applied associate-*r/6.9
Simplified6.9
if -4.0649028969036264e-114 < k < 3.330489096417523e-77Initial program 64.0
Simplified63.6
Taylor expanded around inf 46.3
rmApplied sqr-pow46.3
Applied associate-*l*46.2
rmApplied add-sqr-sqrt51.9
Applied unpow-prod-down51.9
Applied times-frac49.6
Simplified49.6
Simplified27.0
rmApplied associate-/r/27.0
Applied associate-*r*16.4
Final simplification13.4
herbie shell --seed 2020103
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
:precision binary64
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))