\log \left(1 + e^{x}\right) - x \cdot y\mathsf{fma}\left(y, -x, \sqrt[3]{{\left(\log \left(e^{x} + 1\right)\right)}^{3}}\right)double f(double x, double y) {
double r83058 = 1.0;
double r83059 = x;
double r83060 = exp(r83059);
double r83061 = r83058 + r83060;
double r83062 = log(r83061);
double r83063 = y;
double r83064 = r83059 * r83063;
double r83065 = r83062 - r83064;
return r83065;
}
double f(double x, double y) {
double r83066 = y;
double r83067 = x;
double r83068 = -r83067;
double r83069 = exp(r83067);
double r83070 = 1.0;
double r83071 = r83069 + r83070;
double r83072 = log(r83071);
double r83073 = 3.0;
double r83074 = pow(r83072, r83073);
double r83075 = cbrt(r83074);
double r83076 = fma(r83066, r83068, r83075);
return r83076;
}




Bits error versus x




Bits error versus y
| Original | 0.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.6 |
Initial program 0.6
Taylor expanded around inf 0.6
Simplified0.6
rmApplied add-cbrt-cube0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019325 +o rules:numerics
(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)))