\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}\;k \le -1.3736813118155453 \cdot 10^{+154}:\\
\;\;\;\;\frac{\frac{-2}{t \cdot \left(\left(\frac{k}{\ell} \cdot \frac{t}{\ell}\right) \cdot \frac{k}{t}\right)}}{\left(-\tan k\right) \cdot \sin k}\\
\mathbf{elif}\;k \le 6.197353443504037 \cdot 10^{+128}:\\
\;\;\;\;\frac{\frac{-2}{\frac{t}{\frac{\ell}{k \cdot k}}}}{-\frac{\tan k \cdot \sin k}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{-2}{\frac{\frac{\frac{t \cdot k}{t}}{\frac{\ell}{t}} \cdot \left(t \cdot k\right)}{t}}}{-\frac{\tan k \cdot \sin k}{\ell}}\\
\end{array}double f(double t, double l, double k) {
double r2076767 = 2.0;
double r2076768 = t;
double r2076769 = 3.0;
double r2076770 = pow(r2076768, r2076769);
double r2076771 = l;
double r2076772 = r2076771 * r2076771;
double r2076773 = r2076770 / r2076772;
double r2076774 = k;
double r2076775 = sin(r2076774);
double r2076776 = r2076773 * r2076775;
double r2076777 = tan(r2076774);
double r2076778 = r2076776 * r2076777;
double r2076779 = 1.0;
double r2076780 = r2076774 / r2076768;
double r2076781 = pow(r2076780, r2076767);
double r2076782 = r2076779 + r2076781;
double r2076783 = r2076782 - r2076779;
double r2076784 = r2076778 * r2076783;
double r2076785 = r2076767 / r2076784;
return r2076785;
}
double f(double t, double l, double k) {
double r2076786 = k;
double r2076787 = -1.3736813118155453e+154;
bool r2076788 = r2076786 <= r2076787;
double r2076789 = -2.0;
double r2076790 = t;
double r2076791 = l;
double r2076792 = r2076786 / r2076791;
double r2076793 = r2076790 / r2076791;
double r2076794 = r2076792 * r2076793;
double r2076795 = r2076786 / r2076790;
double r2076796 = r2076794 * r2076795;
double r2076797 = r2076790 * r2076796;
double r2076798 = r2076789 / r2076797;
double r2076799 = tan(r2076786);
double r2076800 = -r2076799;
double r2076801 = sin(r2076786);
double r2076802 = r2076800 * r2076801;
double r2076803 = r2076798 / r2076802;
double r2076804 = 6.197353443504037e+128;
bool r2076805 = r2076786 <= r2076804;
double r2076806 = r2076786 * r2076786;
double r2076807 = r2076791 / r2076806;
double r2076808 = r2076790 / r2076807;
double r2076809 = r2076789 / r2076808;
double r2076810 = r2076799 * r2076801;
double r2076811 = r2076810 / r2076791;
double r2076812 = -r2076811;
double r2076813 = r2076809 / r2076812;
double r2076814 = r2076790 * r2076786;
double r2076815 = r2076814 / r2076790;
double r2076816 = r2076791 / r2076790;
double r2076817 = r2076815 / r2076816;
double r2076818 = r2076817 * r2076814;
double r2076819 = r2076818 / r2076790;
double r2076820 = r2076789 / r2076819;
double r2076821 = r2076820 / r2076812;
double r2076822 = r2076805 ? r2076813 : r2076821;
double r2076823 = r2076788 ? r2076803 : r2076822;
return r2076823;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -1.3736813118155453e+154Initial program 36.6
Simplified16.9
rmApplied frac-2neg16.9
Simplified12.0
rmApplied associate-*r*11.5
Taylor expanded around 0 11.5
if -1.3736813118155453e+154 < k < 6.197353443504037e+128Initial program 53.5
Simplified25.3
rmApplied frac-2neg25.3
Simplified20.0
rmApplied associate-*r*19.5
rmApplied associate-*l/19.5
Applied associate-*l/19.5
Applied associate-*r/17.9
Applied associate-*l/12.8
Applied associate-/r/12.5
Applied associate-/l*11.7
Taylor expanded around 0 10.2
Simplified5.0
if 6.197353443504037e+128 < k Initial program 38.3
Simplified18.1
rmApplied frac-2neg18.1
Simplified13.4
rmApplied associate-*r*12.7
rmApplied associate-*l/12.7
Applied associate-*l/12.7
Applied associate-*r/13.7
Applied associate-*l/17.2
Applied associate-/r/17.2
Applied associate-/l*17.2
rmApplied associate-*l/17.2
Applied associate-*l/18.3
Simplified14.1
Final simplification8.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))))