Average Error: 58.0 → 52.0
Time: 53.6s
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{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{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{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w}
double f(double c0, double w, double h, double D, double d, double M) {
        double r5358257 = c0;
        double r5358258 = 2.0;
        double r5358259 = w;
        double r5358260 = r5358258 * r5358259;
        double r5358261 = r5358257 / r5358260;
        double r5358262 = d;
        double r5358263 = r5358262 * r5358262;
        double r5358264 = r5358257 * r5358263;
        double r5358265 = h;
        double r5358266 = r5358259 * r5358265;
        double r5358267 = D;
        double r5358268 = r5358267 * r5358267;
        double r5358269 = r5358266 * r5358268;
        double r5358270 = r5358264 / r5358269;
        double r5358271 = r5358270 * r5358270;
        double r5358272 = M;
        double r5358273 = r5358272 * r5358272;
        double r5358274 = r5358271 - r5358273;
        double r5358275 = sqrt(r5358274);
        double r5358276 = r5358270 + r5358275;
        double r5358277 = r5358261 * r5358276;
        return r5358277;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r5358278 = c0;
        double r5358279 = 2.0;
        double r5358280 = r5358278 / r5358279;
        double r5358281 = d;
        double r5358282 = D;
        double r5358283 = r5358281 / r5358282;
        double r5358284 = r5358278 * r5358283;
        double r5358285 = r5358284 * r5358283;
        double r5358286 = w;
        double r5358287 = h;
        double r5358288 = r5358286 * r5358287;
        double r5358289 = r5358285 / r5358288;
        double r5358290 = M;
        double r5358291 = r5358289 - r5358290;
        double r5358292 = r5358290 + r5358289;
        double r5358293 = r5358291 * r5358292;
        double r5358294 = sqrt(r5358293);
        double r5358295 = r5358294 + r5358289;
        double r5358296 = sqrt(r5358295);
        double r5358297 = r5358296 * r5358296;
        double r5358298 = r5358297 / r5358286;
        double r5358299 = r5358280 * r5358298;
        return r5358299;
}

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.5

    \[\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 add-sqr-sqrt52.0

    \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{\sqrt{\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}} \cdot \sqrt{\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}\]
  5. Final simplification52.0

    \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt{\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{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w}\]

Reproduce

herbie shell --seed 2019158 
(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))))))