\frac{\log \left(1 - x\right)}{\log \left(1 + x\right)}\left(-1 - \left(\frac{1}{2} \cdot x\right) \cdot x\right) - xdouble f(double x) {
double r1975591 = 1.0;
double r1975592 = x;
double r1975593 = r1975591 - r1975592;
double r1975594 = log(r1975593);
double r1975595 = r1975591 + r1975592;
double r1975596 = log(r1975595);
double r1975597 = r1975594 / r1975596;
return r1975597;
}
double f(double x) {
double r1975598 = -1.0;
double r1975599 = 0.5;
double r1975600 = x;
double r1975601 = r1975599 * r1975600;
double r1975602 = r1975601 * r1975600;
double r1975603 = r1975598 - r1975602;
double r1975604 = r1975603 - r1975600;
return r1975604;
}




Bits error versus x
Results
| Original | 60.8 |
|---|---|
| Target | 0.3 |
| Herbie | 0.4 |
Initial program 60.8
Taylor expanded around 0 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019152
(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))))