\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 -4.44698317701941068 \cdot 10^{-75}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)}{{\left(\sin k\right)}^{2}}\right)\\
\mathbf{elif}\;\ell \le 2.7754077977148128 \cdot 10^{-176}:\\
\;\;\;\;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}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{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{\frac{\cos k}{\frac{\sin k}{{\ell}^{2}}}}{{\left(\sin k\right)}^{1}}\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 ((l <= -4.446983177019411e-75)) {
VAR = (2.0 * (pow((sqrt(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 ((l <= 2.7754077977148128e-176)) {
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) / ((pow(cbrt(sin(k)), 4.0) / l) / l)) / pow(cbrt(sin(k)), 2.0))));
} else {
VAR_1 = (2.0 * (pow((sqrt(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) / pow(l, 2.0))) / pow(sin(k), 1.0)))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -4.446983177019411e-75Initial program 50.9
Simplified44.9
Taylor expanded around inf 29.0
rmApplied sqr-pow29.0
Applied associate-*l*25.4
rmApplied add-sqr-sqrt25.4
Applied times-frac25.1
Applied unpow-prod-down25.1
Applied associate-*l*22.1
Simplified22.1
rmApplied associate-*r/21.8
if -4.446983177019411e-75 < l < 2.7754077977148128e-176Initial program 45.1
Simplified36.2
Taylor expanded around inf 16.6
rmApplied sqr-pow16.6
Applied associate-*l*16.5
rmApplied add-cube-cbrt16.6
Applied unpow-prod-down16.6
Applied associate-/r*16.2
Simplified11.8
if 2.7754077977148128e-176 < l Initial program 49.5
Simplified41.3
Taylor expanded around inf 23.1
rmApplied sqr-pow23.1
Applied associate-*l*20.0
rmApplied add-sqr-sqrt20.0
Applied times-frac19.7
Applied unpow-prod-down19.7
Applied associate-*l*17.9
Simplified17.9
rmApplied sqr-pow17.9
Applied associate-/r*17.4
Simplified17.5
Final simplification16.3
herbie shell --seed 2020075
(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))))