Average Error: 58.5 → 1.8
Time: 40.7s
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 r53382 = x;
        double r53383 = exp(r53382);
        double r53384 = -r53382;
        double r53385 = exp(r53384);
        double r53386 = r53383 - r53385;
        double r53387 = r53383 + r53385;
        double r53388 = r53386 / r53387;
        return r53388;
}

double f(double x) {
        double r53389 = x;
        double r53390 = 0.13333333333333333;
        double r53391 = 5.0;
        double r53392 = pow(r53389, r53391);
        double r53393 = r53390 * r53392;
        double r53394 = r53389 + r53393;
        double r53395 = 0.3333333333333333;
        double r53396 = 3.0;
        double r53397 = pow(r53389, r53396);
        double r53398 = r53395 * r53397;
        double r53399 = r53394 - r53398;
        return r53399;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.5

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

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

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

Reproduce

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