\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 -3.2960043834370989 \cdot 10^{-99}:\\
\;\;\;\;\frac{2}{\frac{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \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)}{\sqrt[3]{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}} \cdot \sqrt[3]{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}}{\sqrt[3]{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}}\\
\mathbf{elif}\;t \le 3.01176032494024291 \cdot 10^{-118}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(2, \frac{{t}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell}, \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}} \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}}\right) \cdot \left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}} \cdot \sin k\right)\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r165783 = 2.0;
double r165784 = t;
double r165785 = 3.0;
double r165786 = pow(r165784, r165785);
double r165787 = l;
double r165788 = r165787 * r165787;
double r165789 = r165786 / r165788;
double r165790 = k;
double r165791 = sin(r165790);
double r165792 = r165789 * r165791;
double r165793 = tan(r165790);
double r165794 = r165792 * r165793;
double r165795 = 1.0;
double r165796 = r165790 / r165784;
double r165797 = pow(r165796, r165783);
double r165798 = r165795 + r165797;
double r165799 = r165798 + r165795;
double r165800 = r165794 * r165799;
double r165801 = r165783 / r165800;
return r165801;
}
double f(double t, double l, double k) {
double r165802 = t;
double r165803 = -3.296004383437099e-99;
bool r165804 = r165802 <= r165803;
double r165805 = 2.0;
double r165806 = cbrt(r165802);
double r165807 = 3.0;
double r165808 = pow(r165806, r165807);
double r165809 = l;
double r165810 = r165808 / r165809;
double r165811 = k;
double r165812 = sin(r165811);
double r165813 = r165810 * r165812;
double r165814 = r165808 * r165813;
double r165815 = tan(r165811);
double r165816 = r165814 * r165815;
double r165817 = 1.0;
double r165818 = r165811 / r165802;
double r165819 = pow(r165818, r165805);
double r165820 = r165817 + r165819;
double r165821 = r165820 + r165817;
double r165822 = r165816 * r165821;
double r165823 = r165809 / r165808;
double r165824 = cbrt(r165823);
double r165825 = r165824 * r165824;
double r165826 = r165822 / r165825;
double r165827 = r165826 / r165824;
double r165828 = r165805 / r165827;
double r165829 = 3.011760324940243e-118;
bool r165830 = r165802 <= r165829;
double r165831 = 2.0;
double r165832 = pow(r165802, r165831);
double r165833 = pow(r165812, r165831);
double r165834 = r165832 * r165833;
double r165835 = cos(r165811);
double r165836 = r165835 * r165809;
double r165837 = r165834 / r165836;
double r165838 = pow(r165811, r165831);
double r165839 = r165838 * r165833;
double r165840 = r165839 / r165836;
double r165841 = fma(r165805, r165837, r165840);
double r165842 = r165841 / r165823;
double r165843 = r165805 / r165842;
double r165844 = cbrt(r165810);
double r165845 = r165844 * r165844;
double r165846 = r165844 * r165812;
double r165847 = r165845 * r165846;
double r165848 = r165808 * r165847;
double r165849 = r165848 * r165815;
double r165850 = r165849 * r165821;
double r165851 = r165850 / r165823;
double r165852 = r165805 / r165851;
double r165853 = r165830 ? r165843 : r165852;
double r165854 = r165804 ? r165828 : r165853;
return r165854;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -3.296004383437099e-99Initial program 23.0
rmApplied add-cube-cbrt23.2
Applied unpow-prod-down23.2
Applied times-frac16.8
Applied associate-*l*14.1
rmApplied unpow-prod-down14.1
Applied associate-/l*9.7
rmApplied associate-*l/8.4
Applied associate-*l/7.0
Applied associate-*l/6.3
rmApplied add-cube-cbrt6.3
Applied associate-/r*6.3
if -3.296004383437099e-99 < t < 3.011760324940243e-118Initial program 63.1
rmApplied add-cube-cbrt63.1
Applied unpow-prod-down63.1
Applied times-frac53.9
Applied associate-*l*53.9
rmApplied unpow-prod-down53.9
Applied associate-/l*44.9
rmApplied associate-*l/44.9
Applied associate-*l/45.9
Applied associate-*l/42.5
Taylor expanded around inf 24.1
Simplified24.1
if 3.011760324940243e-118 < t Initial program 23.9
rmApplied add-cube-cbrt24.1
Applied unpow-prod-down24.1
Applied times-frac17.7
Applied associate-*l*16.1
rmApplied unpow-prod-down16.1
Applied associate-/l*11.3
rmApplied associate-*l/10.3
Applied associate-*l/8.2
Applied associate-*l/7.2
rmApplied add-cube-cbrt7.2
Applied associate-*l*7.2
Final simplification10.7
herbie shell --seed 2020036 +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))))