\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 \cdot \ell \le 2.20401191496371068 \cdot 10^{-304}:\\
\;\;\;\;\frac{2}{\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell}\right) \cdot \left(\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot \tan k\right)\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right)}\\
\mathbf{elif}\;\ell \cdot \ell \le 39114531484820.75:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(2, \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{\cos k \cdot {\ell}^{2}}, \frac{{k}^{2} \cdot \left(t \cdot {\left(\sin k\right)}^{2}\right)}{\cos k \cdot {\ell}^{2}}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\left(\left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}{\ell}\right) \cdot \left(\left(\sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k} \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\right) \cdot \sqrt[3]{\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k}\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 r111675 = 2.0;
double r111676 = t;
double r111677 = 3.0;
double r111678 = pow(r111676, r111677);
double r111679 = l;
double r111680 = r111679 * r111679;
double r111681 = r111678 / r111680;
double r111682 = k;
double r111683 = sin(r111682);
double r111684 = r111681 * r111683;
double r111685 = tan(r111682);
double r111686 = r111684 * r111685;
double r111687 = 1.0;
double r111688 = r111682 / r111676;
double r111689 = pow(r111688, r111675);
double r111690 = r111687 + r111689;
double r111691 = r111690 + r111687;
double r111692 = r111686 * r111691;
double r111693 = r111675 / r111692;
return r111693;
}
double f(double t, double l, double k) {
double r111694 = l;
double r111695 = r111694 * r111694;
double r111696 = 2.2040119149637107e-304;
bool r111697 = r111695 <= r111696;
double r111698 = 2.0;
double r111699 = t;
double r111700 = cbrt(r111699);
double r111701 = r111700 * r111700;
double r111702 = 3.0;
double r111703 = 2.0;
double r111704 = r111702 / r111703;
double r111705 = pow(r111701, r111704);
double r111706 = r111705 / r111694;
double r111707 = r111705 * r111706;
double r111708 = pow(r111700, r111702);
double r111709 = r111708 / r111694;
double r111710 = k;
double r111711 = sin(r111710);
double r111712 = r111709 * r111711;
double r111713 = tan(r111710);
double r111714 = r111712 * r111713;
double r111715 = r111707 * r111714;
double r111716 = 1.0;
double r111717 = r111710 / r111699;
double r111718 = pow(r111717, r111698);
double r111719 = r111716 + r111718;
double r111720 = r111719 + r111716;
double r111721 = r111715 * r111720;
double r111722 = r111698 / r111721;
double r111723 = 39114531484820.75;
bool r111724 = r111695 <= r111723;
double r111725 = 3.0;
double r111726 = pow(r111699, r111725);
double r111727 = pow(r111711, r111703);
double r111728 = r111726 * r111727;
double r111729 = cos(r111710);
double r111730 = pow(r111694, r111703);
double r111731 = r111729 * r111730;
double r111732 = r111728 / r111731;
double r111733 = pow(r111710, r111703);
double r111734 = r111699 * r111727;
double r111735 = r111733 * r111734;
double r111736 = r111735 / r111731;
double r111737 = fma(r111698, r111732, r111736);
double r111738 = r111698 / r111737;
double r111739 = cbrt(r111712);
double r111740 = r111739 * r111739;
double r111741 = r111740 * r111739;
double r111742 = r111707 * r111741;
double r111743 = r111742 * r111713;
double r111744 = r111743 * r111720;
double r111745 = r111698 / r111744;
double r111746 = r111724 ? r111738 : r111745;
double r111747 = r111697 ? r111722 : r111746;
return r111747;
}



Bits error versus t



Bits error versus l



Bits error versus k
if (* l l) < 2.2040119149637107e-304Initial program 24.7
rmApplied add-cube-cbrt24.7
Applied unpow-prod-down24.7
Applied times-frac18.1
Applied associate-*l*15.3
rmApplied *-un-lft-identity15.3
Applied sqr-pow15.3
Applied times-frac8.7
Simplified8.7
rmApplied associate-*l*8.6
if 2.2040119149637107e-304 < (* l l) < 39114531484820.75Initial program 22.7
Taylor expanded around inf 13.6
Simplified13.6
if 39114531484820.75 < (* l l) Initial program 46.1
rmApplied add-cube-cbrt46.2
Applied unpow-prod-down46.2
Applied times-frac35.1
Applied associate-*l*34.6
rmApplied *-un-lft-identity34.6
Applied sqr-pow34.6
Applied times-frac25.1
Simplified25.1
rmApplied add-cube-cbrt25.1
Final simplification16.7
herbie shell --seed 2020065 +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))))