\frac{\left(d1 \cdot d2\right)}{\left(d1 \cdot d3\right)}\left(d3 + d2\right) \cdot d1
double f(double d1, double d2, double d3) {
double r1637646 = d1;
double r1637647 = d2;
double r1637648 = r1637646 * r1637647;
double r1637649 = d3;
double r1637650 = r1637646 * r1637649;
double r1637651 = r1637648 + r1637650;
return r1637651;
}
double f(double d1, double d2, double d3) {
double r1637652 = d3;
double r1637653 = d2;
double r1637654 = r1637652 + r1637653;
double r1637655 = d1;
double r1637656 = r1637654 * r1637655;
return r1637656;
}



Bits error versus d1



Bits error versus d2



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