\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 r133039 = 2.0;
double r133040 = t;
double r133041 = 3.0;
double r133042 = pow(r133040, r133041);
double r133043 = l;
double r133044 = r133043 * r133043;
double r133045 = r133042 / r133044;
double r133046 = k;
double r133047 = sin(r133046);
double r133048 = r133045 * r133047;
double r133049 = tan(r133046);
double r133050 = r133048 * r133049;
double r133051 = 1.0;
double r133052 = r133046 / r133040;
double r133053 = pow(r133052, r133039);
double r133054 = r133051 + r133053;
double r133055 = r133054 + r133051;
double r133056 = r133050 * r133055;
double r133057 = r133039 / r133056;
return r133057;
}
double f(double t, double l, double k) {
double r133058 = t;
double r133059 = -8.409001190729996e-230;
bool r133060 = r133058 <= r133059;
double r133061 = 2.0;
double r133062 = cbrt(r133058);
double r133063 = r133062 * r133062;
double r133064 = 3.0;
double r133065 = 2.0;
double r133066 = r133064 / r133065;
double r133067 = pow(r133063, r133066);
double r133068 = l;
double r133069 = cbrt(r133068);
double r133070 = r133069 * r133069;
double r133071 = r133067 / r133070;
double r133072 = r133067 / r133069;
double r133073 = pow(r133062, r133064);
double r133074 = r133073 / r133068;
double r133075 = k;
double r133076 = sin(r133075);
double r133077 = r133074 * r133076;
double r133078 = r133072 * r133077;
double r133079 = tan(r133075);
double r133080 = r133078 * r133079;
double r133081 = r133071 * r133080;
double r133082 = 1.0;
double r133083 = r133075 / r133058;
double r133084 = pow(r133083, r133061);
double r133085 = r133082 + r133084;
double r133086 = r133085 + r133082;
double r133087 = r133081 * r133086;
double r133088 = r133061 / r133087;
double r133089 = 8.125889730343351e-96;
bool r133090 = r133058 <= r133089;
double r133091 = 3.0;
double r133092 = pow(r133058, r133091);
double r133093 = pow(r133076, r133065);
double r133094 = r133092 * r133093;
double r133095 = cos(r133075);
double r133096 = pow(r133068, r133065);
double r133097 = r133095 * r133096;
double r133098 = r133094 / r133097;
double r133099 = r133061 * r133098;
double r133100 = 1.0;
double r133101 = -1.0;
double r133102 = pow(r133101, r133064);
double r133103 = r133100 / r133102;
double r133104 = pow(r133103, r133082);
double r133105 = pow(r133075, r133065);
double r133106 = r133105 * r133093;
double r133107 = r133058 * r133106;
double r133108 = r133107 / r133097;
double r133109 = r133104 * r133108;
double r133110 = r133099 - r133109;
double r133111 = r133061 / r133110;
double r133112 = sqrt(r133058);
double r133113 = cbrt(r133112);
double r133114 = pow(r133113, r133064);
double r133115 = r133114 * r133114;
double r133116 = r133115 / r133068;
double r133117 = r133116 * r133076;
double r133118 = r133072 * r133117;
double r133119 = r133071 * r133118;
double r133120 = r133119 * r133079;
double r133121 = r133120 * r133086;
double r133122 = r133061 / r133121;
double r133123 = r133090 ? r133111 : r133122;
double r133124 = r133060 ? r133088 : r133123;
return r133124;
}



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
(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))))