c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -1.389317920587127450867004748459224000174 \cdot 10^{293} \lor \neg \left(V \cdot \ell \le -1.324477534068431985346733984721304917892 \cdot 10^{-308} \lor \neg \left(V \cdot \ell \le -0.0\right)\right):\\
\;\;\;\;c0 \cdot \sqrt{\frac{1}{V} \cdot \frac{A}{\ell}}\\
\mathbf{else}:\\
\;\;\;\;\left(\left|\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\sqrt[3]{A}}{\sqrt[3]{V \cdot \ell}}}\\
\end{array}double f(double c0, double A, double V, double l) {
double r262085 = c0;
double r262086 = A;
double r262087 = V;
double r262088 = l;
double r262089 = r262087 * r262088;
double r262090 = r262086 / r262089;
double r262091 = sqrt(r262090);
double r262092 = r262085 * r262091;
return r262092;
}
double f(double c0, double A, double V, double l) {
double r262093 = V;
double r262094 = l;
double r262095 = r262093 * r262094;
double r262096 = -1.3893179205871275e+293;
bool r262097 = r262095 <= r262096;
double r262098 = -1.324477534068432e-308;
bool r262099 = r262095 <= r262098;
double r262100 = -0.0;
bool r262101 = r262095 <= r262100;
double r262102 = !r262101;
bool r262103 = r262099 || r262102;
double r262104 = !r262103;
bool r262105 = r262097 || r262104;
double r262106 = c0;
double r262107 = 1.0;
double r262108 = r262107 / r262093;
double r262109 = A;
double r262110 = r262109 / r262094;
double r262111 = r262108 * r262110;
double r262112 = sqrt(r262111);
double r262113 = r262106 * r262112;
double r262114 = cbrt(r262109);
double r262115 = cbrt(r262095);
double r262116 = r262114 / r262115;
double r262117 = fabs(r262116);
double r262118 = r262117 * r262106;
double r262119 = sqrt(r262116);
double r262120 = r262118 * r262119;
double r262121 = r262105 ? r262113 : r262120;
return r262121;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -1.3893179205871275e+293 or -1.324477534068432e-308 < (* V l) < -0.0Initial program 48.7
rmApplied *-un-lft-identity48.7
Applied times-frac31.0
if -1.3893179205871275e+293 < (* V l) < -1.324477534068432e-308 or -0.0 < (* V l) Initial program 15.5
rmApplied add-cube-cbrt15.9
Applied sqrt-prod15.9
Applied associate-*r*15.9
Simplified15.9
rmApplied cbrt-div15.8
rmApplied add-sqr-sqrt15.8
rmApplied sqrt-div38.5
Applied sqrt-div38.5
Applied frac-times38.5
Applied cbrt-div34.5
Simplified34.5
Simplified7.5
Final simplification9.4
herbie shell --seed 2019318
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
:precision binary64
(* c0 (sqrt (/ A (* V l)))))