\log \left(1 + e^{x}\right) - x \cdot y\left(\log \left({1}^{3} + {\left(e^{x}\right)}^{3}\right) - \log \left(1 \cdot 1 + \left(e^{x} \cdot e^{x} - 1 \cdot e^{x}\right)\right)\right) - x \cdot ydouble f(double x, double y) {
double r131963 = 1.0;
double r131964 = x;
double r131965 = exp(r131964);
double r131966 = r131963 + r131965;
double r131967 = log(r131966);
double r131968 = y;
double r131969 = r131964 * r131968;
double r131970 = r131967 - r131969;
return r131970;
}
double f(double x, double y) {
double r131971 = 1.0;
double r131972 = 3.0;
double r131973 = pow(r131971, r131972);
double r131974 = x;
double r131975 = exp(r131974);
double r131976 = pow(r131975, r131972);
double r131977 = r131973 + r131976;
double r131978 = log(r131977);
double r131979 = r131971 * r131971;
double r131980 = r131975 * r131975;
double r131981 = r131971 * r131975;
double r131982 = r131980 - r131981;
double r131983 = r131979 + r131982;
double r131984 = log(r131983);
double r131985 = r131978 - r131984;
double r131986 = y;
double r131987 = r131974 * r131986;
double r131988 = r131985 - r131987;
return r131988;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 0.5
rmApplied flip3-+0.6
Applied log-div0.6
Final simplification0.6
herbie shell --seed 2019354
(FPCore (x y)
:name "Logistic regression 2"
:precision binary64
:herbie-target
(if (<= x 0.0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))
(- (log (+ 1 (exp x))) (* x y)))