double f(double d1, double d2, double d3) {
double r2246095 = d1;
double r2246096 = d2;
double r2246097 = r2246095 * r2246096;
double r2246098 = d3;
double r2246099 = 5.0;
double r2246100 = r2246098 + r2246099;
double r2246101 = r2246100 * r2246095;
double r2246102 = r2246097 + r2246101;
double r2246103 = 32.0;
double r2246104 = r2246095 * r2246103;
double r2246105 = r2246102 + r2246104;
return r2246105;
}
double f(double d1, double d2, double d3) {
double r2246106 = d1;
double r2246107 = d2;
double r2246108 = r2246106 * r2246107;
double r2246109 = d3;
double r2246110 = 5.0;
double r2246111 = r2246109 + r2246110;
double r2246112 = r2246111 * r2246106;
double r2246113 = r2246108 + r2246112;
double r2246114 = 32.0;
double r2246115 = r2246106 * r2246114;
double r2246116 = r2246113 + r2246115;
return r2246116;
}
\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32
\left(d1 \cdot d2 + \left(d3 + 5\right) \cdot d1\right) + d1 \cdot 32



Bits error versus d1



Bits error versus d2



Bits error versus d3
Initial program 0.3
Final simplification0.3
herbie shell --seed 2019102
(FPCore (d1 d2 d3)
:name "FastMath dist3"
(+.p16 (+.p16 (*.p16 d1 d2) (*.p16 (+.p16 d3 (real->posit16 5)) d1)) (*.p16 d1 (real->posit16 32))))