\log \left(1 + e^{x}\right) - x \cdot y\left(\log \left(1 + {\left(e^{x} \cdot \left(e^{x} \cdot e^{x}\right)\right)}^{3}\right) - \log \left(1 + \left(\left(e^{x} \cdot e^{x}\right) \cdot \left(e^{x} \cdot e^{x}\right) - e^{x}\right) \cdot \left(e^{x} \cdot e^{x}\right)\right)\right) - \left(\log \left(e^{x} \cdot e^{x} - \left(e^{x} - 1\right)\right) + x \cdot y\right)double f(double x, double y) {
double r3058473 = 1.0;
double r3058474 = x;
double r3058475 = exp(r3058474);
double r3058476 = r3058473 + r3058475;
double r3058477 = log(r3058476);
double r3058478 = y;
double r3058479 = r3058474 * r3058478;
double r3058480 = r3058477 - r3058479;
return r3058480;
}
double f(double x, double y) {
double r3058481 = 1.0;
double r3058482 = x;
double r3058483 = exp(r3058482);
double r3058484 = r3058483 * r3058483;
double r3058485 = r3058483 * r3058484;
double r3058486 = 3.0;
double r3058487 = pow(r3058485, r3058486);
double r3058488 = r3058481 + r3058487;
double r3058489 = log(r3058488);
double r3058490 = r3058484 * r3058484;
double r3058491 = r3058490 - r3058483;
double r3058492 = r3058491 * r3058484;
double r3058493 = r3058481 + r3058492;
double r3058494 = log(r3058493);
double r3058495 = r3058489 - r3058494;
double r3058496 = r3058483 - r3058481;
double r3058497 = r3058484 - r3058496;
double r3058498 = log(r3058497);
double r3058499 = y;
double r3058500 = r3058482 * r3058499;
double r3058501 = r3058498 + r3058500;
double r3058502 = r3058495 - r3058501;
return r3058502;
}




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
Applied associate--l-0.6
Simplified0.6
rmApplied flip3-+0.6
Applied log-div0.6
Simplified0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019153
(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)))