\left(\frac{\left(\left(d1 \cdot d2\right) - \left(d1 \cdot d3\right)\right)}{\left(d4 \cdot d1\right)}\right) - \left(d1 \cdot d1\right)d1 \cdot \left(\frac{\left(d4 - \left(\frac{d1}{d3}\right)\right)}{d2}\right)double f(double d1, double d2, double d3, double d4) {
double r4186651 = d1;
double r4186652 = d2;
double r4186653 = r4186651 * r4186652;
double r4186654 = d3;
double r4186655 = r4186651 * r4186654;
double r4186656 = r4186653 - r4186655;
double r4186657 = d4;
double r4186658 = r4186657 * r4186651;
double r4186659 = r4186656 + r4186658;
double r4186660 = r4186651 * r4186651;
double r4186661 = r4186659 - r4186660;
return r4186661;
}
double f(double d1, double d2, double d3, double d4) {
double r4186662 = d1;
double r4186663 = d4;
double r4186664 = d3;
double r4186665 = r4186662 + r4186664;
double r4186666 = r4186663 - r4186665;
double r4186667 = d2;
double r4186668 = r4186666 + r4186667;
double r4186669 = r4186662 * r4186668;
return r4186669;
}



Bits error versus d1



Bits error versus d2



Bits error versus d3



Bits error versus d4
Initial program 0.5
Simplified0.4
Final simplification0.4
herbie shell --seed 2019168
(FPCore (d1 d2 d3 d4)
:name "FastMath dist4"
(-.p16 (+.p16 (-.p16 (*.p16 d1 d2) (*.p16 d1 d3)) (*.p16 d4 d1)) (*.p16 d1 d1)))