\log \left(1 + e^{x}\right) - x \cdot y\left(\log \left(\sqrt{1 + e^{x}}\right) + \left(\log \left(\sqrt{\sqrt{1 + e^{x}}}\right) + \log \left(\sqrt{\sqrt{1 + e^{x}}}\right)\right)\right) - y \cdot xdouble f(double x, double y) {
double r3178463 = 1.0;
double r3178464 = x;
double r3178465 = exp(r3178464);
double r3178466 = r3178463 + r3178465;
double r3178467 = log(r3178466);
double r3178468 = y;
double r3178469 = r3178464 * r3178468;
double r3178470 = r3178467 - r3178469;
return r3178470;
}
double f(double x, double y) {
double r3178471 = 1.0;
double r3178472 = x;
double r3178473 = exp(r3178472);
double r3178474 = r3178471 + r3178473;
double r3178475 = sqrt(r3178474);
double r3178476 = log(r3178475);
double r3178477 = sqrt(r3178475);
double r3178478 = log(r3178477);
double r3178479 = r3178478 + r3178478;
double r3178480 = r3178476 + r3178479;
double r3178481 = y;
double r3178482 = r3178481 * r3178472;
double r3178483 = r3178480 - r3178482;
return r3178483;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.6 |
Initial program 0.6
rmApplied add-sqr-sqrt1.4
Applied log-prod1.1
rmApplied add-sqr-sqrt1.1
Applied sqrt-prod0.6
Applied log-prod0.6
Final simplification0.6
herbie shell --seed 2019156
(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)))