\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.658246358429121552659470209720305855916 \cdot 10^{138}:\\
\;\;\;\;\frac{\frac{\ell}{\sin k}}{\tan k} \cdot \left(2 \cdot \left(\left(\frac{\sqrt[3]{\ell}}{k} \cdot {\left(\frac{1}{{t}^{1}}\right)}^{1}\right) \cdot \frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{k}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(2 \cdot \frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{k}\right) \cdot \left(\frac{\sqrt[3]{\ell} \cdot {\left(\frac{1}{{t}^{1}}\right)}^{1}}{k} \cdot \frac{\frac{\ell}{\sin k}}{\tan k}\right)\\
\end{array}double f(double t, double l, double k) {
double r108993 = 2.0;
double r108994 = t;
double r108995 = 3.0;
double r108996 = pow(r108994, r108995);
double r108997 = l;
double r108998 = r108997 * r108997;
double r108999 = r108996 / r108998;
double r109000 = k;
double r109001 = sin(r109000);
double r109002 = r108999 * r109001;
double r109003 = tan(r109000);
double r109004 = r109002 * r109003;
double r109005 = 1.0;
double r109006 = r109000 / r108994;
double r109007 = pow(r109006, r108993);
double r109008 = r109005 + r109007;
double r109009 = r109008 - r109005;
double r109010 = r109004 * r109009;
double r109011 = r108993 / r109010;
return r109011;
}
double f(double t, double l, double k) {
double r109012 = k;
double r109013 = 1.6582463584291216e+138;
bool r109014 = r109012 <= r109013;
double r109015 = l;
double r109016 = sin(r109012);
double r109017 = r109015 / r109016;
double r109018 = tan(r109012);
double r109019 = r109017 / r109018;
double r109020 = 2.0;
double r109021 = cbrt(r109015);
double r109022 = r109021 / r109012;
double r109023 = 1.0;
double r109024 = t;
double r109025 = 1.0;
double r109026 = pow(r109024, r109025);
double r109027 = r109023 / r109026;
double r109028 = pow(r109027, r109025);
double r109029 = r109022 * r109028;
double r109030 = r109021 * r109021;
double r109031 = r109030 / r109012;
double r109032 = r109029 * r109031;
double r109033 = r109020 * r109032;
double r109034 = r109019 * r109033;
double r109035 = r109020 * r109031;
double r109036 = r109021 * r109028;
double r109037 = r109036 / r109012;
double r109038 = r109037 * r109019;
double r109039 = r109035 * r109038;
double r109040 = r109014 ? r109034 : r109039;
return r109040;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < 1.6582463584291216e+138Initial program 50.6
Simplified38.7
Taylor expanded around 0 9.7
rmApplied sqr-pow9.7
Applied add-cube-cbrt10.1
Applied times-frac7.6
Applied associate-*l*5.9
Simplified5.9
rmApplied associate-/r*3.2
if 1.6582463584291216e+138 < k Initial program 39.5
Simplified32.1
Taylor expanded around 0 20.5
rmApplied sqr-pow20.5
Applied add-cube-cbrt20.6
Applied times-frac11.9
Applied associate-*l*6.4
Simplified6.4
rmApplied associate-/r*6.4
rmApplied pow16.4
Applied pow16.4
Applied pow16.4
Applied pow-prod-down6.4
Applied pow16.4
Applied pow-prod-down6.4
Applied pow-prod-down6.4
Simplified4.5
Final simplification3.5
herbie shell --seed 2019323
(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))))