\log \left(1 + e^{x}\right) - x \cdot ye^{\log \left(\log \left(1 + e^{x}\right)\right)} - x \cdot ydouble f(double x, double y) {
double r169845 = 1.0;
double r169846 = x;
double r169847 = exp(r169846);
double r169848 = r169845 + r169847;
double r169849 = log(r169848);
double r169850 = y;
double r169851 = r169846 * r169850;
double r169852 = r169849 - r169851;
return r169852;
}
double f(double x, double y) {
double r169853 = 1.0;
double r169854 = x;
double r169855 = exp(r169854);
double r169856 = r169853 + r169855;
double r169857 = log(r169856);
double r169858 = log(r169857);
double r169859 = exp(r169858);
double r169860 = y;
double r169861 = r169854 * r169860;
double r169862 = r169859 - r169861;
return r169862;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.5 |
|---|---|
| Target | 0.1 |
| Herbie | 0.5 |
Initial program 0.5
rmApplied add-exp-log0.5
Final simplification0.5
herbie shell --seed 2019304
(FPCore (x y)
:name "Logistic regression 2"
:precision binary64
:herbie-target
(if (<= x 0.0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))
(- (log (+ 1 (exp x))) (* x y)))