\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.70785909935595357 \cdot 10^{51}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right)}^{3}}{1} \cdot \left(\frac{{\left(\sqrt[3]{\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}}}}\\
\mathbf{elif}\;t \le 3.78445806884562164 \cdot 10^{-104}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left({\left(\frac{1}{{-1}^{2}}\right)}^{1}, \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)\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\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(\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}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r127794 = 2.0;
double r127795 = t;
double r127796 = 3.0;
double r127797 = pow(r127795, r127796);
double r127798 = l;
double r127799 = r127798 * r127798;
double r127800 = r127797 / r127799;
double r127801 = k;
double r127802 = sin(r127801);
double r127803 = r127800 * r127802;
double r127804 = tan(r127801);
double r127805 = r127803 * r127804;
double r127806 = 1.0;
double r127807 = r127801 / r127795;
double r127808 = pow(r127807, r127794);
double r127809 = r127806 + r127808;
double r127810 = r127809 + r127806;
double r127811 = r127805 * r127810;
double r127812 = r127794 / r127811;
return r127812;
}
double f(double t, double l, double k) {
double r127813 = t;
double r127814 = -3.7078590993559536e+51;
bool r127815 = r127813 <= r127814;
double r127816 = 2.0;
double r127817 = cbrt(r127813);
double r127818 = 3.0;
double r127819 = pow(r127817, r127818);
double r127820 = r127817 * r127817;
double r127821 = cbrt(r127820);
double r127822 = pow(r127821, r127818);
double r127823 = 1.0;
double r127824 = r127822 / r127823;
double r127825 = cbrt(r127817);
double r127826 = pow(r127825, r127818);
double r127827 = l;
double r127828 = r127826 / r127827;
double r127829 = k;
double r127830 = sin(r127829);
double r127831 = r127828 * r127830;
double r127832 = r127824 * r127831;
double r127833 = r127819 * r127832;
double r127834 = tan(r127829);
double r127835 = r127833 * r127834;
double r127836 = 1.0;
double r127837 = r127829 / r127813;
double r127838 = pow(r127837, r127816);
double r127839 = r127836 + r127838;
double r127840 = r127839 + r127836;
double r127841 = r127835 * r127840;
double r127842 = r127827 / r127819;
double r127843 = r127841 / r127842;
double r127844 = r127816 / r127843;
double r127845 = 3.7844580688456216e-104;
bool r127846 = r127813 <= r127845;
double r127847 = -1.0;
double r127848 = pow(r127847, r127816);
double r127849 = r127823 / r127848;
double r127850 = pow(r127849, r127836);
double r127851 = 2.0;
double r127852 = pow(r127829, r127851);
double r127853 = pow(r127830, r127851);
double r127854 = r127852 * r127853;
double r127855 = cos(r127829);
double r127856 = r127855 * r127827;
double r127857 = r127854 / r127856;
double r127858 = cbrt(r127847);
double r127859 = 6.0;
double r127860 = pow(r127858, r127859);
double r127861 = pow(r127813, r127851);
double r127862 = r127861 * r127853;
double r127863 = r127860 * r127862;
double r127864 = r127863 / r127856;
double r127865 = r127850 * r127864;
double r127866 = r127816 * r127865;
double r127867 = fma(r127850, r127857, r127866);
double r127868 = r127867 / r127842;
double r127869 = r127816 / r127868;
double r127870 = r127819 / r127827;
double r127871 = r127870 * r127830;
double r127872 = r127819 * r127871;
double r127873 = r127872 * r127834;
double r127874 = cbrt(r127840);
double r127875 = r127874 * r127874;
double r127876 = r127873 * r127875;
double r127877 = r127876 * r127874;
double r127878 = r127877 / r127842;
double r127879 = r127816 / r127878;
double r127880 = r127846 ? r127869 : r127879;
double r127881 = r127815 ? r127844 : r127880;
return r127881;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -3.7078590993559536e+51Initial program 24.0
rmApplied add-cube-cbrt24.1
Applied unpow-prod-down24.1
Applied times-frac15.9
Applied associate-*l*14.4
rmApplied unpow-prod-down14.4
Applied associate-/l*7.9
rmApplied associate-*l/6.1
Applied associate-*l/2.6
Applied associate-*l/2.7
rmApplied *-un-lft-identity2.7
Applied add-cube-cbrt2.7
Applied cbrt-prod2.7
Applied unpow-prod-down2.7
Applied times-frac2.7
Applied associate-*l*4.1
if -3.7078590993559536e+51 < t < 3.7844580688456216e-104Initial program 49.8
rmApplied add-cube-cbrt49.9
Applied unpow-prod-down49.9
Applied times-frac42.4
Applied associate-*l*40.8
rmApplied unpow-prod-down40.8
Applied associate-/l*35.4
rmApplied associate-*l/35.4
Applied associate-*l/36.2
Applied associate-*l/33.3
Taylor expanded around -inf 21.7
Simplified21.7
if 3.7844580688456216e-104 < t Initial program 23.5
rmApplied add-cube-cbrt23.7
Applied unpow-prod-down23.7
Applied times-frac17.3
Applied associate-*l*15.1
rmApplied unpow-prod-down15.1
Applied associate-/l*10.2
rmApplied associate-*l/9.0
Applied associate-*l/7.1
Applied associate-*l/6.0
rmApplied add-cube-cbrt6.1
Applied associate-*r*6.1
Final simplification11.0
herbie shell --seed 2020039 +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))))