double f(double c0, double A, double V, double l) {
double r39035534 = c0;
double r39035535 = A;
double r39035536 = V;
double r39035537 = l;
double r39035538 = r39035536 * r39035537;
double r39035539 = r39035535 / r39035538;
double r39035540 = sqrt(r39035539);
double r39035541 = r39035534 * r39035540;
return r39035541;
}
double f(double c0, double A, double V, double l) {
double r39035542 = V;
double r39035543 = l;
double r39035544 = r39035542 * r39035543;
double r39035545 = -inf.0;
bool r39035546 = r39035544 <= r39035545;
double r39035547 = c0;
double r39035548 = A;
double r39035549 = cbrt(r39035548);
double r39035550 = r39035549 / r39035543;
double r39035551 = sqrt(r39035550);
double r39035552 = r39035549 * r39035549;
double r39035553 = r39035552 / r39035542;
double r39035554 = sqrt(r39035553);
double r39035555 = r39035551 * r39035554;
double r39035556 = r39035547 * r39035555;
double r39035557 = -4.6924056322212644e-245;
bool r39035558 = r39035544 <= r39035557;
double r39035559 = r39035548 / r39035544;
double r39035560 = sqrt(r39035559);
double r39035561 = sqrt(r39035560);
double r39035562 = cbrt(r39035544);
double r39035563 = r39035549 / r39035562;
double r39035564 = sqrt(r39035563);
double r39035565 = cbrt(r39035559);
double r39035566 = r39035565 * r39035565;
double r39035567 = sqrt(r39035566);
double r39035568 = r39035564 * r39035567;
double r39035569 = sqrt(r39035568);
double r39035570 = r39035547 * r39035569;
double r39035571 = r39035561 * r39035570;
double r39035572 = 5.41520176388353e-310;
bool r39035573 = r39035544 <= r39035572;
double r39035574 = r39035548 / r39035542;
double r39035575 = r39035574 / r39035543;
double r39035576 = sqrt(r39035575);
double r39035577 = r39035576 * r39035547;
double r39035578 = sqrt(r39035548);
double r39035579 = sqrt(r39035544);
double r39035580 = r39035578 / r39035579;
double r39035581 = r39035547 * r39035580;
double r39035582 = r39035573 ? r39035577 : r39035581;
double r39035583 = r39035558 ? r39035571 : r39035582;
double r39035584 = r39035546 ? r39035556 : r39035583;
return r39035584;
}
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell = -\infty:\\
\;\;\;\;c0 \cdot \left(\sqrt{\frac{\sqrt[3]{A}}{\ell}} \cdot \sqrt{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{V}}\right)\\
\mathbf{elif}\;V \cdot \ell \le -4.6924056322212644 \cdot 10^{-245}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}} \cdot \sqrt{\sqrt[3]{\frac{A}{V \cdot \ell}} \cdot \sqrt[3]{\frac{A}{V \cdot \ell}}}}\right)\\
\mathbf{elif}\;V \cdot \ell \le 5.41520176388353 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{\frac{\frac{A}{V}}{\ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{V \cdot \ell}}\\
\end{array}


Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
if (* V l) < -inf.0Initial program 39.2
rmApplied add-cube-cbrt39.2
Applied times-frac22.1
Applied sqrt-prod34.0
if -inf.0 < (* V l) < -4.6924056322212644e-245Initial program 8.6
rmApplied add-sqr-sqrt8.6
Applied sqrt-prod8.9
Applied associate-*r*8.8
rmApplied add-cube-cbrt8.9
Applied sqrt-prod8.9
rmApplied cbrt-div8.9
if -4.6924056322212644e-245 < (* V l) < 5.41520176388353e-310Initial program 51.2
rmApplied associate-/r*33.0
if 5.41520176388353e-310 < (* V l) Initial program 14.7
rmApplied sqrt-div6.5
Final simplification12.5
herbie shell --seed 2019102 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))