\log \left(1 + e^{x}\right) - x \cdot y\left(\log \left(\sqrt{1 + e^{x}}\right) + \log \left(\sqrt{1 + e^{x}}\right)\right) - x \cdot ydouble f(double x, double y) {
double r9436065 = 1.0;
double r9436066 = x;
double r9436067 = exp(r9436066);
double r9436068 = r9436065 + r9436067;
double r9436069 = log(r9436068);
double r9436070 = y;
double r9436071 = r9436066 * r9436070;
double r9436072 = r9436069 - r9436071;
return r9436072;
}
double f(double x, double y) {
double r9436073 = 1.0;
double r9436074 = x;
double r9436075 = exp(r9436074);
double r9436076 = r9436073 + r9436075;
double r9436077 = sqrt(r9436076);
double r9436078 = log(r9436077);
double r9436079 = r9436078 + r9436078;
double r9436080 = y;
double r9436081 = r9436074 * r9436080;
double r9436082 = r9436079 - r9436081;
return r9436082;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.5 |
|---|---|
| Target | 0.1 |
| Herbie | 1.0 |
Initial program 0.5
rmApplied add-sqr-sqrt1.3
Applied log-prod1.0
Final simplification1.0
herbie shell --seed 2019158
(FPCore (x y)
:name "Logistic regression 2"
:herbie-target
(if (<= x 0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))
(- (log (+ 1 (exp x))) (* x y)))