\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.091238342282279652261942994697011928938 \cdot 10^{-161}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{\sqrt[3]{t}}\right)}^{3}}{\sqrt[3]{\ell}} \cdot \sin k\right)\right)\right) \cdot \sin k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \cos k}}\\
\mathbf{elif}\;t \le 2.79762899780724377948434741711709317234 \cdot 10^{-87}:\\
\;\;\;\;\frac{2}{\frac{2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{t}^{2} \cdot {\left(\sin k\right)}^{2}}{\ell}\right) + {\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\ell}}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \cos k}}\\
\mathbf{elif}\;t \le 1.548691974798757807620953831394763089927 \cdot 10^{122}:\\
\;\;\;\;\frac{2}{\left(\left(\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left({\left(\sqrt[3]{t}\right)}^{3} \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\sqrt[3]{\sin k} \cdot \sqrt[3]{\sin k}\right)\right) \cdot \sqrt[3]{\sin k}\right)\right) \cdot \sin k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \cos k}}\\
\end{array}double f(double t, double l, double k) {
double r139018 = 2.0;
double r139019 = t;
double r139020 = 3.0;
double r139021 = pow(r139019, r139020);
double r139022 = l;
double r139023 = r139022 * r139022;
double r139024 = r139021 / r139023;
double r139025 = k;
double r139026 = sin(r139025);
double r139027 = r139024 * r139026;
double r139028 = tan(r139025);
double r139029 = r139027 * r139028;
double r139030 = 1.0;
double r139031 = r139025 / r139019;
double r139032 = pow(r139031, r139018);
double r139033 = r139030 + r139032;
double r139034 = r139033 + r139030;
double r139035 = r139029 * r139034;
double r139036 = r139018 / r139035;
return r139036;
}
double f(double t, double l, double k) {
double r139037 = t;
double r139038 = -1.0912383422822797e-161;
bool r139039 = r139037 <= r139038;
double r139040 = 2.0;
double r139041 = cbrt(r139037);
double r139042 = 3.0;
double r139043 = pow(r139041, r139042);
double r139044 = r139041 * r139041;
double r139045 = cbrt(r139044);
double r139046 = pow(r139045, r139042);
double r139047 = l;
double r139048 = cbrt(r139047);
double r139049 = r139048 * r139048;
double r139050 = r139046 / r139049;
double r139051 = cbrt(r139041);
double r139052 = pow(r139051, r139042);
double r139053 = r139052 / r139048;
double r139054 = k;
double r139055 = sin(r139054);
double r139056 = r139053 * r139055;
double r139057 = r139050 * r139056;
double r139058 = r139043 * r139057;
double r139059 = r139058 * r139055;
double r139060 = 1.0;
double r139061 = r139054 / r139037;
double r139062 = pow(r139061, r139040);
double r139063 = r139060 + r139062;
double r139064 = r139063 + r139060;
double r139065 = r139059 * r139064;
double r139066 = r139047 / r139043;
double r139067 = cos(r139054);
double r139068 = r139066 * r139067;
double r139069 = r139065 / r139068;
double r139070 = r139040 / r139069;
double r139071 = 2.797628997807244e-87;
bool r139072 = r139037 <= r139071;
double r139073 = 1.0;
double r139074 = -1.0;
double r139075 = pow(r139074, r139040);
double r139076 = r139073 / r139075;
double r139077 = pow(r139076, r139060);
double r139078 = 2.0;
double r139079 = pow(r139037, r139078);
double r139080 = pow(r139055, r139078);
double r139081 = r139079 * r139080;
double r139082 = r139081 / r139047;
double r139083 = r139077 * r139082;
double r139084 = r139040 * r139083;
double r139085 = pow(r139054, r139078);
double r139086 = r139085 * r139080;
double r139087 = r139086 / r139047;
double r139088 = r139077 * r139087;
double r139089 = r139084 + r139088;
double r139090 = r139089 / r139068;
double r139091 = r139040 / r139090;
double r139092 = 1.5486919747987578e+122;
bool r139093 = r139037 <= r139092;
double r139094 = r139042 / r139078;
double r139095 = pow(r139037, r139094);
double r139096 = r139095 / r139047;
double r139097 = r139096 * r139055;
double r139098 = r139096 * r139097;
double r139099 = tan(r139054);
double r139100 = r139098 * r139099;
double r139101 = r139100 * r139064;
double r139102 = r139040 / r139101;
double r139103 = r139043 / r139047;
double r139104 = cbrt(r139055);
double r139105 = r139104 * r139104;
double r139106 = r139103 * r139105;
double r139107 = r139106 * r139104;
double r139108 = r139043 * r139107;
double r139109 = r139108 * r139055;
double r139110 = r139109 * r139064;
double r139111 = r139110 / r139068;
double r139112 = r139040 / r139111;
double r139113 = r139093 ? r139102 : r139112;
double r139114 = r139072 ? r139091 : r139113;
double r139115 = r139039 ? r139070 : r139114;
return r139115;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -1.0912383422822797e-161Initial program 26.4
rmApplied add-cube-cbrt26.6
Applied unpow-prod-down26.6
Applied times-frac18.6
Applied associate-*l*16.5
rmApplied unpow-prod-down16.5
Applied associate-/l*12.4
rmApplied tan-quot12.4
Applied associate-*l/11.5
Applied frac-times9.7
Applied associate-*l/8.4
rmApplied add-cube-cbrt8.5
Applied add-cube-cbrt8.5
Applied cbrt-prod8.5
Applied unpow-prod-down8.5
Applied times-frac8.5
Applied associate-*l*8.4
if -1.0912383422822797e-161 < t < 2.797628997807244e-87Initial program 61.8
rmApplied add-cube-cbrt61.8
Applied unpow-prod-down61.8
Applied times-frac56.0
Applied associate-*l*56.0
rmApplied unpow-prod-down56.0
Applied associate-/l*46.4
rmApplied tan-quot46.4
Applied associate-*l/46.4
Applied frac-times47.5
Applied associate-*l/44.5
Taylor expanded around -inf 23.4
if 2.797628997807244e-87 < t < 1.5486919747987578e+122Initial program 24.0
rmApplied sqr-pow24.0
Applied times-frac18.4
Applied associate-*l*13.8
if 1.5486919747987578e+122 < t Initial program 22.8
rmApplied add-cube-cbrt22.8
Applied unpow-prod-down22.8
Applied times-frac16.4
Applied associate-*l*15.9
rmApplied unpow-prod-down15.9
Applied associate-/l*7.0
rmApplied tan-quot7.0
Applied associate-*l/5.0
Applied frac-times1.5
Applied associate-*l/1.6
rmApplied add-cube-cbrt1.6
Applied associate-*r*1.6
Final simplification11.0
herbie shell --seed 2019356
(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))))