\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(\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{h} \cdot \sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\sqrt[3]{h}}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(\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) \cdot \left(1 - \left(\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot \frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)double f(double d, double h, double l, double M, double D) {
double r194428 = d;
double r194429 = h;
double r194430 = r194428 / r194429;
double r194431 = 1.0;
double r194432 = 2.0;
double r194433 = r194431 / r194432;
double r194434 = pow(r194430, r194433);
double r194435 = l;
double r194436 = r194428 / r194435;
double r194437 = pow(r194436, r194433);
double r194438 = r194434 * r194437;
double r194439 = M;
double r194440 = D;
double r194441 = r194439 * r194440;
double r194442 = r194432 * r194428;
double r194443 = r194441 / r194442;
double r194444 = pow(r194443, r194432);
double r194445 = r194433 * r194444;
double r194446 = r194429 / r194435;
double r194447 = r194445 * r194446;
double r194448 = r194431 - r194447;
double r194449 = r194438 * r194448;
return r194449;
}
double f(double d, double h, double l, double M, double D) {
double r194450 = d;
double r194451 = cbrt(r194450);
double r194452 = r194451 * r194451;
double r194453 = h;
double r194454 = cbrt(r194453);
double r194455 = r194454 * r194454;
double r194456 = r194452 / r194455;
double r194457 = 1.0;
double r194458 = 2.0;
double r194459 = r194457 / r194458;
double r194460 = pow(r194456, r194459);
double r194461 = r194451 / r194454;
double r194462 = pow(r194461, r194459);
double r194463 = r194460 * r194462;
double r194464 = 1.0;
double r194465 = l;
double r194466 = cbrt(r194465);
double r194467 = r194466 * r194466;
double r194468 = r194464 / r194467;
double r194469 = pow(r194468, r194459);
double r194470 = r194450 / r194466;
double r194471 = pow(r194470, r194459);
double r194472 = r194469 * r194471;
double r194473 = M;
double r194474 = D;
double r194475 = r194473 * r194474;
double r194476 = r194458 * r194450;
double r194477 = r194475 / r194476;
double r194478 = pow(r194477, r194458);
double r194479 = r194459 * r194478;
double r194480 = r194455 / r194467;
double r194481 = r194479 * r194480;
double r194482 = r194454 / r194466;
double r194483 = r194481 * r194482;
double r194484 = r194457 - r194483;
double r194485 = r194472 * r194484;
double r194486 = r194463 * r194485;
return r194486;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 25.8
rmApplied add-cube-cbrt26.0
Applied *-un-lft-identity26.0
Applied times-frac26.0
Applied unpow-prod-down22.3
rmApplied add-cube-cbrt22.4
Applied add-cube-cbrt22.5
Applied times-frac22.5
Applied unpow-prod-down17.3
rmApplied add-cube-cbrt17.4
Applied add-cube-cbrt17.4
Applied times-frac17.4
Applied associate-*r*14.8
rmApplied associate-*l*14.6
Final simplification14.6
herbie shell --seed 2019318
(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)))))