c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le 8.30925288092755745715389309116932962946 \cdot 10^{-314} \lor \neg \left(V \cdot \ell \le 9.368575440665084813070724399515047023084 \cdot 10^{243}\right):\\
\;\;\;\;\left(\frac{\left|\frac{\sqrt[3]{\frac{A}{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}\right|}{\sqrt[3]{\left|\sqrt[3]{V}\right|} \cdot \sqrt[3]{\left|\sqrt[3]{V}\right|}} \cdot c0\right) \cdot \frac{\sqrt{\frac{\sqrt[3]{\frac{A}{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}}{\sqrt[3]{\left|\sqrt[3]{V}\right|}}\\
\mathbf{else}:\\
\;\;\;\;\left(c0 \cdot \sqrt{A}\right) \cdot \sqrt{\frac{1}{V \cdot \ell}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r109808 = c0;
double r109809 = A;
double r109810 = V;
double r109811 = l;
double r109812 = r109810 * r109811;
double r109813 = r109809 / r109812;
double r109814 = sqrt(r109813);
double r109815 = r109808 * r109814;
return r109815;
}
double f(double c0, double A, double V, double l) {
double r109816 = V;
double r109817 = l;
double r109818 = r109816 * r109817;
double r109819 = 8.3092528809276e-314;
bool r109820 = r109818 <= r109819;
double r109821 = 9.368575440665085e+243;
bool r109822 = r109818 <= r109821;
double r109823 = !r109822;
bool r109824 = r109820 || r109823;
double r109825 = A;
double r109826 = cbrt(r109816);
double r109827 = r109825 / r109826;
double r109828 = cbrt(r109827);
double r109829 = cbrt(r109817);
double r109830 = r109828 / r109829;
double r109831 = fabs(r109830);
double r109832 = fabs(r109826);
double r109833 = cbrt(r109832);
double r109834 = r109833 * r109833;
double r109835 = r109831 / r109834;
double r109836 = c0;
double r109837 = r109835 * r109836;
double r109838 = sqrt(r109830);
double r109839 = r109838 / r109833;
double r109840 = r109837 * r109839;
double r109841 = sqrt(r109825);
double r109842 = r109836 * r109841;
double r109843 = 1.0;
double r109844 = r109843 / r109818;
double r109845 = sqrt(r109844);
double r109846 = r109842 * r109845;
double r109847 = r109824 ? r109840 : r109846;
return r109847;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < 8.3092528809276e-314 or 9.368575440665085e+243 < (* V l) Initial program 24.3
rmApplied add-cube-cbrt24.6
Applied times-frac20.1
rmApplied add-cube-cbrt20.2
Applied times-frac20.2
Applied associate-*l*18.3
rmApplied associate-*l/19.4
Applied sqrt-div12.9
Simplified14.0
Simplified14.0
rmApplied add-cube-cbrt14.4
Applied add-cube-cbrt14.5
Applied add-cube-cbrt14.5
Applied times-frac14.5
Applied sqrt-prod6.8
Applied times-frac6.8
Applied associate-*r*6.7
Simplified4.7
if 8.3092528809276e-314 < (* V l) < 9.368575440665085e+243Initial program 10.1
rmApplied div-inv10.2
Applied sqrt-prod0.6
Applied associate-*r*2.8
Simplified2.8
Final simplification4.0
herbie shell --seed 2019196 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))