\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 -8.35668469717318001 \cdot 10^{123}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;k \le -3.707273909255465 \cdot 10^{-110}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\left|\sin k\right| \cdot \frac{\left|\sin k\right|}{\ell}}\\
\mathbf{elif}\;k \le 1.13294708702049773 \cdot 10^{-76}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \left(\left(\frac{\cos k}{\left|\sin k\right|} \cdot \frac{\ell}{\left|\sin k\right|}\right) \cdot \ell\right)\right)\\
\mathbf{elif}\;k \le 1.0399004082354796 \cdot 10^{154}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\left|\sin k\right| \cdot \frac{\left|\sin k\right|}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r83004 = 2.0;
double r83005 = t;
double r83006 = 3.0;
double r83007 = pow(r83005, r83006);
double r83008 = l;
double r83009 = r83008 * r83008;
double r83010 = r83007 / r83009;
double r83011 = k;
double r83012 = sin(r83011);
double r83013 = r83010 * r83012;
double r83014 = tan(r83011);
double r83015 = r83013 * r83014;
double r83016 = 1.0;
double r83017 = r83011 / r83005;
double r83018 = pow(r83017, r83004);
double r83019 = r83016 + r83018;
double r83020 = r83019 - r83016;
double r83021 = r83015 * r83020;
double r83022 = r83004 / r83021;
return r83022;
}
double f(double t, double l, double k) {
double r83023 = k;
double r83024 = -8.35668469717318e+123;
bool r83025 = r83023 <= r83024;
double r83026 = 2.0;
double r83027 = 1.0;
double r83028 = 2.0;
double r83029 = r83026 / r83028;
double r83030 = pow(r83023, r83029);
double r83031 = r83027 / r83030;
double r83032 = 1.0;
double r83033 = pow(r83031, r83032);
double r83034 = t;
double r83035 = pow(r83034, r83032);
double r83036 = r83030 * r83035;
double r83037 = r83027 / r83036;
double r83038 = pow(r83037, r83032);
double r83039 = cos(r83023);
double r83040 = l;
double r83041 = pow(r83040, r83028);
double r83042 = r83039 * r83041;
double r83043 = sin(r83023);
double r83044 = pow(r83043, r83028);
double r83045 = r83042 / r83044;
double r83046 = r83038 * r83045;
double r83047 = r83033 * r83046;
double r83048 = r83026 * r83047;
double r83049 = -3.707273909255465e-110;
bool r83050 = r83023 <= r83049;
double r83051 = pow(r83023, r83026);
double r83052 = r83051 * r83035;
double r83053 = r83027 / r83052;
double r83054 = pow(r83053, r83032);
double r83055 = r83054 * r83040;
double r83056 = r83055 * r83039;
double r83057 = fabs(r83043);
double r83058 = r83057 / r83040;
double r83059 = r83057 * r83058;
double r83060 = r83056 / r83059;
double r83061 = r83026 * r83060;
double r83062 = 1.1329470870204977e-76;
bool r83063 = r83023 <= r83062;
double r83064 = r83030 * r83036;
double r83065 = r83027 / r83064;
double r83066 = pow(r83065, r83032);
double r83067 = r83039 / r83057;
double r83068 = r83040 / r83057;
double r83069 = r83067 * r83068;
double r83070 = r83069 * r83040;
double r83071 = r83066 * r83070;
double r83072 = r83026 * r83071;
double r83073 = 1.0399004082354796e+154;
bool r83074 = r83023 <= r83073;
double r83075 = r83074 ? r83061 : r83048;
double r83076 = r83063 ? r83072 : r83075;
double r83077 = r83050 ? r83061 : r83076;
double r83078 = r83025 ? r83048 : r83077;
return r83078;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -8.35668469717318e+123 or 1.0399004082354796e+154 < k Initial program 39.8
Simplified34.0
Taylor expanded around inf 23.8
rmApplied sqr-pow23.8
Applied associate-*l*19.3
rmApplied *-un-lft-identity19.3
Applied times-frac19.1
Applied unpow-prod-down19.1
Applied associate-*l*16.5
if -8.35668469717318e+123 < k < -3.707273909255465e-110 or 1.1329470870204977e-76 < k < 1.0399004082354796e+154Initial program 52.9
Simplified41.8
Taylor expanded around inf 15.7
rmApplied sqr-pow15.7
Applied associate-*l*15.7
rmApplied add-sqr-sqrt15.7
Applied times-frac15.7
Simplified15.7
Simplified15.0
rmApplied frac-times14.4
Applied associate-*r/7.5
Simplified7.5
if -3.707273909255465e-110 < k < 1.1329470870204977e-76Initial program 63.9
Simplified63.5
Taylor expanded around inf 45.1
rmApplied sqr-pow45.1
Applied associate-*l*45.0
rmApplied add-sqr-sqrt45.0
Applied times-frac45.0
Simplified45.0
Simplified26.4
rmApplied associate-/r/26.4
Applied associate-*r*16.8
Final simplification12.4
herbie shell --seed 2020034 +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))))