Average Error: 58.1 → 34.5
Time: 2.1m
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 \le -2.9492825602009192 \cdot 10^{-83}:\\ \;\;\;\;0\\ \mathbf{elif}\;d \le 2.3329283069719116 \cdot 10^{-99}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \left(\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;0\\ \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 \le -2.9492825602009192 \cdot 10^{-83}:\\
\;\;\;\;0\\

\mathbf{elif}\;d \le 2.3329283069719116 \cdot 10^{-99}:\\
\;\;\;\;\frac{c0}{w} \cdot \frac{\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \left(\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r45630564 = c0;
        double r45630565 = 2.0;
        double r45630566 = w;
        double r45630567 = r45630565 * r45630566;
        double r45630568 = r45630564 / r45630567;
        double r45630569 = d;
        double r45630570 = r45630569 * r45630569;
        double r45630571 = r45630564 * r45630570;
        double r45630572 = h;
        double r45630573 = r45630566 * r45630572;
        double r45630574 = D;
        double r45630575 = r45630574 * r45630574;
        double r45630576 = r45630573 * r45630575;
        double r45630577 = r45630571 / r45630576;
        double r45630578 = r45630577 * r45630577;
        double r45630579 = M;
        double r45630580 = r45630579 * r45630579;
        double r45630581 = r45630578 - r45630580;
        double r45630582 = sqrt(r45630581);
        double r45630583 = r45630577 + r45630582;
        double r45630584 = r45630568 * r45630583;
        return r45630584;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r45630585 = d;
        double r45630586 = -2.9492825602009192e-83;
        bool r45630587 = r45630585 <= r45630586;
        double r45630588 = 0.0;
        double r45630589 = 2.3329283069719116e-99;
        bool r45630590 = r45630585 <= r45630589;
        double r45630591 = c0;
        double r45630592 = w;
        double r45630593 = r45630591 / r45630592;
        double r45630594 = D;
        double r45630595 = r45630585 / r45630594;
        double r45630596 = r45630595 * r45630595;
        double r45630597 = h;
        double r45630598 = r45630596 / r45630597;
        double r45630599 = r45630598 * r45630593;
        double r45630600 = r45630599 * r45630599;
        double r45630601 = M;
        double r45630602 = r45630601 * r45630601;
        double r45630603 = r45630600 - r45630602;
        double r45630604 = sqrt(r45630603);
        double r45630605 = r45630599 + r45630604;
        double r45630606 = cbrt(r45630605);
        double r45630607 = r45630606 * r45630606;
        double r45630608 = r45630606 * r45630607;
        double r45630609 = 2.0;
        double r45630610 = r45630608 / r45630609;
        double r45630611 = r45630593 * r45630610;
        double r45630612 = r45630590 ? r45630611 : r45630588;
        double r45630613 = r45630587 ? r45630588 : r45630612;
        return r45630613;
}

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 < -2.9492825602009192e-83 or 2.3329283069719116e-99 < d

    1. Initial program 57.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. Simplified54.7

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

      \[\leadsto \color{blue}{0}\]

    if -2.9492825602009192e-83 < d < 2.3329283069719116e-99

    1. Initial program 59.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.4

      \[\leadsto \color{blue}{\frac{c0}{w \cdot 2} \cdot \left(\sqrt{\frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} \cdot \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} - M \cdot M} + \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w}\right)}\]
    3. Using strategy rm
    4. Applied pow146.4

      \[\leadsto \frac{c0}{w \cdot 2} \cdot \color{blue}{{\left(\sqrt{\frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} \cdot \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} - M \cdot M} + \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w}\right)}^{1}}\]
    5. Applied pow146.4

      \[\leadsto \color{blue}{{\left(\frac{c0}{w \cdot 2}\right)}^{1}} \cdot {\left(\sqrt{\frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} \cdot \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w} - M \cdot M} + \frac{\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h}}{w}\right)}^{1}\]
    6. Applied pow-prod-down46.4

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

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

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

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

Reproduce

herbie shell --seed 2019120 +o rules:numerics
(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))))))