\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)}\left(\frac{{\left(\frac{1}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1}}{\frac{\frac{\sin k}{\cos k}}{\ell}} \cdot \left({\left(\frac{\frac{1}{{t}^{1}}}{{k}^{\left(\frac{2}{2}\right)}}\right)}^{1} \cdot \frac{1}{\frac{\sin k}{\ell}}\right)\right) \cdot 2double f(double t, double l, double k) {
double r10033852 = 2.0;
double r10033853 = t;
double r10033854 = 3.0;
double r10033855 = pow(r10033853, r10033854);
double r10033856 = l;
double r10033857 = r10033856 * r10033856;
double r10033858 = r10033855 / r10033857;
double r10033859 = k;
double r10033860 = sin(r10033859);
double r10033861 = r10033858 * r10033860;
double r10033862 = tan(r10033859);
double r10033863 = r10033861 * r10033862;
double r10033864 = 1.0;
double r10033865 = r10033859 / r10033853;
double r10033866 = pow(r10033865, r10033852);
double r10033867 = r10033864 + r10033866;
double r10033868 = r10033867 - r10033864;
double r10033869 = r10033863 * r10033868;
double r10033870 = r10033852 / r10033869;
return r10033870;
}
double f(double t, double l, double k) {
double r10033871 = 1.0;
double r10033872 = k;
double r10033873 = 2.0;
double r10033874 = 2.0;
double r10033875 = r10033873 / r10033874;
double r10033876 = pow(r10033872, r10033875);
double r10033877 = r10033871 / r10033876;
double r10033878 = 1.0;
double r10033879 = pow(r10033877, r10033878);
double r10033880 = sin(r10033872);
double r10033881 = cos(r10033872);
double r10033882 = r10033880 / r10033881;
double r10033883 = l;
double r10033884 = r10033882 / r10033883;
double r10033885 = r10033879 / r10033884;
double r10033886 = t;
double r10033887 = pow(r10033886, r10033878);
double r10033888 = r10033871 / r10033887;
double r10033889 = r10033888 / r10033876;
double r10033890 = pow(r10033889, r10033878);
double r10033891 = r10033880 / r10033883;
double r10033892 = r10033871 / r10033891;
double r10033893 = r10033890 * r10033892;
double r10033894 = r10033885 * r10033893;
double r10033895 = r10033894 * r10033873;
return r10033895;
}



Bits error versus t



Bits error versus l



Bits error versus k
Results
Initial program 48.2
Simplified40.3
Taylor expanded around inf 21.9
rmApplied sqr-pow21.9
Applied associate-*r*19.9
rmApplied *-un-lft-identity19.9
Applied times-frac19.7
Applied unpow-prod-down19.7
Applied associate-*l*18.3
Simplified18.2
rmApplied *-un-lft-identity18.2
Applied times-frac18.2
Applied times-frac13.9
Applied *-un-lft-identity13.9
Applied *-un-lft-identity13.9
Applied times-frac13.9
Applied unpow-prod-down13.9
Applied times-frac9.0
Applied associate-*r*4.4
Simplified4.1
Final simplification4.1
herbie shell --seed 2019169 +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))))