Average Error: 58.2 → 51.8
Time: 50.8s
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}\;M \cdot M \le 6.539679960660537 \cdot 10^{-26}:\\ \;\;\;\;\frac{\sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}} \cdot \sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}}}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M} \cdot \sqrt{\frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}} - M} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot 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}\;M \cdot M \le 6.539679960660537 \cdot 10^{-26}:\\
\;\;\;\;\frac{\sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}} \cdot \sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}}}{w} \cdot \frac{c0}{2}\\

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r5852088 = c0;
        double r5852089 = 2.0;
        double r5852090 = w;
        double r5852091 = r5852089 * r5852090;
        double r5852092 = r5852088 / r5852091;
        double r5852093 = d;
        double r5852094 = r5852093 * r5852093;
        double r5852095 = r5852088 * r5852094;
        double r5852096 = h;
        double r5852097 = r5852090 * r5852096;
        double r5852098 = D;
        double r5852099 = r5852098 * r5852098;
        double r5852100 = r5852097 * r5852099;
        double r5852101 = r5852095 / r5852100;
        double r5852102 = r5852101 * r5852101;
        double r5852103 = M;
        double r5852104 = r5852103 * r5852103;
        double r5852105 = r5852102 - r5852104;
        double r5852106 = sqrt(r5852105);
        double r5852107 = r5852101 + r5852106;
        double r5852108 = r5852092 * r5852107;
        return r5852108;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r5852109 = M;
        double r5852110 = r5852109 * r5852109;
        double r5852111 = 6.539679960660537e-26;
        bool r5852112 = r5852110 <= r5852111;
        double r5852113 = d;
        double r5852114 = D;
        double r5852115 = r5852113 / r5852114;
        double r5852116 = c0;
        double r5852117 = r5852116 * r5852115;
        double r5852118 = r5852115 * r5852117;
        double r5852119 = h;
        double r5852120 = w;
        double r5852121 = r5852119 * r5852120;
        double r5852122 = r5852118 / r5852121;
        double r5852123 = r5852122 + r5852109;
        double r5852124 = r5852122 - r5852109;
        double r5852125 = r5852123 * r5852124;
        double r5852126 = sqrt(r5852125);
        double r5852127 = r5852126 + r5852122;
        double r5852128 = sqrt(r5852127);
        double r5852129 = r5852128 * r5852128;
        double r5852130 = r5852129 / r5852120;
        double r5852131 = 2.0;
        double r5852132 = r5852116 / r5852131;
        double r5852133 = r5852130 * r5852132;
        double r5852134 = sqrt(r5852123);
        double r5852135 = r5852121 / r5852115;
        double r5852136 = r5852117 / r5852135;
        double r5852137 = r5852136 - r5852109;
        double r5852138 = sqrt(r5852137);
        double r5852139 = r5852134 * r5852138;
        double r5852140 = r5852139 + r5852122;
        double r5852141 = r5852140 / r5852120;
        double r5852142 = r5852141 * r5852132;
        double r5852143 = r5852112 ? r5852133 : r5852142;
        return r5852143;
}

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 (* M M) < 6.539679960660537e-26

    1. Initial program 56.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. Simplified47.2

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

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

    if 6.539679960660537e-26 < (* M M)

    1. Initial program 61.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. Simplified60.2

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

      \[\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 sqrt-prod58.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;M \cdot M \le 6.539679960660537 \cdot 10^{-26}:\\ \;\;\;\;\frac{\sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}} \cdot \sqrt{\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)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}}}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M} \cdot \sqrt{\frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}} - M} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}}{w} \cdot \frac{c0}{2}\\ \end{array}\]

Reproduce

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