\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 r546270 = x;
double r546271 = exp(r546270);
double r546272 = -r546270;
double r546273 = exp(r546272);
double r546274 = r546271 + r546273;
double r546275 = 2.0;
double r546276 = r546274 / r546275;
double r546277 = y;
double r546278 = cos(r546277);
double r546279 = r546276 * r546278;
double r546280 = r546271 - r546273;
double r546281 = r546280 / r546275;
double r546282 = sin(r546277);
double r546283 = r546281 * r546282;
double r546284 = /* ERROR: no complex support in C */;
double r546285 = /* ERROR: no complex support in C */;
return r546285;
}
double f(double x, double y) {
double r546286 = x;
double r546287 = exp(r546286);
double r546288 = -r546286;
double r546289 = exp(r546288);
double r546290 = r546287 + r546289;
double r546291 = 2.0;
double r546292 = r546290 / r546291;
double r546293 = y;
double r546294 = cos(r546293);
double r546295 = r546292 * r546294;
double r546296 = r546287 - r546289;
double r546297 = r546296 / r546291;
double r546298 = sin(r546293);
double r546299 = r546297 * r546298;
double r546300 = /* ERROR: no complex support in C */;
double r546301 = /* ERROR: no complex support in C */;
return r546301;
}



Bits error versus x



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