\frac{\log \left(1 - x\right)}{\log \left(1 + x\right)}\left(-1 - \left(x \cdot x\right) \cdot \frac{1}{2}\right) - xdouble f(double x) {
double r2156609 = 1.0;
double r2156610 = x;
double r2156611 = r2156609 - r2156610;
double r2156612 = log(r2156611);
double r2156613 = r2156609 + r2156610;
double r2156614 = log(r2156613);
double r2156615 = r2156612 / r2156614;
return r2156615;
}
double f(double x) {
double r2156616 = -1.0;
double r2156617 = x;
double r2156618 = r2156617 * r2156617;
double r2156619 = 0.5;
double r2156620 = r2156618 * r2156619;
double r2156621 = r2156616 - r2156620;
double r2156622 = r2156621 - r2156617;
return r2156622;
}




Bits error versus x
Results
| Original | 60.9 |
|---|---|
| Target | 0.3 |
| Herbie | 0.5 |
Initial program 60.9
Taylor expanded around 0 0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019146
(FPCore (x)
:name "qlog (example 3.10)"
:pre (and (< -1 x) (< x 1))
:herbie-target
(- (+ (+ (+ 1 x) (/ (* x x) 2)) (* 5/12 (pow x 3))))
(/ (log (- 1 x)) (log (+ 1 x))))