\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 r133178 = x;
double r133179 = r133178 / r133178;
double r133180 = 1.0;
double r133181 = r133180 / r133178;
double r133182 = r133178 * r133178;
double r133183 = sqrt(r133182);
double r133184 = r133181 * r133183;
double r133185 = r133179 - r133184;
return r133185;
}
double f(double x) {
double r133186 = 1.0;
double r133187 = 1.0;
double r133188 = x;
double r133189 = fabs(r133188);
double r133190 = r133187 * r133189;
double r133191 = r133190 / r133188;
double r133192 = -r133191;
double r133193 = r133186 + r133192;
return r133193;
}




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