Average Error: 58.3 → 52.6
Time: 2.6m
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 \cdot d \le 4.972611459776105 \cdot 10^{-111}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}}\right)\right) \cdot \frac{c0}{w}}{2}\\ \mathbf{elif}\;d \cdot d \le 1.541639159456864 \cdot 10^{+274}:\\ \;\;\;\;\left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(h \cdot w\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(h \cdot w\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(h \cdot w\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right) \cdot \frac{c0}{2 \cdot w}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}}\right)\right) \cdot \frac{c0}{w}}{2}\\ \end{array}\]
double f(double c0, double w, double h, double D, double d, double M) {
        double r43543460 = c0;
        double r43543461 = 2.0;
        double r43543462 = w;
        double r43543463 = r43543461 * r43543462;
        double r43543464 = r43543460 / r43543463;
        double r43543465 = d;
        double r43543466 = r43543465 * r43543465;
        double r43543467 = r43543460 * r43543466;
        double r43543468 = h;
        double r43543469 = r43543462 * r43543468;
        double r43543470 = D;
        double r43543471 = r43543470 * r43543470;
        double r43543472 = r43543469 * r43543471;
        double r43543473 = r43543467 / r43543472;
        double r43543474 = r43543473 * r43543473;
        double r43543475 = M;
        double r43543476 = r43543475 * r43543475;
        double r43543477 = r43543474 - r43543476;
        double r43543478 = sqrt(r43543477);
        double r43543479 = r43543473 + r43543478;
        double r43543480 = r43543464 * r43543479;
        return r43543480;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r43543481 = d;
        double r43543482 = r43543481 * r43543481;
        double r43543483 = 4.972611459776105e-111;
        bool r43543484 = r43543482 <= r43543483;
        double r43543485 = c0;
        double r43543486 = w;
        double r43543487 = r43543485 / r43543486;
        double r43543488 = D;
        double r43543489 = r43543481 / r43543488;
        double r43543490 = r43543489 * r43543489;
        double r43543491 = r43543487 * r43543490;
        double r43543492 = h;
        double r43543493 = r43543491 / r43543492;
        double r43543494 = M;
        double r43543495 = r43543493 - r43543494;
        double r43543496 = r43543494 + r43543493;
        double r43543497 = r43543495 * r43543496;
        double r43543498 = sqrt(r43543497);
        double r43543499 = r43543498 + r43543493;
        double r43543500 = cbrt(r43543499);
        double r43543501 = r43543500 * r43543500;
        double r43543502 = r43543500 * r43543501;
        double r43543503 = r43543502 * r43543487;
        double r43543504 = 2.0;
        double r43543505 = r43543503 / r43543504;
        double r43543506 = 1.541639159456864e+274;
        bool r43543507 = r43543482 <= r43543506;
        double r43543508 = r43543485 * r43543482;
        double r43543509 = r43543492 * r43543486;
        double r43543510 = r43543488 * r43543488;
        double r43543511 = r43543509 * r43543510;
        double r43543512 = r43543508 / r43543511;
        double r43543513 = r43543512 * r43543512;
        double r43543514 = r43543494 * r43543494;
        double r43543515 = r43543513 - r43543514;
        double r43543516 = sqrt(r43543515);
        double r43543517 = r43543512 + r43543516;
        double r43543518 = r43543504 * r43543486;
        double r43543519 = r43543485 / r43543518;
        double r43543520 = r43543517 * r43543519;
        double r43543521 = r43543507 ? r43543520 : r43543505;
        double r43543522 = r43543484 ? r43543505 : r43543521;
        return r43543522;
}

\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 \cdot d \le 4.972611459776105 \cdot 10^{-111}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}} \cdot \sqrt[3]{\sqrt{\left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right) \cdot \left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}}\right)\right) \cdot \frac{c0}{w}}{2}\\

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

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

\end{array}

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

Derivation

  1. Split input into 2 regimes
  2. if (* d d) < 4.972611459776105e-111 or 1.541639159456864e+274 < (* d d)

    1. Initial program 60.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. Simplified51.5

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

      \[\leadsto \frac{\color{blue}{\left(\left(\sqrt[3]{\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}} \cdot \sqrt[3]{\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 \sqrt[3]{\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}\]

    if 4.972611459776105e-111 < (* d d) < 1.541639159456864e+274

    1. Initial program 54.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)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification52.6

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

Reproduce

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