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



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))))