\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 + \left(-\frac{1 \cdot \left|x\right|}{x}\right)double f(double x) {
double r268432 = x;
double r268433 = r268432 / r268432;
double r268434 = 1.0;
double r268435 = r268434 / r268432;
double r268436 = r268432 * r268432;
double r268437 = sqrt(r268436);
double r268438 = r268435 * r268437;
double r268439 = r268433 - r268438;
return r268439;
}
double f(double x) {
double r268440 = 1.0;
double r268441 = 1.0;
double r268442 = x;
double r268443 = fabs(r268442);
double r268444 = r268441 * r268443;
double r268445 = r268444 / r268442;
double r268446 = -r268445;
double r268447 = r268440 + r268446;
return r268447;
}




Bits error versus x
Results
| Original | 32.6 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.6
Simplified0
Final simplification0
herbie shell --seed 2020036
(FPCore (x)
:name "sqrt sqr"
:precision binary64
:herbie-target
(if (< x 0.0) 2 0.0)
(- (/ x x) (* (/ 1 x) (sqrt (* x x)))))