\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 -2.86018806536913692 \cdot 10^{113}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{2}}\right)}^{1} \cdot \left({\left(\frac{1}{{t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;t \le -1.7434504270103252 \cdot 10^{-90}:\\
\;\;\;\;\frac{\ell}{{\left(\frac{k}{t}\right)}^{2}} \cdot \frac{\frac{2}{\frac{{t}^{3}}{\ell}}}{\sin k \cdot \tan k}\\
\mathbf{elif}\;t \le 1.7820116289135629 \cdot 10^{-201}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \frac{\frac{\cos k}{\frac{\sin k}{{\ell}^{2}}}}{\sin k}\right)\\
\mathbf{elif}\;t \le 1.12399449523015534 \cdot 10^{203}:\\
\;\;\;\;\frac{\frac{\ell}{{t}^{\left(\frac{3}{2}\right)}}}{{\left(\frac{k}{t}\right)}^{2}} \cdot \frac{\frac{2}{\frac{{t}^{\left(\frac{3}{2}\right)}}{\ell}}}{\sin k \cdot \tan k}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot \left({k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}\right)}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \frac{{\ell}^{2}}{\sin k}\right)\right)\\
\end{array}double f(double t, double l, double k) {
double r103771 = 2.0;
double r103772 = t;
double r103773 = 3.0;
double r103774 = pow(r103772, r103773);
double r103775 = l;
double r103776 = r103775 * r103775;
double r103777 = r103774 / r103776;
double r103778 = k;
double r103779 = sin(r103778);
double r103780 = r103777 * r103779;
double r103781 = tan(r103778);
double r103782 = r103780 * r103781;
double r103783 = 1.0;
double r103784 = r103778 / r103772;
double r103785 = pow(r103784, r103771);
double r103786 = r103783 + r103785;
double r103787 = r103786 - r103783;
double r103788 = r103782 * r103787;
double r103789 = r103771 / r103788;
return r103789;
}
double f(double t, double l, double k) {
double r103790 = t;
double r103791 = -2.860188065369137e+113;
bool r103792 = r103790 <= r103791;
double r103793 = 2.0;
double r103794 = 1.0;
double r103795 = k;
double r103796 = pow(r103795, r103793);
double r103797 = r103794 / r103796;
double r103798 = 1.0;
double r103799 = pow(r103797, r103798);
double r103800 = pow(r103790, r103798);
double r103801 = r103794 / r103800;
double r103802 = pow(r103801, r103798);
double r103803 = cos(r103795);
double r103804 = l;
double r103805 = 2.0;
double r103806 = pow(r103804, r103805);
double r103807 = r103803 * r103806;
double r103808 = sin(r103795);
double r103809 = pow(r103808, r103805);
double r103810 = r103807 / r103809;
double r103811 = r103802 * r103810;
double r103812 = r103799 * r103811;
double r103813 = r103793 * r103812;
double r103814 = -1.7434504270103252e-90;
bool r103815 = r103790 <= r103814;
double r103816 = r103795 / r103790;
double r103817 = pow(r103816, r103793);
double r103818 = r103804 / r103817;
double r103819 = 3.0;
double r103820 = pow(r103790, r103819);
double r103821 = r103820 / r103804;
double r103822 = r103793 / r103821;
double r103823 = tan(r103795);
double r103824 = r103808 * r103823;
double r103825 = r103822 / r103824;
double r103826 = r103818 * r103825;
double r103827 = 1.782011628913563e-201;
bool r103828 = r103790 <= r103827;
double r103829 = r103793 / r103805;
double r103830 = pow(r103795, r103829);
double r103831 = r103830 * r103800;
double r103832 = r103830 * r103831;
double r103833 = r103794 / r103832;
double r103834 = pow(r103833, r103798);
double r103835 = r103808 / r103806;
double r103836 = r103803 / r103835;
double r103837 = r103836 / r103808;
double r103838 = r103834 * r103837;
double r103839 = r103793 * r103838;
double r103840 = 1.1239944952301553e+203;
bool r103841 = r103790 <= r103840;
double r103842 = r103819 / r103805;
double r103843 = pow(r103790, r103842);
double r103844 = r103804 / r103843;
double r103845 = r103844 / r103817;
double r103846 = r103843 / r103804;
double r103847 = r103793 / r103846;
double r103848 = r103847 / r103824;
double r103849 = r103845 * r103848;
double r103850 = r103803 / r103808;
double r103851 = r103806 / r103808;
double r103852 = r103850 * r103851;
double r103853 = r103834 * r103852;
double r103854 = r103793 * r103853;
double r103855 = r103841 ? r103849 : r103854;
double r103856 = r103828 ? r103839 : r103855;
double r103857 = r103815 ? r103826 : r103856;
double r103858 = r103792 ? r103813 : r103857;
return r103858;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if t < -2.860188065369137e+113Initial program 52.3
Simplified38.4
Taylor expanded around inf 20.6
rmApplied *-un-lft-identity20.6
Applied times-frac20.6
Applied unpow-prod-down20.6
Applied associate-*l*18.9
if -2.860188065369137e+113 < t < -1.7434504270103252e-90Initial program 30.4
Simplified23.6
rmApplied *-un-lft-identity23.6
Applied unpow-prod-down23.6
Applied times-frac20.8
Applied *-un-lft-identity20.8
Applied times-frac20.7
Applied times-frac14.9
Simplified14.9
if -1.7434504270103252e-90 < t < 1.782011628913563e-201Initial program 62.1
Simplified62.1
Taylor expanded around inf 25.2
rmApplied sqr-pow25.2
Applied associate-*l*18.2
rmApplied unpow218.2
Applied associate-/r*18.1
rmApplied associate-/l*18.3
if 1.782011628913563e-201 < t < 1.1239944952301553e+203Initial program 42.9
Simplified37.1
rmApplied sqr-pow37.1
Applied times-frac24.9
Applied *-un-lft-identity24.9
Applied times-frac24.9
Applied times-frac18.1
Simplified18.1
if 1.1239944952301553e+203 < t Initial program 57.2
Simplified42.9
Taylor expanded around inf 22.1
rmApplied sqr-pow22.1
Applied associate-*l*22.1
rmApplied add-sqr-sqrt42.6
Applied unpow-prod-down42.6
Applied times-frac41.9
Simplified41.9
Simplified20.9
Final simplification18.0
herbie shell --seed 2020045
(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))))