\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 1.001759920786649037992876851046327756683 \cdot 10^{154}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left(\frac{\cos k}{\left|\sin k\right|} \cdot \frac{\ell}{\frac{\left|\sin k\right|}{\ell}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r87854 = 2.0;
double r87855 = t;
double r87856 = 3.0;
double r87857 = pow(r87855, r87856);
double r87858 = l;
double r87859 = r87858 * r87858;
double r87860 = r87857 / r87859;
double r87861 = k;
double r87862 = sin(r87861);
double r87863 = r87860 * r87862;
double r87864 = tan(r87861);
double r87865 = r87863 * r87864;
double r87866 = 1.0;
double r87867 = r87861 / r87855;
double r87868 = pow(r87867, r87854);
double r87869 = r87866 + r87868;
double r87870 = r87869 - r87866;
double r87871 = r87865 * r87870;
double r87872 = r87854 / r87871;
return r87872;
}
double f(double t, double l, double k) {
double r87873 = l;
double r87874 = 1.001759920786649e+154;
bool r87875 = r87873 <= r87874;
double r87876 = 2.0;
double r87877 = 1.0;
double r87878 = k;
double r87879 = 2.0;
double r87880 = r87876 / r87879;
double r87881 = pow(r87878, r87880);
double r87882 = r87877 / r87881;
double r87883 = 1.0;
double r87884 = pow(r87882, r87883);
double r87885 = cos(r87878);
double r87886 = sin(r87878);
double r87887 = fabs(r87886);
double r87888 = r87885 / r87887;
double r87889 = r87887 / r87873;
double r87890 = r87873 / r87889;
double r87891 = r87888 * r87890;
double r87892 = t;
double r87893 = pow(r87892, r87883);
double r87894 = r87881 * r87893;
double r87895 = r87877 / r87894;
double r87896 = pow(r87895, r87883);
double r87897 = r87891 * r87896;
double r87898 = r87884 * r87897;
double r87899 = r87876 * r87898;
double r87900 = cbrt(r87892);
double r87901 = r87900 * r87900;
double r87902 = 3.0;
double r87903 = pow(r87901, r87902);
double r87904 = r87903 / r87873;
double r87905 = pow(r87900, r87902);
double r87906 = r87905 / r87873;
double r87907 = r87904 * r87906;
double r87908 = r87907 * r87886;
double r87909 = tan(r87878);
double r87910 = r87908 * r87909;
double r87911 = r87876 / r87910;
double r87912 = r87878 / r87892;
double r87913 = pow(r87912, r87876);
double r87914 = r87911 / r87913;
double r87915 = r87875 ? r87899 : r87914;
return r87915;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < 1.001759920786649e+154Initial program 46.5
Simplified38.4
Taylor expanded around inf 18.3
rmApplied sqr-pow18.3
Applied associate-*l*15.9
rmApplied *-un-lft-identity15.9
Applied times-frac15.7
Applied unpow-prod-down15.7
Applied associate-*l*14.3
Simplified14.3
rmApplied add-sqr-sqrt14.3
Applied times-frac14.3
Simplified14.3
Simplified11.7
if 1.001759920786649e+154 < l Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac48.5
Final simplification14.5
herbie shell --seed 2019304
(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))))