c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;\ell \cdot V = -\infty:\\
\;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\
\mathbf{elif}\;\ell \cdot V \le -5.601891409264343123426103753339848933114 \cdot 10^{-287}:\\
\;\;\;\;\sqrt{\sqrt[3]{\frac{1}{\ell \cdot V}} \cdot \sqrt[3]{A}} \cdot \left(c0 \cdot \frac{\left|\sqrt[3]{A}\right|}{\left|\sqrt[3]{\ell \cdot V}\right|}\right)\\
\mathbf{elif}\;\ell \cdot V \le 2.442774188137666401114116722762846155888 \cdot 10^{-317}:\\
\;\;\;\;\left(\sqrt{\frac{A}{\ell}} \cdot \sqrt{\frac{1}{V}}\right) \cdot c0\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \frac{\sqrt{A}}{\sqrt{\ell \cdot V}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r4522888 = c0;
double r4522889 = A;
double r4522890 = V;
double r4522891 = l;
double r4522892 = r4522890 * r4522891;
double r4522893 = r4522889 / r4522892;
double r4522894 = sqrt(r4522893);
double r4522895 = r4522888 * r4522894;
return r4522895;
}
double f(double c0, double A, double V, double l) {
double r4522896 = l;
double r4522897 = V;
double r4522898 = r4522896 * r4522897;
double r4522899 = -inf.0;
bool r4522900 = r4522898 <= r4522899;
double r4522901 = A;
double r4522902 = r4522901 / r4522896;
double r4522903 = sqrt(r4522902);
double r4522904 = 1.0;
double r4522905 = r4522904 / r4522897;
double r4522906 = sqrt(r4522905);
double r4522907 = r4522903 * r4522906;
double r4522908 = c0;
double r4522909 = r4522907 * r4522908;
double r4522910 = -5.601891409264343e-287;
bool r4522911 = r4522898 <= r4522910;
double r4522912 = r4522904 / r4522898;
double r4522913 = cbrt(r4522912);
double r4522914 = cbrt(r4522901);
double r4522915 = r4522913 * r4522914;
double r4522916 = sqrt(r4522915);
double r4522917 = fabs(r4522914);
double r4522918 = cbrt(r4522898);
double r4522919 = fabs(r4522918);
double r4522920 = r4522917 / r4522919;
double r4522921 = r4522908 * r4522920;
double r4522922 = r4522916 * r4522921;
double r4522923 = 2.4427741881377e-317;
bool r4522924 = r4522898 <= r4522923;
double r4522925 = sqrt(r4522901);
double r4522926 = sqrt(r4522898);
double r4522927 = r4522925 / r4522926;
double r4522928 = r4522908 * r4522927;
double r4522929 = r4522924 ? r4522909 : r4522928;
double r4522930 = r4522911 ? r4522922 : r4522929;
double r4522931 = r4522900 ? r4522909 : r4522930;
return r4522931;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -inf.0 or -5.601891409264343e-287 < (* V l) < 2.4427741881377e-317Initial program 53.0
rmApplied *-un-lft-identity53.0
Applied times-frac30.9
Applied sqrt-prod38.2
if -inf.0 < (* V l) < -5.601891409264343e-287Initial program 9.7
rmApplied add-cube-cbrt10.2
Applied sqrt-prod10.2
Applied associate-*r*10.2
rmApplied div-inv10.2
Applied cbrt-prod10.1
rmApplied cbrt-div10.1
Applied cbrt-div2.6
Applied frac-times2.6
Applied sqrt-div1.0
Simplified1.0
Simplified1.0
if 2.4427741881377e-317 < (* V l) Initial program 14.9
rmApplied sqrt-div6.6
Final simplification9.8
herbie shell --seed 2019200 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))