\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 r6789530 = x0;
double r6789531 = 1.0;
double r6789532 = x1;
double r6789533 = r6789531 - r6789532;
double r6789534 = r6789530 / r6789533;
double r6789535 = r6789534 - r6789530;
return r6789535;
}
double f(double x0, double x1) {
double r6789536 = x0;
double r6789537 = 1.0;
double r6789538 = x1;
double r6789539 = r6789537 - r6789538;
double r6789540 = r6789536 / r6789539;
double r6789541 = r6789540 * r6789540;
double r6789542 = r6789541 / r6789539;
double r6789543 = r6789536 * r6789536;
double r6789544 = r6789542 - r6789543;
double r6789545 = r6789536 * r6789544;
double r6789546 = r6789543 * r6789543;
double r6789547 = r6789546 * r6789546;
double r6789548 = r6789540 * r6789536;
double r6789549 = r6789548 * r6789548;
double r6789550 = r6789549 * r6789549;
double r6789551 = r6789547 - r6789550;
double r6789552 = r6789549 + r6789546;
double r6789553 = r6789551 / r6789552;
double r6789554 = r6789539 * r6789553;
double r6789555 = r6789543 - r6789548;
double r6789556 = r6789548 * r6789555;
double r6789557 = r6789554 + r6789556;
double r6789558 = r6789539 * r6789555;
double r6789559 = r6789557 / r6789558;
double r6789560 = r6789545 / r6789559;
return r6789560;
}




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 2019152
(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))