\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.748902034743020898351247453682284495359 \cdot 10^{138}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}\\
\mathbf{elif}\;\ell \le -6.271868012243787186432319102662676695092 \cdot 10^{-110}:\\
\;\;\;\;\frac{2}{\frac{{k}^{2} \cdot \left(t \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}} + 2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{elif}\;\ell \le 4.908623914048310431310370060257061124185 \cdot 10^{-18} \lor \neg \left(\ell \le 4.159535746736077842591579109990589774681 \cdot 10^{112}\right):\\
\;\;\;\;\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{{t}^{\left(\frac{1}{3} \cdot 3\right)}}{\ell} \cdot \sin k\right)\right) \cdot \left(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}} - {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}}\\
\end{array}double f(double t, double l, double k) {
double r127815 = 2.0;
double r127816 = t;
double r127817 = 3.0;
double r127818 = pow(r127816, r127817);
double r127819 = l;
double r127820 = r127819 * r127819;
double r127821 = r127818 / r127820;
double r127822 = k;
double r127823 = sin(r127822);
double r127824 = r127821 * r127823;
double r127825 = tan(r127822);
double r127826 = r127824 * r127825;
double r127827 = 1.0;
double r127828 = r127822 / r127816;
double r127829 = pow(r127828, r127815);
double r127830 = r127827 + r127829;
double r127831 = r127830 + r127827;
double r127832 = r127826 * r127831;
double r127833 = r127815 / r127832;
return r127833;
}
double f(double t, double l, double k) {
double r127834 = l;
double r127835 = -3.748902034743021e+138;
bool r127836 = r127834 <= r127835;
double r127837 = 2.0;
double r127838 = t;
double r127839 = cbrt(r127838);
double r127840 = 3.0;
double r127841 = pow(r127839, r127840);
double r127842 = cbrt(r127834);
double r127843 = r127842 * r127842;
double r127844 = r127841 / r127843;
double r127845 = r127841 / r127842;
double r127846 = r127844 * r127845;
double r127847 = 0.3333333333333333;
double r127848 = r127847 * r127840;
double r127849 = pow(r127838, r127848);
double r127850 = r127849 / r127834;
double r127851 = k;
double r127852 = sin(r127851);
double r127853 = r127850 * r127852;
double r127854 = r127846 * r127853;
double r127855 = tan(r127851);
double r127856 = 1.0;
double r127857 = r127851 / r127838;
double r127858 = pow(r127857, r127837);
double r127859 = r127856 + r127858;
double r127860 = r127859 + r127856;
double r127861 = r127855 * r127860;
double r127862 = r127854 * r127861;
double r127863 = r127837 / r127862;
double r127864 = -6.271868012243787e-110;
bool r127865 = r127834 <= r127864;
double r127866 = 2.0;
double r127867 = pow(r127851, r127866);
double r127868 = pow(r127852, r127866);
double r127869 = r127838 * r127868;
double r127870 = r127867 * r127869;
double r127871 = cos(r127851);
double r127872 = pow(r127834, r127866);
double r127873 = r127871 * r127872;
double r127874 = r127870 / r127873;
double r127875 = 3.0;
double r127876 = pow(r127838, r127875);
double r127877 = r127876 * r127868;
double r127878 = r127877 / r127873;
double r127879 = r127837 * r127878;
double r127880 = r127874 + r127879;
double r127881 = r127837 / r127880;
double r127882 = 4.9086239140483104e-18;
bool r127883 = r127834 <= r127882;
double r127884 = 4.159535746736078e+112;
bool r127885 = r127834 <= r127884;
double r127886 = !r127885;
bool r127887 = r127883 || r127886;
double r127888 = 1.0;
double r127889 = -1.0;
double r127890 = pow(r127889, r127840);
double r127891 = r127888 / r127890;
double r127892 = pow(r127891, r127856);
double r127893 = r127867 * r127868;
double r127894 = r127838 * r127893;
double r127895 = r127894 / r127873;
double r127896 = r127892 * r127895;
double r127897 = r127879 - r127896;
double r127898 = r127837 / r127897;
double r127899 = r127887 ? r127863 : r127898;
double r127900 = r127865 ? r127881 : r127899;
double r127901 = r127836 ? r127863 : r127900;
return r127901;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < -3.748902034743021e+138 or -6.271868012243787e-110 < l < 4.9086239140483104e-18 or 4.159535746736078e+112 < l Initial program 34.8
rmApplied add-cube-cbrt34.8
Applied unpow-prod-down34.8
Applied times-frac25.6
Applied associate-*l*23.7
rmApplied add-cube-cbrt23.7
Applied unpow-prod-down23.7
Applied times-frac15.9
rmApplied associate-*l*15.6
rmApplied pow1/339.3
Applied pow-pow15.5
if -3.748902034743021e+138 < l < -6.271868012243787e-110Initial program 27.0
Taylor expanded around inf 19.0
if 4.9086239140483104e-18 < l < 4.159535746736078e+112Initial program 27.4
Taylor expanded around -inf 20.5
Final simplification16.8
herbie shell --seed 2019306
(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))))