\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 -1.208664002911732746188564972116635413934 \cdot 10^{-168}:\\
\;\;\;\;\frac{2}{\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(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right) \cdot \frac{1}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{elif}\;t \le 1.009878416081778035016067573708870948758 \cdot 10^{-90}:\\
\;\;\;\;\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 \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)}}}}\\
\end{array}double f(double t, double l, double k) {
double r125737 = 2.0;
double r125738 = t;
double r125739 = 3.0;
double r125740 = pow(r125738, r125739);
double r125741 = l;
double r125742 = r125741 * r125741;
double r125743 = r125740 / r125742;
double r125744 = k;
double r125745 = sin(r125744);
double r125746 = r125743 * r125745;
double r125747 = tan(r125744);
double r125748 = r125746 * r125747;
double r125749 = 1.0;
double r125750 = r125744 / r125738;
double r125751 = pow(r125750, r125737);
double r125752 = r125749 + r125751;
double r125753 = r125752 + r125749;
double r125754 = r125748 * r125753;
double r125755 = r125737 / r125754;
return r125755;
}
double f(double t, double l, double k) {
double r125756 = t;
double r125757 = -1.2086640029117327e-168;
bool r125758 = r125756 <= r125757;
double r125759 = 2.0;
double r125760 = cbrt(r125756);
double r125761 = r125760 * r125760;
double r125762 = 3.0;
double r125763 = 2.0;
double r125764 = r125762 / r125763;
double r125765 = pow(r125761, r125764);
double r125766 = pow(r125760, r125762);
double r125767 = l;
double r125768 = r125766 / r125767;
double r125769 = k;
double r125770 = sin(r125769);
double r125771 = r125768 * r125770;
double r125772 = r125765 * r125771;
double r125773 = tan(r125769);
double r125774 = r125772 * r125773;
double r125775 = 1.0;
double r125776 = r125769 / r125756;
double r125777 = pow(r125776, r125759);
double r125778 = r125775 + r125777;
double r125779 = r125778 + r125775;
double r125780 = r125774 * r125779;
double r125781 = 1.0;
double r125782 = r125767 / r125765;
double r125783 = r125781 / r125782;
double r125784 = r125780 * r125783;
double r125785 = r125759 / r125784;
double r125786 = 1.009878416081778e-90;
bool r125787 = r125756 <= r125786;
double r125788 = -1.0;
double r125789 = pow(r125788, r125759);
double r125790 = r125781 / r125789;
double r125791 = pow(r125790, r125775);
double r125792 = pow(r125769, r125763);
double r125793 = pow(r125770, r125763);
double r125794 = r125792 * r125793;
double r125795 = cos(r125769);
double r125796 = r125795 * r125767;
double r125797 = r125794 / r125796;
double r125798 = r125791 * r125797;
double r125799 = cbrt(r125788);
double r125800 = 6.0;
double r125801 = pow(r125799, r125800);
double r125802 = pow(r125756, r125763);
double r125803 = r125802 * r125793;
double r125804 = r125801 * r125803;
double r125805 = r125804 / r125796;
double r125806 = r125791 * r125805;
double r125807 = r125759 * r125806;
double r125808 = r125798 + r125807;
double r125809 = r125808 / r125782;
double r125810 = r125759 / r125809;
double r125811 = cbrt(r125773);
double r125812 = r125811 * r125811;
double r125813 = r125772 * r125812;
double r125814 = r125813 * r125811;
double r125815 = r125814 * r125779;
double r125816 = r125815 / r125782;
double r125817 = r125759 / r125816;
double r125818 = r125787 ? r125810 : r125817;
double r125819 = r125758 ? r125785 : r125818;
return r125819;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -1.2086640029117327e-168Initial program 26.9
rmApplied add-cube-cbrt27.1
Applied unpow-prod-down27.1
Applied times-frac18.8
Applied associate-*l*16.6
rmApplied sqr-pow16.6
Applied associate-/l*12.3
rmApplied associate-*l/11.3
Applied associate-*l/10.5
Applied associate-*l/9.4
rmApplied div-inv9.4
if -1.2086640029117327e-168 < t < 1.009878416081778e-90Initial program 62.0
rmApplied add-cube-cbrt62.0
Applied unpow-prod-down62.0
Applied times-frac55.6
Applied associate-*l*55.6
rmApplied sqr-pow55.6
Applied associate-/l*45.2
rmApplied associate-*l/45.2
Applied associate-*l/45.9
Applied associate-*l/42.3
Taylor expanded around -inf 30.2
if 1.009878416081778e-90 < t Initial program 22.1
rmApplied add-cube-cbrt22.3
Applied unpow-prod-down22.3
Applied times-frac16.6
Applied associate-*l*14.4
rmApplied sqr-pow14.3
Applied associate-/l*9.9
rmApplied associate-*l/8.7
Applied associate-*l/7.3
Applied associate-*l/6.4
rmApplied add-cube-cbrt6.4
Applied associate-*r*6.4
Final simplification12.2
herbie shell --seed 2019323
(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))))