Average Error: 57.9 → 0.4
Time: 28.8s
Precision: 64
\[\frac{e^{x} - e^{-x}}{2}\]
\[\begin{array}{l} \mathbf{if}\;x \le 0.01553176594854795838918093409120046999305:\\ \;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} + \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right) \cdot \left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} - \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right)}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\\ \end{array}\]
\frac{e^{x} - e^{-x}}{2}
\begin{array}{l}
\mathbf{if}\;x \le 0.01553176594854795838918093409120046999305:\\
\;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} + \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right) \cdot \left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} - \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right)}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\\

\end{array}
double f(double x) {
        double r67326 = x;
        double r67327 = exp(r67326);
        double r67328 = -r67326;
        double r67329 = exp(r67328);
        double r67330 = r67327 - r67329;
        double r67331 = 2.0;
        double r67332 = r67330 / r67331;
        return r67332;
}

double f(double x) {
        double r67333 = x;
        double r67334 = 0.015531765948547958;
        bool r67335 = r67333 <= r67334;
        double r67336 = 0.3333333333333333;
        double r67337 = 3.0;
        double r67338 = pow(r67333, r67337);
        double r67339 = r67336 * r67338;
        double r67340 = 0.016666666666666666;
        double r67341 = 5.0;
        double r67342 = pow(r67333, r67341);
        double r67343 = r67340 * r67342;
        double r67344 = 2.0;
        double r67345 = r67344 * r67333;
        double r67346 = r67343 + r67345;
        double r67347 = r67339 + r67346;
        double r67348 = 2.0;
        double r67349 = r67347 / r67348;
        double r67350 = exp(r67333);
        double r67351 = r67337 / r67344;
        double r67352 = pow(r67350, r67351);
        double r67353 = -1.0;
        double r67354 = r67353 * r67333;
        double r67355 = exp(r67354);
        double r67356 = pow(r67355, r67337);
        double r67357 = sqrt(r67356);
        double r67358 = r67352 + r67357;
        double r67359 = r67352 - r67357;
        double r67360 = r67358 * r67359;
        double r67361 = r67350 + r67355;
        double r67362 = r67350 * r67361;
        double r67363 = -2.0;
        double r67364 = pow(r67350, r67363);
        double r67365 = r67362 + r67364;
        double r67366 = r67360 / r67365;
        double r67367 = r67366 / r67348;
        double r67368 = r67335 ? r67349 : r67367;
        return r67368;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < 0.015531765948547958

    1. Initial program 58.4

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

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

    if 0.015531765948547958 < x

    1. Initial program 0.6

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

      \[\leadsto \frac{\color{blue}{e^{x} - e^{-x}}}{2}\]
    3. Simplified0.6

      \[\leadsto \frac{\color{blue}{e^{x} - e^{-1 \cdot x}}}{2}\]
    4. Using strategy rm
    5. Applied flip3--3.8

      \[\leadsto \frac{\color{blue}{\frac{{\left(e^{x}\right)}^{3} - {\left(e^{-1 \cdot x}\right)}^{3}}{e^{x} \cdot e^{x} + \left(e^{-1 \cdot x} \cdot e^{-1 \cdot x} + e^{x} \cdot e^{-1 \cdot x}\right)}}}{2}\]
    6. Simplified3.9

      \[\leadsto \frac{\frac{{\left(e^{x}\right)}^{3} - {\left(e^{-1 \cdot x}\right)}^{3}}{\color{blue}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}}{2}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt3.9

      \[\leadsto \frac{\frac{{\left(e^{x}\right)}^{3} - \color{blue}{\sqrt{{\left(e^{-1 \cdot x}\right)}^{3}} \cdot \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}}}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\]
    9. Applied sqr-pow4.2

      \[\leadsto \frac{\frac{\color{blue}{{\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} \cdot {\left(e^{x}\right)}^{\left(\frac{3}{2}\right)}} - \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}} \cdot \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\]
    10. Applied difference-of-squares4.1

      \[\leadsto \frac{\frac{\color{blue}{\left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} + \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right) \cdot \left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} - \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right)}}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 0.01553176594854795838918093409120046999305:\\ \;\;\;\;\frac{\frac{1}{3} \cdot {x}^{3} + \left(\frac{1}{60} \cdot {x}^{5} + 2 \cdot x\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} + \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right) \cdot \left({\left(e^{x}\right)}^{\left(\frac{3}{2}\right)} - \sqrt{{\left(e^{-1 \cdot x}\right)}^{3}}\right)}{e^{x} \cdot \left(e^{x} + e^{-1 \cdot x}\right) + {\left(e^{x}\right)}^{-2}}}{2}\\ \end{array}\]

Reproduce

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