Average Error: 58.2 → 1.7
Time: 27.5s
Precision: 64
\[\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\]
\[\left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}\]
\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}
\left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}
double f(double x) {
        double r39633 = x;
        double r39634 = exp(r39633);
        double r39635 = -r39633;
        double r39636 = exp(r39635);
        double r39637 = r39634 - r39636;
        double r39638 = r39634 + r39636;
        double r39639 = r39637 / r39638;
        return r39639;
}

double f(double x) {
        double r39640 = x;
        double r39641 = 0.13333333333333333;
        double r39642 = 5.0;
        double r39643 = pow(r39640, r39642);
        double r39644 = r39641 * r39643;
        double r39645 = r39640 + r39644;
        double r39646 = 0.3333333333333333;
        double r39647 = 3.0;
        double r39648 = pow(r39640, r39647);
        double r39649 = r39646 * r39648;
        double r39650 = r39645 - r39649;
        return r39650;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.2

    \[\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}\]
  2. Taylor expanded around 0 1.7

    \[\leadsto \color{blue}{\left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}}\]
  3. Final simplification1.7

    \[\leadsto \left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}\]

Reproduce

herbie shell --seed 2019305 
(FPCore (x)
  :name "Hyperbolic tangent"
  :precision binary64
  (/ (- (exp x) (exp (- x))) (+ (exp x) (exp (- x)))))