\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 r38349 = x;
double r38350 = exp(r38349);
double r38351 = -r38349;
double r38352 = exp(r38351);
double r38353 = r38350 + r38352;
double r38354 = 2.0;
double r38355 = r38353 / r38354;
double r38356 = y;
double r38357 = cos(r38356);
double r38358 = r38355 * r38357;
double r38359 = r38350 - r38352;
double r38360 = r38359 / r38354;
double r38361 = sin(r38356);
double r38362 = r38360 * r38361;
double r38363 = /* ERROR: no complex support in C */;
double r38364 = /* ERROR: no complex support in C */;
return r38364;
}
double f(double x, double y) {
double r38365 = x;
double r38366 = exp(r38365);
double r38367 = -r38365;
double r38368 = exp(r38367);
double r38369 = r38366 + r38368;
double r38370 = 2.0;
double r38371 = r38369 / r38370;
double r38372 = y;
double r38373 = cos(r38372);
double r38374 = r38371 * r38373;
double r38375 = r38366 - r38368;
double r38376 = r38375 / r38370;
double r38377 = sin(r38372);
double r38378 = r38376 * r38377;
double r38379 = /* ERROR: no complex support in C */;
double r38380 = /* ERROR: no complex support in C */;
return r38380;
}



Bits error versus x



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