c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\begin{array}{l}
\mathbf{if}\;V \cdot \ell \le -7.756886674182593 \cdot 10^{+248}:\\
\;\;\;\;c0 \cdot \sqrt{\frac{1}{\ell} \cdot \frac{A}{V}}\\
\mathbf{elif}\;V \cdot \ell \le -5.737663690670792 \cdot 10^{-214}:\\
\;\;\;\;\sqrt{\frac{A}{V \cdot \ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le -1.976262583365 \cdot 10^{-323}:\\
\;\;\;\;\frac{\sqrt{\frac{A}{V}}}{\sqrt{\ell}} \cdot c0\\
\mathbf{elif}\;V \cdot \ell \le 1.231583818494 \cdot 10^{-316}:\\
\;\;\;\;\sqrt{\sqrt{\frac{A}{\ell} \cdot \frac{1}{V}}} \cdot \left(\sqrt{\sqrt{\sqrt[3]{\frac{A}{\ell}} \cdot \left(\left(\sqrt[3]{\frac{A}{\ell}} \cdot \sqrt[3]{\frac{A}{\ell}}\right) \cdot \frac{1}{V}\right)}} \cdot c0\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{A}}{\sqrt{V \cdot \ell}} \cdot c0\\
\end{array}double f(double c0, double A, double V, double l) {
double r33747303 = c0;
double r33747304 = A;
double r33747305 = V;
double r33747306 = l;
double r33747307 = r33747305 * r33747306;
double r33747308 = r33747304 / r33747307;
double r33747309 = sqrt(r33747308);
double r33747310 = r33747303 * r33747309;
return r33747310;
}
double f(double c0, double A, double V, double l) {
double r33747311 = V;
double r33747312 = l;
double r33747313 = r33747311 * r33747312;
double r33747314 = -7.756886674182593e+248;
bool r33747315 = r33747313 <= r33747314;
double r33747316 = c0;
double r33747317 = 1.0;
double r33747318 = r33747317 / r33747312;
double r33747319 = A;
double r33747320 = r33747319 / r33747311;
double r33747321 = r33747318 * r33747320;
double r33747322 = sqrt(r33747321);
double r33747323 = r33747316 * r33747322;
double r33747324 = -5.737663690670792e-214;
bool r33747325 = r33747313 <= r33747324;
double r33747326 = r33747319 / r33747313;
double r33747327 = sqrt(r33747326);
double r33747328 = r33747327 * r33747316;
double r33747329 = -1.976262583365e-323;
bool r33747330 = r33747313 <= r33747329;
double r33747331 = sqrt(r33747320);
double r33747332 = sqrt(r33747312);
double r33747333 = r33747331 / r33747332;
double r33747334 = r33747333 * r33747316;
double r33747335 = 1.231583818494e-316;
bool r33747336 = r33747313 <= r33747335;
double r33747337 = r33747319 / r33747312;
double r33747338 = r33747317 / r33747311;
double r33747339 = r33747337 * r33747338;
double r33747340 = sqrt(r33747339);
double r33747341 = sqrt(r33747340);
double r33747342 = cbrt(r33747337);
double r33747343 = r33747342 * r33747342;
double r33747344 = r33747343 * r33747338;
double r33747345 = r33747342 * r33747344;
double r33747346 = sqrt(r33747345);
double r33747347 = sqrt(r33747346);
double r33747348 = r33747347 * r33747316;
double r33747349 = r33747341 * r33747348;
double r33747350 = sqrt(r33747319);
double r33747351 = sqrt(r33747313);
double r33747352 = r33747350 / r33747351;
double r33747353 = r33747352 * r33747316;
double r33747354 = r33747336 ? r33747349 : r33747353;
double r33747355 = r33747330 ? r33747334 : r33747354;
double r33747356 = r33747325 ? r33747328 : r33747355;
double r33747357 = r33747315 ? r33747323 : r33747356;
return r33747357;
}



Bits error versus c0



Bits error versus A



Bits error versus V



Bits error versus l
Results
if (* V l) < -7.756886674182593e+248Initial program 35.5
rmApplied *-un-lft-identity35.5
Applied times-frac22.1
rmApplied div-inv22.1
Applied associate-*r*22.3
Simplified22.3
if -7.756886674182593e+248 < (* V l) < -5.737663690670792e-214Initial program 7.9
if -5.737663690670792e-214 < (* V l) < -1.976262583365e-323Initial program 24.5
rmApplied add-cube-cbrt24.9
Applied times-frac23.8
rmApplied associate-*r/24.1
Applied sqrt-div34.3
Simplified34.0
if -1.976262583365e-323 < (* V l) < 1.231583818494e-316Initial program 60.7
rmApplied *-un-lft-identity60.7
Applied times-frac37.4
rmApplied add-sqr-sqrt37.5
Applied associate-*r*37.5
rmApplied add-cube-cbrt37.5
Applied associate-*r*37.5
if 1.231583818494e-316 < (* V l) Initial program 15.0
rmApplied *-un-lft-identity15.0
Applied times-frac17.3
rmApplied frac-times15.0
Applied sqrt-div6.4
Simplified6.4
Final simplification12.3
herbie shell --seed 2019125 +o rules:numerics
(FPCore (c0 A V l)
:name "Henrywood and Agarwal, Equation (3)"
(* c0 (sqrt (/ A (* V l)))))