\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 -8.044379328410059807107069633982676158803 \cdot 10^{148}:\\
\;\;\;\;\frac{2}{\frac{\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(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}\\
\mathbf{elif}\;\ell \le -5.715393745543605032074292045757398162085 \cdot 10^{-77}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({t}^{3} \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}, {\left(\frac{1}{{-1}^{3}}\right)}^{1} \cdot \frac{{\left(\sqrt[3]{-1}\right)}^{9} \cdot \left({\left(\sin k\right)}^{2} \cdot \left({k}^{2} \cdot t\right)\right)}{\cos k \cdot {\ell}^{2}}\right)}\\
\mathbf{elif}\;\ell \le 5.185914905246136359401738599968527223213 \cdot 10^{-213}:\\
\;\;\;\;\frac{2}{\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\frac{\ell}{{\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(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\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(\tan k \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)\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 r138519 = 2.0;
double r138520 = t;
double r138521 = 3.0;
double r138522 = pow(r138520, r138521);
double r138523 = l;
double r138524 = r138523 * r138523;
double r138525 = r138522 / r138524;
double r138526 = k;
double r138527 = sin(r138526);
double r138528 = r138525 * r138527;
double r138529 = tan(r138526);
double r138530 = r138528 * r138529;
double r138531 = 1.0;
double r138532 = r138526 / r138520;
double r138533 = pow(r138532, r138519);
double r138534 = r138531 + r138533;
double r138535 = r138534 + r138531;
double r138536 = r138530 * r138535;
double r138537 = r138519 / r138536;
return r138537;
}
double f(double t, double l, double k) {
double r138538 = l;
double r138539 = -8.04437932841006e+148;
bool r138540 = r138538 <= r138539;
double r138541 = 2.0;
double r138542 = t;
double r138543 = cbrt(r138542);
double r138544 = r138543 * r138543;
double r138545 = 3.0;
double r138546 = 2.0;
double r138547 = r138545 / r138546;
double r138548 = pow(r138544, r138547);
double r138549 = pow(r138543, r138545);
double r138550 = r138549 / r138538;
double r138551 = k;
double r138552 = sin(r138551);
double r138553 = r138550 * r138552;
double r138554 = r138548 * r138553;
double r138555 = tan(r138551);
double r138556 = 1.0;
double r138557 = r138551 / r138542;
double r138558 = pow(r138557, r138541);
double r138559 = r138556 + r138558;
double r138560 = r138559 + r138556;
double r138561 = r138555 * r138560;
double r138562 = r138554 * r138561;
double r138563 = r138538 / r138548;
double r138564 = r138562 / r138563;
double r138565 = r138541 / r138564;
double r138566 = -5.715393745543605e-77;
bool r138567 = r138538 <= r138566;
double r138568 = 1.0;
double r138569 = -1.0;
double r138570 = pow(r138569, r138545);
double r138571 = r138568 / r138570;
double r138572 = pow(r138571, r138556);
double r138573 = cbrt(r138569);
double r138574 = 9.0;
double r138575 = pow(r138573, r138574);
double r138576 = 3.0;
double r138577 = pow(r138542, r138576);
double r138578 = pow(r138552, r138546);
double r138579 = r138577 * r138578;
double r138580 = r138575 * r138579;
double r138581 = cos(r138551);
double r138582 = pow(r138538, r138546);
double r138583 = r138581 * r138582;
double r138584 = r138580 / r138583;
double r138585 = r138572 * r138584;
double r138586 = pow(r138551, r138546);
double r138587 = r138586 * r138542;
double r138588 = r138578 * r138587;
double r138589 = r138575 * r138588;
double r138590 = r138589 / r138583;
double r138591 = r138572 * r138590;
double r138592 = fma(r138541, r138585, r138591);
double r138593 = r138541 / r138592;
double r138594 = 5.1859149052461364e-213;
bool r138595 = r138538 <= r138594;
double r138596 = r138548 / r138563;
double r138597 = r138596 * r138553;
double r138598 = r138597 * r138561;
double r138599 = r138541 / r138598;
double r138600 = r138595 ? r138599 : r138565;
double r138601 = r138567 ? r138593 : r138600;
double r138602 = r138540 ? r138565 : r138601;
return r138602;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -8.04437932841006e+148 or 5.1859149052461364e-213 < l Initial program 38.9
rmApplied add-cube-cbrt39.1
Applied unpow-prod-down39.1
Applied times-frac30.6
Applied associate-*l*29.3
rmApplied sqr-pow29.3
Applied associate-/l*22.0
rmApplied associate-*l/20.8
Applied associate-*l/19.4
Applied associate-*l/17.7
rmApplied associate-*l*17.5
if -8.04437932841006e+148 < l < -5.715393745543605e-77Initial program 29.1
rmApplied add-cube-cbrt29.4
Applied unpow-prod-down29.4
Applied times-frac25.9
Applied associate-*l*24.6
Taylor expanded around -inf 20.4
Simplified20.4
if -5.715393745543605e-77 < l < 5.1859149052461364e-213Initial program 23.7
rmApplied add-cube-cbrt23.8
Applied unpow-prod-down23.8
Applied times-frac17.8
Applied associate-*l*15.3
rmApplied sqr-pow15.3
Applied associate-/l*10.0
rmApplied associate-*l*9.5
Final simplification15.4
herbie shell --seed 2019351 +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))))