\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 6.763037352752422302077139099297667443997 \cdot 10^{-16}:\\
\;\;\;\;\frac{2}{\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\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}\;\ell \le 1.491801365253996162354700266962756132707 \cdot 10^{71}:\\
\;\;\;\;\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({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell} \cdot \left(\frac{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \left(\frac{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}{\sqrt[3]{\ell}} \cdot \sin k\right)\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 r120481 = 2.0;
double r120482 = t;
double r120483 = 3.0;
double r120484 = pow(r120482, r120483);
double r120485 = l;
double r120486 = r120485 * r120485;
double r120487 = r120484 / r120486;
double r120488 = k;
double r120489 = sin(r120488);
double r120490 = r120487 * r120489;
double r120491 = tan(r120488);
double r120492 = r120490 * r120491;
double r120493 = 1.0;
double r120494 = r120488 / r120482;
double r120495 = pow(r120494, r120481);
double r120496 = r120493 + r120495;
double r120497 = r120496 + r120493;
double r120498 = r120492 * r120497;
double r120499 = r120481 / r120498;
return r120499;
}
double f(double t, double l, double k) {
double r120500 = l;
double r120501 = 6.763037352752422e-16;
bool r120502 = r120500 <= r120501;
double r120503 = 2.0;
double r120504 = t;
double r120505 = cbrt(r120504);
double r120506 = r120505 * r120505;
double r120507 = 3.0;
double r120508 = 2.0;
double r120509 = r120507 / r120508;
double r120510 = pow(r120506, r120509);
double r120511 = r120510 / r120500;
double r120512 = pow(r120505, r120507);
double r120513 = r120512 / r120500;
double r120514 = k;
double r120515 = sin(r120514);
double r120516 = r120513 * r120515;
double r120517 = r120511 * r120516;
double r120518 = tan(r120514);
double r120519 = r120517 * r120518;
double r120520 = r120510 * r120519;
double r120521 = 1.0;
double r120522 = r120514 / r120504;
double r120523 = pow(r120522, r120503);
double r120524 = r120521 + r120523;
double r120525 = r120524 + r120521;
double r120526 = r120520 * r120525;
double r120527 = r120503 / r120526;
double r120528 = 1.4918013652539962e+71;
bool r120529 = r120500 <= r120528;
double r120530 = 3.0;
double r120531 = pow(r120504, r120530);
double r120532 = pow(r120515, r120508);
double r120533 = r120531 * r120532;
double r120534 = cos(r120514);
double r120535 = pow(r120500, r120508);
double r120536 = r120534 * r120535;
double r120537 = r120533 / r120536;
double r120538 = r120503 * r120537;
double r120539 = 1.0;
double r120540 = -1.0;
double r120541 = pow(r120540, r120507);
double r120542 = r120539 / r120541;
double r120543 = pow(r120542, r120521);
double r120544 = pow(r120514, r120508);
double r120545 = r120544 * r120532;
double r120546 = r120504 * r120545;
double r120547 = r120546 / r120536;
double r120548 = r120543 * r120547;
double r120549 = r120538 - r120548;
double r120550 = r120503 / r120549;
double r120551 = cbrt(r120512);
double r120552 = r120551 * r120551;
double r120553 = cbrt(r120500);
double r120554 = r120553 * r120553;
double r120555 = r120552 / r120554;
double r120556 = r120551 / r120553;
double r120557 = r120556 * r120515;
double r120558 = r120555 * r120557;
double r120559 = r120511 * r120558;
double r120560 = r120510 * r120559;
double r120561 = r120560 * r120518;
double r120562 = r120561 * r120525;
double r120563 = r120503 / r120562;
double r120564 = r120529 ? r120550 : r120563;
double r120565 = r120502 ? r120527 : r120564;
return r120565;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if l < 6.763037352752422e-16Initial program 27.8
rmApplied add-cube-cbrt28.0
Applied unpow-prod-down28.0
Applied times-frac21.9
Applied associate-*l*19.9
rmApplied *-un-lft-identity19.9
Applied sqr-pow19.9
Applied times-frac15.4
Simplified15.4
rmApplied associate-*l*15.1
rmApplied associate-*l*14.6
if 6.763037352752422e-16 < l < 1.4918013652539962e+71Initial program 27.8
Taylor expanded around -inf 18.7
if 1.4918013652539962e+71 < l Initial program 52.1
rmApplied add-cube-cbrt52.2
Applied unpow-prod-down52.2
Applied times-frac38.2
Applied associate-*l*38.2
rmApplied *-un-lft-identity38.2
Applied sqr-pow38.2
Applied times-frac25.8
Simplified25.8
rmApplied associate-*l*25.1
rmApplied add-cube-cbrt25.2
Applied add-cube-cbrt25.2
Applied times-frac25.2
Applied associate-*l*25.2
Final simplification16.5
herbie shell --seed 2019294
(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))))