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 r242585 = c0;
double r242586 = A;
double r242587 = V;
double r242588 = l;
double r242589 = r242587 * r242588;
double r242590 = r242586 / r242589;
double r242591 = sqrt(r242590);
double r242592 = r242585 * r242591;
return r242592;
}
double f(double c0, double A, double V, double l) {
double r242593 = V;
double r242594 = -7.2494473030279645e-09;
bool r242595 = r242593 <= r242594;
double r242596 = c0;
double r242597 = A;
double r242598 = cbrt(r242597);
double r242599 = fabs(r242598);
double r242600 = l;
double r242601 = r242593 * r242600;
double r242602 = r242598 / r242601;
double r242603 = sqrt(r242602);
double r242604 = r242599 * r242603;
double r242605 = r242596 * r242604;
double r242606 = cbrt(r242605);
double r242607 = r242606 * r242606;
double r242608 = r242607 * r242606;
double r242609 = -3.2698369089058447e-220;
bool r242610 = r242593 <= r242609;
double r242611 = r242597 / r242593;
double r242612 = r242611 / r242600;
double r242613 = sqrt(r242612);
double r242614 = r242596 * r242613;
double r242615 = 8.379982210630947e-237;
bool r242616 = r242593 <= r242615;
double r242617 = 1.0;
double r242618 = r242601 / r242598;
double r242619 = r242617 / r242618;
double r242620 = sqrt(r242619);
double r242621 = r242599 * r242620;
double r242622 = r242596 * r242621;
double r242623 = r242598 * r242598;
double r242624 = cbrt(r242623);
double r242625 = r242624 / r242593;
double r242626 = sqrt(r242625);
double r242627 = cbrt(r242598);
double r242628 = r242627 / r242600;
double r242629 = sqrt(r242628);
double r242630 = r242626 * r242629;
double r242631 = r242599 * r242630;
double r242632 = r242596 * r242631;
double r242633 = r242616 ? r242622 : r242632;
double r242634 = r242610 ? r242614 : r242633;
double r242635 = r242595 ? r242608 : r242634;
return r242635;
}



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)))))