\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 -9.958705001521343:\\
\;\;\;\;\frac{2}{\frac{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)} \cdot \left(\left(\left(\tan k \cdot \left(\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \left(\frac{\sqrt[3]{t}}{\frac{\ell}{t}} \cdot \sin k\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}}\right)\right) \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}}\right)}{\frac{\ell}{t}}}\\
\mathbf{elif}\;t \le 1.1156366225410403 \cdot 10^{+35}:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(2, \frac{t \cdot t}{\cos k} \cdot \frac{\sin k \cdot \sin k}{\ell}, \frac{\sin k \cdot \sin k}{\cos k} \cdot \frac{k \cdot k}{\ell}\right)}{\frac{\ell}{t}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)} \cdot \left(\left(\left(\tan k \cdot \left(\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \left(\frac{\sqrt[3]{t}}{\frac{\ell}{t}} \cdot \sin k\right)\right)\right) \cdot \left(\sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}}\right)\right) \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)}}\right)}{\frac{\ell}{t}}}\\
\end{array}double f(double t, double l, double k) {
double r1580535 = 2.0;
double r1580536 = t;
double r1580537 = 3.0;
double r1580538 = pow(r1580536, r1580537);
double r1580539 = l;
double r1580540 = r1580539 * r1580539;
double r1580541 = r1580538 / r1580540;
double r1580542 = k;
double r1580543 = sin(r1580542);
double r1580544 = r1580541 * r1580543;
double r1580545 = tan(r1580542);
double r1580546 = r1580544 * r1580545;
double r1580547 = 1.0;
double r1580548 = r1580542 / r1580536;
double r1580549 = pow(r1580548, r1580535);
double r1580550 = r1580547 + r1580549;
double r1580551 = r1580550 + r1580547;
double r1580552 = r1580546 * r1580551;
double r1580553 = r1580535 / r1580552;
return r1580553;
}
double f(double t, double l, double k) {
double r1580554 = t;
double r1580555 = -9.958705001521343;
bool r1580556 = r1580554 <= r1580555;
double r1580557 = 2.0;
double r1580558 = k;
double r1580559 = r1580558 / r1580554;
double r1580560 = fma(r1580559, r1580559, r1580557);
double r1580561 = sqrt(r1580560);
double r1580562 = tan(r1580558);
double r1580563 = cbrt(r1580554);
double r1580564 = r1580563 * r1580563;
double r1580565 = l;
double r1580566 = r1580565 / r1580554;
double r1580567 = r1580563 / r1580566;
double r1580568 = sin(r1580558);
double r1580569 = r1580567 * r1580568;
double r1580570 = r1580564 * r1580569;
double r1580571 = r1580562 * r1580570;
double r1580572 = cbrt(r1580561);
double r1580573 = r1580572 * r1580572;
double r1580574 = r1580571 * r1580573;
double r1580575 = r1580574 * r1580572;
double r1580576 = r1580561 * r1580575;
double r1580577 = r1580576 / r1580566;
double r1580578 = r1580557 / r1580577;
double r1580579 = 1.1156366225410403e+35;
bool r1580580 = r1580554 <= r1580579;
double r1580581 = r1580554 * r1580554;
double r1580582 = cos(r1580558);
double r1580583 = r1580581 / r1580582;
double r1580584 = r1580568 * r1580568;
double r1580585 = r1580584 / r1580565;
double r1580586 = r1580583 * r1580585;
double r1580587 = r1580584 / r1580582;
double r1580588 = r1580558 * r1580558;
double r1580589 = r1580588 / r1580565;
double r1580590 = r1580587 * r1580589;
double r1580591 = fma(r1580557, r1580586, r1580590);
double r1580592 = r1580591 / r1580566;
double r1580593 = r1580557 / r1580592;
double r1580594 = r1580580 ? r1580593 : r1580578;
double r1580595 = r1580556 ? r1580578 : r1580594;
return r1580595;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < -9.958705001521343 or 1.1156366225410403e+35 < t Initial program 21.7
Simplified10.4
rmApplied add-cube-cbrt10.6
Applied times-frac10.1
Applied associate-*l*6.0
rmApplied associate-*l/5.9
Applied associate-*l/4.1
Applied associate-*l/3.9
rmApplied add-sqr-sqrt4.0
Applied associate-*r*4.0
rmApplied add-cube-cbrt4.0
Applied associate-*r*4.0
if -9.958705001521343 < t < 1.1156366225410403e+35Initial program 45.5
Simplified34.7
rmApplied add-cube-cbrt34.8
Applied times-frac34.0
Applied associate-*l*32.4
rmApplied associate-*l/32.4
Applied associate-*l/33.3
Applied associate-*l/30.1
Taylor expanded around -inf 20.0
Simplified17.3
Final simplification9.4
herbie shell --seed 2019152 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))