\frac{x0}{1 - x1} - x0\frac{\log \left(e^{\frac{\sqrt{x0}}{\frac{1 - x1}{\sqrt{x0}}} \cdot \frac{x0}{1 - x1} - x0 \cdot x0}\right)}{\sqrt[3]{{\left(\frac{x0}{1 - x1}\right)}^{3}} + x0}double f(double x0, double x1) {
double r177662 = x0;
double r177663 = 1.0;
double r177664 = x1;
double r177665 = r177663 - r177664;
double r177666 = r177662 / r177665;
double r177667 = r177666 - r177662;
return r177667;
}
double f(double x0, double x1) {
double r177668 = x0;
double r177669 = sqrt(r177668);
double r177670 = 1.0;
double r177671 = x1;
double r177672 = r177670 - r177671;
double r177673 = r177672 / r177669;
double r177674 = r177669 / r177673;
double r177675 = r177668 / r177672;
double r177676 = r177674 * r177675;
double r177677 = r177668 * r177668;
double r177678 = r177676 - r177677;
double r177679 = exp(r177678);
double r177680 = log(r177679);
double r177681 = 3.0;
double r177682 = pow(r177675, r177681);
double r177683 = cbrt(r177682);
double r177684 = r177683 + r177668;
double r177685 = r177680 / r177684;
return r177685;
}




Bits error versus x0




Bits error versus x1
Results
| Original | 7.9 |
|---|---|
| Target | 0.3 |
| Herbie | 4.7 |
Initial program 7.9
rmApplied flip--7.3
rmApplied add-sqr-sqrt7.3
Applied associate-/l*5.7
rmApplied add-log-exp5.7
Applied add-log-exp5.7
Applied diff-log5.5
Simplified4.7
rmApplied add-cbrt-cube4.7
Applied add-cbrt-cube4.7
Applied cbrt-undiv4.7
Simplified4.7
Final simplification4.7
herbie shell --seed 2020002
(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))