c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -6.9475511118196 \cdot 10^{-320}:\\
\;\;\;\;\frac{c0}{\sqrt{\frac{V \cdot \ell}{A}}}\\
\mathbf{elif}\;V \cdot \ell \le 0.0:\\
\;\;\;\;\frac{c0}{\sqrt{\frac{\ell}{\sqrt[3]{A}}}} \cdot \frac{1}{\sqrt{\frac{V}{\sqrt[3]{A} \cdot \sqrt[3]{A}}}}\\
\mathbf{elif}\;V \cdot \ell \le 1.4889447435912792 \cdot 10^{+303}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r3116012 = c0;
double r3116013 = A;
double r3116014 = V;
double r3116015 = l;
double r3116016 = r3116014 * r3116015;
double r3116017 = r3116013 / r3116016;
double r3116018 = sqrt(r3116017);
double r3116019 = r3116012 * r3116018;
return r3116019;
}
double f(double c0, double A, double V, double l) {
double r3116020 = V;
double r3116021 = l;
double r3116022 = r3116020 * r3116021;
double r3116023 = -6.9475511118196e-320;
bool r3116024 = r3116022 <= r3116023;
double r3116025 = c0;
double r3116026 = A;
double r3116027 = r3116022 / r3116026;
double r3116028 = sqrt(r3116027);
double r3116029 = r3116025 / r3116028;
double r3116030 = 0.0;
bool r3116031 = r3116022 <= r3116030;
double r3116032 = cbrt(r3116026);
double r3116033 = r3116021 / r3116032;
double r3116034 = sqrt(r3116033);
double r3116035 = r3116025 / r3116034;
double r3116036 = 1.0;
double r3116037 = r3116032 * r3116032;
double r3116038 = r3116020 / r3116037;
double r3116039 = sqrt(r3116038);
double r3116040 = r3116036 / r3116039;
double r3116041 = r3116035 * r3116040;
double r3116042 = 1.4889447435912792e+303;
bool r3116043 = r3116022 <= r3116042;
double r3116044 = sqrt(r3116026);
double r3116045 = sqrt(r3116022);
double r3116046 = r3116044 / r3116045;
double r3116047 = r3116046 * r3116025;
double r3116048 = r3116026 / r3116020;
double r3116049 = r3116048 / r3116021;
double r3116050 = sqrt(r3116049);
double r3116051 = r3116025 * r3116050;
double r3116052 = r3116043 ? r3116047 : r3116051;
double r3116053 = r3116031 ? r3116041 : r3116052;
double r3116054 = r3116024 ? r3116029 : r3116053;
return r3116054;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -6.9475511118196e-320Initial program 14.6
rmApplied clear-num14.9
rmApplied sqrt-div14.7
Applied associate-*r/14.7
Simplified14.7
if -6.9475511118196e-320 < (* V l) < 0.0Initial program 63.8
rmApplied clear-num63.8
rmApplied sqrt-div63.8
Applied associate-*r/63.8
Simplified63.8
rmApplied add-cube-cbrt63.8
Applied times-frac37.7
Applied sqrt-prod38.9
Applied *-un-lft-identity38.9
Applied times-frac38.9
if 0.0 < (* V l) < 1.4889447435912792e+303Initial program 10.0
rmApplied sqrt-div0.8
if 1.4889447435912792e+303 < (* V l) Initial program 41.2
rmApplied associate-/r*23.9
Final simplification12.0
herbie shell --seed 2019165
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))