w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left(\left(\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right| \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right| \cdot {\left(\left(M \cdot D\right) \cdot \frac{1}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r123142 = w0;
double r123143 = 1.0;
double r123144 = M;
double r123145 = D;
double r123146 = r123144 * r123145;
double r123147 = 2.0;
double r123148 = d;
double r123149 = r123147 * r123148;
double r123150 = r123146 / r123149;
double r123151 = pow(r123150, r123147);
double r123152 = h;
double r123153 = l;
double r123154 = r123152 / r123153;
double r123155 = r123151 * r123154;
double r123156 = r123143 - r123155;
double r123157 = sqrt(r123156);
double r123158 = r123142 * r123157;
return r123158;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r123159 = w0;
double r123160 = 1.0;
double r123161 = h;
double r123162 = cbrt(r123161);
double r123163 = l;
double r123164 = cbrt(r123163);
double r123165 = r123162 / r123164;
double r123166 = fabs(r123165);
double r123167 = M;
double r123168 = D;
double r123169 = r123167 * r123168;
double r123170 = 2.0;
double r123171 = d;
double r123172 = r123170 * r123171;
double r123173 = r123169 / r123172;
double r123174 = 2.0;
double r123175 = r123170 / r123174;
double r123176 = pow(r123173, r123175);
double r123177 = r123166 * r123176;
double r123178 = 1.0;
double r123179 = r123178 / r123172;
double r123180 = r123169 * r123179;
double r123181 = pow(r123180, r123175);
double r123182 = r123166 * r123181;
double r123183 = r123177 * r123182;
double r123184 = r123183 * r123165;
double r123185 = r123160 - r123184;
double r123186 = sqrt(r123185);
double r123187 = r123159 * r123186;
return r123187;
}



Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
Initial program 13.7
rmApplied add-cube-cbrt13.7
Applied add-cube-cbrt13.7
Applied times-frac13.7
Applied associate-*r*10.7
rmApplied add-sqr-sqrt10.7
Applied sqr-pow10.7
Applied unswap-sqr9.1
Simplified9.0
Simplified8.2
rmApplied div-inv8.2
Final simplification8.2
herbie shell --seed 2019212
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
:precision binary64
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))