\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}\;\ell \le -2.99213200650949547 \cdot 10^{153}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\sin k}\right) \cdot \ell}{\frac{\sin k}{\ell}}\\
\mathbf{elif}\;\ell \le -2.23639417536666179 \cdot 10^{-92}:\\
\;\;\;\;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 \frac{\frac{\cos k}{\sin k} \cdot \ell}{\frac{\sin k}{\ell}}\right)\\
\mathbf{elif}\;\ell \le 2.63672432504839162 \cdot 10^{-235}:\\
\;\;\;\;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}\;\ell \le 3.7156081381285796 \cdot 10^{153}:\\
\;\;\;\;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 \left(\frac{\cos k}{\sin k} \cdot \frac{\ell}{\frac{\sin k}{\ell}}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\sin k}\right) \cdot \ell}{\frac{\sin k}{\ell}}\\
\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 ((l <= -2.9921320065094955e+153)) {
VAR = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * (cos(k) / sin(k))) * l) / (sin(k) / l)));
} else {
double VAR_1;
if ((l <= -2.2363941753666618e-92)) {
VAR_1 = (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 {
double VAR_2;
if ((l <= 2.6367243250483916e-235)) {
VAR_2 = (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_3;
if ((l <= 3.7156081381285796e+153)) {
VAR_3 = (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) / sin(k)) * (l / (sin(k) / l))))));
} else {
VAR_3 = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * (cos(k) / sin(k))) * l) / (sin(k) / l)));
}
VAR_2 = VAR_3;
}
VAR_1 = VAR_2;
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -2.9921320065094955e+153 or 3.7156081381285796e+153 < l Initial program 63.9
Simplified63.9
Taylor expanded around inf 63.9
rmApplied sqr-pow63.9
Applied associate-*l*63.9
rmApplied add-sqr-sqrt63.9
Applied unpow-prod-down63.9
Applied times-frac63.9
Simplified63.9
Simplified63.9
rmApplied associate-*r/63.8
Applied associate-*r/38.4
Simplified45.3
if -2.9921320065094955e+153 < l < -2.2363941753666618e-92Initial program 46.5
Simplified36.8
Taylor expanded around inf 13.4
rmApplied sqr-pow13.4
Applied associate-*l*8.5
rmApplied add-sqr-sqrt36.0
Applied unpow-prod-down36.0
Applied times-frac36.0
Simplified35.9
Simplified8.4
rmApplied associate-*r/8.4
if -2.2363941753666618e-92 < l < 2.6367243250483916e-235Initial program 44.8
Simplified36.2
Taylor expanded around inf 15.7
rmApplied sqr-pow15.7
Applied associate-*l*15.6
rmApplied add-sqr-sqrt39.4
Applied unpow-prod-down39.4
Applied times-frac39.1
Simplified39.1
Simplified11.9
rmApplied frac-times8.4
Applied associate-*r/5.0
Simplified8.6
if 2.6367243250483916e-235 < l < 3.7156081381285796e+153Initial program 46.0
Simplified37.1
Taylor expanded around inf 13.6
rmApplied sqr-pow13.6
Applied associate-*l*10.3
rmApplied add-sqr-sqrt37.1
Applied unpow-prod-down37.1
Applied times-frac36.9
Simplified36.8
Simplified7.8
rmApplied *-un-lft-identity7.8
Applied times-frac7.5
Applied unpow-prod-down7.5
Applied associate-*l*4.9
Final simplification12.8
herbie shell --seed 2020092
(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))))