\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 r160367 = x;
double r160368 = r160367 / r160367;
double r160369 = 1.0;
double r160370 = r160369 / r160367;
double r160371 = r160367 * r160367;
double r160372 = sqrt(r160371);
double r160373 = r160370 * r160372;
double r160374 = r160368 - r160373;
return r160374;
}
double f(double x) {
double r160375 = 1.0;
double r160376 = 1.0;
double r160377 = x;
double r160378 = fabs(r160377);
double r160379 = r160376 * r160378;
double r160380 = r160379 / r160377;
double r160381 = -r160380;
double r160382 = r160375 + r160381;
return r160382;
}




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