Average Error: 32.6 → 32.6
Time: 4.4s
Precision: binary64
\[\left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}\]
\[\left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}\]
\left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}
\left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}
double code(double x) {
	return ((double) (((double) fabs(((double) (x - ((double) sqrt(((double) (1.0 + ((double) pow(x, 2.0)))))))))) - ((double) (1.0 / ((double) (x + ((double) sqrt(((double) (1.0 + ((double) pow(x, 2.0))))))))))));
}
double code(double x) {
	return ((double) (((double) fabs(((double) (x - ((double) sqrt(((double) (1.0 + ((double) pow(x, 2.0)))))))))) - ((double) (1.0 / ((double) (x + ((double) sqrt(((double) (1.0 + ((double) pow(x, 2.0))))))))))));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 32.6

    \[\left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}\]
  2. Final simplification32.6

    \[\leadsto \left|x - \sqrt{1 + {x}^{2}}\right| - \frac{1}{x + \sqrt{1 + {x}^{2}}}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x)
  :name "(- (fabs (- x (sqrt (+ 1 (pow x 2))))) (/ 1 (+ x (sqrt (+ 1 (pow x 2))))))"
  :precision binary64
  (- (fabs (- x (sqrt (+ 1.0 (pow x 2.0))))) (/ 1.0 (+ x (sqrt (+ 1.0 (pow x 2.0)))))))