c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -2.568047760982784846268573395460668197323 \cdot 10^{255}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\
\mathbf{elif}\;V \cdot \ell \le -3.260833262552227191565354032930261057609 \cdot 10^{-322}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{V \cdot \ell}}} \cdot \left(c0 \cdot \sqrt{\sqrt{\frac{A}{V \cdot \ell}}}\right)\\
\mathbf{elif}\;V \cdot \ell \le -0.0:\\
\;\;\;\;\left(c0 \cdot \sqrt{\frac{A}{\ell}}\right) \cdot \sqrt{\frac{1}{V}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r3584902 = c0;
double r3584903 = A;
double r3584904 = V;
double r3584905 = l;
double r3584906 = r3584904 * r3584905;
double r3584907 = r3584903 / r3584906;
double r3584908 = sqrt(r3584907);
double r3584909 = r3584902 * r3584908;
return r3584909;
}
double f(double c0, double A, double V, double l) {
double r3584910 = V;
double r3584911 = l;
double r3584912 = r3584910 * r3584911;
double r3584913 = -2.568047760982785e+255;
bool r3584914 = r3584912 <= r3584913;
double r3584915 = c0;
double r3584916 = A;
double r3584917 = r3584916 / r3584910;
double r3584918 = r3584917 / r3584911;
double r3584919 = sqrt(r3584918);
double r3584920 = r3584915 * r3584919;
double r3584921 = -3.2608332625522e-322;
bool r3584922 = r3584912 <= r3584921;
double r3584923 = r3584916 / r3584912;
double r3584924 = sqrt(r3584923);
double r3584925 = sqrt(r3584924);
double r3584926 = r3584915 * r3584925;
double r3584927 = r3584925 * r3584926;
double r3584928 = -0.0;
bool r3584929 = r3584912 <= r3584928;
double r3584930 = r3584916 / r3584911;
double r3584931 = sqrt(r3584930);
double r3584932 = r3584915 * r3584931;
double r3584933 = 1.0;
double r3584934 = r3584933 / r3584910;
double r3584935 = sqrt(r3584934);
double r3584936 = r3584932 * r3584935;
double r3584937 = sqrt(r3584916);
double r3584938 = sqrt(r3584912);
double r3584939 = r3584937 / r3584938;
double r3584940 = r3584939 * r3584915;
double r3584941 = r3584929 ? r3584936 : r3584940;
double r3584942 = r3584922 ? r3584927 : r3584941;
double r3584943 = r3584914 ? r3584920 : r3584942;
return r3584943;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -2.568047760982785e+255Initial program 33.6
rmApplied *-commutative33.6
rmApplied associate-/r*21.2
if -2.568047760982785e+255 < (* V l) < -3.2608332625522e-322Initial program 9.9
rmApplied *-commutative9.9
rmApplied add-sqr-sqrt9.9
Applied sqrt-prod10.2
Applied associate-*l*10.2
if -3.2608332625522e-322 < (* V l) < -0.0Initial program 63.9
rmApplied *-commutative63.9
rmApplied *-un-lft-identity63.9
Applied times-frac38.9
Applied sqrt-prod38.9
Applied associate-*l*39.1
if -0.0 < (* V l) Initial program 15.1
rmApplied *-commutative15.1
rmApplied sqrt-div7.2
Final simplification12.3
herbie shell --seed 2019172 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))