\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 r5226978 = 1.0;
double r5226979 = x;
double r5226980 = r5226978 - r5226979;
double r5226981 = log(r5226980);
double r5226982 = r5226978 + r5226979;
double r5226983 = log(r5226982);
double r5226984 = r5226981 / r5226983;
return r5226984;
}
double f(double x) {
double r5226985 = x;
double r5226986 = r5226985 * r5226985;
double r5226987 = -0.5;
double r5226988 = r5226986 * r5226987;
double r5226989 = r5226988 - r5226985;
double r5226990 = -1.0;
double r5226991 = r5226989 + r5226990;
return r5226991;
}




Bits error versus x
Results
| Original | 61.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 61.2
Taylor expanded around 0 0.3
Simplified0.3
rmApplied sub-neg0.3
Applied associate-+l+0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019128
(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))))