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



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019304 +o rules:numerics
(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)))))