\frac{e^{x} - e^{-x}}{2}\begin{array}{l}
\mathbf{if}\;x \le -0.01288229977934218090096507580710749607533:\\
\;\;\;\;\frac{\frac{e^{x} - e^{-x}}{\left(e^{x + x} + e^{-\left(x + x\right)}\right) + 1} \cdot \left(\left(e^{-2 \cdot x} + e^{x + \left(-x\right)}\right) + e^{x + x}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\frac{1}{3} \cdot {x}^{3} + \frac{1}{60} \cdot {x}^{5}\right) + 2 \cdot x}{2}\\
\end{array}double f(double x) {
double r44480 = x;
double r44481 = exp(r44480);
double r44482 = -r44480;
double r44483 = exp(r44482);
double r44484 = r44481 - r44483;
double r44485 = 2.0;
double r44486 = r44484 / r44485;
return r44486;
}
double f(double x) {
double r44487 = x;
double r44488 = -0.012882299779342181;
bool r44489 = r44487 <= r44488;
double r44490 = exp(r44487);
double r44491 = -r44487;
double r44492 = exp(r44491);
double r44493 = r44490 - r44492;
double r44494 = r44487 + r44487;
double r44495 = exp(r44494);
double r44496 = -r44494;
double r44497 = exp(r44496);
double r44498 = r44495 + r44497;
double r44499 = 1.0;
double r44500 = r44498 + r44499;
double r44501 = r44493 / r44500;
double r44502 = -2.0;
double r44503 = r44502 * r44487;
double r44504 = exp(r44503);
double r44505 = r44487 + r44491;
double r44506 = exp(r44505);
double r44507 = r44504 + r44506;
double r44508 = r44507 + r44495;
double r44509 = r44501 * r44508;
double r44510 = 2.0;
double r44511 = r44509 / r44510;
double r44512 = 0.3333333333333333;
double r44513 = 3.0;
double r44514 = pow(r44487, r44513);
double r44515 = r44512 * r44514;
double r44516 = 0.016666666666666666;
double r44517 = 5.0;
double r44518 = pow(r44487, r44517);
double r44519 = r44516 * r44518;
double r44520 = r44515 + r44519;
double r44521 = 2.0;
double r44522 = r44521 * r44487;
double r44523 = r44520 + r44522;
double r44524 = r44523 / r44510;
double r44525 = r44489 ? r44511 : r44524;
return r44525;
}



Bits error versus x
Results
if x < -0.012882299779342181Initial program 0.8
rmApplied flip3--6.4
Simplified6.6
rmApplied *-un-lft-identity6.6
Applied difference-cubes6.6
Applied times-frac5.5
Simplified5.2
if -0.012882299779342181 < x Initial program 58.6
Taylor expanded around 0 0.3
rmApplied associate-+r+0.3
Final simplification0.3
herbie shell --seed 2019323
(FPCore (x)
:name "Hyperbolic sine"
:precision binary64
(/ (- (exp x) (exp (- x))) 2))