\frac{e^{x} - e^{-x}}{2}\begin{array}{l}
\mathbf{if}\;x \le -0.014551332296984472:\\
\;\;\;\;\frac{\frac{{\left(e^{x}\right)}^{3} - {\left(e^{-x}\right)}^{3}}{\left(e^{x} \cdot e^{-x} + e^{-x} \cdot e^{-x}\right) + e^{x} \cdot e^{x}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{{x}^{5} \cdot \frac{1}{60} + \left(x \cdot 2 + x \cdot \left(x \cdot \left(x \cdot \frac{1}{3}\right)\right)\right)}{2}\\
\end{array}double f(double x) {
double r8951664 = x;
double r8951665 = exp(r8951664);
double r8951666 = -r8951664;
double r8951667 = exp(r8951666);
double r8951668 = r8951665 - r8951667;
double r8951669 = 2.0;
double r8951670 = r8951668 / r8951669;
return r8951670;
}
double f(double x) {
double r8951671 = x;
double r8951672 = -0.014551332296984472;
bool r8951673 = r8951671 <= r8951672;
double r8951674 = exp(r8951671);
double r8951675 = 3.0;
double r8951676 = pow(r8951674, r8951675);
double r8951677 = -r8951671;
double r8951678 = exp(r8951677);
double r8951679 = pow(r8951678, r8951675);
double r8951680 = r8951676 - r8951679;
double r8951681 = r8951674 * r8951678;
double r8951682 = r8951678 * r8951678;
double r8951683 = r8951681 + r8951682;
double r8951684 = r8951674 * r8951674;
double r8951685 = r8951683 + r8951684;
double r8951686 = r8951680 / r8951685;
double r8951687 = 2.0;
double r8951688 = r8951686 / r8951687;
double r8951689 = 5.0;
double r8951690 = pow(r8951671, r8951689);
double r8951691 = 0.016666666666666666;
double r8951692 = r8951690 * r8951691;
double r8951693 = r8951671 * r8951687;
double r8951694 = 0.3333333333333333;
double r8951695 = r8951671 * r8951694;
double r8951696 = r8951671 * r8951695;
double r8951697 = r8951671 * r8951696;
double r8951698 = r8951693 + r8951697;
double r8951699 = r8951692 + r8951698;
double r8951700 = r8951699 / r8951687;
double r8951701 = r8951673 ? r8951688 : r8951700;
return r8951701;
}



Bits error versus x
Results
if x < -0.014551332296984472Initial program 0.4
rmApplied flip3--5.7
if -0.014551332296984472 < x Initial program 58.5
Taylor expanded around 0 0.2
Simplified0.3
rmApplied distribute-rgt-in0.2
Final simplification0.3
herbie shell --seed 2019120
(FPCore (x)
:name "Hyperbolic sine"
(/ (- (exp x) (exp (- x))) 2))