double f(double x, double y) {
double r16288229 = 1.0;
double r16288230 = x;
double r16288231 = exp(r16288230);
double r16288232 = r16288229 + r16288231;
double r16288233 = log(r16288232);
double r16288234 = y;
double r16288235 = r16288230 * r16288234;
double r16288236 = r16288233 - r16288235;
return r16288236;
}
double f(double x, double y) {
double r16288237 = x;
double r16288238 = r16288237 + r16288237;
double r16288239 = r16288238 + r16288237;
double r16288240 = exp(r16288239);
double r16288241 = r16288240 * r16288240;
double r16288242 = r16288241 * r16288240;
double r16288243 = 1.0;
double r16288244 = r16288242 + r16288243;
double r16288245 = log(r16288244);
double r16288246 = r16288243 - r16288240;
double r16288247 = r16288241 + r16288246;
double r16288248 = log(r16288247);
double r16288249 = r16288245 - r16288248;
double r16288250 = exp(r16288237);
double r16288251 = r16288250 * r16288250;
double r16288252 = r16288251 - r16288250;
double r16288253 = r16288243 + r16288252;
double r16288254 = log(r16288253);
double r16288255 = r16288249 - r16288254;
double r16288256 = y;
double r16288257 = r16288237 * r16288256;
double r16288258 = r16288255 - r16288257;
return r16288258;
}
\log \left(1 + e^{x}\right) - x \cdot y\left(\left(\log \left(\left(e^{\left(x + x\right) + x} \cdot e^{\left(x + x\right) + x}\right) \cdot e^{\left(x + x\right) + x} + 1\right) - \log \left(e^{\left(x + x\right) + x} \cdot e^{\left(x + x\right) + x} + \left(1 - e^{\left(x + x\right) + x}\right)\right)\right) - \log \left(1 + \left(e^{x} \cdot e^{x} - e^{x}\right)\right)\right) - x \cdot y



Bits error versus x




Bits error versus y
| Original | 0.5 |
|---|---|
| Target | 0.1 |
| Herbie | 0.6 |
Initial program 0.5
rmApplied flip3-+0.6
Applied log-div0.6
Simplified0.6
rmApplied flip3-+0.6
Applied log-div0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019101
(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)))