Average Error: 29.4 → 0.6
Time: 21.2s
Precision: 64
\[\left(e^{x} - 2\right) + e^{-x}\]
\[{x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)\]
\left(e^{x} - 2\right) + e^{-x}
{x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)
double f(double x) {
        double r75398 = x;
        double r75399 = exp(r75398);
        double r75400 = 2.0;
        double r75401 = r75399 - r75400;
        double r75402 = -r75398;
        double r75403 = exp(r75402);
        double r75404 = r75401 + r75403;
        return r75404;
}

double f(double x) {
        double r75405 = x;
        double r75406 = 2.0;
        double r75407 = pow(r75405, r75406);
        double r75408 = 0.002777777777777778;
        double r75409 = 6.0;
        double r75410 = pow(r75405, r75409);
        double r75411 = r75408 * r75410;
        double r75412 = 0.08333333333333333;
        double r75413 = 4.0;
        double r75414 = pow(r75405, r75413);
        double r75415 = r75412 * r75414;
        double r75416 = r75411 + r75415;
        double r75417 = r75407 + r75416;
        return r75417;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original29.4
Target0.0
Herbie0.6
\[4 \cdot {\left(\sinh \left(\frac{x}{2}\right)\right)}^{2}\]

Derivation

  1. Initial program 29.4

    \[\left(e^{x} - 2\right) + e^{-x}\]
  2. Taylor expanded around 0 0.6

    \[\leadsto \color{blue}{{x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)}\]
  3. Final simplification0.6

    \[\leadsto {x}^{2} + \left(\frac{1}{360} \cdot {x}^{6} + \frac{1}{12} \cdot {x}^{4}\right)\]

Reproduce

herbie shell --seed 2019198 
(FPCore (x)
  :name "exp2 (problem 3.3.7)"

  :herbie-target
  (* 4.0 (pow (sinh (/ x 2.0)) 2.0))

  (+ (- (exp x) 2.0) (exp (- x))))