\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))double f(double x, double y) {
double r33951 = x;
double r33952 = exp(r33951);
double r33953 = -r33951;
double r33954 = exp(r33953);
double r33955 = r33952 + r33954;
double r33956 = 2.0;
double r33957 = r33955 / r33956;
double r33958 = y;
double r33959 = cos(r33958);
double r33960 = r33957 * r33959;
double r33961 = r33952 - r33954;
double r33962 = r33961 / r33956;
double r33963 = sin(r33958);
double r33964 = r33962 * r33963;
double r33965 = /* ERROR: no complex support in C */;
double r33966 = /* ERROR: no complex support in C */;
return r33966;
}
double f(double x, double y) {
double r33967 = x;
double r33968 = exp(r33967);
double r33969 = -r33967;
double r33970 = exp(r33969);
double r33971 = r33968 + r33970;
double r33972 = 2.0;
double r33973 = r33971 / r33972;
double r33974 = y;
double r33975 = cos(r33974);
double r33976 = r33973 * r33975;
double r33977 = r33968 - r33970;
double r33978 = r33977 / r33972;
double r33979 = sin(r33974);
double r33980 = r33978 * r33979;
double r33981 = /* ERROR: no complex support in C */;
double r33982 = /* ERROR: no complex support in C */;
return r33982;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019326
(FPCore (x y)
:name "Euler formula real part (p55)"
:precision binary64
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))