c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \le -7.24944730302796452 \cdot 10^{-9}:\\
\;\;\;\;\left(\sqrt[3]{c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{V \cdot \ell}}\right)} \cdot \sqrt[3]{c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{V \cdot \ell}}\right)}\right) \cdot \sqrt[3]{c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \sqrt{\frac{\sqrt[3]{A}}{V \cdot \ell}}\right)}\\
\mathbf{elif}\;V \le -3.2698369089058447 \cdot 10^{-220}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{\frac{A}{V}}{\ell}}\\
\mathbf{elif}\;V \le 8.37998221063094693 \cdot 10^{-237}:\\
\;\;\;\;c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \sqrt{\frac{1}{\frac{V \cdot \ell}{\sqrt[3]{A}}}}\right)\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \left(\sqrt{\frac{\sqrt[3]{\sqrt[3]{A} \cdot \sqrt[3]{A}}}{V}} \cdot \sqrt{\frac{\sqrt[3]{\sqrt[3]{A}}}{\ell}}\right)\right)\\
\end{array}double f(double c0, double A, double V, double l) {
double r191909 = c0;
double r191910 = A;
double r191911 = V;
double r191912 = l;
double r191913 = r191911 * r191912;
double r191914 = r191910 / r191913;
double r191915 = sqrt(r191914);
double r191916 = r191909 * r191915;
return r191916;
}
double f(double c0, double A, double V, double l) {
double r191917 = V;
double r191918 = -7.2494473030279645e-09;
bool r191919 = r191917 <= r191918;
double r191920 = c0;
double r191921 = A;
double r191922 = cbrt(r191921);
double r191923 = fabs(r191922);
double r191924 = l;
double r191925 = r191917 * r191924;
double r191926 = r191922 / r191925;
double r191927 = sqrt(r191926);
double r191928 = r191923 * r191927;
double r191929 = r191920 * r191928;
double r191930 = cbrt(r191929);
double r191931 = r191930 * r191930;
double r191932 = r191931 * r191930;
double r191933 = -3.2698369089058447e-220;
bool r191934 = r191917 <= r191933;
double r191935 = r191921 / r191917;
double r191936 = r191935 / r191924;
double r191937 = sqrt(r191936);
double r191938 = r191920 * r191937;
double r191939 = 8.379982210630947e-237;
bool r191940 = r191917 <= r191939;
double r191941 = 1.0;
double r191942 = r191925 / r191922;
double r191943 = r191941 / r191942;
double r191944 = sqrt(r191943);
double r191945 = r191923 * r191944;
double r191946 = r191920 * r191945;
double r191947 = r191922 * r191922;
double r191948 = cbrt(r191947);
double r191949 = r191948 / r191917;
double r191950 = sqrt(r191949);
double r191951 = cbrt(r191922);
double r191952 = r191951 / r191924;
double r191953 = sqrt(r191952);
double r191954 = r191950 * r191953;
double r191955 = r191923 * r191954;
double r191956 = r191920 * r191955;
double r191957 = r191940 ? r191946 : r191956;
double r191958 = r191934 ? r191938 : r191957;
double r191959 = r191919 ? r191932 : r191958;
return r191959;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if V < -7.2494473030279645e-09Initial program 18.1
rmApplied add-cube-cbrt18.4
Applied associate-/l*18.4
rmApplied div-inv18.4
Applied sqrt-prod13.4
Simplified13.4
Simplified13.1
rmApplied add-cube-cbrt13.5
if -7.2494473030279645e-09 < V < -3.2698369089058447e-220Initial program 17.5
rmApplied associate-/r*18.1
if -3.2698369089058447e-220 < V < 8.379982210630947e-237Initial program 30.0
rmApplied add-cube-cbrt30.3
Applied associate-/l*30.3
rmApplied div-inv30.4
Applied sqrt-prod25.8
Simplified25.8
Simplified25.8
rmApplied clear-num25.8
if 8.379982210630947e-237 < V Initial program 16.9
rmApplied add-cube-cbrt17.3
Applied associate-/l*17.3
rmApplied div-inv17.3
Applied sqrt-prod11.9
Simplified11.9
Simplified11.6
rmApplied add-cube-cbrt11.7
Applied cbrt-prod11.7
Applied times-frac10.3
Applied sqrt-prod3.0
Final simplification11.0
herbie shell --seed 2020060 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))