\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 7.065317705455377133697928136132293324214 \cdot 10^{-168}:\\
\;\;\;\;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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\frac{\cos k \cdot {\ell}^{2}}{\sin k}}{\sin k}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r87716 = 2.0;
double r87717 = t;
double r87718 = 3.0;
double r87719 = pow(r87717, r87718);
double r87720 = l;
double r87721 = r87720 * r87720;
double r87722 = r87719 / r87721;
double r87723 = k;
double r87724 = sin(r87723);
double r87725 = r87722 * r87724;
double r87726 = tan(r87723);
double r87727 = r87725 * r87726;
double r87728 = 1.0;
double r87729 = r87723 / r87717;
double r87730 = pow(r87729, r87716);
double r87731 = r87728 + r87730;
double r87732 = r87731 - r87728;
double r87733 = r87727 * r87732;
double r87734 = r87716 / r87733;
return r87734;
}
double f(double t, double l, double k) {
double r87735 = l;
double r87736 = 7.065317705455377e-168;
bool r87737 = r87735 <= r87736;
double r87738 = 2.0;
double r87739 = 1.0;
double r87740 = k;
double r87741 = 2.0;
double r87742 = r87738 / r87741;
double r87743 = pow(r87740, r87742);
double r87744 = t;
double r87745 = 1.0;
double r87746 = pow(r87744, r87745);
double r87747 = r87743 * r87746;
double r87748 = r87743 * r87747;
double r87749 = r87739 / r87748;
double r87750 = pow(r87749, r87745);
double r87751 = cos(r87740);
double r87752 = sin(r87740);
double r87753 = cbrt(r87752);
double r87754 = 4.0;
double r87755 = pow(r87753, r87754);
double r87756 = r87755 / r87735;
double r87757 = r87756 / r87735;
double r87758 = r87751 / r87757;
double r87759 = pow(r87753, r87741);
double r87760 = r87758 / r87759;
double r87761 = r87750 * r87760;
double r87762 = r87738 * r87761;
double r87763 = cbrt(r87739);
double r87764 = r87763 * r87763;
double r87765 = r87764 / r87743;
double r87766 = pow(r87765, r87745);
double r87767 = r87763 / r87747;
double r87768 = pow(r87767, r87745);
double r87769 = pow(r87735, r87741);
double r87770 = r87751 * r87769;
double r87771 = r87770 / r87752;
double r87772 = r87771 / r87752;
double r87773 = r87768 * r87772;
double r87774 = r87766 * r87773;
double r87775 = r87738 * r87774;
double r87776 = r87737 ? r87762 : r87775;
return r87776;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < 7.065317705455377e-168Initial program 47.0
Simplified38.9
Taylor expanded around inf 20.9
rmApplied sqr-pow20.9
Applied associate-*l*19.4
rmApplied add-cube-cbrt19.6
Applied unpow-prod-down19.6
Applied associate-/r*19.4
Simplified16.3
if 7.065317705455377e-168 < l Initial program 48.3
Simplified40.2
Taylor expanded around inf 22.3
rmApplied sqr-pow22.3
Applied associate-*l*19.6
rmApplied add-cube-cbrt19.6
Applied times-frac19.3
Applied unpow-prod-down19.3
Applied associate-*l*17.2
rmApplied unpow217.2
Applied associate-/r*16.9
Final simplification16.5
herbie shell --seed 2019297
(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))))