\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 \cdot \ell \le 2.6145740768465546 \cdot 10^{-212}:\\
\;\;\;\;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}{\sin k} \cdot \ell}{\frac{\sin k}{\ell}}\right)\\
\mathbf{elif}\;\ell \cdot \ell \le 8.3711679961397521 \cdot 10^{265}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{\sqrt[3]{1}}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \left(\frac{\cos k}{\sin k} \cdot \frac{\ell}{\frac{\sin k}{\ell}}\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \frac{\left({\left(\frac{1}{{k}^{2} \cdot {t}^{1}}\right)}^{1} \cdot \ell\right) \cdot \cos k}{\sin k \cdot \frac{\sin k}{\ell}}\\
\end{array}double f(double t, double l, double k) {
double r93883 = 2.0;
double r93884 = t;
double r93885 = 3.0;
double r93886 = pow(r93884, r93885);
double r93887 = l;
double r93888 = r93887 * r93887;
double r93889 = r93886 / r93888;
double r93890 = k;
double r93891 = sin(r93890);
double r93892 = r93889 * r93891;
double r93893 = tan(r93890);
double r93894 = r93892 * r93893;
double r93895 = 1.0;
double r93896 = r93890 / r93884;
double r93897 = pow(r93896, r93883);
double r93898 = r93895 + r93897;
double r93899 = r93898 - r93895;
double r93900 = r93894 * r93899;
double r93901 = r93883 / r93900;
return r93901;
}
double f(double t, double l, double k) {
double r93902 = l;
double r93903 = r93902 * r93902;
double r93904 = 2.6145740768465546e-212;
bool r93905 = r93903 <= r93904;
double r93906 = 2.0;
double r93907 = 1.0;
double r93908 = k;
double r93909 = 2.0;
double r93910 = r93906 / r93909;
double r93911 = pow(r93908, r93910);
double r93912 = t;
double r93913 = 1.0;
double r93914 = pow(r93912, r93913);
double r93915 = r93911 * r93914;
double r93916 = r93911 * r93915;
double r93917 = r93907 / r93916;
double r93918 = pow(r93917, r93913);
double r93919 = cos(r93908);
double r93920 = sin(r93908);
double r93921 = r93919 / r93920;
double r93922 = r93921 * r93902;
double r93923 = r93920 / r93902;
double r93924 = r93922 / r93923;
double r93925 = r93918 * r93924;
double r93926 = r93906 * r93925;
double r93927 = 8.371167996139752e+265;
bool r93928 = r93903 <= r93927;
double r93929 = cbrt(r93907);
double r93930 = r93929 * r93929;
double r93931 = r93930 / r93911;
double r93932 = pow(r93931, r93913);
double r93933 = r93929 / r93915;
double r93934 = pow(r93933, r93913);
double r93935 = r93902 / r93923;
double r93936 = r93921 * r93935;
double r93937 = r93934 * r93936;
double r93938 = r93932 * r93937;
double r93939 = r93906 * r93938;
double r93940 = pow(r93908, r93906);
double r93941 = r93940 * r93914;
double r93942 = r93907 / r93941;
double r93943 = pow(r93942, r93913);
double r93944 = r93943 * r93902;
double r93945 = r93944 * r93919;
double r93946 = r93920 * r93923;
double r93947 = r93945 / r93946;
double r93948 = r93906 * r93947;
double r93949 = r93928 ? r93939 : r93948;
double r93950 = r93905 ? r93926 : r93949;
return r93950;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 2.6145740768465546e-212Initial program 46.2
Simplified36.8
Taylor expanded around inf 16.3
rmApplied sqr-pow16.3
Applied associate-*l*16.3
rmApplied add-sqr-sqrt40.3
Applied unpow-prod-down40.3
Applied times-frac40.0
Simplified40.0
Simplified11.6
rmApplied associate-*r/8.6
if 2.6145740768465546e-212 < (* l l) < 8.371167996139752e+265Initial program 43.9
Simplified34.7
Taylor expanded around inf 11.5
rmApplied sqr-pow11.5
Applied associate-*l*7.1
rmApplied add-sqr-sqrt34.8
Applied unpow-prod-down34.8
Applied times-frac34.7
Simplified34.6
Simplified7.0
rmApplied add-cube-cbrt7.0
Applied times-frac6.4
Applied unpow-prod-down6.4
Applied associate-*l*2.9
if 8.371167996139752e+265 < (* l l) Initial program 61.7
Simplified60.6
Taylor expanded around inf 58.8
rmApplied sqr-pow58.8
Applied associate-*l*57.7
rmApplied add-sqr-sqrt60.8
Applied unpow-prod-down60.8
Applied times-frac60.8
Simplified60.8
Simplified57.7
rmApplied frac-times57.7
Applied associate-*r/36.7
Simplified44.3
Final simplification12.7
herbie shell --seed 2020056 +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))))