\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{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({\left(\sqrt[3]{d} \cdot \sqrt[3]{d}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\ell}\right)}^{\left(\frac{1}{2}\right)}\right) \cdot \left(1 - \frac{\left(\frac{1}{2} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2}\right) \cdot h}{\ell}\right)\right)double f(double d, double h, double l, double M, double D) {
double r189332 = d;
double r189333 = h;
double r189334 = r189332 / r189333;
double r189335 = 1.0;
double r189336 = 2.0;
double r189337 = r189335 / r189336;
double r189338 = pow(r189334, r189337);
double r189339 = l;
double r189340 = r189332 / r189339;
double r189341 = pow(r189340, r189337);
double r189342 = r189338 * r189341;
double r189343 = M;
double r189344 = D;
double r189345 = r189343 * r189344;
double r189346 = r189336 * r189332;
double r189347 = r189345 / r189346;
double r189348 = pow(r189347, r189336);
double r189349 = r189337 * r189348;
double r189350 = r189333 / r189339;
double r189351 = r189349 * r189350;
double r189352 = r189335 - r189351;
double r189353 = r189342 * r189352;
return r189353;
}
double f(double d, double h, double l, double M, double D) {
double r189354 = 1.0;
double r189355 = h;
double r189356 = cbrt(r189355);
double r189357 = r189356 * r189356;
double r189358 = r189354 / r189357;
double r189359 = 1.0;
double r189360 = 2.0;
double r189361 = r189359 / r189360;
double r189362 = pow(r189358, r189361);
double r189363 = d;
double r189364 = r189363 / r189356;
double r189365 = pow(r189364, r189361);
double r189366 = r189362 * r189365;
double r189367 = cbrt(r189363);
double r189368 = r189367 * r189367;
double r189369 = pow(r189368, r189361);
double r189370 = l;
double r189371 = r189367 / r189370;
double r189372 = pow(r189371, r189361);
double r189373 = r189369 * r189372;
double r189374 = M;
double r189375 = D;
double r189376 = r189374 * r189375;
double r189377 = r189360 * r189363;
double r189378 = r189376 / r189377;
double r189379 = pow(r189378, r189360);
double r189380 = r189361 * r189379;
double r189381 = r189380 * r189355;
double r189382 = r189381 / r189370;
double r189383 = r189359 - r189382;
double r189384 = r189373 * r189383;
double r189385 = r189366 * r189384;
return r189385;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.3
rmApplied add-cube-cbrt26.5
Applied *-un-lft-identity26.5
Applied times-frac26.5
Applied unpow-prod-down21.8
rmApplied *-un-lft-identity21.8
Applied add-cube-cbrt21.9
Applied times-frac21.9
Applied unpow-prod-down18.2
Simplified18.2
rmApplied associate-*r/15.6
rmApplied associate-*l*15.8
Final simplification15.8
herbie shell --seed 2019323 +o rules:numerics
(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)))))