\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 r22990 = x;
double r22991 = exp(r22990);
double r22992 = -r22990;
double r22993 = exp(r22992);
double r22994 = r22991 + r22993;
double r22995 = 2.0;
double r22996 = r22994 / r22995;
double r22997 = y;
double r22998 = cos(r22997);
double r22999 = r22996 * r22998;
double r23000 = r22991 - r22993;
double r23001 = r23000 / r22995;
double r23002 = sin(r22997);
double r23003 = r23001 * r23002;
double r23004 = /* ERROR: no complex support in C */;
double r23005 = /* ERROR: no complex support in C */;
return r23005;
}
double f(double x, double y) {
double r23006 = x;
double r23007 = exp(r23006);
double r23008 = -r23006;
double r23009 = exp(r23008);
double r23010 = r23007 + r23009;
double r23011 = 2.0;
double r23012 = r23010 / r23011;
double r23013 = y;
double r23014 = cos(r23013);
double r23015 = r23012 * r23014;
double r23016 = r23007 - r23009;
double r23017 = r23016 / r23011;
double r23018 = sin(r23013);
double r23019 = r23017 * r23018;
double r23020 = /* ERROR: no complex support in C */;
double r23021 = /* ERROR: no complex support in C */;
return r23021;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020046
(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)))))