\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 1.74515736973102547 \cdot 10^{-272}:\\
\;\;\;\;2 \cdot \left(\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{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}}{\sqrt[3]{\sin k}}\right) \cdot \frac{\ell}{\sqrt[3]{\sin k}}\right)\\
\mathbf{elif}\;\ell \cdot \ell \le 1.0276854052952966 \cdot 10^{281}:\\
\;\;\;\;2 \cdot \left({\left(\frac{\sqrt{1}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \left({\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)} \cdot {t}^{1}}\right)}^{1} \cdot \frac{\cos k \cdot {\ell}^{2}}{{\left(\sin k\right)}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \left(\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{{\left(\sqrt[3]{\sin k}\right)}^{4}}{\ell}}}{\sqrt[3]{{\left(\sqrt[3]{\sin k}\right)}^{2}} \cdot \sqrt[3]{{\left(\sqrt[3]{\sin k}\right)}^{2}}}\right) \cdot \frac{\ell}{\sqrt[3]{{\left(\sqrt[3]{\sin k}\right)}^{2}}}\right)\\
\end{array}double f(double t, double l, double k) {
double r303729 = 2.0;
double r303730 = t;
double r303731 = 3.0;
double r303732 = pow(r303730, r303731);
double r303733 = l;
double r303734 = r303733 * r303733;
double r303735 = r303732 / r303734;
double r303736 = k;
double r303737 = sin(r303736);
double r303738 = r303735 * r303737;
double r303739 = tan(r303736);
double r303740 = r303738 * r303739;
double r303741 = 1.0;
double r303742 = r303736 / r303730;
double r303743 = pow(r303742, r303729);
double r303744 = r303741 + r303743;
double r303745 = r303744 - r303741;
double r303746 = r303740 * r303745;
double r303747 = r303729 / r303746;
return r303747;
}
double f(double t, double l, double k) {
double r303748 = l;
double r303749 = r303748 * r303748;
double r303750 = 1.7451573697310255e-272;
bool r303751 = r303749 <= r303750;
double r303752 = 2.0;
double r303753 = 1.0;
double r303754 = k;
double r303755 = 2.0;
double r303756 = r303752 / r303755;
double r303757 = pow(r303754, r303756);
double r303758 = t;
double r303759 = 1.0;
double r303760 = pow(r303758, r303759);
double r303761 = r303757 * r303760;
double r303762 = r303757 * r303761;
double r303763 = r303753 / r303762;
double r303764 = pow(r303763, r303759);
double r303765 = cos(r303754);
double r303766 = sin(r303754);
double r303767 = cbrt(r303766);
double r303768 = 4.0;
double r303769 = pow(r303767, r303768);
double r303770 = r303769 / r303748;
double r303771 = r303765 / r303770;
double r303772 = r303771 / r303767;
double r303773 = r303764 * r303772;
double r303774 = r303748 / r303767;
double r303775 = r303773 * r303774;
double r303776 = r303752 * r303775;
double r303777 = 1.0276854052952966e+281;
bool r303778 = r303749 <= r303777;
double r303779 = sqrt(r303753);
double r303780 = r303779 / r303757;
double r303781 = pow(r303780, r303759);
double r303782 = r303753 / r303761;
double r303783 = pow(r303782, r303759);
double r303784 = pow(r303748, r303755);
double r303785 = r303765 * r303784;
double r303786 = pow(r303766, r303755);
double r303787 = r303785 / r303786;
double r303788 = r303783 * r303787;
double r303789 = r303781 * r303788;
double r303790 = r303752 * r303789;
double r303791 = pow(r303767, r303755);
double r303792 = cbrt(r303791);
double r303793 = r303792 * r303792;
double r303794 = r303771 / r303793;
double r303795 = r303764 * r303794;
double r303796 = r303748 / r303792;
double r303797 = r303795 * r303796;
double r303798 = r303752 * r303797;
double r303799 = r303778 ? r303790 : r303798;
double r303800 = r303751 ? r303776 : r303799;
return r303800;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
if (* l l) < 1.7451573697310255e-272Initial program 47.1
Simplified38.1
Taylor expanded around inf 18.2
rmApplied sqr-pow18.2
Applied associate-*l*18.2
rmApplied add-cube-cbrt18.3
Applied unpow-prod-down18.3
Applied associate-/r*17.8
Simplified12.3
rmApplied unpow212.3
Applied associate-/r/11.8
Applied times-frac9.9
Applied associate-*r*7.6
if 1.7451573697310255e-272 < (* l l) < 1.0276854052952966e+281Initial program 44.5
Simplified35.6
Taylor expanded around inf 11.0
rmApplied sqr-pow11.0
Applied associate-*l*6.5
rmApplied add-sqr-sqrt6.5
Applied times-frac6.2
Applied unpow-prod-down6.2
Applied associate-*l*3.2
Simplified3.2
if 1.0276854052952966e+281 < (* l l) Initial program 62.7
Simplified61.9
Taylor expanded around inf 60.9
rmApplied sqr-pow60.9
Applied associate-*l*60.4
rmApplied add-cube-cbrt60.4
Applied unpow-prod-down60.4
Applied associate-/r*60.4
Simplified60.4
rmApplied add-cube-cbrt60.4
Applied associate-/r/60.4
Applied times-frac60.4
Applied associate-*r*39.8
Final simplification11.0
herbie shell --seed 2020081
(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))))