c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -6.074815782204149782432519341284458306068 \cdot 10^{-283}:\\
\;\;\;\;\sqrt{\sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}} \cdot \left(\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot c0\right)\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{1}{V}} \cdot \sqrt{\frac{A}{\ell}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 8.274008779449527226174688106162953762312 \cdot 10^{278}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r139548 = c0;
double r139549 = A;
double r139550 = V;
double r139551 = l;
double r139552 = r139550 * r139551;
double r139553 = r139549 / r139552;
double r139554 = sqrt(r139553);
double r139555 = r139548 * r139554;
return r139555;
}
double f(double c0, double A, double V, double l) {
double r139556 = V;
double r139557 = l;
double r139558 = r139556 * r139557;
double r139559 = -6.07481578220415e-283;
bool r139560 = r139558 <= r139559;
double r139561 = A;
double r139562 = cbrt(r139561);
double r139563 = r139562 * r139562;
double r139564 = r139558 / r139562;
double r139565 = r139563 / r139564;
double r139566 = sqrt(r139565);
double r139567 = sqrt(r139566);
double r139568 = r139561 / r139558;
double r139569 = sqrt(r139568);
double r139570 = sqrt(r139569);
double r139571 = c0;
double r139572 = r139570 * r139571;
double r139573 = r139567 * r139572;
double r139574 = 0.0;
bool r139575 = r139558 <= r139574;
double r139576 = 1.0;
double r139577 = r139576 / r139556;
double r139578 = sqrt(r139577);
double r139579 = r139561 / r139557;
double r139580 = sqrt(r139579);
double r139581 = r139578 * r139580;
double r139582 = r139571 * r139581;
double r139583 = 8.274008779449527e+278;
bool r139584 = r139558 <= r139583;
double r139585 = sqrt(r139561);
double r139586 = sqrt(r139558);
double r139587 = r139585 / r139586;
double r139588 = r139587 * r139571;
double r139589 = r139561 / r139556;
double r139590 = r139589 / r139557;
double r139591 = sqrt(r139590);
double r139592 = r139591 * r139571;
double r139593 = r139584 ? r139588 : r139592;
double r139594 = r139575 ? r139582 : r139593;
double r139595 = r139560 ? r139573 : r139594;
return r139595;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -6.07481578220415e-283Initial program 14.5
rmApplied *-commutative14.5
rmApplied add-sqr-sqrt14.5
Applied sqrt-prod14.7
Applied associate-*l*14.7
rmApplied add-cube-cbrt14.7
Applied associate-/l*14.7
if -6.07481578220415e-283 < (* V l) < 0.0Initial program 54.6
rmApplied *-un-lft-identity54.6
Applied times-frac34.6
Applied sqrt-prod39.5
if 0.0 < (* V l) < 8.274008779449527e+278Initial program 14.9
rmApplied *-commutative14.9
rmApplied sqrt-div6.4
if 8.274008779449527e+278 < (* V l) Initial program 39.5
rmApplied *-commutative39.5
rmApplied associate-/r*23.2
Final simplification12.6
herbie shell --seed 2019306
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))