\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 -5.013219891376737 \cdot 10^{-240}:\\
\;\;\;\;\left(\frac{\frac{2}{t}}{\frac{k}{t}} \cdot \frac{1}{\frac{\tan k \cdot t}{\ell}}\right) \cdot \frac{\frac{\frac{\ell}{t}}{\sin k}}{\frac{k}{t}}\\
\mathbf{elif}\;t \le 1.625274404785811 \cdot 10^{-294}:\\
\;\;\;\;2 \cdot \frac{\cos k \cdot {\ell}^{2}}{t \cdot \left({\left(\sin k\right)}^{2} \cdot {k}^{2}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{2}{t}}{\frac{k}{t}} \cdot \frac{1}{\frac{t}{\ell} \cdot \tan k}\right) \cdot \frac{\frac{\frac{\ell}{t}}{\sin k}}{\frac{k}{t}}\\
\end{array}double f(double t, double l, double k) {
double r12023969 = 2.0;
double r12023970 = t;
double r12023971 = 3.0;
double r12023972 = pow(r12023970, r12023971);
double r12023973 = l;
double r12023974 = r12023973 * r12023973;
double r12023975 = r12023972 / r12023974;
double r12023976 = k;
double r12023977 = sin(r12023976);
double r12023978 = r12023975 * r12023977;
double r12023979 = tan(r12023976);
double r12023980 = r12023978 * r12023979;
double r12023981 = 1.0;
double r12023982 = r12023976 / r12023970;
double r12023983 = pow(r12023982, r12023969);
double r12023984 = r12023981 + r12023983;
double r12023985 = r12023984 - r12023981;
double r12023986 = r12023980 * r12023985;
double r12023987 = r12023969 / r12023986;
return r12023987;
}
double f(double t, double l, double k) {
double r12023988 = t;
double r12023989 = -5.013219891376737e-240;
bool r12023990 = r12023988 <= r12023989;
double r12023991 = 2.0;
double r12023992 = r12023991 / r12023988;
double r12023993 = k;
double r12023994 = r12023993 / r12023988;
double r12023995 = r12023992 / r12023994;
double r12023996 = 1.0;
double r12023997 = tan(r12023993);
double r12023998 = r12023997 * r12023988;
double r12023999 = l;
double r12024000 = r12023998 / r12023999;
double r12024001 = r12023996 / r12024000;
double r12024002 = r12023995 * r12024001;
double r12024003 = r12023999 / r12023988;
double r12024004 = sin(r12023993);
double r12024005 = r12024003 / r12024004;
double r12024006 = r12024005 / r12023994;
double r12024007 = r12024002 * r12024006;
double r12024008 = 1.625274404785811e-294;
bool r12024009 = r12023988 <= r12024008;
double r12024010 = cos(r12023993);
double r12024011 = pow(r12023999, r12023991);
double r12024012 = r12024010 * r12024011;
double r12024013 = pow(r12024004, r12023991);
double r12024014 = pow(r12023993, r12023991);
double r12024015 = r12024013 * r12024014;
double r12024016 = r12023988 * r12024015;
double r12024017 = r12024012 / r12024016;
double r12024018 = r12023991 * r12024017;
double r12024019 = r12023988 / r12023999;
double r12024020 = r12024019 * r12023997;
double r12024021 = r12023996 / r12024020;
double r12024022 = r12023995 * r12024021;
double r12024023 = r12024022 * r12024006;
double r12024024 = r12024009 ? r12024018 : r12024023;
double r12024025 = r12023990 ? r12024007 : r12024024;
return r12024025;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -5.013219891376737e-240Initial program 45.9
Simplified27.9
rmApplied *-un-lft-identity27.9
Applied times-frac27.1
Applied associate-*r*26.4
Applied times-frac14.3
rmApplied clear-num14.3
Applied associate-/l/14.3
Applied frac-times14.2
Applied associate-/l/9.2
rmApplied *-commutative9.2
Applied *-commutative9.2
Applied times-frac9.2
rmApplied associate-*r/9.2
Applied associate-*r/9.2
if -5.013219891376737e-240 < t < 1.625274404785811e-294Initial program 62.8
Simplified57.7
Taylor expanded around inf 28.8
if 1.625274404785811e-294 < t Initial program 45.8
Simplified29.1
rmApplied *-un-lft-identity29.1
Applied times-frac28.5
Applied associate-*r*28.0
Applied times-frac16.3
rmApplied clear-num16.3
Applied associate-/l/16.3
Applied frac-times16.1
Applied associate-/l/10.3
rmApplied *-commutative10.3
Applied *-commutative10.3
Applied times-frac10.3
Final simplification10.8
herbie shell --seed 2019158 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10-)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (- (+ 1 (pow (/ k t) 2)) 1))))