\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\left(\left(d1 \cdot d2 - d3 \cdot d1\right) + d1 \cdot d4\right) - d1 \cdot d1
double f(double d1, double d2, double d3, double d4) {
double r12980288 = d1;
double r12980289 = d2;
double r12980290 = r12980288 * r12980289;
double r12980291 = d3;
double r12980292 = r12980288 * r12980291;
double r12980293 = r12980290 - r12980292;
double r12980294 = d4;
double r12980295 = r12980294 * r12980288;
double r12980296 = r12980293 + r12980295;
double r12980297 = r12980288 * r12980288;
double r12980298 = r12980296 - r12980297;
return r12980298;
}
double f(double d1, double d2, double d3, double d4) {
double r12980299 = d1;
double r12980300 = d2;
double r12980301 = r12980299 * r12980300;
double r12980302 = d3;
double r12980303 = r12980302 * r12980299;
double r12980304 = r12980301 - r12980303;
double r12980305 = d4;
double r12980306 = r12980299 * r12980305;
double r12980307 = r12980304 + r12980306;
double r12980308 = r12980299 * r12980299;
double r12980309 = r12980307 - r12980308;
return r12980309;
}




Bits error versus d1




Bits error versus d2




Bits error versus d3




Bits error versus d4
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019158
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))