\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 -8.40900119072999572 \cdot 10^{-230}:\\
\;\;\;\;\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right)\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;t \le 8.12588973034335127 \cdot 10^{-96}:\\
\;\;\;\;\frac{2}{2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}} - {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{t \cdot \left({k}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt{t}}\right)}^{3} \cdot {\left(\sqrt[3]{\sqrt{t}}\right)}^{3}}{\ell} \cdot \sin k\right)\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\end{array}double f(double t, double l, double k) {
double r133048 = 2.0;
double r133049 = t;
double r133050 = 3.0;
double r133051 = pow(r133049, r133050);
double r133052 = l;
double r133053 = r133052 * r133052;
double r133054 = r133051 / r133053;
double r133055 = k;
double r133056 = sin(r133055);
double r133057 = r133054 * r133056;
double r133058 = tan(r133055);
double r133059 = r133057 * r133058;
double r133060 = 1.0;
double r133061 = r133055 / r133049;
double r133062 = pow(r133061, r133048);
double r133063 = r133060 + r133062;
double r133064 = r133063 + r133060;
double r133065 = r133059 * r133064;
double r133066 = r133048 / r133065;
return r133066;
}
double f(double t, double l, double k) {
double r133067 = t;
double r133068 = -8.409001190729996e-230;
bool r133069 = r133067 <= r133068;
double r133070 = 2.0;
double r133071 = cbrt(r133067);
double r133072 = r133071 * r133071;
double r133073 = 3.0;
double r133074 = 2.0;
double r133075 = r133073 / r133074;
double r133076 = pow(r133072, r133075);
double r133077 = l;
double r133078 = cbrt(r133077);
double r133079 = r133078 * r133078;
double r133080 = r133076 / r133079;
double r133081 = r133076 / r133078;
double r133082 = pow(r133071, r133073);
double r133083 = r133082 / r133077;
double r133084 = k;
double r133085 = sin(r133084);
double r133086 = r133083 * r133085;
double r133087 = r133081 * r133086;
double r133088 = tan(r133084);
double r133089 = r133087 * r133088;
double r133090 = r133080 * r133089;
double r133091 = 1.0;
double r133092 = r133084 / r133067;
double r133093 = pow(r133092, r133070);
double r133094 = r133091 + r133093;
double r133095 = r133094 + r133091;
double r133096 = r133090 * r133095;
double r133097 = r133070 / r133096;
double r133098 = 8.125889730343351e-96;
bool r133099 = r133067 <= r133098;
double r133100 = 3.0;
double r133101 = pow(r133067, r133100);
double r133102 = pow(r133085, r133074);
double r133103 = r133101 * r133102;
double r133104 = cos(r133084);
double r133105 = pow(r133077, r133074);
double r133106 = r133104 * r133105;
double r133107 = r133103 / r133106;
double r133108 = r133070 * r133107;
double r133109 = 1.0;
double r133110 = -1.0;
double r133111 = pow(r133110, r133073);
double r133112 = r133109 / r133111;
double r133113 = pow(r133112, r133091);
double r133114 = pow(r133084, r133074);
double r133115 = r133114 * r133102;
double r133116 = r133067 * r133115;
double r133117 = r133116 / r133106;
double r133118 = r133113 * r133117;
double r133119 = r133108 - r133118;
double r133120 = r133070 / r133119;
double r133121 = sqrt(r133067);
double r133122 = cbrt(r133121);
double r133123 = pow(r133122, r133073);
double r133124 = r133123 * r133123;
double r133125 = r133124 / r133077;
double r133126 = r133125 * r133085;
double r133127 = r133081 * r133126;
double r133128 = r133080 * r133127;
double r133129 = r133128 * r133088;
double r133130 = r133129 * r133095;
double r133131 = r133070 / r133130;
double r133132 = r133099 ? r133120 : r133131;
double r133133 = r133069 ? r133097 : r133132;
return r133133;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -8.409001190729996e-230Initial program 29.1
rmApplied add-cube-cbrt29.2
Applied unpow-prod-down29.2
Applied times-frac21.6
Applied associate-*l*19.7
rmApplied add-cube-cbrt19.7
Applied sqr-pow19.7
Applied times-frac14.7
rmApplied associate-*l*14.1
rmApplied associate-*l*12.2
if -8.409001190729996e-230 < t < 8.125889730343351e-96Initial program 62.6
Taylor expanded around -inf 39.7
if 8.125889730343351e-96 < t Initial program 23.0
rmApplied add-cube-cbrt23.2
Applied unpow-prod-down23.2
Applied times-frac16.6
Applied associate-*l*14.3
rmApplied add-cube-cbrt14.3
Applied sqr-pow14.3
Applied times-frac9.7
rmApplied associate-*l*8.6
rmApplied add-sqr-sqrt8.6
Applied cbrt-prod8.6
Applied unpow-prod-down8.6
Final simplification15.4
herbie shell --seed 2020035 +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))))