c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \le 2.651697625647502861435154931547367013462 \cdot 10^{-311}:\\
\;\;\;\;\left(\left|\sqrt[3]{A}\right| \cdot \sqrt{\frac{\frac{1}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}{\sqrt[3]{V} \cdot \sqrt[3]{V}} \cdot \frac{\sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{\ell}}}\right) \cdot c0\\
\mathbf{else}:\\
\;\;\;\;c0 \cdot \left(\left|\sqrt[3]{A}\right| \cdot \frac{\sqrt{\frac{\sqrt[3]{A}}{\ell}}}{\sqrt{V}}\right)\\
\end{array}double f(double c0, double A, double V, double l) {
double r149606 = c0;
double r149607 = A;
double r149608 = V;
double r149609 = l;
double r149610 = r149608 * r149609;
double r149611 = r149607 / r149610;
double r149612 = sqrt(r149611);
double r149613 = r149606 * r149612;
return r149613;
}
double f(double c0, double A, double V, double l) {
double r149614 = V;
double r149615 = 2.6516976256475e-311;
bool r149616 = r149614 <= r149615;
double r149617 = A;
double r149618 = cbrt(r149617);
double r149619 = fabs(r149618);
double r149620 = 1.0;
double r149621 = l;
double r149622 = cbrt(r149621);
double r149623 = r149622 * r149622;
double r149624 = r149620 / r149623;
double r149625 = cbrt(r149614);
double r149626 = r149625 * r149625;
double r149627 = r149624 / r149626;
double r149628 = r149625 * r149622;
double r149629 = r149618 / r149628;
double r149630 = r149627 * r149629;
double r149631 = sqrt(r149630);
double r149632 = r149619 * r149631;
double r149633 = c0;
double r149634 = r149632 * r149633;
double r149635 = r149618 / r149621;
double r149636 = sqrt(r149635);
double r149637 = sqrt(r149614);
double r149638 = r149636 / r149637;
double r149639 = r149619 * r149638;
double r149640 = r149633 * r149639;
double r149641 = r149616 ? r149634 : r149640;
return r149641;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if V < 2.6516976256475e-311Initial program 19.0
rmApplied add-cube-cbrt19.3
Applied associate-/l*19.3
Simplified18.3
rmApplied div-inv18.5
Applied sqrt-prod13.7
Simplified13.7
Simplified13.5
rmApplied add-cube-cbrt13.6
Applied add-cube-cbrt13.7
Applied add-cube-cbrt13.7
Applied times-frac13.7
Applied times-frac13.7
Applied associate-*l*11.6
Simplified11.6
if 2.6516976256475e-311 < V Initial program 19.7
rmApplied add-cube-cbrt20.0
Applied associate-/l*20.0
Simplified18.5
rmApplied div-inv18.6
Applied sqrt-prod14.0
Simplified14.0
Simplified14.4
rmApplied associate-*l/13.8
Applied sqrt-div4.5
Simplified4.5
Final simplification8.0
herbie shell --seed 2019196
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))