Average Error: 18.8 → 1.1
Time: 7.5s
Precision: binary64
\[\]
\[\]
double code(double c0, double A, double V, double l) {
	return ((double) (c0 * ((double) sqrt(((double) (A / ((double) (V * l))))))));
}
double code(double c0, double A, double V, double l) {
	return ((double) (((double) (((double) fabs(((double) (((double) cbrt(A)) / ((double) (((double) cbrt(l)) * ((double) cbrt(V)))))))) * c0)) * ((double) sqrt(((double) (((double) (((double) cbrt(A)) / ((double) cbrt(V)))) / ((double) cbrt(l))))))));
}

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.8

    \[\]
  2. Using strategy rm
  3. Applied associate-/r*19.1

    \[\leadsto \]
  4. Using strategy rm
  5. Applied add-cube-cbrt19.4

    \[\leadsto \]
  6. Applied add-cube-cbrt19.5

    \[\leadsto \]
  7. Applied add-cube-cbrt19.6

    \[\leadsto \]
  8. Applied times-frac19.6

    \[\leadsto \]
  9. Applied times-frac15.3

    \[\leadsto \]
  10. Applied sqrt-prod6.7

    \[\leadsto \]
  11. Applied associate-*r*6.7

    \[\leadsto \]
  12. Simplified1.1

    \[\leadsto \]
  13. Final simplification1.1

    \[\leadsto \]

Reproduce

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