Average Error: 59.2 → 34.0
Time: 1.8m
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 2.16684159964400191720754917166912537377 \cdot 10^{302}:\\ \;\;\;\;\frac{0}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D} \cdot c0}}}{w} \cdot \left(\frac{\frac{1}{\frac{h}{\frac{d}{D} \cdot c0}}}{\sqrt[3]{w}} \cdot \frac{\frac{d}{D}}{\sqrt[3]{w} \cdot \sqrt[3]{w}}\right) - M \cdot M} + \frac{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D} \cdot c0}}}{w}}{w} \cdot \frac{c0}{2}\\ \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 2.16684159964400191720754917166912537377 \cdot 10^{302}:\\
\;\;\;\;\frac{0}{w} \cdot \frac{c0}{2}\\

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r9970346 = c0;
        double r9970347 = 2.0;
        double r9970348 = w;
        double r9970349 = r9970347 * r9970348;
        double r9970350 = r9970346 / r9970349;
        double r9970351 = d;
        double r9970352 = r9970351 * r9970351;
        double r9970353 = r9970346 * r9970352;
        double r9970354 = h;
        double r9970355 = r9970348 * r9970354;
        double r9970356 = D;
        double r9970357 = r9970356 * r9970356;
        double r9970358 = r9970355 * r9970357;
        double r9970359 = r9970353 / r9970358;
        double r9970360 = r9970359 * r9970359;
        double r9970361 = M;
        double r9970362 = r9970361 * r9970361;
        double r9970363 = r9970360 - r9970362;
        double r9970364 = sqrt(r9970363);
        double r9970365 = r9970359 + r9970364;
        double r9970366 = r9970350 * r9970365;
        return r9970366;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r9970367 = D;
        double r9970368 = r9970367 * r9970367;
        double r9970369 = 2.166841599644002e+302;
        bool r9970370 = r9970368 <= r9970369;
        double r9970371 = 0.0;
        double r9970372 = w;
        double r9970373 = r9970371 / r9970372;
        double r9970374 = c0;
        double r9970375 = 2.0;
        double r9970376 = r9970374 / r9970375;
        double r9970377 = r9970373 * r9970376;
        double r9970378 = d;
        double r9970379 = r9970378 / r9970367;
        double r9970380 = h;
        double r9970381 = r9970379 * r9970374;
        double r9970382 = r9970380 / r9970381;
        double r9970383 = r9970379 / r9970382;
        double r9970384 = r9970383 / r9970372;
        double r9970385 = 1.0;
        double r9970386 = r9970385 / r9970382;
        double r9970387 = cbrt(r9970372);
        double r9970388 = r9970386 / r9970387;
        double r9970389 = r9970387 * r9970387;
        double r9970390 = r9970379 / r9970389;
        double r9970391 = r9970388 * r9970390;
        double r9970392 = r9970384 * r9970391;
        double r9970393 = M;
        double r9970394 = r9970393 * r9970393;
        double r9970395 = r9970392 - r9970394;
        double r9970396 = sqrt(r9970395);
        double r9970397 = r9970396 + r9970384;
        double r9970398 = r9970397 / r9970372;
        double r9970399 = r9970398 * r9970376;
        double r9970400 = r9970370 ? r9970377 : r9970399;
        return r9970400;
}

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 2 regimes
  2. if (* D D) < 2.166841599644002e+302

    1. Initial program 58.8

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

      \[\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*54.2

      \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\left(M + \color{blue}{\frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}}\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. Using strategy rm
    6. Applied *-un-lft-identity54.2

      \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\left(M + \frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \color{blue}{1 \cdot \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w}\]
    7. Applied *-un-lft-identity54.2

      \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{1 \cdot \sqrt{\left(M + \frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)}} + 1 \cdot \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}{w}\]
    8. Applied distribute-lft-out54.2

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

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \color{blue}{\left(\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} + \sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} \cdot \frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} - M \cdot M}\right)}}{w}\]
    10. Taylor expanded around inf 32.3

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \color{blue}{0}}{w}\]

    if 2.166841599644002e+302 < (* D D)

    1. Initial program 62.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. Simplified46.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*47.0

      \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\left(M + \color{blue}{\frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}}\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. Using strategy rm
    6. Applied *-un-lft-identity47.0

      \[\leadsto \frac{c0}{2} \cdot \frac{\sqrt{\left(M + \frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \color{blue}{1 \cdot \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w}\]
    7. Applied *-un-lft-identity47.0

      \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{1 \cdot \sqrt{\left(M + \frac{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)}} + 1 \cdot \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}{w}\]
    8. Applied distribute-lft-out47.0

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

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \color{blue}{\left(\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} + \sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} \cdot \frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} - M \cdot M}\right)}}{w}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt48.1

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \left(\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} + \sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} \cdot \frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{\color{blue}{\left(\sqrt[3]{w} \cdot \sqrt[3]{w}\right) \cdot \sqrt[3]{w}}} - M \cdot M}\right)}{w}\]
    12. Applied div-inv48.1

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \left(\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} + \sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} \cdot \frac{\color{blue}{\frac{d}{D} \cdot \frac{1}{\frac{h}{c0 \cdot \frac{d}{D}}}}}{\left(\sqrt[3]{w} \cdot \sqrt[3]{w}\right) \cdot \sqrt[3]{w}} - M \cdot M}\right)}{w}\]
    13. Applied times-frac47.9

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \left(\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} + \sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{c0 \cdot \frac{d}{D}}}}{w} \cdot \color{blue}{\left(\frac{\frac{d}{D}}{\sqrt[3]{w} \cdot \sqrt[3]{w}} \cdot \frac{\frac{1}{\frac{h}{c0 \cdot \frac{d}{D}}}}{\sqrt[3]{w}}\right)} - M \cdot M}\right)}{w}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification34.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;D \cdot D \le 2.16684159964400191720754917166912537377 \cdot 10^{302}:\\ \;\;\;\;\frac{0}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D} \cdot c0}}}{w} \cdot \left(\frac{\frac{1}{\frac{h}{\frac{d}{D} \cdot c0}}}{\sqrt[3]{w}} \cdot \frac{\frac{d}{D}}{\sqrt[3]{w} \cdot \sqrt[3]{w}}\right) - M \cdot M} + \frac{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D} \cdot c0}}}{w}}{w} \cdot \frac{c0}{2}\\ \end{array}\]

Reproduce

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