Average Error: 58.0 → 52.3
Time: 56.9s
Precision: 64
\[\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}\]
\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;
}

Error

Bits error versus c0

Bits error versus w

Bits error versus h

Bits error versus D

Bits error versus d

Bits error versus M

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.0

    \[\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)\]
  2. Simplified51.6

    \[\leadsto \color{blue}{\frac{c0}{2} \cdot \frac{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}{w}}\]
  3. Using strategy rm
  4. Applied clear-num52.3

    \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \color{blue}{\frac{1}{\frac{w \cdot h}{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}}}{w}\]
  5. Final simplification52.3

    \[\leadsto \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}\]

Reproduce

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))))))