\left(\left(d1 \cdot d2 - d1 \cdot d3\right) + d4 \cdot d1\right) - d1 \cdot d1
d1 \cdot d2 - \left(\left(d3 + d1\right) \cdot d1 - d1 \cdot d4\right)
double f(double d1, double d2, double d3, double d4) {
double r11375629 = d1;
double r11375630 = d2;
double r11375631 = r11375629 * r11375630;
double r11375632 = d3;
double r11375633 = r11375629 * r11375632;
double r11375634 = r11375631 - r11375633;
double r11375635 = d4;
double r11375636 = r11375635 * r11375629;
double r11375637 = r11375634 + r11375636;
double r11375638 = r11375629 * r11375629;
double r11375639 = r11375637 - r11375638;
return r11375639;
}
double f(double d1, double d2, double d3, double d4) {
double r11375640 = d1;
double r11375641 = d2;
double r11375642 = r11375640 * r11375641;
double r11375643 = d3;
double r11375644 = r11375643 + r11375640;
double r11375645 = r11375644 * r11375640;
double r11375646 = d4;
double r11375647 = r11375640 * r11375646;
double r11375648 = r11375645 - r11375647;
double r11375649 = r11375642 - r11375648;
return r11375649;
}




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