\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(\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) \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 r224171 = d;
double r224172 = h;
double r224173 = r224171 / r224172;
double r224174 = 1.0;
double r224175 = 2.0;
double r224176 = r224174 / r224175;
double r224177 = pow(r224173, r224176);
double r224178 = l;
double r224179 = r224171 / r224178;
double r224180 = pow(r224179, r224176);
double r224181 = r224177 * r224180;
double r224182 = M;
double r224183 = D;
double r224184 = r224182 * r224183;
double r224185 = r224175 * r224171;
double r224186 = r224184 / r224185;
double r224187 = pow(r224186, r224175);
double r224188 = r224176 * r224187;
double r224189 = r224172 / r224178;
double r224190 = r224188 * r224189;
double r224191 = r224174 - r224190;
double r224192 = r224181 * r224191;
return r224192;
}
double f(double d, double h, double l, double M, double D) {
double r224193 = 1.0;
double r224194 = h;
double r224195 = cbrt(r224194);
double r224196 = r224195 * r224195;
double r224197 = r224193 / r224196;
double r224198 = 1.0;
double r224199 = 2.0;
double r224200 = r224198 / r224199;
double r224201 = pow(r224197, r224200);
double r224202 = d;
double r224203 = r224202 / r224195;
double r224204 = pow(r224203, r224200);
double r224205 = r224201 * r224204;
double r224206 = cbrt(r224202);
double r224207 = r224206 * r224206;
double r224208 = l;
double r224209 = cbrt(r224208);
double r224210 = r224209 * r224209;
double r224211 = r224207 / r224210;
double r224212 = pow(r224211, r224200);
double r224213 = r224206 / r224209;
double r224214 = pow(r224213, r224200);
double r224215 = r224212 * r224214;
double r224216 = M;
double r224217 = D;
double r224218 = r224216 * r224217;
double r224219 = r224199 * r224202;
double r224220 = r224218 / r224219;
double r224221 = pow(r224220, r224199);
double r224222 = r224200 * r224221;
double r224223 = r224196 / r224210;
double r224224 = r224222 * r224223;
double r224225 = r224195 / r224209;
double r224226 = r224224 * r224225;
double r224227 = r224198 - r224226;
double r224228 = r224215 * r224227;
double r224229 = r224205 * r224228;
return r224229;
}



Bits error versus d



Bits error versus h



Bits error versus l



Bits error versus M



Bits error versus D
Results
Initial program 26.7
rmApplied add-cube-cbrt26.9
Applied *-un-lft-identity26.9
Applied times-frac26.9
Applied unpow-prod-down21.9
rmApplied add-cube-cbrt22.0
Applied add-cube-cbrt22.1
Applied times-frac22.1
Applied unpow-prod-down18.0
rmApplied add-cube-cbrt18.1
Applied add-cube-cbrt18.0
Applied times-frac18.0
Applied associate-*r*15.1
rmApplied associate-*l*15.0
Final simplification15.0
herbie shell --seed 2020001 +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)))))