Average Error: 58.1 → 47.4
Time: 56.0s
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)\]
\[\frac{\left(\frac{\frac{1}{\frac{1}{\frac{d}{D}}}}{\frac{h}{\frac{d}{D} \cdot \frac{c0}{w}}} \cdot 2\right) \cdot \frac{c0}{w}}{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)
\frac{\left(\frac{\frac{1}{\frac{1}{\frac{d}{D}}}}{\frac{h}{\frac{d}{D} \cdot \frac{c0}{w}}} \cdot 2\right) \cdot \frac{c0}{w}}{2}
double f(double c0, double w, double h, double D, double d, double M) {
        double r5545717 = c0;
        double r5545718 = 2.0;
        double r5545719 = w;
        double r5545720 = r5545718 * r5545719;
        double r5545721 = r5545717 / r5545720;
        double r5545722 = d;
        double r5545723 = r5545722 * r5545722;
        double r5545724 = r5545717 * r5545723;
        double r5545725 = h;
        double r5545726 = r5545719 * r5545725;
        double r5545727 = D;
        double r5545728 = r5545727 * r5545727;
        double r5545729 = r5545726 * r5545728;
        double r5545730 = r5545724 / r5545729;
        double r5545731 = r5545730 * r5545730;
        double r5545732 = M;
        double r5545733 = r5545732 * r5545732;
        double r5545734 = r5545731 - r5545733;
        double r5545735 = sqrt(r5545734);
        double r5545736 = r5545730 + r5545735;
        double r5545737 = r5545721 * r5545736;
        return r5545737;
}

double f(double c0, double w, double h, double D, double d, double __attribute__((unused)) M) {
        double r5545738 = 1.0;
        double r5545739 = d;
        double r5545740 = D;
        double r5545741 = r5545739 / r5545740;
        double r5545742 = r5545738 / r5545741;
        double r5545743 = r5545738 / r5545742;
        double r5545744 = h;
        double r5545745 = c0;
        double r5545746 = w;
        double r5545747 = r5545745 / r5545746;
        double r5545748 = r5545741 * r5545747;
        double r5545749 = r5545744 / r5545748;
        double r5545750 = r5545743 / r5545749;
        double r5545751 = 2.0;
        double r5545752 = r5545750 * r5545751;
        double r5545753 = r5545752 * r5545747;
        double r5545754 = r5545753 / r5545751;
        return r5545754;
}

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. Initial program 58.1

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

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

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

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

    \[\leadsto \frac{\color{blue}{\left(2 \cdot \frac{\frac{c0}{\frac{w}{\frac{d}{D} \cdot \frac{d}{D}}}}{h}\right)} \cdot \frac{c0}{w}}{2}\]
  7. Using strategy rm
  8. Applied *-un-lft-identity52.8

    \[\leadsto \frac{\left(2 \cdot \frac{\frac{c0}{\frac{\color{blue}{1 \cdot w}}{\frac{d}{D} \cdot \frac{d}{D}}}}{h}\right) \cdot \frac{c0}{w}}{2}\]
  9. Applied times-frac50.9

    \[\leadsto \frac{\left(2 \cdot \frac{\frac{c0}{\color{blue}{\frac{1}{\frac{d}{D}} \cdot \frac{w}{\frac{d}{D}}}}}{h}\right) \cdot \frac{c0}{w}}{2}\]
  10. Applied *-un-lft-identity50.9

    \[\leadsto \frac{\left(2 \cdot \frac{\frac{\color{blue}{1 \cdot c0}}{\frac{1}{\frac{d}{D}} \cdot \frac{w}{\frac{d}{D}}}}{h}\right) \cdot \frac{c0}{w}}{2}\]
  11. Applied times-frac49.3

    \[\leadsto \frac{\left(2 \cdot \frac{\color{blue}{\frac{1}{\frac{1}{\frac{d}{D}}} \cdot \frac{c0}{\frac{w}{\frac{d}{D}}}}}{h}\right) \cdot \frac{c0}{w}}{2}\]
  12. Applied associate-/l*48.2

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

    \[\leadsto \frac{\left(2 \cdot \frac{\frac{1}{\frac{1}{\frac{d}{D}}}}{\color{blue}{\frac{h}{\frac{c0}{w} \cdot \frac{d}{D}}}}\right) \cdot \frac{c0}{w}}{2}\]
  14. Final simplification47.4

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

Reproduce

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