\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 \cdot \ell \le 2.668972483379631705323847021434622242142 \cdot 10^{302}:\\
\;\;\;\;2 \cdot \left(\left(\left(\frac{{\ell}^{2}}{\sin k} \cdot \frac{\cos k}{\sin k}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\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 r104984 = 2.0;
double r104985 = t;
double r104986 = 3.0;
double r104987 = pow(r104985, r104986);
double r104988 = l;
double r104989 = r104988 * r104988;
double r104990 = r104987 / r104989;
double r104991 = k;
double r104992 = sin(r104991);
double r104993 = r104990 * r104992;
double r104994 = tan(r104991);
double r104995 = r104993 * r104994;
double r104996 = 1.0;
double r104997 = r104991 / r104985;
double r104998 = pow(r104997, r104984);
double r104999 = r104996 + r104998;
double r105000 = r104999 - r104996;
double r105001 = r104995 * r105000;
double r105002 = r104984 / r105001;
return r105002;
}
double f(double t, double l, double k) {
double r105003 = l;
double r105004 = r105003 * r105003;
double r105005 = 2.6689724833796317e+302;
bool r105006 = r105004 <= r105005;
double r105007 = 2.0;
double r105008 = 2.0;
double r105009 = pow(r105003, r105008);
double r105010 = k;
double r105011 = sin(r105010);
double r105012 = r105009 / r105011;
double r105013 = cos(r105010);
double r105014 = r105013 / r105011;
double r105015 = r105012 * r105014;
double r105016 = 1.0;
double r105017 = r105007 / r105008;
double r105018 = pow(r105010, r105017);
double r105019 = t;
double r105020 = 1.0;
double r105021 = pow(r105019, r105020);
double r105022 = r105018 * r105021;
double r105023 = r105016 / r105022;
double r105024 = pow(r105023, r105020);
double r105025 = r105015 * r105024;
double r105026 = r105016 / r105018;
double r105027 = pow(r105026, r105020);
double r105028 = r105025 * r105027;
double r105029 = r105007 * r105028;
double r105030 = cbrt(r105019);
double r105031 = r105030 * r105030;
double r105032 = 3.0;
double r105033 = pow(r105031, r105032);
double r105034 = r105033 / r105003;
double r105035 = pow(r105030, r105032);
double r105036 = r105035 / r105003;
double r105037 = r105034 * r105036;
double r105038 = r105037 * r105011;
double r105039 = tan(r105010);
double r105040 = r105038 * r105039;
double r105041 = r105007 / r105040;
double r105042 = r105010 / r105019;
double r105043 = pow(r105042, r105007);
double r105044 = r105041 / r105043;
double r105045 = r105006 ? r105029 : r105044;
return r105045;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 2.6689724833796317e+302Initial program 45.6
Simplified36.2
Taylor expanded around inf 14.6
rmApplied sqr-pow14.6
Applied associate-*l*12.0
rmApplied *-un-lft-identity12.0
Applied times-frac11.8
Applied unpow-prod-down11.8
Applied associate-*l*9.8
rmApplied sqr-pow9.8
Applied times-frac9.5
Simplified9.5
Simplified9.5
if 2.6689724833796317e+302 < (* l l) Initial program 63.7
Simplified63.5
rmApplied add-cube-cbrt63.5
Applied unpow-prod-down63.5
Applied times-frac48.7
Final simplification15.6
herbie shell --seed 2019209 +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))))