\log \left(1 + e^{x}\right) - x \cdot y\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) - \left(\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) + \left(x \cdot y + \log \left(\left(e^{x} \cdot e^{x} - e^{x}\right) + 1\right)\right)\right)double f(double x, double y) {
double r77813510 = 1.0;
double r77813511 = x;
double r77813512 = exp(r77813511);
double r77813513 = r77813510 + r77813512;
double r77813514 = log(r77813513);
double r77813515 = y;
double r77813516 = r77813511 * r77813515;
double r77813517 = r77813514 - r77813516;
return r77813517;
}
double f(double x, double y) {
double r77813518 = x;
double r77813519 = r77813518 + r77813518;
double r77813520 = r77813519 + r77813518;
double r77813521 = exp(r77813520);
double r77813522 = r77813521 * r77813521;
double r77813523 = r77813522 * r77813521;
double r77813524 = 1.0;
double r77813525 = r77813523 + r77813524;
double r77813526 = log(r77813525);
double r77813527 = r77813524 - r77813521;
double r77813528 = r77813522 + r77813527;
double r77813529 = log(r77813528);
double r77813530 = y;
double r77813531 = r77813518 * r77813530;
double r77813532 = exp(r77813518);
double r77813533 = r77813532 * r77813532;
double r77813534 = r77813533 - r77813532;
double r77813535 = r77813534 + r77813524;
double r77813536 = log(r77813535);
double r77813537 = r77813531 + r77813536;
double r77813538 = r77813529 + r77813537;
double r77813539 = r77813526 - r77813538;
return r77813539;
}




Bits error versus x




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