\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.208664002911732746188564972116635413934 \cdot 10^{-168}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right) \cdot \frac{1}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{elif}\;t \le 1.009878416081778035016067573708870948758 \cdot 10^{-90}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left({\left(\frac{1}{{-1}^{2}}\right)}^{1}, \frac{{k}^{2} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot \ell}, 2 \cdot \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{6} \cdot \left({t}^{2} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot \ell}\right)\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \left(\sqrt[3]{\tan k} \cdot \sqrt[3]{\tan k}\right)\right) \cdot \sqrt[3]{\tan k}\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\end{array}double f(double t, double l, double k) {
double r114160 = 2.0;
double r114161 = t;
double r114162 = 3.0;
double r114163 = pow(r114161, r114162);
double r114164 = l;
double r114165 = r114164 * r114164;
double r114166 = r114163 / r114165;
double r114167 = k;
double r114168 = sin(r114167);
double r114169 = r114166 * r114168;
double r114170 = tan(r114167);
double r114171 = r114169 * r114170;
double r114172 = 1.0;
double r114173 = r114167 / r114161;
double r114174 = pow(r114173, r114160);
double r114175 = r114172 + r114174;
double r114176 = r114175 + r114172;
double r114177 = r114171 * r114176;
double r114178 = r114160 / r114177;
return r114178;
}
double f(double t, double l, double k) {
double r114179 = t;
double r114180 = -1.2086640029117327e-168;
bool r114181 = r114179 <= r114180;
double r114182 = 2.0;
double r114183 = cbrt(r114179);
double r114184 = r114183 * r114183;
double r114185 = 3.0;
double r114186 = 2.0;
double r114187 = r114185 / r114186;
double r114188 = pow(r114184, r114187);
double r114189 = pow(r114183, r114185);
double r114190 = l;
double r114191 = r114189 / r114190;
double r114192 = k;
double r114193 = sin(r114192);
double r114194 = r114191 * r114193;
double r114195 = r114188 * r114194;
double r114196 = tan(r114192);
double r114197 = r114195 * r114196;
double r114198 = 1.0;
double r114199 = r114192 / r114179;
double r114200 = pow(r114199, r114182);
double r114201 = r114198 + r114200;
double r114202 = r114201 + r114198;
double r114203 = r114197 * r114202;
double r114204 = 1.0;
double r114205 = r114190 / r114188;
double r114206 = r114204 / r114205;
double r114207 = r114203 * r114206;
double r114208 = r114182 / r114207;
double r114209 = 1.009878416081778e-90;
bool r114210 = r114179 <= r114209;
double r114211 = -1.0;
double r114212 = pow(r114211, r114182);
double r114213 = r114204 / r114212;
double r114214 = pow(r114213, r114198);
double r114215 = pow(r114192, r114186);
double r114216 = pow(r114193, r114186);
double r114217 = r114215 * r114216;
double r114218 = cos(r114192);
double r114219 = r114218 * r114190;
double r114220 = r114217 / r114219;
double r114221 = cbrt(r114211);
double r114222 = 6.0;
double r114223 = pow(r114221, r114222);
double r114224 = pow(r114179, r114186);
double r114225 = r114224 * r114216;
double r114226 = r114223 * r114225;
double r114227 = r114226 / r114219;
double r114228 = r114214 * r114227;
double r114229 = r114182 * r114228;
double r114230 = fma(r114214, r114220, r114229);
double r114231 = r114230 / r114205;
double r114232 = r114182 / r114231;
double r114233 = cbrt(r114196);
double r114234 = r114233 * r114233;
double r114235 = r114195 * r114234;
double r114236 = r114235 * r114233;
double r114237 = r114236 * r114202;
double r114238 = r114237 / r114205;
double r114239 = r114182 / r114238;
double r114240 = r114210 ? r114232 : r114239;
double r114241 = r114181 ? r114208 : r114240;
return r114241;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -1.2086640029117327e-168Initial program 26.9
rmApplied add-cube-cbrt27.1
Applied unpow-prod-down27.1
Applied times-frac18.8
Applied associate-*l*16.6
rmApplied sqr-pow16.6
Applied associate-/l*12.3
rmApplied associate-*l/11.3
Applied associate-*l/10.5
Applied associate-*l/9.4
rmApplied div-inv9.4
if -1.2086640029117327e-168 < t < 1.009878416081778e-90Initial program 62.0
rmApplied add-cube-cbrt62.0
Applied unpow-prod-down62.0
Applied times-frac55.6
Applied associate-*l*55.6
rmApplied sqr-pow55.6
Applied associate-/l*45.2
rmApplied associate-*l/45.2
Applied associate-*l/45.9
Applied associate-*l/42.3
Taylor expanded around -inf 30.2
Simplified30.2
if 1.009878416081778e-90 < t Initial program 22.1
rmApplied add-cube-cbrt22.3
Applied unpow-prod-down22.3
Applied times-frac16.6
Applied associate-*l*14.4
rmApplied sqr-pow14.3
Applied associate-/l*9.9
rmApplied associate-*l/8.7
Applied associate-*l/7.3
Applied associate-*l/6.4
rmApplied add-cube-cbrt6.4
Applied associate-*r*6.4
Final simplification12.2
herbie shell --seed 2019323 +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))))