\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 -4.57723594555655645 \cdot 10^{139} \lor \neg \left(k \le -2.7057282491360021 \cdot 10^{-140} \lor \neg \left(k \le 7.6001933799401753 \cdot 10^{-155} \lor \neg \left(k \le 1.15121578543094186 \cdot 10^{132}\right)\right)\right):\\
\;\;\;\;2 \cdot \frac{{\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 \ell\right)}{\frac{\sin k}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{2}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \ell\right)\right)}{\frac{\sin k}{\ell}}\\
\end{array}double f(double t, double l, double k) {
double r88926 = 2.0;
double r88927 = t;
double r88928 = 3.0;
double r88929 = pow(r88927, r88928);
double r88930 = l;
double r88931 = r88930 * r88930;
double r88932 = r88929 / r88931;
double r88933 = k;
double r88934 = sin(r88933);
double r88935 = r88932 * r88934;
double r88936 = tan(r88933);
double r88937 = r88935 * r88936;
double r88938 = 1.0;
double r88939 = r88933 / r88927;
double r88940 = pow(r88939, r88926);
double r88941 = r88938 + r88940;
double r88942 = r88941 - r88938;
double r88943 = r88937 * r88942;
double r88944 = r88926 / r88943;
return r88944;
}
double f(double t, double l, double k) {
double r88945 = k;
double r88946 = -4.5772359455565565e+139;
bool r88947 = r88945 <= r88946;
double r88948 = -2.705728249136002e-140;
bool r88949 = r88945 <= r88948;
double r88950 = 7.600193379940175e-155;
bool r88951 = r88945 <= r88950;
double r88952 = 1.1512157854309419e+132;
bool r88953 = r88945 <= r88952;
double r88954 = !r88953;
bool r88955 = r88951 || r88954;
double r88956 = !r88955;
bool r88957 = r88949 || r88956;
double r88958 = !r88957;
bool r88959 = r88947 || r88958;
double r88960 = 2.0;
double r88961 = 1.0;
double r88962 = 2.0;
double r88963 = r88960 / r88962;
double r88964 = pow(r88945, r88963);
double r88965 = t;
double r88966 = 1.0;
double r88967 = pow(r88965, r88966);
double r88968 = r88964 * r88967;
double r88969 = r88964 * r88968;
double r88970 = r88961 / r88969;
double r88971 = pow(r88970, r88966);
double r88972 = cos(r88945);
double r88973 = sin(r88945);
double r88974 = r88972 / r88973;
double r88975 = l;
double r88976 = r88974 * r88975;
double r88977 = r88971 * r88976;
double r88978 = r88973 / r88975;
double r88979 = r88977 / r88978;
double r88980 = r88960 * r88979;
double r88981 = cbrt(r88961);
double r88982 = r88981 * r88981;
double r88983 = pow(r88945, r88960);
double r88984 = r88982 / r88983;
double r88985 = pow(r88984, r88966);
double r88986 = r88981 / r88967;
double r88987 = pow(r88986, r88966);
double r88988 = r88987 * r88976;
double r88989 = r88985 * r88988;
double r88990 = r88989 / r88978;
double r88991 = r88960 * r88990;
double r88992 = r88959 ? r88980 : r88991;
return r88992;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if k < -4.5772359455565565e+139 or -2.705728249136002e-140 < k < 7.600193379940175e-155 or 1.1512157854309419e+132 < k Initial program 42.0
Simplified36.9
Taylor expanded around inf 26.4
rmApplied add-sqr-sqrt45.4
Applied unpow-prod-down45.4
Applied times-frac45.4
Simplified45.4
Simplified26.2
rmApplied associate-*r/25.8
Applied associate-*r/23.9
rmApplied sqr-pow23.9
Applied associate-*l*14.6
if -4.5772359455565565e+139 < k < -2.705728249136002e-140 or 7.600193379940175e-155 < k < 1.1512157854309419e+132Initial program 54.8
Simplified43.8
Taylor expanded around inf 18.5
rmApplied add-sqr-sqrt41.0
Applied unpow-prod-down41.0
Applied times-frac41.0
Simplified41.0
Simplified16.9
rmApplied associate-*r/15.5
Applied associate-*r/8.3
rmApplied add-cube-cbrt8.3
Applied times-frac8.0
Applied unpow-prod-down8.0
Applied associate-*l*3.4
Final simplification8.9
herbie shell --seed 2020062 +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))))