\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}\;\ell \le -7.34197474785895879644805628021741244835 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le -1.565781902572236496378826524820454331159 \cdot 10^{-114}:\\
\;\;\;\;\left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{elif}\;\ell \le 2.708612359830992857006850239141021160825 \cdot 10^{-156}:\\
\;\;\;\;2 \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, {\ell}^{2} \cdot \frac{-1}{6}\right)\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right)\\
\mathbf{elif}\;\ell \le 4.162486401097287709225438879584039218636 \cdot 10^{148}:\\
\;\;\;\;\left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right) \cdot {\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}\right) \cdot 2\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{1}{\ell} \cdot \frac{{t}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r109415 = 2.0;
double r109416 = t;
double r109417 = 3.0;
double r109418 = pow(r109416, r109417);
double r109419 = l;
double r109420 = r109419 * r109419;
double r109421 = r109418 / r109420;
double r109422 = k;
double r109423 = sin(r109422);
double r109424 = r109421 * r109423;
double r109425 = tan(r109422);
double r109426 = r109424 * r109425;
double r109427 = 1.0;
double r109428 = r109422 / r109416;
double r109429 = pow(r109428, r109415);
double r109430 = r109427 + r109429;
double r109431 = r109430 - r109427;
double r109432 = r109426 * r109431;
double r109433 = r109415 / r109432;
return r109433;
}
double f(double t, double l, double k) {
double r109434 = l;
double r109435 = -7.341974747858959e+153;
bool r109436 = r109434 <= r109435;
double r109437 = 2.0;
double r109438 = t;
double r109439 = cbrt(r109438);
double r109440 = r109439 * r109439;
double r109441 = 3.0;
double r109442 = pow(r109440, r109441);
double r109443 = r109442 / r109434;
double r109444 = pow(r109439, r109441);
double r109445 = r109444 / r109434;
double r109446 = k;
double r109447 = sin(r109446);
double r109448 = r109445 * r109447;
double r109449 = r109443 * r109448;
double r109450 = tan(r109446);
double r109451 = r109449 * r109450;
double r109452 = r109437 / r109451;
double r109453 = r109446 / r109438;
double r109454 = pow(r109453, r109437);
double r109455 = r109452 / r109454;
double r109456 = -1.5657819025722365e-114;
bool r109457 = r109434 <= r109456;
double r109458 = 1.0;
double r109459 = 2.0;
double r109460 = r109437 / r109459;
double r109461 = pow(r109446, r109460);
double r109462 = 1.0;
double r109463 = pow(r109438, r109462);
double r109464 = r109461 * r109463;
double r109465 = r109458 / r109464;
double r109466 = pow(r109465, r109462);
double r109467 = cos(r109446);
double r109468 = pow(r109434, r109459);
double r109469 = r109467 * r109468;
double r109470 = pow(r109447, r109459);
double r109471 = r109469 / r109470;
double r109472 = r109466 * r109471;
double r109473 = r109458 / r109461;
double r109474 = pow(r109473, r109462);
double r109475 = r109472 * r109474;
double r109476 = r109475 * r109437;
double r109477 = 2.708612359830993e-156;
bool r109478 = r109434 <= r109477;
double r109479 = r109434 / r109446;
double r109480 = -0.16666666666666666;
double r109481 = r109468 * r109480;
double r109482 = fma(r109479, r109479, r109481);
double r109483 = r109466 * r109482;
double r109484 = r109483 * r109474;
double r109485 = r109437 * r109484;
double r109486 = 4.1624864010972877e+148;
bool r109487 = r109434 <= r109486;
double r109488 = r109458 / r109434;
double r109489 = pow(r109438, r109441);
double r109490 = r109489 / r109434;
double r109491 = r109488 * r109490;
double r109492 = r109491 * r109447;
double r109493 = r109492 * r109450;
double r109494 = r109437 / r109493;
double r109495 = r109494 / r109454;
double r109496 = r109487 ? r109476 : r109495;
double r109497 = r109478 ? r109485 : r109496;
double r109498 = r109457 ? r109476 : r109497;
double r109499 = r109436 ? r109455 : r109498;
return r109499;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -7.341974747858959e+153Initial program 64.0
Simplified64.0
rmApplied add-cube-cbrt64.0
Applied unpow-prod-down64.0
Applied times-frac50.5
Applied associate-*l*50.5
if -7.341974747858959e+153 < l < -1.5657819025722365e-114 or 2.708612359830993e-156 < l < 4.1624864010972877e+148Initial program 44.2
Simplified35.3
Taylor expanded around inf 11.0
rmApplied sqr-pow11.0
Applied associate-*l*6.7
rmApplied add-cube-cbrt6.7
Applied times-frac6.4
Applied unpow-prod-down6.4
Applied associate-*l*3.5
Simplified3.5
if -1.5657819025722365e-114 < l < 2.708612359830993e-156Initial program 46.3
Simplified37.3
Taylor expanded around inf 17.7
rmApplied sqr-pow17.7
Applied associate-*l*17.7
rmApplied add-cube-cbrt17.7
Applied times-frac17.7
Applied unpow-prod-down17.7
Applied associate-*l*17.5
Simplified17.5
Taylor expanded around 0 18.3
Simplified7.8
if 4.1624864010972877e+148 < l Initial program 63.6
Simplified63.3
rmApplied *-un-lft-identity63.3
Applied unpow-prod-down63.3
Applied times-frac52.0
Simplified52.0
Final simplification12.6
herbie shell --seed 2019325 +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))))