\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
\left(\left(d4 - d3\right) + \left(d2 - d1\right)\right) \cdot d1
double f(double d1, double d2, double d3, double d4) {
double r14020547 = d1;
double r14020548 = d2;
double r14020549 = r14020547 * r14020548;
double r14020550 = d3;
double r14020551 = r14020547 * r14020550;
double r14020552 = r14020549 - r14020551;
double r14020553 = d4;
double r14020554 = r14020553 * r14020547;
double r14020555 = r14020552 + r14020554;
double r14020556 = r14020547 * r14020547;
double r14020557 = r14020555 - r14020556;
return r14020557;
}
double f(double d1, double d2, double d3, double d4) {
double r14020558 = d4;
double r14020559 = d3;
double r14020560 = r14020558 - r14020559;
double r14020561 = d2;
double r14020562 = d1;
double r14020563 = r14020561 - r14020562;
double r14020564 = r14020560 + r14020563;
double r14020565 = r14020564 * r14020562;
return r14020565;
}




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
Simplified0.0
Final simplification0.0
herbie shell --seed 2019164
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
:herbie-target
(* d1 (- (+ (- d2 d3) d4) d1))
(- (+ (- (* d1 d2) (* d1 d3)) (* d4 d1)) (* d1 d1)))