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}


Bits error versus c0



Bits error versus w



Bits error versus h



Bits error versus D



Bits error versus d



Bits error versus M
if (* d d) < 4.972611459776105e-111 or 1.541639159456864e+274 < (* d d) Initial program 60.5
Simplified51.5
rmApplied add-cube-cbrt51.6
if 4.972611459776105e-111 < (* d d) < 1.541639159456864e+274Initial program 54.5
Final simplification52.6
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))))))