\frac{\log \left(1 - x\right)}{\log \left(1 + x\right)}\left(\left(x \cdot x\right) \cdot \frac{-1}{2} - x\right) + -1double f(double x) {
double r2618987 = 1.0;
double r2618988 = x;
double r2618989 = r2618987 - r2618988;
double r2618990 = log(r2618989);
double r2618991 = r2618987 + r2618988;
double r2618992 = log(r2618991);
double r2618993 = r2618990 / r2618992;
return r2618993;
}
double f(double x) {
double r2618994 = x;
double r2618995 = r2618994 * r2618994;
double r2618996 = -0.5;
double r2618997 = r2618995 * r2618996;
double r2618998 = r2618997 - r2618994;
double r2618999 = -1.0;
double r2619000 = r2618998 + r2618999;
return r2619000;
}




Bits error versus x
Results
| Original | 60.9 |
|---|---|
| Target | 0.4 |
| Herbie | 0.5 |
Initial program 60.9
Taylor expanded around 0 0.5
Simplified0.5
rmApplied associate--l+0.5
Final simplification0.5
herbie shell --seed 2019141
(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))))