\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 r152250 = x;
double r152251 = r152250 / r152250;
double r152252 = 1.0;
double r152253 = r152252 / r152250;
double r152254 = r152250 * r152250;
double r152255 = sqrt(r152254);
double r152256 = r152253 * r152255;
double r152257 = r152251 - r152256;
return r152257;
}
double f(double x) {
double r152258 = 1.0;
double r152259 = 1.0;
double r152260 = x;
double r152261 = fabs(r152260);
double r152262 = r152259 * r152261;
double r152263 = r152262 / r152260;
double r152264 = -r152263;
double r152265 = r152258 + r152264;
return r152265;
}




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