\frac{2}{e^{x} + e^{-x}}\mathsf{log1p}\left(\sqrt[3]{{\left(\mathsf{expm1}\left(\frac{2}{e^{x} + e^{-x}}\right)\right)}^{3}}\right)double code(double x) {
return (2.0 / (exp(x) + exp(-x)));
}
double code(double x) {
return log1p(cbrt(pow(expm1((2.0 / (exp(x) + exp(-x)))), 3.0)));
}



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