\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{2}{\left(\left(\tan k \cdot {\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)}\right) \cdot \left({\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)}^{\left(\frac{3}{2}\right)} \cdot \frac{{\left(\sqrt[3]{t}\right)}^{3} \cdot \sin k}{\ell}\right)\right) \cdot \mathsf{fma}\left(2, 1, {\left(\frac{k}{t}\right)}^{2}\right)} \cdot \elldouble f(double t, double l, double k) {
double r96300 = 2.0;
double r96301 = t;
double r96302 = 3.0;
double r96303 = pow(r96301, r96302);
double r96304 = l;
double r96305 = r96304 * r96304;
double r96306 = r96303 / r96305;
double r96307 = k;
double r96308 = sin(r96307);
double r96309 = r96306 * r96308;
double r96310 = tan(r96307);
double r96311 = r96309 * r96310;
double r96312 = 1.0;
double r96313 = r96307 / r96301;
double r96314 = pow(r96313, r96300);
double r96315 = r96312 + r96314;
double r96316 = r96315 + r96312;
double r96317 = r96311 * r96316;
double r96318 = r96300 / r96317;
return r96318;
}
double f(double t, double l, double k) {
double r96319 = 2.0;
double r96320 = k;
double r96321 = tan(r96320);
double r96322 = t;
double r96323 = cbrt(r96322);
double r96324 = r96323 * r96323;
double r96325 = 3.0;
double r96326 = 2.0;
double r96327 = r96325 / r96326;
double r96328 = pow(r96324, r96327);
double r96329 = r96321 * r96328;
double r96330 = pow(r96323, r96325);
double r96331 = sin(r96320);
double r96332 = r96330 * r96331;
double r96333 = l;
double r96334 = r96332 / r96333;
double r96335 = r96328 * r96334;
double r96336 = r96329 * r96335;
double r96337 = 1.0;
double r96338 = r96320 / r96322;
double r96339 = pow(r96338, r96319);
double r96340 = fma(r96326, r96337, r96339);
double r96341 = r96336 * r96340;
double r96342 = r96319 / r96341;
double r96343 = r96342 * r96333;
return r96343;
}



Bits error versus t



Bits error versus l



Bits error versus k
Initial program 32.1
Simplified27.6
rmApplied add-cube-cbrt27.9
Applied unpow-prod-down27.9
Applied associate-*l*26.8
rmApplied *-un-lft-identity26.8
Applied times-frac23.9
Simplified23.9
rmApplied sqr-pow23.9
Applied associate-*l*21.7
rmApplied associate-*r*19.5
Final simplification19.5
herbie shell --seed 2020045 +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))))