\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 \cdot \ell \le 5.22666569993338448 \cdot 10^{-300}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\left|\sin k\right| \cdot \frac{\left|\sin k\right|}{\ell}}\\
\mathbf{elif}\;\ell \cdot \ell \le 9.7647996777796484 \cdot 10^{295}:\\
\;\;\;\;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}{\left|\sin k\right|} \cdot \frac{\ell}{\frac{\left|\sin k\right|}{\ell}}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k}{\left|\sin k\right|}\right) \cdot \ell}{\frac{\left|\sin k\right|}{\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 temp;
if (((l * l) <= 5.2266656999333845e-300)) {
temp = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * l) * cos(k)) / (fabs(sin(k)) * (fabs(sin(k)) / l))));
} else {
double temp_1;
if (((l * l) <= 9.764799677779648e+295)) {
temp_1 = (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) / fabs(sin(k))) * (l / (fabs(sin(k)) / l))))));
} else {
temp_1 = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * (cos(k) / fabs(sin(k)))) * l) / (fabs(sin(k)) / l)));
}
temp = temp_1;
}
return temp;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 5.2266656999333845e-300Initial program 46.3
Simplified37.3
Taylor expanded around inf 19.6
rmApplied sqr-pow19.6
Applied associate-*l*19.6
rmApplied add-sqr-sqrt19.6
Applied times-frac19.6
Simplified19.6
Simplified14.0
rmApplied frac-times9.6
Applied associate-*r/5.8
Simplified9.9
if 5.2266656999333845e-300 < (* l l) < 9.764799677779648e+295Initial program 45.4
Simplified35.6
Taylor expanded around inf 10.8
rmApplied sqr-pow10.8
Applied associate-*l*6.2
rmApplied add-sqr-sqrt6.2
Applied times-frac6.2
Simplified6.2
Simplified5.7
rmApplied *-un-lft-identity5.7
Applied times-frac5.5
Applied unpow-prod-down5.5
Applied associate-*l*3.1
if 9.764799677779648e+295 < (* l l) Initial program 63.7
Simplified63.5
Taylor expanded around inf 63.1
rmApplied sqr-pow63.1
Applied associate-*l*62.8
rmApplied add-sqr-sqrt62.8
Applied times-frac62.8
Simplified62.8
Simplified62.9
rmApplied associate-*r/62.8
Applied associate-*r/40.6
Simplified46.7
Final simplification12.2
herbie shell --seed 2020066
(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))))