\left({\left(\frac{d}{h}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{h}{\ell}\right)\left(\left({\left(\frac{1}{\sqrt[3]{h} \cdot \sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left({\left(\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{d}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\right)\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M}{\frac{2 \cdot d}{D}}\right)}^{2}\right) \cdot h}{\ell}\right)double f(double d, double h, double l, double M, double D) {
double r227424 = d;
double r227425 = h;
double r227426 = r227424 / r227425;
double r227427 = 1.0;
double r227428 = 2.0;
double r227429 = r227427 / r227428;
double r227430 = pow(r227426, r227429);
double r227431 = l;
double r227432 = r227424 / r227431;
double r227433 = pow(r227432, r227429);
double r227434 = r227430 * r227433;
double r227435 = M;
double r227436 = D;
double r227437 = r227435 * r227436;
double r227438 = r227428 * r227424;
double r227439 = r227437 / r227438;
double r227440 = pow(r227439, r227428);
double r227441 = r227429 * r227440;
double r227442 = r227425 / r227431;
double r227443 = r227441 * r227442;
double r227444 = r227427 - r227443;
double r227445 = r227434 * r227444;
return r227445;
}
double f(double d, double h, double l, double M, double D) {
double r227446 = 1.0;
double r227447 = h;
double r227448 = cbrt(r227447);
double r227449 = r227448 * r227448;
double r227450 = r227446 / r227449;
double r227451 = 1.0;
double r227452 = 2.0;
double r227453 = r227451 / r227452;
double r227454 = pow(r227450, r227453);
double r227455 = d;
double r227456 = r227455 / r227448;
double r227457 = pow(r227456, r227453);
double r227458 = r227454 * r227457;
double r227459 = l;
double r227460 = cbrt(r227459);
double r227461 = r227460 * r227460;
double r227462 = r227446 / r227461;
double r227463 = pow(r227462, r227453);
double r227464 = r227455 / r227460;
double r227465 = pow(r227464, r227453);
double r227466 = r227463 * r227465;
double r227467 = r227458 * r227466;
double r227468 = M;
double r227469 = r227452 * r227455;
double r227470 = D;
double r227471 = r227469 / r227470;
double r227472 = r227468 / r227471;
double r227473 = pow(r227472, r227452);
double r227474 = r227453 * r227473;
double r227475 = r227474 * r227447;
double r227476 = r227475 / r227459;
double r227477 = r227451 - r227476;
double r227478 = r227467 * r227477;
return r227478;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 27.1
rmApplied add-cube-cbrt27.3
Applied *-un-lft-identity27.3
Applied times-frac27.3
Applied unpow-prod-down23.6
rmApplied add-cube-cbrt23.8
Applied *-un-lft-identity23.8
Applied times-frac23.8
Applied unpow-prod-down18.5
rmApplied associate-*r/16.3
rmApplied associate-/l*16.4
Final simplification16.4
herbie shell --seed 2020056
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
:precision binary64
(* (* (pow (/ d h) (/ 1 2)) (pow (/ d l) (/ 1 2))) (- 1 (* (* (/ 1 2) (pow (/ (* M D) (* 2 d)) 2)) (/ h l)))))