Average Error: 58.0 → 52.0
Time: 46.3s
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}\;c0 \le -7.536492045050691 \cdot 10^{-90}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{2 \cdot \left(\frac{c0}{w \cdot h} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)\right)}{w}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right) \cdot \left(\left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right) \cdot \left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(\frac{d}{D} \cdot c0\right)}{w \cdot h}\right)\right)}}{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}\;c0 \le -7.536492045050691 \cdot 10^{-90}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{2 \cdot \left(\frac{c0}{w \cdot h} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)\right)}{w}\\

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r4457922 = c0;
        double r4457923 = 2.0;
        double r4457924 = w;
        double r4457925 = r4457923 * r4457924;
        double r4457926 = r4457922 / r4457925;
        double r4457927 = d;
        double r4457928 = r4457927 * r4457927;
        double r4457929 = r4457922 * r4457928;
        double r4457930 = h;
        double r4457931 = r4457924 * r4457930;
        double r4457932 = D;
        double r4457933 = r4457932 * r4457932;
        double r4457934 = r4457931 * r4457933;
        double r4457935 = r4457929 / r4457934;
        double r4457936 = r4457935 * r4457935;
        double r4457937 = M;
        double r4457938 = r4457937 * r4457937;
        double r4457939 = r4457936 - r4457938;
        double r4457940 = sqrt(r4457939);
        double r4457941 = r4457935 + r4457940;
        double r4457942 = r4457926 * r4457941;
        return r4457942;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r4457943 = c0;
        double r4457944 = -7.536492045050691e-90;
        bool r4457945 = r4457943 <= r4457944;
        double r4457946 = 2.0;
        double r4457947 = r4457943 / r4457946;
        double r4457948 = w;
        double r4457949 = h;
        double r4457950 = r4457948 * r4457949;
        double r4457951 = r4457943 / r4457950;
        double r4457952 = d;
        double r4457953 = D;
        double r4457954 = r4457952 / r4457953;
        double r4457955 = r4457954 * r4457954;
        double r4457956 = r4457951 * r4457955;
        double r4457957 = r4457946 * r4457956;
        double r4457958 = r4457957 / r4457948;
        double r4457959 = r4457947 * r4457958;
        double r4457960 = M;
        double r4457961 = r4457954 * r4457943;
        double r4457962 = r4457954 * r4457961;
        double r4457963 = r4457962 / r4457950;
        double r4457964 = r4457960 + r4457963;
        double r4457965 = r4457963 - r4457960;
        double r4457966 = r4457964 * r4457965;
        double r4457967 = sqrt(r4457966);
        double r4457968 = r4457967 + r4457963;
        double r4457969 = r4457968 * r4457968;
        double r4457970 = r4457968 * r4457969;
        double r4457971 = cbrt(r4457970);
        double r4457972 = r4457971 / r4457948;
        double r4457973 = r4457972 * r4457947;
        double r4457974 = r4457945 ? r4457959 : r4457973;
        return r4457974;
}

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 c0 < -7.536492045050691e-90

    1. Initial program 58.7

      \[\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.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-/r*54.7

      \[\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{\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w}}{h}}}{w}\]
    5. Taylor expanded around 0 58.9

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

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

    if -7.536492045050691e-90 < c0

    1. Initial program 57.6

      \[\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. Simplified49.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. Using strategy rm
    4. Applied add-cbrt-cube51.0

      \[\leadsto \frac{c0}{2} \cdot \frac{\color{blue}{\sqrt[3]{\left(\left(\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}\right) \cdot \left(\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}\right)\right) \cdot \left(\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}\right)}}}{w}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification52.0

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

Reproduce

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