\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 -3.309694515652526141729414587502190015342 \cdot 10^{-65} \lor \neg \left(\ell \le 3.29157748652316182286011727101396689325 \cdot 10^{146}\right):\\
\;\;\;\;2 \cdot \left(\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{1}{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}}{1}\right) \cdot \frac{\frac{\cos k}{\frac{1}{\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}{\frac{\frac{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}{\ell}}}{{\left(\sqrt[3]{\sin k}\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r311669 = 2.0;
double r311670 = t;
double r311671 = 3.0;
double r311672 = pow(r311670, r311671);
double r311673 = l;
double r311674 = r311673 * r311673;
double r311675 = r311672 / r311674;
double r311676 = k;
double r311677 = sin(r311676);
double r311678 = r311675 * r311677;
double r311679 = tan(r311676);
double r311680 = r311678 * r311679;
double r311681 = 1.0;
double r311682 = r311676 / r311670;
double r311683 = pow(r311682, r311669);
double r311684 = r311681 + r311683;
double r311685 = r311684 - r311681;
double r311686 = r311680 * r311685;
double r311687 = r311669 / r311686;
return r311687;
}
double f(double t, double l, double k) {
double r311688 = l;
double r311689 = -3.309694515652526e-65;
bool r311690 = r311688 <= r311689;
double r311691 = 3.291577486523162e+146;
bool r311692 = r311688 <= r311691;
double r311693 = !r311692;
bool r311694 = r311690 || r311693;
double r311695 = 2.0;
double r311696 = 1.0;
double r311697 = k;
double r311698 = 2.0;
double r311699 = r311695 / r311698;
double r311700 = pow(r311697, r311699);
double r311701 = t;
double r311702 = 1.0;
double r311703 = pow(r311701, r311702);
double r311704 = r311700 * r311703;
double r311705 = r311700 * r311704;
double r311706 = r311696 / r311705;
double r311707 = pow(r311706, r311702);
double r311708 = sin(r311697);
double r311709 = cbrt(r311708);
double r311710 = 4.0;
double r311711 = pow(r311709, r311710);
double r311712 = r311711 / r311688;
double r311713 = r311696 / r311712;
double r311714 = r311713 / r311696;
double r311715 = r311707 * r311714;
double r311716 = cos(r311697);
double r311717 = r311696 / r311688;
double r311718 = r311716 / r311717;
double r311719 = pow(r311709, r311698);
double r311720 = r311718 / r311719;
double r311721 = r311715 * r311720;
double r311722 = r311695 * r311721;
double r311723 = cbrt(r311696);
double r311724 = r311723 * r311723;
double r311725 = r311724 / r311700;
double r311726 = pow(r311725, r311702);
double r311727 = r311723 / r311704;
double r311728 = pow(r311727, r311702);
double r311729 = r311712 / r311688;
double r311730 = r311716 / r311729;
double r311731 = r311730 / r311719;
double r311732 = r311728 * r311731;
double r311733 = r311726 * r311732;
double r311734 = r311695 * r311733;
double r311735 = r311694 ? r311722 : r311734;
return r311735;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -3.309694515652526e-65 or 3.291577486523162e+146 < l Initial program 54.5
Simplified50.3
Taylor expanded around inf 38.5
rmApplied sqr-pow38.5
Applied associate-*l*35.8
rmApplied add-cube-cbrt36.1
Applied unpow-prod-down36.1
Applied associate-/r*36.1
Simplified36.1
rmApplied *-un-lft-identity36.1
Applied unpow-prod-down36.1
Applied div-inv36.1
Applied *-un-lft-identity36.1
Applied times-frac36.1
Applied times-frac36.1
Applied associate-*r*24.4
Simplified24.4
if -3.309694515652526e-65 < l < 3.291577486523162e+146Initial program 45.5
Simplified36.7
Taylor expanded around inf 14.9
rmApplied sqr-pow14.9
Applied associate-*l*13.0
rmApplied add-cube-cbrt13.3
Applied unpow-prod-down13.3
Applied associate-/r*12.8
Simplified10.1
rmApplied add-cube-cbrt10.1
Applied times-frac10.0
Applied unpow-prod-down10.0
Applied associate-*l*7.9
Final simplification13.2
herbie shell --seed 2019346 +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))))