\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 r3678215 = d1;
double r3678216 = d2;
double r3678217 = r3678215 * r3678216;
double r3678218 = d3;
double r3678219 = r3678215 * r3678218;
double r3678220 = r3678217 + r3678219;
return r3678220;
}
double f(double d1, double d2, double d3) {
double r3678221 = d3;
double r3678222 = d2;
double r3678223 = r3678221 + r3678222;
double r3678224 = d1;
double r3678225 = r3678223 * r3678224;
return r3678225;
}



Bits error versus d1



Bits error versus d2



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