\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
double f(double d1, double d2, double d3, double d4) {
double r289292 = d1;
double r289293 = d2;
double r289294 = r289292 * r289293;
double r289295 = d3;
double r289296 = r289292 * r289295;
double r289297 = r289294 - r289296;
double r289298 = d4;
double r289299 = r289298 * r289292;
double r289300 = r289297 + r289299;
double r289301 = r289292 * r289292;
double r289302 = r289300 - r289301;
return r289302;
}
double f(double d1, double d2, double d3, double d4) {
double r289303 = d1;
double r289304 = d2;
double r289305 = r289303 * r289304;
double r289306 = d3;
double r289307 = r289303 * r289306;
double r289308 = r289305 - r289307;
double r289309 = d4;
double r289310 = r289309 * r289303;
double r289311 = r289308 + r289310;
double r289312 = r289303 * r289303;
double r289313 = r289311 - r289312;
return r289313;
}




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 2020059
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:precision binary64
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))