\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{\frac{2}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \left(\frac{{\left(\sqrt[3]{t}\right)}^{3}}{\ell} \cdot \sin k\right)}}{\frac{\mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)}{\frac{\ell}{{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}}}}}{\tan k}double f(double t, double l, double k) {
double r227987 = 2.0;
double r227988 = t;
double r227989 = 3.0;
double r227990 = pow(r227988, r227989);
double r227991 = l;
double r227992 = r227991 * r227991;
double r227993 = r227990 / r227992;
double r227994 = k;
double r227995 = sin(r227994);
double r227996 = r227993 * r227995;
double r227997 = tan(r227994);
double r227998 = r227996 * r227997;
double r227999 = 1.0;
double r228000 = r227994 / r227988;
double r228001 = pow(r228000, r227987);
double r228002 = r227999 + r228001;
double r228003 = r228002 + r227999;
double r228004 = r227998 * r228003;
double r228005 = r227987 / r228004;
return r228005;
}
double f(double t, double l, double k) {
double r228006 = 2.0;
double r228007 = t;
double r228008 = cbrt(r228007);
double r228009 = r228008 * r228008;
double r228010 = 3.0;
double r228011 = 2.0;
double r228012 = r228010 / r228011;
double r228013 = pow(r228009, r228012);
double r228014 = pow(r228008, r228010);
double r228015 = l;
double r228016 = r228014 / r228015;
double r228017 = k;
double r228018 = sin(r228017);
double r228019 = r228016 * r228018;
double r228020 = r228013 * r228019;
double r228021 = r228006 / r228020;
double r228022 = 1.0;
double r228023 = r228017 / r228007;
double r228024 = pow(r228023, r228006);
double r228025 = fma(r228011, r228022, r228024);
double r228026 = r228015 / r228013;
double r228027 = r228025 / r228026;
double r228028 = r228021 / r228027;
double r228029 = tan(r228017);
double r228030 = r228028 / r228029;
return r228030;
}



Bits error versus t



Bits error versus l



Bits error versus k
Initial program 32.9
Simplified32.9
rmApplied add-cube-cbrt33.0
Applied unpow-prod-down33.0
Applied times-frac25.3
rmApplied sqr-pow25.3
Applied associate-/l*20.5
rmApplied associate-*l/20.5
Applied associate-*l/18.3
Applied associate-/r/18.2
Applied associate-/l*16.7
rmApplied associate-*l*15.6
Final simplification15.6
herbie shell --seed 2019212 +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))))