\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 -4.980748262550128 \cdot 10^{+31}:\\
\;\;\;\;\frac{\frac{\frac{-2}{\tan k}}{t \cdot \frac{\sin k \cdot t}{\ell}}}{-\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\frac{\ell}{\sqrt[3]{t}}}{\frac{k}{t} \cdot \frac{k}{t} + 2}\\
\mathbf{elif}\;t \le 6.457003182851085 \cdot 10^{-47}:\\
\;\;\;\;\frac{\frac{-2}{\sin k \cdot \frac{t}{\ell}}}{\frac{\sin k \cdot \frac{t \cdot t}{\ell}}{\cos k} \cdot -2 + \left(-\frac{\frac{k \cdot k}{\ell} \cdot \sin k}{\cos k}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\ell}{t} \cdot \left(\frac{\frac{\frac{-2}{\sin k}}{t}}{-2 - \frac{k}{t} \cdot \frac{k}{t}} \cdot \left(\ell \cdot \frac{1}{\tan k \cdot t}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r3642727 = 2.0;
double r3642728 = t;
double r3642729 = 3.0;
double r3642730 = pow(r3642728, r3642729);
double r3642731 = l;
double r3642732 = r3642731 * r3642731;
double r3642733 = r3642730 / r3642732;
double r3642734 = k;
double r3642735 = sin(r3642734);
double r3642736 = r3642733 * r3642735;
double r3642737 = tan(r3642734);
double r3642738 = r3642736 * r3642737;
double r3642739 = 1.0;
double r3642740 = r3642734 / r3642728;
double r3642741 = pow(r3642740, r3642727);
double r3642742 = r3642739 + r3642741;
double r3642743 = r3642742 + r3642739;
double r3642744 = r3642738 * r3642743;
double r3642745 = r3642727 / r3642744;
return r3642745;
}
double f(double t, double l, double k) {
double r3642746 = t;
double r3642747 = -4.980748262550128e+31;
bool r3642748 = r3642746 <= r3642747;
double r3642749 = -2.0;
double r3642750 = k;
double r3642751 = tan(r3642750);
double r3642752 = r3642749 / r3642751;
double r3642753 = sin(r3642750);
double r3642754 = r3642753 * r3642746;
double r3642755 = l;
double r3642756 = r3642754 / r3642755;
double r3642757 = r3642746 * r3642756;
double r3642758 = r3642752 / r3642757;
double r3642759 = cbrt(r3642746);
double r3642760 = r3642759 * r3642759;
double r3642761 = -r3642760;
double r3642762 = r3642758 / r3642761;
double r3642763 = r3642755 / r3642759;
double r3642764 = r3642750 / r3642746;
double r3642765 = r3642764 * r3642764;
double r3642766 = 2.0;
double r3642767 = r3642765 + r3642766;
double r3642768 = r3642763 / r3642767;
double r3642769 = r3642762 * r3642768;
double r3642770 = 6.457003182851085e-47;
bool r3642771 = r3642746 <= r3642770;
double r3642772 = r3642746 / r3642755;
double r3642773 = r3642753 * r3642772;
double r3642774 = r3642749 / r3642773;
double r3642775 = r3642746 * r3642746;
double r3642776 = r3642775 / r3642755;
double r3642777 = r3642753 * r3642776;
double r3642778 = cos(r3642750);
double r3642779 = r3642777 / r3642778;
double r3642780 = r3642779 * r3642749;
double r3642781 = r3642750 * r3642750;
double r3642782 = r3642781 / r3642755;
double r3642783 = r3642782 * r3642753;
double r3642784 = r3642783 / r3642778;
double r3642785 = -r3642784;
double r3642786 = r3642780 + r3642785;
double r3642787 = r3642774 / r3642786;
double r3642788 = r3642755 / r3642746;
double r3642789 = r3642749 / r3642753;
double r3642790 = r3642789 / r3642746;
double r3642791 = r3642749 - r3642765;
double r3642792 = r3642790 / r3642791;
double r3642793 = 1.0;
double r3642794 = r3642751 * r3642746;
double r3642795 = r3642793 / r3642794;
double r3642796 = r3642755 * r3642795;
double r3642797 = r3642792 * r3642796;
double r3642798 = r3642788 * r3642797;
double r3642799 = r3642771 ? r3642787 : r3642798;
double r3642800 = r3642748 ? r3642769 : r3642799;
return r3642800;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -4.980748262550128e+31Initial program 23.0
Simplified11.2
rmApplied frac-2neg11.2
Simplified6.1
rmApplied *-un-lft-identity6.1
Applied distribute-lft-neg-in6.1
Applied add-cube-cbrt6.3
Applied associate-*r/6.3
Applied associate-/r/5.7
Applied times-frac4.9
Applied times-frac4.5
Simplified3.9
if -4.980748262550128e+31 < t < 6.457003182851085e-47Initial program 47.9
Simplified37.1
rmApplied frac-2neg37.1
Simplified34.7
rmApplied *-un-lft-identity34.7
Applied div-inv34.7
Applied times-frac34.1
Applied times-frac34.1
Applied associate-/l*30.0
Simplified26.4
Taylor expanded around inf 18.5
Simplified16.3
if 6.457003182851085e-47 < t Initial program 21.9
Simplified12.0
rmApplied frac-2neg12.0
Simplified7.7
rmApplied *-un-lft-identity7.7
Applied div-inv7.7
Applied times-frac6.9
Applied times-frac3.8
Applied associate-/l*3.2
Simplified3.2
rmApplied add-cube-cbrt3.4
Applied associate-/r*3.4
rmApplied add-cube-cbrt3.4
Applied associate-*r/3.5
Applied associate-/r/3.5
Applied times-frac3.5
Applied times-frac4.2
Simplified4.3
Simplified4.3
Final simplification8.5
herbie shell --seed 2019163
(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))))