Average Error: 59.6 → 53.3
Time: 50.1s
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)\]
\[\begin{array}{l} \mathbf{if}\;d \cdot d \le 8.117642060768603289178264207303360420434 \cdot 10^{-277}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}} - M\right)} + \frac{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w}}{h}}{w}\\ \mathbf{elif}\;d \cdot d \le 2.99512029873944103650388031781332289925 \cdot 10^{260}:\\ \;\;\;\;\frac{\frac{2 \cdot c0}{\frac{D \cdot \left(\left(h \cdot w\right) \cdot D\right)}{d \cdot d}}}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}} \cdot \sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}}}{w}\\ \end{array}\]
\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)
\begin{array}{l}
\mathbf{if}\;d \cdot d \le 8.117642060768603289178264207303360420434 \cdot 10^{-277}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}} - M\right)} + \frac{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w}}{h}}{w}\\

\mathbf{elif}\;d \cdot d \le 2.99512029873944103650388031781332289925 \cdot 10^{260}:\\
\;\;\;\;\frac{\frac{2 \cdot c0}{\frac{D \cdot \left(\left(h \cdot w\right) \cdot D\right)}{d \cdot d}}}{w} \cdot \frac{c0}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}} \cdot \sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}}}{w}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r6098362 = c0;
        double r6098363 = 2.0;
        double r6098364 = w;
        double r6098365 = r6098363 * r6098364;
        double r6098366 = r6098362 / r6098365;
        double r6098367 = d;
        double r6098368 = r6098367 * r6098367;
        double r6098369 = r6098362 * r6098368;
        double r6098370 = h;
        double r6098371 = r6098364 * r6098370;
        double r6098372 = D;
        double r6098373 = r6098372 * r6098372;
        double r6098374 = r6098371 * r6098373;
        double r6098375 = r6098369 / r6098374;
        double r6098376 = r6098375 * r6098375;
        double r6098377 = M;
        double r6098378 = r6098377 * r6098377;
        double r6098379 = r6098376 - r6098378;
        double r6098380 = sqrt(r6098379);
        double r6098381 = r6098375 + r6098380;
        double r6098382 = r6098366 * r6098381;
        return r6098382;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r6098383 = d;
        double r6098384 = r6098383 * r6098383;
        double r6098385 = 8.117642060768603e-277;
        bool r6098386 = r6098384 <= r6098385;
        double r6098387 = c0;
        double r6098388 = 2.0;
        double r6098389 = r6098387 / r6098388;
        double r6098390 = D;
        double r6098391 = r6098383 / r6098390;
        double r6098392 = r6098387 * r6098391;
        double r6098393 = r6098391 * r6098392;
        double r6098394 = h;
        double r6098395 = w;
        double r6098396 = r6098394 * r6098395;
        double r6098397 = r6098393 / r6098396;
        double r6098398 = M;
        double r6098399 = r6098397 + r6098398;
        double r6098400 = r6098396 / r6098391;
        double r6098401 = r6098392 / r6098400;
        double r6098402 = r6098401 - r6098398;
        double r6098403 = r6098399 * r6098402;
        double r6098404 = sqrt(r6098403);
        double r6098405 = r6098393 / r6098395;
        double r6098406 = r6098405 / r6098394;
        double r6098407 = r6098404 + r6098406;
        double r6098408 = r6098407 / r6098395;
        double r6098409 = r6098389 * r6098408;
        double r6098410 = 2.995120298739441e+260;
        bool r6098411 = r6098384 <= r6098410;
        double r6098412 = 2.0;
        double r6098413 = r6098412 * r6098387;
        double r6098414 = r6098396 * r6098390;
        double r6098415 = r6098390 * r6098414;
        double r6098416 = r6098415 / r6098384;
        double r6098417 = r6098413 / r6098416;
        double r6098418 = r6098417 / r6098395;
        double r6098419 = r6098418 * r6098389;
        double r6098420 = r6098397 - r6098398;
        double r6098421 = r6098420 * r6098399;
        double r6098422 = sqrt(r6098421);
        double r6098423 = r6098397 + r6098422;
        double r6098424 = sqrt(r6098423);
        double r6098425 = r6098424 * r6098424;
        double r6098426 = r6098425 / r6098395;
        double r6098427 = r6098389 * r6098426;
        double r6098428 = r6098411 ? r6098419 : r6098427;
        double r6098429 = r6098386 ? r6098409 : r6098428;
        return r6098429;
}

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. Split input into 3 regimes
  2. if (* d d) < 8.117642060768603e-277

    1. Initial program 62.2

      \[\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. Simplified43.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 associate-/l*44.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(\color{blue}{\frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}{w}\]
    5. Using strategy rm
    6. Applied associate-/r*45.6

      \[\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{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}} - M\right)} + \color{blue}{\frac{\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w}}{h}}}{w}\]

    if 8.117642060768603e-277 < (* d d) < 2.995120298739441e+260

    1. Initial program 55.5

      \[\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.8

      \[\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. Taylor expanded around 0 55.4

      \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{2 \cdot \frac{c0 \cdot {d}^{2}}{{D}^{2} \cdot \left(w \cdot h\right)}}}{w}\]
    4. Simplified52.3

      \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{\frac{c0 \cdot 2}{\frac{\left(D \cdot \left(w \cdot h\right)\right) \cdot D}{d \cdot d}}}}{w}\]

    if 2.995120298739441e+260 < (* d d)

    1. Initial program 63.2

      \[\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. Simplified56.4

      \[\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-sqrt56.6

      \[\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}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification53.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \cdot d \le 8.117642060768603289178264207303360420434 \cdot 10^{-277}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}} - M\right)} + \frac{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w}}{h}}{w}\\ \mathbf{elif}\;d \cdot d \le 2.99512029873944103650388031781332289925 \cdot 10^{260}:\\ \;\;\;\;\frac{\frac{2 \cdot c0}{\frac{D \cdot \left(\left(h \cdot w\right) \cdot D\right)}{d \cdot d}}}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}} \cdot \sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)}}}{w}\\ \end{array}\]

Reproduce

herbie shell --seed 2019170 
(FPCore (c0 w h D d M)
  :name "Henrywood and Agarwal, Equation (13)"
  (* (/ c0 (* 2.0 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))))))