\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{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)} \cdot {\left(\frac{\sqrt[3]{d}}{\sqrt[3]{\ell}}\right)}^{\left(\frac{1}{2}\right)}\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)double f(double d, double h, double l, double M, double D) {
double r284301 = d;
double r284302 = h;
double r284303 = r284301 / r284302;
double r284304 = 1.0;
double r284305 = 2.0;
double r284306 = r284304 / r284305;
double r284307 = pow(r284303, r284306);
double r284308 = l;
double r284309 = r284301 / r284308;
double r284310 = pow(r284309, r284306);
double r284311 = r284307 * r284310;
double r284312 = M;
double r284313 = D;
double r284314 = r284312 * r284313;
double r284315 = r284305 * r284301;
double r284316 = r284314 / r284315;
double r284317 = pow(r284316, r284305);
double r284318 = r284306 * r284317;
double r284319 = r284302 / r284308;
double r284320 = r284318 * r284319;
double r284321 = r284304 - r284320;
double r284322 = r284311 * r284321;
return r284322;
}
double f(double d, double h, double l, double M, double D) {
double r284323 = 1.0;
double r284324 = h;
double r284325 = cbrt(r284324);
double r284326 = r284325 * r284325;
double r284327 = r284323 / r284326;
double r284328 = 1.0;
double r284329 = 2.0;
double r284330 = r284328 / r284329;
double r284331 = pow(r284327, r284330);
double r284332 = d;
double r284333 = r284332 / r284325;
double r284334 = pow(r284333, r284330);
double r284335 = r284331 * r284334;
double r284336 = cbrt(r284332);
double r284337 = r284336 * r284336;
double r284338 = l;
double r284339 = cbrt(r284338);
double r284340 = r284339 * r284339;
double r284341 = r284337 / r284340;
double r284342 = pow(r284341, r284330);
double r284343 = r284336 / r284339;
double r284344 = pow(r284343, r284330);
double r284345 = r284342 * r284344;
double r284346 = r284335 * r284345;
double r284347 = M;
double r284348 = D;
double r284349 = r284347 * r284348;
double r284350 = r284329 * r284332;
double r284351 = r284349 / r284350;
double r284352 = pow(r284351, r284329);
double r284353 = r284330 * r284352;
double r284354 = r284326 / r284340;
double r284355 = r284353 * r284354;
double r284356 = r284325 / r284339;
double r284357 = r284355 * r284356;
double r284358 = r284328 - r284357;
double r284359 = r284346 * r284358;
return r284359;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.8
rmApplied add-cube-cbrt27.0
Applied *-un-lft-identity27.0
Applied times-frac27.1
Applied unpow-prod-down21.8
rmApplied add-cube-cbrt21.9
Applied add-cube-cbrt22.0
Applied times-frac22.0
Applied unpow-prod-down18.3
rmApplied add-cube-cbrt18.3
Applied add-cube-cbrt18.3
Applied times-frac18.3
Applied associate-*r*15.4
Final simplification15.4
herbie shell --seed 2019212
(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)))))