\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 1.07057857898789059 \cdot 10^{-166}:\\
\;\;\;\;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{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}} \cdot \frac{\sqrt{1}}{{t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r94676 = 2.0;
double r94677 = t;
double r94678 = 3.0;
double r94679 = pow(r94677, r94678);
double r94680 = l;
double r94681 = r94680 * r94680;
double r94682 = r94679 / r94681;
double r94683 = k;
double r94684 = sin(r94683);
double r94685 = r94682 * r94684;
double r94686 = tan(r94683);
double r94687 = r94685 * r94686;
double r94688 = 1.0;
double r94689 = r94683 / r94677;
double r94690 = pow(r94689, r94676);
double r94691 = r94688 + r94690;
double r94692 = r94691 - r94688;
double r94693 = r94687 * r94692;
double r94694 = r94676 / r94693;
return r94694;
}
double f(double t, double l, double k) {
double r94695 = l;
double r94696 = r94695 * r94695;
double r94697 = 1.0705785789878906e-166;
bool r94698 = r94696 <= r94697;
double r94699 = 2.0;
double r94700 = 1.0;
double r94701 = k;
double r94702 = 2.0;
double r94703 = r94699 / r94702;
double r94704 = pow(r94701, r94703);
double r94705 = t;
double r94706 = 1.0;
double r94707 = pow(r94705, r94706);
double r94708 = r94704 * r94707;
double r94709 = r94704 * r94708;
double r94710 = r94700 / r94709;
double r94711 = pow(r94710, r94706);
double r94712 = cos(r94701);
double r94713 = sin(r94701);
double r94714 = cbrt(r94713);
double r94715 = 4.0;
double r94716 = pow(r94714, r94715);
double r94717 = r94716 / r94695;
double r94718 = r94717 / r94695;
double r94719 = r94712 / r94718;
double r94720 = pow(r94714, r94702);
double r94721 = r94719 / r94720;
double r94722 = r94711 * r94721;
double r94723 = r94699 * r94722;
double r94724 = r94700 / r94704;
double r94725 = pow(r94724, r94706);
double r94726 = sqrt(r94700);
double r94727 = r94726 / r94704;
double r94728 = r94726 / r94707;
double r94729 = r94727 * r94728;
double r94730 = pow(r94729, r94706);
double r94731 = pow(r94695, r94702);
double r94732 = r94712 * r94731;
double r94733 = pow(r94713, r94702);
double r94734 = r94732 / r94733;
double r94735 = r94730 * r94734;
double r94736 = r94725 * r94735;
double r94737 = r94699 * r94736;
double r94738 = r94698 ? r94723 : r94737;
return r94738;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 1.0705785789878906e-166Initial program 45.9
Simplified36.9
Taylor expanded around inf 14.7
rmApplied sqr-pow14.7
Applied associate-*l*14.6
rmApplied add-cube-cbrt14.7
Applied unpow-prod-down14.7
Applied associate-/r*14.2
Simplified9.9
if 1.0705785789878906e-166 < (* l l) Initial program 50.8
Simplified45.0
Taylor expanded around inf 29.3
rmApplied sqr-pow29.3
Applied associate-*l*25.0
rmApplied *-un-lft-identity25.0
Applied times-frac24.7
Applied unpow-prod-down24.7
Applied associate-*l*21.6
rmApplied add-sqr-sqrt21.6
Applied times-frac21.5
Final simplification16.0
herbie shell --seed 2020024 +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))))