\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)\frac{c0}{2} \cdot \frac{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{1}{\frac{w \cdot h}{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}}{w}double f(double c0, double w, double h, double D, double d, double M) {
double r5780149 = c0;
double r5780150 = 2.0;
double r5780151 = w;
double r5780152 = r5780150 * r5780151;
double r5780153 = r5780149 / r5780152;
double r5780154 = d;
double r5780155 = r5780154 * r5780154;
double r5780156 = r5780149 * r5780155;
double r5780157 = h;
double r5780158 = r5780151 * r5780157;
double r5780159 = D;
double r5780160 = r5780159 * r5780159;
double r5780161 = r5780158 * r5780160;
double r5780162 = r5780156 / r5780161;
double r5780163 = r5780162 * r5780162;
double r5780164 = M;
double r5780165 = r5780164 * r5780164;
double r5780166 = r5780163 - r5780165;
double r5780167 = sqrt(r5780166);
double r5780168 = r5780162 + r5780167;
double r5780169 = r5780153 * r5780168;
return r5780169;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r5780170 = c0;
double r5780171 = 2.0;
double r5780172 = r5780170 / r5780171;
double r5780173 = d;
double r5780174 = D;
double r5780175 = r5780173 / r5780174;
double r5780176 = r5780170 * r5780175;
double r5780177 = r5780176 * r5780175;
double r5780178 = w;
double r5780179 = h;
double r5780180 = r5780178 * r5780179;
double r5780181 = r5780177 / r5780180;
double r5780182 = M;
double r5780183 = r5780181 - r5780182;
double r5780184 = r5780182 + r5780181;
double r5780185 = r5780183 * r5780184;
double r5780186 = sqrt(r5780185);
double r5780187 = 1.0;
double r5780188 = r5780180 / r5780177;
double r5780189 = r5780187 / r5780188;
double r5780190 = r5780186 + r5780189;
double r5780191 = r5780190 / r5780178;
double r5780192 = r5780172 * r5780191;
return r5780192;
}



Bits error versus c0



Bits error versus w



Bits error versus h



Bits error versus D



Bits error versus d



Bits error versus M
Results
Initial program 58.0
Simplified51.6
rmApplied clear-num52.3
Final simplification52.3
herbie shell --seed 2019146
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
(* (/ c0 (* 2 w)) (+ (/ (* c0 (* d d)) (* (* w h) (* D D))) (sqrt (- (* (/ (* c0 (* d d)) (* (* w h) (* D D))) (/ (* c0 (* d d)) (* (* w h) (* D D)))) (* M M))))))