\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.3481340441220306 \cdot 10^{144}:\\
\;\;\;\;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 -1.2495359247218516 \cdot 10^{-168}:\\
\;\;\;\;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 \left(\frac{\cos k}{\sin k} \cdot \frac{\ell}{\frac{\sin k}{\ell}}\right)\right)\right)\\
\mathbf{elif}\;\ell \le 3.06278465608672917 \cdot 10^{-159}:\\
\;\;\;\;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.91257815295953864 \cdot 10^{153}:\\
\;\;\;\;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 \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 \ell\right) \cdot \cos k}{\sin k \cdot \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 temp;
if ((l <= -4.3481340441220306e+144)) {
temp = (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 temp_1;
if ((l <= -1.2495359247218516e-168)) {
temp_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)) * (l / (sin(k) / l))))));
} else {
double temp_2;
if ((l <= 3.062784656086729e-159)) {
temp_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 temp_3;
if ((l <= 3.912578152959539e+153)) {
temp_3 = (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)) * (l / (sin(k) / l))))));
} else {
temp_3 = (2.0 * (((pow((1.0 / (pow(k, 2.0) * pow(t, 1.0))), 1.0) * l) * cos(k)) / (sin(k) * (sin(k) / l))));
}
temp_2 = temp_3;
}
temp_1 = temp_2;
}
temp = temp_1;
}
return temp;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -4.3481340441220306e+144Initial program 63.3
Simplified62.8
Taylor expanded around inf 62.2
rmApplied sqr-pow62.2
Applied associate-*l*61.6
rmApplied add-sqr-sqrt63.2
Applied unpow-prod-down63.2
Applied times-frac63.2
Simplified63.2
Simplified61.6
rmApplied associate-*r/61.6
Applied associate-*r/38.1
Simplified45.9
if -4.3481340441220306e+144 < l < -1.2495359247218516e-168 or 3.062784656086729e-159 < l < 3.912578152959539e+153Initial program 44.5
Simplified34.7
Taylor expanded around inf 10.8
rmApplied sqr-pow10.8
Applied associate-*l*6.8
rmApplied add-sqr-sqrt35.6
Applied unpow-prod-down35.6
Applied times-frac35.5
Simplified35.4
Simplified6.1
rmApplied add-sqr-sqrt6.1
Applied times-frac5.9
Applied unpow-prod-down5.9
Applied associate-*l*3.4
Simplified3.4
if -1.2495359247218516e-168 < l < 3.062784656086729e-159 or 3.912578152959539e+153 < l Initial program 49.1
Simplified42.5
Taylor expanded around inf 28.4
rmApplied sqr-pow28.4
Applied associate-*l*28.4
rmApplied add-sqr-sqrt47.0
Applied unpow-prod-down47.0
Applied times-frac46.9
Simplified46.9
Simplified23.8
rmApplied frac-times20.8
Applied associate-*r/12.1
Simplified16.5
Final simplification11.9
herbie shell --seed 2020057 +o rules:numerics
(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))))