\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}\;k \le -6.111269366656179596441593664238848485936 \cdot 10^{-40}:\\
\;\;\;\;\frac{2}{-\left(\left(\left(\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right) \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot 2 + \frac{t}{\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{\sin k \cdot \sin k}} \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right)}\\
\mathbf{elif}\;k \le 9.041137738162277674930500825476272809937 \cdot 10^{-106}:\\
\;\;\;\;\frac{2}{\left(\left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell}} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k\right) \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right) \cdot \left(1 + \left({\left(\frac{k}{t}\right)}^{2} + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{-\left(\left(\left(\left(\frac{t \cdot t}{\ell} \cdot \frac{t}{\ell}\right) \cdot \frac{\sin k \cdot \sin k}{\cos k}\right) \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right) \cdot 2 + \frac{t}{\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{\cos k}{\sin k \cdot \sin k}} \cdot {\left(\frac{1}{{-1}^{3}}\right)}^{1}\right)}\\
\end{array}double f(double t, double l, double k) {
double r5139283 = 2.0;
double r5139284 = t;
double r5139285 = 3.0;
double r5139286 = pow(r5139284, r5139285);
double r5139287 = l;
double r5139288 = r5139287 * r5139287;
double r5139289 = r5139286 / r5139288;
double r5139290 = k;
double r5139291 = sin(r5139290);
double r5139292 = r5139289 * r5139291;
double r5139293 = tan(r5139290);
double r5139294 = r5139292 * r5139293;
double r5139295 = 1.0;
double r5139296 = r5139290 / r5139284;
double r5139297 = pow(r5139296, r5139283);
double r5139298 = r5139295 + r5139297;
double r5139299 = r5139298 + r5139295;
double r5139300 = r5139294 * r5139299;
double r5139301 = r5139283 / r5139300;
return r5139301;
}
double f(double t, double l, double k) {
double r5139302 = k;
double r5139303 = -6.11126936665618e-40;
bool r5139304 = r5139302 <= r5139303;
double r5139305 = 2.0;
double r5139306 = t;
double r5139307 = r5139306 * r5139306;
double r5139308 = l;
double r5139309 = r5139307 / r5139308;
double r5139310 = r5139306 / r5139308;
double r5139311 = r5139309 * r5139310;
double r5139312 = sin(r5139302);
double r5139313 = r5139312 * r5139312;
double r5139314 = cos(r5139302);
double r5139315 = r5139313 / r5139314;
double r5139316 = r5139311 * r5139315;
double r5139317 = 1.0;
double r5139318 = -1.0;
double r5139319 = 3.0;
double r5139320 = pow(r5139318, r5139319);
double r5139321 = r5139317 / r5139320;
double r5139322 = 1.0;
double r5139323 = pow(r5139321, r5139322);
double r5139324 = r5139316 * r5139323;
double r5139325 = r5139324 * r5139305;
double r5139326 = r5139308 / r5139302;
double r5139327 = r5139326 * r5139326;
double r5139328 = r5139314 / r5139313;
double r5139329 = r5139327 * r5139328;
double r5139330 = r5139306 / r5139329;
double r5139331 = r5139330 * r5139323;
double r5139332 = r5139325 + r5139331;
double r5139333 = -r5139332;
double r5139334 = r5139305 / r5139333;
double r5139335 = 9.041137738162278e-106;
bool r5139336 = r5139302 <= r5139335;
double r5139337 = cbrt(r5139306);
double r5139338 = pow(r5139337, r5139319);
double r5139339 = cbrt(r5139308);
double r5139340 = r5139338 / r5139339;
double r5139341 = r5139338 / r5139308;
double r5139342 = r5139341 * r5139312;
double r5139343 = r5139340 * r5139342;
double r5139344 = tan(r5139302);
double r5139345 = r5139343 * r5139344;
double r5139346 = r5139339 * r5139339;
double r5139347 = r5139338 / r5139346;
double r5139348 = r5139345 * r5139347;
double r5139349 = r5139302 / r5139306;
double r5139350 = pow(r5139349, r5139305);
double r5139351 = r5139350 + r5139322;
double r5139352 = r5139322 + r5139351;
double r5139353 = r5139348 * r5139352;
double r5139354 = r5139305 / r5139353;
double r5139355 = r5139336 ? r5139354 : r5139334;
double r5139356 = r5139304 ? r5139334 : r5139355;
return r5139356;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -6.11126936665618e-40 or 9.041137738162278e-106 < k Initial program 32.0
rmApplied add-cube-cbrt32.2
Applied unpow-prod-down32.2
Applied times-frac24.5
Applied associate-*l*24.2
rmApplied add-cube-cbrt24.2
Applied unpow-prod-down24.2
Applied times-frac19.3
rmApplied associate-*l*19.2
Taylor expanded around -inf 24.5
Simplified8.2
if -6.11126936665618e-40 < k < 9.041137738162278e-106Initial program 35.3
rmApplied add-cube-cbrt35.4
Applied unpow-prod-down35.4
Applied times-frac30.0
Applied associate-*l*23.8
rmApplied add-cube-cbrt23.8
Applied unpow-prod-down23.8
Applied times-frac16.8
rmApplied associate-*l*13.8
rmApplied associate-*l*7.6
Final simplification8.1
herbie shell --seed 2019172
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))