\frac{x0}{1 - x1} - x0\frac{\log \left(e^{\left(\frac{x0}{{1}^{3} - {x1}^{3}} \cdot \left(1 \cdot 1 + \left(x1 \cdot x1 + 1 \cdot x1\right)\right)\right) \cdot \left(\frac{x0}{1 \cdot 1 - x1 \cdot x1} \cdot \left(1 + x1\right)\right) - x0 \cdot x0}\right)}{\frac{x0}{1 - x1} + x0}double f(double x0, double x1) {
double r205660 = x0;
double r205661 = 1.0;
double r205662 = x1;
double r205663 = r205661 - r205662;
double r205664 = r205660 / r205663;
double r205665 = r205664 - r205660;
return r205665;
}
double f(double x0, double x1) {
double r205666 = x0;
double r205667 = 1.0;
double r205668 = 3.0;
double r205669 = pow(r205667, r205668);
double r205670 = x1;
double r205671 = pow(r205670, r205668);
double r205672 = r205669 - r205671;
double r205673 = r205666 / r205672;
double r205674 = r205667 * r205667;
double r205675 = r205670 * r205670;
double r205676 = r205667 * r205670;
double r205677 = r205675 + r205676;
double r205678 = r205674 + r205677;
double r205679 = r205673 * r205678;
double r205680 = r205674 - r205675;
double r205681 = r205666 / r205680;
double r205682 = r205667 + r205670;
double r205683 = r205681 * r205682;
double r205684 = r205679 * r205683;
double r205685 = r205666 * r205666;
double r205686 = r205684 - r205685;
double r205687 = exp(r205686);
double r205688 = log(r205687);
double r205689 = r205667 - r205670;
double r205690 = r205666 / r205689;
double r205691 = r205690 + r205666;
double r205692 = r205688 / r205691;
return r205692;
}




Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.2 |
| Herbie | 4.7 |
Initial program 7.9
rmApplied flip--7.3
rmApplied flip--5.6
Applied associate-/r/6.2
rmApplied add-log-exp6.2
Applied add-log-exp6.2
Applied diff-log5.8
Simplified5.8
rmApplied flip3--5.8
Applied associate-/r/4.7
Final simplification4.7
herbie shell --seed 2020033
(FPCore (x0 x1)
:name "(- (/ x0 (- 1 x1)) x0)"
:precision binary64
: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))