\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}\;\ell \le -1.350083645795687900514049661869243401303 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\mathbf{elif}\;\ell \le -1.926172283746208905126600187598424399764 \cdot 10^{-88}:\\
\;\;\;\;2 \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left(\left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\cos k \cdot {\ell}^{2}\right)\right) \cdot \frac{1}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{elif}\;\ell \le 8.125799631108940674547963257039853431087 \cdot 10^{-130}:\\
\;\;\;\;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 \mathsf{fma}\left(\frac{\ell}{k}, \frac{\ell}{k}, {\ell}^{2} \cdot \frac{-1}{6}\right)\right)\\
\mathbf{elif}\;\ell \le 1.982834535788033321623200081388133861373 \cdot 10^{134}:\\
\;\;\;\;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(\left(\sqrt[3]{\frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}} \cdot \sqrt[3]{\frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}}\right) \cdot \sqrt[3]{\frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\left(\left(\frac{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{3}}{\ell} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell}\right) \cdot \sin k\right) \cdot \tan k}}{{\left(\frac{k}{t}\right)}^{2}}\\
\end{array}double f(double t, double l, double k) {
double r93966 = 2.0;
double r93967 = t;
double r93968 = 3.0;
double r93969 = pow(r93967, r93968);
double r93970 = l;
double r93971 = r93970 * r93970;
double r93972 = r93969 / r93971;
double r93973 = k;
double r93974 = sin(r93973);
double r93975 = r93972 * r93974;
double r93976 = tan(r93973);
double r93977 = r93975 * r93976;
double r93978 = 1.0;
double r93979 = r93973 / r93967;
double r93980 = pow(r93979, r93966);
double r93981 = r93978 + r93980;
double r93982 = r93981 - r93978;
double r93983 = r93977 * r93982;
double r93984 = r93966 / r93983;
return r93984;
}
double f(double t, double l, double k) {
double r93985 = l;
double r93986 = -1.350083645795688e+154;
bool r93987 = r93985 <= r93986;
double r93988 = 2.0;
double r93989 = t;
double r93990 = cbrt(r93989);
double r93991 = r93990 * r93990;
double r93992 = 3.0;
double r93993 = pow(r93991, r93992);
double r93994 = r93993 / r93985;
double r93995 = pow(r93990, r93992);
double r93996 = r93995 / r93985;
double r93997 = r93994 * r93996;
double r93998 = k;
double r93999 = sin(r93998);
double r94000 = r93997 * r93999;
double r94001 = tan(r93998);
double r94002 = r94000 * r94001;
double r94003 = r93988 / r94002;
double r94004 = r93998 / r93989;
double r94005 = pow(r94004, r93988);
double r94006 = r94003 / r94005;
double r94007 = -1.926172283746209e-88;
bool r94008 = r93985 <= r94007;
double r94009 = 1.0;
double r94010 = 2.0;
double r94011 = r93988 / r94010;
double r94012 = pow(r93998, r94011);
double r94013 = r94009 / r94012;
double r94014 = 1.0;
double r94015 = pow(r94013, r94014);
double r94016 = pow(r93989, r94014);
double r94017 = r94012 * r94016;
double r94018 = r94009 / r94017;
double r94019 = pow(r94018, r94014);
double r94020 = cos(r93998);
double r94021 = pow(r93985, r94010);
double r94022 = r94020 * r94021;
double r94023 = r94019 * r94022;
double r94024 = pow(r93999, r94010);
double r94025 = r94009 / r94024;
double r94026 = r94023 * r94025;
double r94027 = r94015 * r94026;
double r94028 = r93988 * r94027;
double r94029 = 8.12579963110894e-130;
bool r94030 = r93985 <= r94029;
double r94031 = r94012 * r94017;
double r94032 = r94009 / r94031;
double r94033 = pow(r94032, r94014);
double r94034 = r93985 / r93998;
double r94035 = -0.16666666666666666;
double r94036 = r94021 * r94035;
double r94037 = fma(r94034, r94034, r94036);
double r94038 = r94033 * r94037;
double r94039 = r93988 * r94038;
double r94040 = 1.9828345357880333e+134;
bool r94041 = r93985 <= r94040;
double r94042 = r94022 / r94024;
double r94043 = cbrt(r94042);
double r94044 = r94043 * r94043;
double r94045 = r94044 * r94043;
double r94046 = r94033 * r94045;
double r94047 = r93988 * r94046;
double r94048 = r94041 ? r94047 : r94006;
double r94049 = r94030 ? r94039 : r94048;
double r94050 = r94008 ? r94028 : r94049;
double r94051 = r93987 ? r94006 : r94050;
return r94051;
}



Bits error versus t



Bits error versus l



Bits error versus k
if l < -1.350083645795688e+154 or 1.9828345357880333e+134 < l Initial program 63.0
Simplified62.5
rmApplied add-cube-cbrt62.6
Applied unpow-prod-down62.6
Applied times-frac47.6
if -1.350083645795688e+154 < l < -1.926172283746209e-88Initial program 45.6
Simplified36.7
Taylor expanded around inf 13.2
rmApplied sqr-pow13.2
Applied associate-*l*8.0
rmApplied *-un-lft-identity8.0
Applied times-frac7.6
Applied unpow-prod-down7.6
Applied associate-*l*4.5
rmApplied div-inv4.5
Applied associate-*r*3.9
if -1.926172283746209e-88 < l < 8.12579963110894e-130Initial program 45.6
Simplified37.1
Taylor expanded around inf 17.1
rmApplied sqr-pow17.1
Applied associate-*l*17.0
Taylor expanded around 0 18.7
Simplified10.7
if 8.12579963110894e-130 < l < 1.9828345357880333e+134Initial program 45.4
Simplified36.2
Taylor expanded around inf 12.1
rmApplied sqr-pow12.1
Applied associate-*l*7.4
rmApplied add-cube-cbrt7.7
Final simplification14.9
herbie shell --seed 2019326 +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))))