Average Error: 58.1 → 0.6
Time: 20.7s
Precision: 64
\[\frac{e^{x} - e^{-x}}{2}\]
\[\frac{{x}^{5} \cdot \frac{1}{60} + \left(2 \cdot x + \left(x \cdot \left(x \cdot \frac{1}{3}\right)\right) \cdot x\right)}{2}\]
double f(double x) {
        double r7098151 = x;
        double r7098152 = exp(r7098151);
        double r7098153 = -r7098151;
        double r7098154 = exp(r7098153);
        double r7098155 = r7098152 - r7098154;
        double r7098156 = 2.0;
        double r7098157 = r7098155 / r7098156;
        return r7098157;
}

double f(double x) {
        double r7098158 = x;
        double r7098159 = 5.0;
        double r7098160 = pow(r7098158, r7098159);
        double r7098161 = 0.016666666666666666;
        double r7098162 = r7098160 * r7098161;
        double r7098163 = 2.0;
        double r7098164 = r7098163 * r7098158;
        double r7098165 = 0.3333333333333333;
        double r7098166 = r7098158 * r7098165;
        double r7098167 = r7098158 * r7098166;
        double r7098168 = r7098167 * r7098158;
        double r7098169 = r7098164 + r7098168;
        double r7098170 = r7098162 + r7098169;
        double r7098171 = r7098170 / r7098163;
        return r7098171;
}

\frac{e^{x} - e^{-x}}{2}
\frac{{x}^{5} \cdot \frac{1}{60} + \left(2 \cdot x + \left(x \cdot \left(x \cdot \frac{1}{3}\right)\right) \cdot x\right)}{2}

Error

Bits error versus x

Derivation

  1. Initial program 58.1

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

    \[\leadsto \frac{\color{blue}{2 \cdot x + \left(\frac{1}{3} \cdot {x}^{3} + \frac{1}{60} \cdot {x}^{5}\right)}}{2}\]
  3. Simplified0.6

    \[\leadsto \frac{\color{blue}{x \cdot \left(x \cdot \left(\frac{1}{3} \cdot x\right) + 2\right) + {x}^{5} \cdot \frac{1}{60}}}{2}\]
  4. Using strategy rm
  5. Applied distribute-lft-in0.6

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

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

Reproduce

herbie shell --seed 2019101 
(FPCore (x)
  :name "Hyperbolic sine"
  (/ (- (exp x) (exp (- x))) 2))