Average Error: 18.9 → 1.3
Time: 5.9s
Precision: 64
\[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
\[\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right) \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}\]
c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}
\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right) \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}
double f(double c0, double A, double V, double l) {
        double r254355 = c0;
        double r254356 = A;
        double r254357 = V;
        double r254358 = l;
        double r254359 = r254357 * r254358;
        double r254360 = r254356 / r254359;
        double r254361 = sqrt(r254360);
        double r254362 = r254355 * r254361;
        return r254362;
}

double f(double c0, double A, double V, double l) {
        double r254363 = A;
        double r254364 = cbrt(r254363);
        double r254365 = V;
        double r254366 = cbrt(r254365);
        double r254367 = r254364 / r254366;
        double r254368 = l;
        double r254369 = cbrt(r254368);
        double r254370 = r254367 / r254369;
        double r254371 = fabs(r254370);
        double r254372 = c0;
        double r254373 = r254371 * r254372;
        double r254374 = cbrt(r254366);
        double r254375 = r254374 * r254374;
        double r254376 = r254375 * r254374;
        double r254377 = r254364 / r254376;
        double r254378 = r254377 / r254369;
        double r254379 = sqrt(r254378);
        double r254380 = r254373 * r254379;
        return r254380;
}

Error

Bits error versus c0

Bits error versus A

Bits error versus V

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 18.9

    \[c0 \cdot \sqrt{\frac{A}{V \cdot \ell}}\]
  2. Using strategy rm
  3. Applied associate-/r*18.8

    \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{A}{V}}{\ell}}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt19.2

    \[\leadsto c0 \cdot \sqrt{\frac{\frac{A}{V}}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}}\]
  6. Applied add-cube-cbrt19.3

    \[\leadsto c0 \cdot \sqrt{\frac{\frac{A}{\color{blue}{\left(\sqrt[3]{V} \cdot \sqrt[3]{V}\right) \cdot \sqrt[3]{V}}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}\]
  7. Applied add-cube-cbrt19.4

    \[\leadsto c0 \cdot \sqrt{\frac{\frac{\color{blue}{\left(\sqrt[3]{A} \cdot \sqrt[3]{A}\right) \cdot \sqrt[3]{A}}}{\left(\sqrt[3]{V} \cdot \sqrt[3]{V}\right) \cdot \sqrt[3]{V}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}\]
  8. Applied times-frac19.4

    \[\leadsto c0 \cdot \sqrt{\frac{\color{blue}{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{V}} \cdot \frac{\sqrt[3]{A}}{\sqrt[3]{V}}}}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}\]
  9. Applied times-frac15.3

    \[\leadsto c0 \cdot \sqrt{\color{blue}{\frac{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{V}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}}\]
  10. Applied sqrt-prod7.2

    \[\leadsto c0 \cdot \color{blue}{\left(\sqrt{\frac{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{V}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}\right)}\]
  11. Applied associate-*r*7.1

    \[\leadsto \color{blue}{\left(c0 \cdot \sqrt{\frac{\frac{\sqrt[3]{A} \cdot \sqrt[3]{A}}{\sqrt[3]{V} \cdot \sqrt[3]{V}}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}}\]
  12. Simplified1.1

    \[\leadsto \color{blue}{\left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right)} \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}}\]
  13. Using strategy rm
  14. Applied add-cube-cbrt1.3

    \[\leadsto \left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\color{blue}{\left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right) \cdot \sqrt[3]{\sqrt[3]{V}}}}}{\sqrt[3]{\ell}}}\]
  15. Final simplification1.3

    \[\leadsto \left(\left|\frac{\frac{\sqrt[3]{A}}{\sqrt[3]{V}}}{\sqrt[3]{\ell}}\right| \cdot c0\right) \cdot \sqrt{\frac{\frac{\sqrt[3]{A}}{\left(\sqrt[3]{\sqrt[3]{V}} \cdot \sqrt[3]{\sqrt[3]{V}}\right) \cdot \sqrt[3]{\sqrt[3]{V}}}}{\sqrt[3]{\ell}}}\]

Reproduce

herbie shell --seed 2020018 +o rules:numerics
(FPCore (c0 A V l)
  :name "Henrywood and Agarwal, Equation (3)"
  :precision binary64
  (* c0 (sqrt (/ A (* V l)))))