\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 2362365607704.0986328125:\\
\;\;\;\;\frac{2}{\frac{\mathsf{fma}\left(2, \left({\left(\frac{1}{{-1}^{2}}\right)}^{1} \cdot \frac{1}{\cos k}\right) \cdot \frac{\left(\sin k \cdot t\right) \cdot \left(\sin k \cdot t\right)}{\ell}, \frac{{\left(\frac{1}{{-1}^{2}}\right)}^{1}}{\cos k} \cdot \frac{\left(\sin k \cdot k\right) \cdot \left(\sin k \cdot k\right)}{\ell}\right)}{\frac{\ell}{{\left(\sqrt[3]{t}\right)}^{3}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\frac{\frac{\left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right) \cdot {\left(\sqrt[3]{t}\right)}^{3}}{\frac{\sqrt[3]{\ell}}{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}} \cdot \frac{\left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) + 1\right) \cdot \tan k}{\frac{\sqrt[3]{\ell}}{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}}}{\frac{\sqrt[3]{\ell}}{\sqrt[3]{{\left(\sqrt[3]{t}\right)}^{3}}}}}\\
\end{array}double f(double t, double l, double k) {
double r3857019 = 2.0;
double r3857020 = t;
double r3857021 = 3.0;
double r3857022 = pow(r3857020, r3857021);
double r3857023 = l;
double r3857024 = r3857023 * r3857023;
double r3857025 = r3857022 / r3857024;
double r3857026 = k;
double r3857027 = sin(r3857026);
double r3857028 = r3857025 * r3857027;
double r3857029 = tan(r3857026);
double r3857030 = r3857028 * r3857029;
double r3857031 = 1.0;
double r3857032 = r3857026 / r3857020;
double r3857033 = pow(r3857032, r3857019);
double r3857034 = r3857031 + r3857033;
double r3857035 = r3857034 + r3857031;
double r3857036 = r3857030 * r3857035;
double r3857037 = r3857019 / r3857036;
return r3857037;
}
double f(double t, double l, double k) {
double r3857038 = t;
double r3857039 = 2362365607704.0986;
bool r3857040 = r3857038 <= r3857039;
double r3857041 = 2.0;
double r3857042 = 1.0;
double r3857043 = -1.0;
double r3857044 = pow(r3857043, r3857041);
double r3857045 = r3857042 / r3857044;
double r3857046 = 1.0;
double r3857047 = pow(r3857045, r3857046);
double r3857048 = k;
double r3857049 = cos(r3857048);
double r3857050 = r3857042 / r3857049;
double r3857051 = r3857047 * r3857050;
double r3857052 = sin(r3857048);
double r3857053 = r3857052 * r3857038;
double r3857054 = r3857053 * r3857053;
double r3857055 = l;
double r3857056 = r3857054 / r3857055;
double r3857057 = r3857051 * r3857056;
double r3857058 = r3857047 / r3857049;
double r3857059 = r3857052 * r3857048;
double r3857060 = r3857059 * r3857059;
double r3857061 = r3857060 / r3857055;
double r3857062 = r3857058 * r3857061;
double r3857063 = fma(r3857041, r3857057, r3857062);
double r3857064 = cbrt(r3857038);
double r3857065 = 3.0;
double r3857066 = pow(r3857064, r3857065);
double r3857067 = r3857055 / r3857066;
double r3857068 = r3857063 / r3857067;
double r3857069 = r3857041 / r3857068;
double r3857070 = r3857066 / r3857055;
double r3857071 = r3857070 * r3857052;
double r3857072 = r3857071 * r3857066;
double r3857073 = cbrt(r3857055);
double r3857074 = cbrt(r3857066);
double r3857075 = r3857073 / r3857074;
double r3857076 = r3857072 / r3857075;
double r3857077 = r3857048 / r3857038;
double r3857078 = pow(r3857077, r3857041);
double r3857079 = r3857046 + r3857078;
double r3857080 = r3857079 + r3857046;
double r3857081 = tan(r3857048);
double r3857082 = r3857080 * r3857081;
double r3857083 = r3857082 / r3857075;
double r3857084 = r3857076 * r3857083;
double r3857085 = r3857084 / r3857075;
double r3857086 = r3857041 / r3857085;
double r3857087 = r3857040 ? r3857069 : r3857086;
return r3857087;
}



Bits error versus t



Bits error versus l



Bits error versus k
if t < 2362365607704.0986Initial program 36.6
rmApplied add-cube-cbrt36.7
Applied unpow-prod-down36.7
Applied times-frac29.6
Applied associate-*l*28.0
rmApplied unpow-prod-down28.0
Applied associate-/l*22.5
rmApplied associate-*l/21.9
Applied associate-*l/21.5
Applied associate-*l/19.5
Taylor expanded around -inf 21.3
Simplified15.7
if 2362365607704.0986 < t Initial program 22.5
rmApplied add-cube-cbrt22.6
Applied unpow-prod-down22.6
Applied times-frac16.3
Applied associate-*l*14.4
rmApplied unpow-prod-down14.4
Applied associate-/l*8.2
rmApplied associate-*l/6.8
Applied associate-*l/3.8
Applied associate-*l/3.5
rmApplied add-cube-cbrt3.5
Applied add-cube-cbrt3.5
Applied times-frac3.5
Applied associate-/r*3.5
Simplified3.5
Final simplification12.1
herbie shell --seed 2019200 +o rules:numerics
(FPCore (t l k)
:name "Toniolo and Linder, Equation (10+)"
(/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (+ (+ 1.0 (pow (/ k t) 2.0)) 1.0))))