\frac{2}{e^{x} + e^{-x}}\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(\frac{2}{e^{x} + \frac{1}{e^{x}}}\right)\right)\right)\right)double f(double x) {
double r2232295 = 2.0;
double r2232296 = x;
double r2232297 = exp(r2232296);
double r2232298 = -r2232296;
double r2232299 = exp(r2232298);
double r2232300 = r2232297 + r2232299;
double r2232301 = r2232295 / r2232300;
return r2232301;
}
double f(double x) {
double r2232302 = 2.0;
double r2232303 = x;
double r2232304 = exp(r2232303);
double r2232305 = 1.0;
double r2232306 = r2232305 / r2232304;
double r2232307 = r2232304 + r2232306;
double r2232308 = r2232302 / r2232307;
double r2232309 = log1p(r2232308);
double r2232310 = expm1(r2232309);
return r2232310;
}



Bits error versus x
Results
Initial program 0.0
rmApplied expm1-log1p-u0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019130 +o rules:numerics
(FPCore (x)
:name "Hyperbolic secant"
(/ 2 (+ (exp x) (exp (- x)))))