\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 -4.5086094187532317 \cdot 10^{+30}:\\
\;\;\;\;\frac{\ell}{t} \cdot \frac{2}{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \left(\tan k \cdot \left(\left(\frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\frac{1}{t}}\right) \cdot \sqrt[3]{\frac{\ell}{t}}} \cdot \left(\sin k \cdot \frac{\sqrt[3]{\sqrt[3]{t}}}{\sqrt[3]{\frac{\ell}{t}}}\right)\right) \cdot \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)\right)\right)}\\
\mathbf{elif}\;t \le 1.5813717718336364 \cdot 10^{-60}:\\
\;\;\;\;\frac{\ell}{t} \cdot \frac{2}{\mathsf{fma}\left(\frac{\sin k \cdot \sin k}{\cos k}, \frac{k \cdot k}{\ell}, \frac{\left(t \cdot t\right) \cdot \left(\sin k \cdot \sin k\right)}{\cos k \cdot \ell} \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{t} \cdot \frac{2}{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \left(\tan k \cdot \left(\left(\frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\frac{1}{t}}\right) \cdot \sqrt[3]{\frac{\ell}{t}}} \cdot \left(\sin k \cdot \frac{\sqrt[3]{\sqrt[3]{t}}}{\sqrt[3]{\frac{\ell}{t}}}\right)\right) \cdot \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)\right)\right)}\\
\end{array}double f(double t, double l, double k) {
double r1377881 = 2.0;
double r1377882 = t;
double r1377883 = 3.0;
double r1377884 = pow(r1377882, r1377883);
double r1377885 = l;
double r1377886 = r1377885 * r1377885;
double r1377887 = r1377884 / r1377886;
double r1377888 = k;
double r1377889 = sin(r1377888);
double r1377890 = r1377887 * r1377889;
double r1377891 = tan(r1377888);
double r1377892 = r1377890 * r1377891;
double r1377893 = 1.0;
double r1377894 = r1377888 / r1377882;
double r1377895 = pow(r1377894, r1377881);
double r1377896 = r1377893 + r1377895;
double r1377897 = r1377896 + r1377893;
double r1377898 = r1377892 * r1377897;
double r1377899 = r1377881 / r1377898;
return r1377899;
}
double f(double t, double l, double k) {
double r1377900 = t;
double r1377901 = -4.5086094187532317e+30;
bool r1377902 = r1377900 <= r1377901;
double r1377903 = l;
double r1377904 = r1377903 / r1377900;
double r1377905 = 2.0;
double r1377906 = k;
double r1377907 = r1377906 / r1377900;
double r1377908 = fma(r1377907, r1377907, r1377905);
double r1377909 = tan(r1377906);
double r1377910 = cbrt(r1377900);
double r1377911 = r1377910 * r1377910;
double r1377912 = cbrt(r1377911);
double r1377913 = cbrt(r1377903);
double r1377914 = 1.0;
double r1377915 = r1377914 / r1377900;
double r1377916 = cbrt(r1377915);
double r1377917 = r1377913 * r1377916;
double r1377918 = cbrt(r1377904);
double r1377919 = r1377917 * r1377918;
double r1377920 = r1377912 / r1377919;
double r1377921 = sin(r1377906);
double r1377922 = cbrt(r1377910);
double r1377923 = r1377922 / r1377918;
double r1377924 = r1377921 * r1377923;
double r1377925 = r1377920 * r1377924;
double r1377926 = r1377925 * r1377911;
double r1377927 = r1377909 * r1377926;
double r1377928 = r1377908 * r1377927;
double r1377929 = r1377905 / r1377928;
double r1377930 = r1377904 * r1377929;
double r1377931 = 1.5813717718336364e-60;
bool r1377932 = r1377900 <= r1377931;
double r1377933 = r1377921 * r1377921;
double r1377934 = cos(r1377906);
double r1377935 = r1377933 / r1377934;
double r1377936 = r1377906 * r1377906;
double r1377937 = r1377936 / r1377903;
double r1377938 = r1377900 * r1377900;
double r1377939 = r1377938 * r1377933;
double r1377940 = r1377934 * r1377903;
double r1377941 = r1377939 / r1377940;
double r1377942 = r1377941 * r1377905;
double r1377943 = fma(r1377935, r1377937, r1377942);
double r1377944 = r1377905 / r1377943;
double r1377945 = r1377904 * r1377944;
double r1377946 = r1377932 ? r1377945 : r1377930;
double r1377947 = r1377902 ? r1377930 : r1377946;
return r1377947;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -4.5086094187532317e+30 or 1.5813717718336364e-60 < t Initial program 22.3
Simplified11.4
rmApplied add-cube-cbrt11.5
Applied times-frac10.9
Applied associate-*l*6.8
rmApplied associate-*l/6.7
Applied associate-*l/4.8
Applied associate-*l/4.3
Applied associate-/r/4.2
rmApplied add-cube-cbrt4.3
Applied add-cube-cbrt4.3
Applied cbrt-prod4.3
Applied times-frac4.3
Applied associate-*l*3.5
rmApplied div-inv3.5
Applied cbrt-prod3.5
if -4.5086094187532317e+30 < t < 1.5813717718336364e-60Initial program 48.2
Simplified35.5
rmApplied add-cube-cbrt35.6
Applied times-frac35.1
Applied associate-*l*33.7
rmApplied associate-*l/33.7
Applied associate-*l/34.5
Applied associate-*l/31.7
Applied associate-/r/31.7
Taylor expanded around inf 20.3
Simplified18.4
Final simplification8.8
herbie shell --seed 2019155 +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))))