Average Error: 58.0 → 33.7
Time: 44.2s
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 -1.1915796734409398 \cdot 10^{+31}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\ \mathbf{elif}\;d \le -1.3791872014049456 \cdot 10^{-34}:\\ \;\;\;\;\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{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)} + \frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}}}{w}\\ \mathbf{elif}\;d \le 2.9331498702830513 \cdot 10^{-09}:\\ \;\;\;\;\frac{\frac{M \cdot M}{\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w} - \sqrt{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - M \cdot M}}}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{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 \le -1.1915796734409398 \cdot 10^{+31}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\

\mathbf{elif}\;d \le -1.3791872014049456 \cdot 10^{-34}:\\
\;\;\;\;\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{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right)} + \frac{c0 \cdot \frac{d}{D}}{\frac{h \cdot w}{\frac{d}{D}}}}{w}\\

\mathbf{elif}\;d \le 2.9331498702830513 \cdot 10^{-09}:\\
\;\;\;\;\frac{\frac{M \cdot M}{\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w} - \sqrt{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - M \cdot M}}}{w} \cdot \frac{c0}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r5485677 = c0;
        double r5485678 = 2.0;
        double r5485679 = w;
        double r5485680 = r5485678 * r5485679;
        double r5485681 = r5485677 / r5485680;
        double r5485682 = d;
        double r5485683 = r5485682 * r5485682;
        double r5485684 = r5485677 * r5485683;
        double r5485685 = h;
        double r5485686 = r5485679 * r5485685;
        double r5485687 = D;
        double r5485688 = r5485687 * r5485687;
        double r5485689 = r5485686 * r5485688;
        double r5485690 = r5485684 / r5485689;
        double r5485691 = r5485690 * r5485690;
        double r5485692 = M;
        double r5485693 = r5485692 * r5485692;
        double r5485694 = r5485691 - r5485693;
        double r5485695 = sqrt(r5485694);
        double r5485696 = r5485690 + r5485695;
        double r5485697 = r5485681 * r5485696;
        return r5485697;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r5485698 = d;
        double r5485699 = -1.1915796734409398e+31;
        bool r5485700 = r5485698 <= r5485699;
        double r5485701 = c0;
        double r5485702 = 2.0;
        double r5485703 = r5485701 / r5485702;
        double r5485704 = 0.0;
        double r5485705 = w;
        double r5485706 = r5485704 / r5485705;
        double r5485707 = r5485703 * r5485706;
        double r5485708 = -1.3791872014049456e-34;
        bool r5485709 = r5485698 <= r5485708;
        double r5485710 = D;
        double r5485711 = r5485698 / r5485710;
        double r5485712 = r5485701 * r5485711;
        double r5485713 = r5485711 * r5485712;
        double r5485714 = h;
        double r5485715 = r5485714 * r5485705;
        double r5485716 = r5485713 / r5485715;
        double r5485717 = M;
        double r5485718 = r5485716 - r5485717;
        double r5485719 = r5485716 + r5485717;
        double r5485720 = r5485718 * r5485719;
        double r5485721 = sqrt(r5485720);
        double r5485722 = r5485715 / r5485711;
        double r5485723 = r5485712 / r5485722;
        double r5485724 = r5485721 + r5485723;
        double r5485725 = r5485724 / r5485705;
        double r5485726 = r5485703 * r5485725;
        double r5485727 = 2.9331498702830513e-09;
        bool r5485728 = r5485698 <= r5485727;
        double r5485729 = r5485717 * r5485717;
        double r5485730 = r5485711 / r5485714;
        double r5485731 = r5485712 / r5485705;
        double r5485732 = r5485730 * r5485731;
        double r5485733 = r5485732 * r5485732;
        double r5485734 = r5485733 - r5485729;
        double r5485735 = sqrt(r5485734);
        double r5485736 = r5485732 - r5485735;
        double r5485737 = r5485729 / r5485736;
        double r5485738 = r5485737 / r5485705;
        double r5485739 = r5485738 * r5485703;
        double r5485740 = r5485728 ? r5485739 : r5485707;
        double r5485741 = r5485709 ? r5485726 : r5485740;
        double r5485742 = r5485700 ? r5485707 : r5485741;
        return r5485742;
}

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 < -1.1915796734409398e+31 or 2.9331498702830513e-09 < d

    1. Initial program 59.0

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

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

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

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

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

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

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

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

    if -1.1915796734409398e+31 < d < -1.3791872014049456e-34

    1. Initial program 51.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. Simplified48.1

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

      \[\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{c0 \cdot \frac{d}{D}}{\frac{w \cdot h}{\frac{d}{D}}}}}{w}\]

    if -1.3791872014049456e-34 < d < 2.9331498702830513e-09

    1. Initial program 57.3

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

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

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

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

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

      \[\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. Simplified44.5

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

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \color{blue}{\frac{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - \sqrt{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - M \cdot M} \cdot \sqrt{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - M \cdot M}}{\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w} - \sqrt{\left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) \cdot \left(\frac{\frac{d}{D}}{h} \cdot \frac{c0 \cdot \frac{d}{D}}{w}\right) - M \cdot M}}}}{w}\]
    12. Simplified37.8

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

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

Reproduce

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