\frac{\left(d1 \cdot d2\right)}{\left(d1 \cdot d3\right)}\left(\frac{d3}{d2}\right) \cdot d1double f(double d1, double d2, double d3) {
double r4231394 = d1;
double r4231395 = d2;
double r4231396 = r4231394 * r4231395;
double r4231397 = d3;
double r4231398 = r4231394 * r4231397;
double r4231399 = r4231396 + r4231398;
return r4231399;
}
double f(double d1, double d2, double d3) {
double r4231400 = d3;
double r4231401 = d2;
double r4231402 = r4231400 + r4231401;
double r4231403 = d1;
double r4231404 = r4231402 * r4231403;
return r4231404;
}



Bits error versus d1



Bits error versus d2



Bits error versus d3
Initial program 0.3
Simplified0.2
Final simplification0.2
herbie shell --seed 2019168 +o rules:numerics
(FPCore (d1 d2 d3)
:name "FastMath dist"
(+.p16 (*.p16 d1 d2) (*.p16 d1 d3)))