\frac{x}{x} - \frac{1}{x} \cdot \sqrt{x \cdot x}1 - 1 \cdot \frac{\left|x\right|}{x}double f(double x) {
double r3407438 = x;
double r3407439 = r3407438 / r3407438;
double r3407440 = 1.0;
double r3407441 = r3407440 / r3407438;
double r3407442 = r3407438 * r3407438;
double r3407443 = sqrt(r3407442);
double r3407444 = r3407441 * r3407443;
double r3407445 = r3407439 - r3407444;
return r3407445;
}
double f(double x) {
double r3407446 = 1.0;
double r3407447 = 1.0;
double r3407448 = x;
double r3407449 = fabs(r3407448);
double r3407450 = r3407449 / r3407448;
double r3407451 = r3407447 * r3407450;
double r3407452 = r3407446 - r3407451;
return r3407452;
}




Bits error versus x
Results
| Original | 32.6 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 32.6
Simplified4.9
rmApplied div-inv4.9
Applied associate-*l*4.9
Simplified0
Final simplification0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x)
:name "sqrt sqr"
:herbie-target
(if (< x 0.0) 2.0 0.0)
(- (/ x x) (* (/ 1.0 x) (sqrt (* x x)))))