\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)}\frac{\frac{1}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \left(\frac{\sqrt{2}}{{\left(\sqrt[3]{t}\right)}^{3}} \cdot \left(\frac{\sqrt{2}}{{\left(\sqrt[3]{t}\right)}^{3} \cdot \sin k} \cdot \ell\right)\right)}{\tan k} \cdot \frac{\ell}{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}double f(double t, double l, double k) {
double r143684 = 2.0;
double r143685 = t;
double r143686 = 3.0;
double r143687 = pow(r143685, r143686);
double r143688 = l;
double r143689 = r143688 * r143688;
double r143690 = r143687 / r143689;
double r143691 = k;
double r143692 = sin(r143691);
double r143693 = r143690 * r143692;
double r143694 = tan(r143691);
double r143695 = r143693 * r143694;
double r143696 = 1.0;
double r143697 = r143691 / r143685;
double r143698 = pow(r143697, r143684);
double r143699 = r143696 + r143698;
double r143700 = r143699 + r143696;
double r143701 = r143695 * r143700;
double r143702 = r143684 / r143701;
return r143702;
}
double f(double t, double l, double k) {
double r143703 = 1.0;
double r143704 = t;
double r143705 = cbrt(r143704);
double r143706 = 3.0;
double r143707 = pow(r143705, r143706);
double r143708 = r143703 / r143707;
double r143709 = 2.0;
double r143710 = sqrt(r143709);
double r143711 = r143710 / r143707;
double r143712 = k;
double r143713 = sin(r143712);
double r143714 = r143707 * r143713;
double r143715 = r143710 / r143714;
double r143716 = l;
double r143717 = r143715 * r143716;
double r143718 = r143711 * r143717;
double r143719 = r143708 * r143718;
double r143720 = tan(r143712);
double r143721 = r143719 / r143720;
double r143722 = 2.0;
double r143723 = 1.0;
double r143724 = r143712 / r143704;
double r143725 = pow(r143724, r143709);
double r143726 = fma(r143722, r143723, r143725);
double r143727 = r143716 / r143726;
double r143728 = r143721 * r143727;
return r143728;
}



Bits error versus t



Bits error versus l



Bits error versus k
Initial program 32.7
Simplified32.7
rmApplied *-un-lft-identity32.7
Applied times-frac31.9
Applied associate-*r*29.4
Simplified28.1
rmApplied add-cube-cbrt28.4
Applied unpow-prod-down28.4
Applied associate-*l*27.2
rmApplied add-sqr-sqrt27.2
Applied times-frac27.1
Applied associate-*l*24.1
rmApplied unpow-prod-down24.1
Applied *-un-lft-identity24.1
Applied times-frac23.9
Applied associate-*l*21.9
Final simplification21.9
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))))