\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}\;t \le -2.821694678386716089454233849153388146193 \cdot 10^{-209}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \left(\sqrt[3]{\tan k} \cdot \sqrt[3]{\tan k}\right)\right) \cdot \sqrt[3]{\tan k}\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{elif}\;t \le 4.868492967581060528725959148116120051474 \cdot 10^{-72}:\\
\;\;\;\;\frac{2}{\frac{{\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell} + 2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \cdot \left({t}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot \ell}\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1} \cdot \sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1}\right)\right) \cdot \sqrt[3]{\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1}}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\end{array}double f(double t, double l, double k) {
double r180694 = 2.0;
double r180695 = t;
double r180696 = 3.0;
double r180697 = pow(r180695, r180696);
double r180698 = l;
double r180699 = r180698 * r180698;
double r180700 = r180697 / r180699;
double r180701 = k;
double r180702 = sin(r180701);
double r180703 = r180700 * r180702;
double r180704 = tan(r180701);
double r180705 = r180703 * r180704;
double r180706 = 1.0;
double r180707 = r180701 / r180695;
double r180708 = pow(r180707, r180694);
double r180709 = r180706 + r180708;
double r180710 = r180709 + r180706;
double r180711 = r180705 * r180710;
double r180712 = r180694 / r180711;
return r180712;
}
double f(double t, double l, double k) {
double r180713 = t;
double r180714 = -2.821694678386716e-209;
bool r180715 = r180713 <= r180714;
double r180716 = 2.0;
double r180717 = cbrt(r180713);
double r180718 = r180717 * r180717;
double r180719 = 3.0;
double r180720 = 2.0;
double r180721 = r180719 / r180720;
double r180722 = pow(r180718, r180721);
double r180723 = pow(r180717, r180719);
double r180724 = l;
double r180725 = r180723 / r180724;
double r180726 = k;
double r180727 = sin(r180726);
double r180728 = r180725 * r180727;
double r180729 = r180722 * r180728;
double r180730 = tan(r180726);
double r180731 = cbrt(r180730);
double r180732 = r180731 * r180731;
double r180733 = r180729 * r180732;
double r180734 = r180733 * r180731;
double r180735 = 1.0;
double r180736 = r180726 / r180713;
double r180737 = pow(r180736, r180716);
double r180738 = r180735 + r180737;
double r180739 = r180738 + r180735;
double r180740 = r180734 * r180739;
double r180741 = r180724 / r180722;
double r180742 = r180740 / r180741;
double r180743 = r180716 / r180742;
double r180744 = 4.868492967581061e-72;
bool r180745 = r180713 <= r180744;
double r180746 = 1.0;
double r180747 = -1.0;
double r180748 = pow(r180747, r180716);
double r180749 = r180746 / r180748;
double r180750 = pow(r180749, r180735);
double r180751 = pow(r180726, r180720);
double r180752 = pow(r180727, r180720);
double r180753 = r180751 * r180752;
double r180754 = cos(r180726);
double r180755 = r180754 * r180724;
double r180756 = r180753 / r180755;
double r180757 = r180750 * r180756;
double r180758 = cbrt(r180747);
double r180759 = 6.0;
double r180760 = pow(r180758, r180759);
double r180761 = pow(r180713, r180720);
double r180762 = r180761 * r180752;
double r180763 = r180760 * r180762;
double r180764 = r180763 / r180755;
double r180765 = r180750 * r180764;
double r180766 = r180716 * r180765;
double r180767 = r180757 + r180766;
double r180768 = r180767 / r180741;
double r180769 = r180716 / r180768;
double r180770 = r180729 * r180730;
double r180771 = cbrt(r180739);
double r180772 = r180771 * r180771;
double r180773 = r180770 * r180772;
double r180774 = r180773 * r180771;
double r180775 = r180774 / r180741;
double r180776 = r180716 / r180775;
double r180777 = r180745 ? r180769 : r180776;
double r180778 = r180715 ? r180743 : r180777;
return r180778;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -2.821694678386716e-209Initial program 29.3
rmApplied add-cube-cbrt29.4
Applied unpow-prod-down29.4
Applied times-frac21.3
Applied associate-*l*19.5
rmApplied sqr-pow19.5
Applied associate-/l*13.8
rmApplied associate-*l/12.9
Applied associate-*l/11.6
Applied associate-*l/10.3
rmApplied add-cube-cbrt10.3
Applied associate-*r*10.3
if -2.821694678386716e-209 < t < 4.868492967581061e-72Initial program 60.4
rmApplied add-cube-cbrt60.5
Applied unpow-prod-down60.5
Applied times-frac54.5
Applied associate-*l*54.2
rmApplied sqr-pow54.2
Applied associate-/l*46.4
rmApplied associate-*l/46.4
Applied associate-*l/47.1
Applied associate-*l/43.6
Taylor expanded around -inf 29.4
if 4.868492967581061e-72 < t Initial program 22.2
rmApplied add-cube-cbrt22.4
Applied unpow-prod-down22.4
Applied times-frac16.5
Applied associate-*l*14.2
rmApplied sqr-pow14.2
Applied associate-/l*9.2
rmApplied associate-*l/8.1
Applied associate-*l/5.8
Applied associate-*l/5.3
rmApplied add-cube-cbrt5.3
Applied associate-*r*5.4
Final simplification12.0
herbie shell --seed 2019322
(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))))