Average Error: 0.3 → 0.0
Time: 1.2s
Precision: binary64
\[\left(\left(\sqrt{x + 1} + \sqrt{x}\right) + \sqrt{x + 1}\right) - \sqrt{x}\]
\[2 \cdot \sqrt{x + 1}\]
\left(\left(\sqrt{x + 1} + \sqrt{x}\right) + \sqrt{x + 1}\right) - \sqrt{x}
2 \cdot \sqrt{x + 1}
double code(double x) {
	return ((double) (((double) (((double) (((double) sqrt(((double) (x + 1.0)))) + ((double) sqrt(x)))) + ((double) sqrt(((double) (x + 1.0)))))) - ((double) sqrt(x))));
}
double code(double x) {
	return ((double) (2.0 * ((double) sqrt(((double) (x + 1.0))))));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\left(\left(\sqrt{x + 1} + \sqrt{x}\right) + \sqrt{x + 1}\right) - \sqrt{x}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{2 \cdot \sqrt{x + 1}}\]
  3. Final simplification0.0

    \[\leadsto 2 \cdot \sqrt{x + 1}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x)
  :name "(- (+ (+ (sqrt (+ x 1)) (sqrt x)) (sqrt (+ x 1))) (sqrt x))"
  :precision binary64
  (- (+ (+ (sqrt (+ x 1.0)) (sqrt x)) (sqrt (+ x 1.0))) (sqrt x)))