\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 r2005175 = 1.0;
double r2005176 = x;
double r2005177 = r2005175 - r2005176;
double r2005178 = log(r2005177);
double r2005179 = r2005175 + r2005176;
double r2005180 = log(r2005179);
double r2005181 = r2005178 / r2005180;
return r2005181;
}
double f(double x) {
double r2005182 = -1.0;
double r2005183 = x;
double r2005184 = r2005183 * r2005183;
double r2005185 = -0.5;
double r2005186 = r2005184 * r2005185;
double r2005187 = r2005182 + r2005186;
double r2005188 = r2005187 - r2005183;
return r2005188;
}




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 2019130
(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))))