\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 -4.65561929088396835 \cdot 10^{155}:\\
\;\;\;\;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}{\left|\sin k\right|} \cdot \frac{\ell}{\frac{\left|\sin k\right|}{\ell}}\right)\right)\right)\\
\mathbf{elif}\;k \le -1.9372850856630931 \cdot 10^{-128}:\\
\;\;\;\;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}\;k \le 3.08249264848917646 \cdot 10^{-154}:\\
\;\;\;\;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}{\left|\sin k\right|} \cdot \ell\right) \cdot \frac{1}{\frac{\left|\sin k\right|}{\ell}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;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}}\\
\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 ((k <= -4.655619290883968e+155)) {
temp = (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) / fabs(sin(k))) * (l / (fabs(sin(k)) / l))))));
} else {
double temp_1;
if ((k <= -1.937285085663093e-128)) {
temp_1 = (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_2;
if ((k <= 3.0824926484891765e-154)) {
temp_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) / fabs(sin(k))) * l) * (1.0 / (fabs(sin(k)) / l)))));
} else {
temp_2 = (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))));
}
temp_1 = temp_2;
}
temp = temp_1;
}
return temp;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -4.655619290883968e+155Initial program 39.2
Simplified34.2
Taylor expanded around inf 24.8
rmApplied sqr-pow24.8
Applied associate-*l*20.0
rmApplied add-sqr-sqrt20.0
Applied times-frac20.1
Simplified20.1
Simplified20.1
rmApplied add-sqr-sqrt20.1
Applied times-frac19.8
Applied unpow-prod-down19.8
Applied associate-*l*16.4
Simplified16.4
if -4.655619290883968e+155 < k < -1.937285085663093e-128 or 3.0824926484891765e-154 < k Initial program 49.7
Simplified40.9
Taylor expanded around inf 19.5
rmApplied sqr-pow19.5
Applied associate-*l*17.9
rmApplied add-sqr-sqrt17.9
Applied times-frac17.9
Simplified17.9
Simplified16.8
rmApplied frac-times15.9
Applied associate-*r/9.8
Simplified12.0
if -1.937285085663093e-128 < k < 3.0824926484891765e-154Initial program 64.0
Simplified64.0
Taylor expanded around inf 56.5
rmApplied sqr-pow56.5
Applied associate-*l*56.5
rmApplied add-sqr-sqrt56.5
Applied times-frac56.5
Simplified56.5
Simplified28.9
rmApplied div-inv28.9
Applied associate-*r*15.2
Final simplification13.0
herbie shell --seed 2020065 +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))))