e^{-\left(1 - x \cdot x\right)}\mathsf{expm1}\left(\mathsf{log1p}\left(e^{-\left(1 - x \cdot x\right)}\right)\right)double f(double x) {
double r35426 = 1.0;
double r35427 = x;
double r35428 = r35427 * r35427;
double r35429 = r35426 - r35428;
double r35430 = -r35429;
double r35431 = exp(r35430);
return r35431;
}
double f(double x) {
double r35432 = 1.0;
double r35433 = x;
double r35434 = r35433 * r35433;
double r35435 = r35432 - r35434;
double r35436 = -r35435;
double r35437 = exp(r35436);
double r35438 = log1p(r35437);
double r35439 = expm1(r35438);
return r35439;
}



Bits error versus x
Results
Initial program 0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2020065 +o rules:numerics
(FPCore (x)
:name "exp neg sub"
:precision binary64
(exp (- (- 1 (* x x)))))