\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 r237113 = d1;
double r237114 = d2;
double r237115 = r237113 * r237114;
double r237116 = d3;
double r237117 = r237113 * r237116;
double r237118 = r237115 - r237117;
double r237119 = d4;
double r237120 = r237119 * r237113;
double r237121 = r237118 + r237120;
double r237122 = r237113 * r237113;
double r237123 = r237121 - r237122;
return r237123;
}
double f(double d1, double d2, double d3, double d4) {
double r237124 = d1;
double r237125 = d2;
double r237126 = r237124 * r237125;
double r237127 = d3;
double r237128 = r237124 * r237127;
double r237129 = r237126 - r237128;
double r237130 = d4;
double r237131 = r237130 * r237124;
double r237132 = r237129 + r237131;
double r237133 = r237124 * r237124;
double r237134 = r237132 - r237133;
return r237134;
}




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 2020033
(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)))