\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 1.6783233808706762 \cdot 10^{-155} \lor \neg \left(t \le 2.86903913255846773 \cdot 10^{-58}\right):\\
\;\;\;\;\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left({\left(\frac{\frac{1}{{k}^{\left(\frac{2}{2}\right)}}}{{t}^{1}}\right)}^{1} \cdot \frac{{\ell}^{2}}{\sin k}\right) \cdot \frac{\cos k}{\sin k}\right)\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \frac{{t}^{\left(\frac{3}{2}\right)}}{\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 r107044 = 2.0;
double r107045 = t;
double r107046 = 3.0;
double r107047 = pow(r107045, r107046);
double r107048 = l;
double r107049 = r107048 * r107048;
double r107050 = r107047 / r107049;
double r107051 = k;
double r107052 = sin(r107051);
double r107053 = r107050 * r107052;
double r107054 = tan(r107051);
double r107055 = r107053 * r107054;
double r107056 = 1.0;
double r107057 = r107051 / r107045;
double r107058 = pow(r107057, r107044);
double r107059 = r107056 + r107058;
double r107060 = r107059 - r107056;
double r107061 = r107055 * r107060;
double r107062 = r107044 / r107061;
return r107062;
}
double f(double t, double l, double k) {
double r107063 = t;
double r107064 = 1.6783233808706762e-155;
bool r107065 = r107063 <= r107064;
double r107066 = 2.8690391325584677e-58;
bool r107067 = r107063 <= r107066;
double r107068 = !r107067;
bool r107069 = r107065 || r107068;
double r107070 = 1.0;
double r107071 = k;
double r107072 = 2.0;
double r107073 = 2.0;
double r107074 = r107072 / r107073;
double r107075 = pow(r107071, r107074);
double r107076 = r107070 / r107075;
double r107077 = 1.0;
double r107078 = pow(r107076, r107077);
double r107079 = pow(r107063, r107077);
double r107080 = r107076 / r107079;
double r107081 = pow(r107080, r107077);
double r107082 = l;
double r107083 = pow(r107082, r107073);
double r107084 = sin(r107071);
double r107085 = r107083 / r107084;
double r107086 = r107081 * r107085;
double r107087 = cos(r107071);
double r107088 = r107087 / r107084;
double r107089 = r107086 * r107088;
double r107090 = r107078 * r107089;
double r107091 = r107090 * r107072;
double r107092 = 3.0;
double r107093 = r107092 / r107073;
double r107094 = pow(r107063, r107093);
double r107095 = r107094 / r107082;
double r107096 = r107095 * r107095;
double r107097 = r107096 * r107084;
double r107098 = tan(r107071);
double r107099 = r107097 * r107098;
double r107100 = r107072 / r107099;
double r107101 = r107071 / r107063;
double r107102 = pow(r107101, r107072);
double r107103 = r107100 / r107102;
double r107104 = r107069 ? r107091 : r107103;
return r107104;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < 1.6783233808706762e-155 or 2.8690391325584677e-58 < t Initial program 48.3
Simplified40.1
Taylor expanded around inf 22.2
rmApplied sqr-pow22.2
Applied associate-*l*20.4
rmApplied add-cube-cbrt20.4
Applied times-frac20.2
Applied unpow-prod-down20.2
Applied associate-*l*18.9
Simplified18.9
rmApplied sqr-pow18.9
Applied times-frac18.5
Applied associate-*l*18.6
Simplified18.5
if 1.6783233808706762e-155 < t < 2.8690391325584677e-58Initial program 45.3
Simplified44.8
rmApplied sqr-pow44.8
Applied times-frac28.3
Final simplification19.2
herbie shell --seed 2019199
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))