\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 -3179268367824978449241969949568663552:\\
\;\;\;\;\frac{2}{\frac{\left(\tan k \cdot \left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\sin k \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right)\right)\right) \cdot \left(\left({\left(\frac{k}{t}\right)}^{2} + 1\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{elif}\;t \le 8.675237942045073407386696168565799397963 \cdot 10^{-59}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{\left(t \cdot t\right) \cdot \left(\sin k \cdot \sin k\right)}{\ell \cdot \cos k}, 2, \frac{\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)}{\ell \cdot \cos k} \cdot {\left(\frac{1}{{-1}^{2}}\right)}^{1}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\tan k \cdot \left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\sin k \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right)\right)\right) \cdot \left(\left({\left(\frac{k}{t}\right)}^{2} + 1\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\end{array}double f(double t, double l, double k) {
double r5161886 = 2.0;
double r5161887 = t;
double r5161888 = 3.0;
double r5161889 = pow(r5161887, r5161888);
double r5161890 = l;
double r5161891 = r5161890 * r5161890;
double r5161892 = r5161889 / r5161891;
double r5161893 = k;
double r5161894 = sin(r5161893);
double r5161895 = r5161892 * r5161894;
double r5161896 = tan(r5161893);
double r5161897 = r5161895 * r5161896;
double r5161898 = 1.0;
double r5161899 = r5161893 / r5161887;
double r5161900 = pow(r5161899, r5161886);
double r5161901 = r5161898 + r5161900;
double r5161902 = r5161901 + r5161898;
double r5161903 = r5161897 * r5161902;
double r5161904 = r5161886 / r5161903;
return r5161904;
}
double f(double t, double l, double k) {
double r5161905 = t;
double r5161906 = -3.1792683678249784e+36;
bool r5161907 = r5161905 <= r5161906;
double r5161908 = 2.0;
double r5161909 = k;
double r5161910 = tan(r5161909);
double r5161911 = cbrt(r5161905);
double r5161912 = 3.0;
double r5161913 = pow(r5161911, r5161912);
double r5161914 = sin(r5161909);
double r5161915 = l;
double r5161916 = r5161913 / r5161915;
double r5161917 = r5161914 * r5161916;
double r5161918 = r5161913 * r5161917;
double r5161919 = r5161910 * r5161918;
double r5161920 = r5161909 / r5161905;
double r5161921 = pow(r5161920, r5161908);
double r5161922 = 1.0;
double r5161923 = r5161921 + r5161922;
double r5161924 = r5161923 + r5161922;
double r5161925 = r5161919 * r5161924;
double r5161926 = r5161915 / r5161913;
double r5161927 = r5161925 / r5161926;
double r5161928 = r5161908 / r5161927;
double r5161929 = 8.675237942045073e-59;
bool r5161930 = r5161905 <= r5161929;
double r5161931 = 1.0;
double r5161932 = -1.0;
double r5161933 = pow(r5161932, r5161908);
double r5161934 = r5161931 / r5161933;
double r5161935 = pow(r5161934, r5161922);
double r5161936 = r5161905 * r5161905;
double r5161937 = r5161914 * r5161914;
double r5161938 = r5161936 * r5161937;
double r5161939 = cos(r5161909);
double r5161940 = r5161915 * r5161939;
double r5161941 = r5161938 / r5161940;
double r5161942 = r5161935 * r5161941;
double r5161943 = r5161909 * r5161914;
double r5161944 = r5161943 * r5161943;
double r5161945 = r5161944 / r5161940;
double r5161946 = r5161945 * r5161935;
double r5161947 = fma(r5161942, r5161908, r5161946);
double r5161948 = r5161947 / r5161926;
double r5161949 = r5161908 / r5161948;
double r5161950 = r5161930 ? r5161949 : r5161928;
double r5161951 = r5161907 ? r5161928 : r5161950;
return r5161951;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -3.1792683678249784e+36 or 8.675237942045073e-59 < t Initial program 23.1
rmApplied add-cube-cbrt23.2
Applied unpow-prod-down23.2
Applied times-frac16.4
rmApplied unpow-prod-down16.4
Applied associate-/l*11.4
rmApplied associate-*l/11.4
Applied associate-*l/8.3
Applied associate-*l/8.3
Applied associate-*l/7.9
rmApplied associate-*l*3.9
if -3.1792683678249784e+36 < t < 8.675237942045073e-59Initial program 50.1
rmApplied add-cube-cbrt50.2
Applied unpow-prod-down50.2
Applied times-frac42.9
rmApplied unpow-prod-down42.9
Applied associate-/l*37.3
rmApplied associate-*l/37.3
Applied associate-*l/36.1
Applied associate-*l/37.3
Applied associate-*l/33.9
Taylor expanded around -inf 21.8
Simplified21.8
Final simplification10.4
herbie shell --seed 2019171 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))