Average Error: 39.0 → 39.0
Time: 1.8s
Precision: binary64
\[\left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b\]
\[\left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b\]
\left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b
\left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b
double code(double a, double b) {
	return ((double) (((double) (((double) sqrt(((double) (((double) pow(a, 2.0)) + ((double) pow(b, 2.0)))))) - a)) - b));
}
double code(double a, double b) {
	return ((double) (((double) (((double) sqrt(((double) (((double) pow(a, 2.0)) + ((double) pow(b, 2.0)))))) - a)) - b));
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 39.0

    \[\left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b\]
  2. Final simplification39.0

    \[\leadsto \left(\sqrt{{a}^{2} + {b}^{2}} - a\right) - b\]

Reproduce

herbie shell --seed 2020152 
(FPCore (a b)
  :name "(- (- (sqrt (+ (pow a 2) (pow b 2))) a) b)"
  :precision binary64
  (- (- (sqrt (+ (pow a 2.0) (pow b 2.0))) a) b))