\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 r42341 = x;
double r42342 = exp(r42341);
double r42343 = -r42341;
double r42344 = exp(r42343);
double r42345 = r42342 + r42344;
double r42346 = 2.0;
double r42347 = r42345 / r42346;
double r42348 = y;
double r42349 = cos(r42348);
double r42350 = r42347 * r42349;
double r42351 = r42342 - r42344;
double r42352 = r42351 / r42346;
double r42353 = sin(r42348);
double r42354 = r42352 * r42353;
double r42355 = /* ERROR: no complex support in C */;
double r42356 = /* ERROR: no complex support in C */;
return r42356;
}
double f(double x, double y) {
double r42357 = x;
double r42358 = exp(r42357);
double r42359 = -r42357;
double r42360 = exp(r42359);
double r42361 = r42358 + r42360;
double r42362 = 2.0;
double r42363 = r42361 / r42362;
double r42364 = y;
double r42365 = cos(r42364);
double r42366 = r42363 * r42365;
double r42367 = r42358 - r42360;
double r42368 = r42367 / r42362;
double r42369 = sin(r42364);
double r42370 = r42368 * r42369;
double r42371 = /* ERROR: no complex support in C */;
double r42372 = /* ERROR: no complex support in C */;
return r42372;
}



Bits error versus x



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