\frac{x0}{1 - x1} - x0\frac{x0 \cdot \left(\frac{\frac{x0}{1 - x1} \cdot \frac{x0}{1 - x1}}{1 - x1} - x0 \cdot x0\right)}{\frac{\left(1 - x1\right) \cdot \frac{\left(\left(x0 \cdot x0\right) \cdot \left(x0 \cdot x0\right)\right) \cdot \left(\left(x0 \cdot x0\right) \cdot \left(x0 \cdot x0\right)\right) - \left(\left(\frac{x0}{1 - x1} \cdot x0\right) \cdot \left(\frac{x0}{1 - x1} \cdot x0\right)\right) \cdot \left(\left(\frac{x0}{1 - x1} \cdot x0\right) \cdot \left(\frac{x0}{1 - x1} \cdot x0\right)\right)}{\left(\frac{x0}{1 - x1} \cdot x0\right) \cdot \left(\frac{x0}{1 - x1} \cdot x0\right) + \left(x0 \cdot x0\right) \cdot \left(x0 \cdot x0\right)} + \left(\frac{x0}{1 - x1} \cdot x0\right) \cdot \left(x0 \cdot x0 - \frac{x0}{1 - x1} \cdot x0\right)}{\left(1 - x1\right) \cdot \left(x0 \cdot x0 - \frac{x0}{1 - x1} \cdot x0\right)}}double f(double x0, double x1) {
double r8203740 = x0;
double r8203741 = 1.0;
double r8203742 = x1;
double r8203743 = r8203741 - r8203742;
double r8203744 = r8203740 / r8203743;
double r8203745 = r8203744 - r8203740;
return r8203745;
}
double f(double x0, double x1) {
double r8203746 = x0;
double r8203747 = 1.0;
double r8203748 = x1;
double r8203749 = r8203747 - r8203748;
double r8203750 = r8203746 / r8203749;
double r8203751 = r8203750 * r8203750;
double r8203752 = r8203751 / r8203749;
double r8203753 = r8203746 * r8203746;
double r8203754 = r8203752 - r8203753;
double r8203755 = r8203746 * r8203754;
double r8203756 = r8203753 * r8203753;
double r8203757 = r8203756 * r8203756;
double r8203758 = r8203750 * r8203746;
double r8203759 = r8203758 * r8203758;
double r8203760 = r8203759 * r8203759;
double r8203761 = r8203757 - r8203760;
double r8203762 = r8203759 + r8203756;
double r8203763 = r8203761 / r8203762;
double r8203764 = r8203749 * r8203763;
double r8203765 = r8203753 - r8203758;
double r8203766 = r8203758 * r8203765;
double r8203767 = r8203764 + r8203766;
double r8203768 = r8203749 * r8203765;
double r8203769 = r8203767 / r8203768;
double r8203770 = r8203755 / r8203769;
return r8203770;
}




Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.2 |
| Herbie | 6.5 |
Initial program 7.9
rmApplied flip3--7.7
Simplified7.4
rmApplied flip-+7.1
Applied associate-*r/7.1
Applied frac-add7.1
rmApplied flip--6.5
Final simplification6.5
herbie shell --seed 2019141
(FPCore (x0 x1)
:name "(- (/ x0 (- 1 x1)) x0)"
:pre (or (and (== x0 1.855) (== x1 0.000209)) (and (== x0 2.985) (== x1 0.0186)))
:herbie-target
(/ (* x0 x1) (- 1 x1))
(- (/ x0 (- 1 x1)) x0))