\frac{x0}{1 - x1} - x0\frac{x0}{1 - x1} - x0double f(double x0, double x1) {
double r158680 = x0;
double r158681 = 1.0;
double r158682 = x1;
double r158683 = r158681 - r158682;
double r158684 = r158680 / r158683;
double r158685 = r158684 - r158680;
return r158685;
}
double f(double x0, double x1) {
double r158686 = x0;
double r158687 = 1.0;
double r158688 = x1;
double r158689 = r158687 - r158688;
double r158690 = r158686 / r158689;
double r158691 = r158690 - r158686;
return r158691;
}




Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.3 |
| Herbie | 7.9 |
if x1 < 0.00021208908081054686Initial program 11.2
rmApplied flip--11.4
rmApplied add-sqr-sqrt8.0
Applied add-sqr-sqrt8.0
Applied times-frac8.0
rmApplied add-log-exp8.0
Applied add-log-exp8.0
Applied diff-log7.4
Simplified7.4
if 0.00021208908081054686 < x1 Initial program 4.6
rmApplied flip--3.2
rmApplied add-log-exp3.2
Applied add-log-exp3.2
Applied diff-log3.5
Simplified2.0
Final simplification7.9
herbie shell --seed 2019297
(FPCore (x0 x1)
:name "(- (/ x0 (- 1 x1)) x0)"
:precision binary64
:pre (or (and (== x0 1.855) (== x1 2.09000000000000012e-4)) (and (== x0 2.98499999999999988) (== x1 0.018599999999999998)))
:herbie-target
(/ (* x0 x1) (- 1 x1))
(- (/ x0 (- 1 x1)) x0))