\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 -6.6368440463434 \cdot 10^{-116} \lor \neg \left(k \le 3.2285213753541727 \cdot 10^{-105}\right):\\
\;\;\;\;\ell \cdot \left(2 \cdot \left({\left({\left({k}^{\left(\frac{-2}{2}\right)}\right)}^{1}\right)}^{1} \cdot \frac{\ell \cdot \left(\cos k \cdot {\left({\left({k}^{\left(\frac{-2}{2}\right)}\right)}^{1} \cdot {\left({t}^{\left(-1\right)}\right)}^{1}\right)}^{1}\right)}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\ell \cdot \left(2 \cdot \left({\left({\left({k}^{\left(\frac{-2}{2}\right)}\right)}^{1} \cdot \left({\left({k}^{\left(\frac{-2}{2}\right)}\right)}^{1} \cdot {\left({t}^{\left(-1\right)}\right)}^{1}\right)\right)}^{1} \cdot \left(\frac{\sqrt[3]{\cos k} \cdot \sqrt[3]{\cos k}}{\sin k} \cdot \left(\ell \cdot \frac{\sqrt[3]{\cos k}}{\sin k}\right)\right)\right)\right)\\
\end{array}double code(double t, double l, double k) {
return ((double) (2.0 / ((double) (((double) (((double) (((double) (((double) pow(t, 3.0)) / ((double) (l * l)))) * ((double) sin(k)))) * ((double) tan(k)))) * ((double) (((double) (1.0 + ((double) pow(((double) (k / t)), 2.0)))) - 1.0))))));
}
double code(double t, double l, double k) {
double VAR;
if (((k <= -6.6368440463434e-116) || !(k <= 3.2285213753541727e-105))) {
VAR = ((double) (l * ((double) (2.0 * ((double) (((double) pow(((double) pow(((double) pow(k, ((double) (((double) -(2.0)) / 2.0)))), 1.0)), 1.0)) * ((double) (((double) (l * ((double) (((double) cos(k)) * ((double) pow(((double) (((double) pow(((double) pow(k, ((double) (((double) -(2.0)) / 2.0)))), 1.0)) * ((double) pow(((double) pow(t, ((double) -(1.0)))), 1.0)))), 1.0)))))) / ((double) pow(((double) sin(k)), 2.0))))))))));
} else {
VAR = ((double) (l * ((double) (2.0 * ((double) (((double) pow(((double) (((double) pow(((double) pow(k, ((double) (((double) -(2.0)) / 2.0)))), 1.0)) * ((double) (((double) pow(((double) pow(k, ((double) (((double) -(2.0)) / 2.0)))), 1.0)) * ((double) pow(((double) pow(t, ((double) -(1.0)))), 1.0)))))), 1.0)) * ((double) (((double) (((double) (((double) cbrt(((double) cos(k)))) * ((double) cbrt(((double) cos(k)))))) / ((double) sin(k)))) * ((double) (l * ((double) (((double) cbrt(((double) cos(k)))) / ((double) sin(k))))))))))))));
}
return VAR;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -6.6368440463434001e-116 or 3.22852137535417274e-105 < k Initial program 46.6
Simplified37.0
Taylor expanded around inf 51.8
Simplified14.2
rmApplied sqr-pow14.3
Applied unpow-prod-down14.3
Applied associate-*l*10.6
Simplified10.6
rmApplied unpow-prod-down10.6
Applied associate-*l*5.5
Simplified6.3
rmApplied associate-*l/6.3
Applied associate-*r/5.7
if -6.6368440463434001e-116 < k < 3.22852137535417274e-105Initial program 64.0
Simplified64.0
Taylor expanded around inf 57.9
Simplified42.8
rmApplied sqr-pow42.8
Applied unpow-prod-down42.8
Applied associate-*l*42.8
Simplified42.8
rmApplied unpow242.8
Applied add-cube-cbrt42.8
Applied times-frac42.9
Applied associate-*l*34.7
Simplified34.7
Final simplification7.6
herbie shell --seed 2020184
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
:precision binary64
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))