Average Error: 0.0 → 0.0
Time: 1.7s
Precision: 64
\[\frac{2}{e^{x} + e^{-x}}\]
\[\sqrt{\frac{2}{e^{x} + e^{-x}}} \cdot \sqrt{\frac{2}{e^{x} + e^{-x}}}\]
\frac{2}{e^{x} + e^{-x}}
\sqrt{\frac{2}{e^{x} + e^{-x}}} \cdot \sqrt{\frac{2}{e^{x} + e^{-x}}}
double f(double x) {
        double r57534 = 2.0;
        double r57535 = x;
        double r57536 = exp(r57535);
        double r57537 = -r57535;
        double r57538 = exp(r57537);
        double r57539 = r57536 + r57538;
        double r57540 = r57534 / r57539;
        return r57540;
}

double f(double x) {
        double r57541 = 2.0;
        double r57542 = x;
        double r57543 = exp(r57542);
        double r57544 = -r57542;
        double r57545 = exp(r57544);
        double r57546 = r57543 + r57545;
        double r57547 = r57541 / r57546;
        double r57548 = sqrt(r57547);
        double r57549 = r57548 * r57548;
        return r57549;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{2}{e^{x} + e^{-x}}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.0

    \[\leadsto \color{blue}{\sqrt{\frac{2}{e^{x} + e^{-x}}} \cdot \sqrt{\frac{2}{e^{x} + e^{-x}}}}\]
  4. Final simplification0.0

    \[\leadsto \sqrt{\frac{2}{e^{x} + e^{-x}}} \cdot \sqrt{\frac{2}{e^{x} + e^{-x}}}\]

Reproduce

herbie shell --seed 2020047 +o rules:numerics
(FPCore (x)
  :name "Hyperbolic secant"
  :precision binary64
  (/ 2 (+ (exp x) (exp (- x)))))