\Re(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\frac{1}{2} \cdot \mathsf{fma}\left(\left(\cos y\right), \left(e^{x}\right), \left(\frac{\frac{\cos y}{\sqrt{e^{x}}}}{\sqrt{e^{x}}}\right)\right)double f(double x, double y) {
double r717421 = x;
double r717422 = exp(r717421);
double r717423 = -r717421;
double r717424 = exp(r717423);
double r717425 = r717422 + r717424;
double r717426 = 2.0;
double r717427 = r717425 / r717426;
double r717428 = y;
double r717429 = cos(r717428);
double r717430 = r717427 * r717429;
double r717431 = r717422 - r717424;
double r717432 = r717431 / r717426;
double r717433 = sin(r717428);
double r717434 = r717432 * r717433;
double r717435 = /* ERROR: no complex support in C */;
double r717436 = /* ERROR: no complex support in C */;
return r717436;
}
double f(double x, double y) {
double r717437 = 0.5;
double r717438 = y;
double r717439 = cos(r717438);
double r717440 = x;
double r717441 = exp(r717440);
double r717442 = sqrt(r717441);
double r717443 = r717439 / r717442;
double r717444 = r717443 / r717442;
double r717445 = fma(r717439, r717441, r717444);
double r717446 = r717437 * r717445;
return r717446;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied associate-/r*0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/r*0.0
Final simplification0.0
herbie shell --seed 2019132 +o rules:numerics
(FPCore (x y)
:name "Euler formula real part (p55)"
(re (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))