\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}\;k \le -1.2722592561226503 \cdot 10^{-48}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{\frac{k}{\ell} \cdot \sin k}{\cos k}, \frac{k}{\ell}, \frac{\sin k \cdot \left(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2\right)}{\cos k}\right) \cdot \left(\sin k \cdot t\right)}\\
\mathbf{elif}\;k \le 1.3938029669432637 \cdot 10^{-107}:\\
\;\;\;\;\frac{\frac{1}{t}}{\frac{\tan k}{\frac{\ell}{t}}} \cdot \frac{\frac{2}{\sin k}}{\frac{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\sqrt{2}}{t}}{\frac{\mathsf{fma}\left(\frac{\sin k}{\cos k}, \frac{k}{\ell} \cdot \frac{k}{\ell}, \frac{\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \left(2 \cdot \sin k\right)}{\cos k}\right)}{\frac{\sqrt{2}}{\sin k}}}\\
\end{array}double f(double t, double l, double k) {
double r2880820 = 2.0;
double r2880821 = t;
double r2880822 = 3.0;
double r2880823 = pow(r2880821, r2880822);
double r2880824 = l;
double r2880825 = r2880824 * r2880824;
double r2880826 = r2880823 / r2880825;
double r2880827 = k;
double r2880828 = sin(r2880827);
double r2880829 = r2880826 * r2880828;
double r2880830 = tan(r2880827);
double r2880831 = r2880829 * r2880830;
double r2880832 = 1.0;
double r2880833 = r2880827 / r2880821;
double r2880834 = pow(r2880833, r2880820);
double r2880835 = r2880832 + r2880834;
double r2880836 = r2880835 + r2880832;
double r2880837 = r2880831 * r2880836;
double r2880838 = r2880820 / r2880837;
return r2880838;
}
double f(double t, double l, double k) {
double r2880839 = k;
double r2880840 = -1.2722592561226503e-48;
bool r2880841 = r2880839 <= r2880840;
double r2880842 = 2.0;
double r2880843 = l;
double r2880844 = r2880839 / r2880843;
double r2880845 = sin(r2880839);
double r2880846 = r2880844 * r2880845;
double r2880847 = cos(r2880839);
double r2880848 = r2880846 / r2880847;
double r2880849 = t;
double r2880850 = r2880849 / r2880843;
double r2880851 = r2880850 * r2880850;
double r2880852 = r2880851 * r2880842;
double r2880853 = r2880845 * r2880852;
double r2880854 = r2880853 / r2880847;
double r2880855 = fma(r2880848, r2880844, r2880854);
double r2880856 = r2880845 * r2880849;
double r2880857 = r2880855 * r2880856;
double r2880858 = r2880842 / r2880857;
double r2880859 = 1.3938029669432637e-107;
bool r2880860 = r2880839 <= r2880859;
double r2880861 = 1.0;
double r2880862 = r2880861 / r2880849;
double r2880863 = tan(r2880839);
double r2880864 = r2880843 / r2880849;
double r2880865 = r2880863 / r2880864;
double r2880866 = r2880862 / r2880865;
double r2880867 = r2880842 / r2880845;
double r2880868 = r2880839 / r2880849;
double r2880869 = fma(r2880868, r2880868, r2880842);
double r2880870 = r2880869 / r2880864;
double r2880871 = r2880867 / r2880870;
double r2880872 = r2880866 * r2880871;
double r2880873 = sqrt(r2880842);
double r2880874 = r2880873 / r2880849;
double r2880875 = r2880845 / r2880847;
double r2880876 = r2880844 * r2880844;
double r2880877 = r2880842 * r2880845;
double r2880878 = r2880851 * r2880877;
double r2880879 = r2880878 / r2880847;
double r2880880 = fma(r2880875, r2880876, r2880879);
double r2880881 = r2880873 / r2880845;
double r2880882 = r2880880 / r2880881;
double r2880883 = r2880874 / r2880882;
double r2880884 = r2880860 ? r2880872 : r2880883;
double r2880885 = r2880841 ? r2880858 : r2880884;
return r2880885;
}



Bits error versus t



Bits error versus l



Bits error versus k
if k < -1.2722592561226503e-48Initial program 31.4
Simplified20.1
rmApplied associate-*l/20.0
Applied associate-/r/19.9
Applied associate-/l*18.0
Taylor expanded around inf 22.6
Simplified5.5
rmApplied associate-*r/5.5
Applied associate-*r/5.5
rmApplied div-inv5.5
Applied associate-/l*5.5
Simplified5.4
if -1.2722592561226503e-48 < k < 1.3938029669432637e-107Initial program 34.8
Simplified24.8
rmApplied associate-*l/19.1
Applied associate-/r/19.2
Applied associate-/l*17.9
rmApplied times-frac6.8
Applied *-un-lft-identity6.8
Applied times-frac6.9
Applied times-frac3.2
if 1.3938029669432637e-107 < k Initial program 30.9
Simplified18.6
rmApplied associate-*l/18.3
Applied associate-/r/18.1
Applied associate-/l*16.3
Taylor expanded around inf 22.7
Simplified5.3
rmApplied associate-*r/5.3
Applied associate-*r/5.3
rmApplied add-sqr-sqrt5.4
Applied times-frac5.3
Applied associate-/l*5.3
Final simplification4.8
herbie shell --seed 2019146 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))