\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 r1715021 = x;
double r1715022 = exp(r1715021);
double r1715023 = -r1715021;
double r1715024 = exp(r1715023);
double r1715025 = r1715022 + r1715024;
double r1715026 = 2.0;
double r1715027 = r1715025 / r1715026;
double r1715028 = y;
double r1715029 = cos(r1715028);
double r1715030 = r1715027 * r1715029;
double r1715031 = r1715022 - r1715024;
double r1715032 = r1715031 / r1715026;
double r1715033 = sin(r1715028);
double r1715034 = r1715032 * r1715033;
double r1715035 = /* ERROR: no complex support in C */;
double r1715036 = /* ERROR: no complex support in C */;
return r1715036;
}
double f(double x, double y) {
double r1715037 = x;
double r1715038 = exp(r1715037);
double r1715039 = -r1715037;
double r1715040 = exp(r1715039);
double r1715041 = r1715038 + r1715040;
double r1715042 = 2.0;
double r1715043 = r1715041 / r1715042;
double r1715044 = y;
double r1715045 = cos(r1715044);
double r1715046 = r1715043 * r1715045;
double r1715047 = r1715038 - r1715040;
double r1715048 = r1715047 / r1715042;
double r1715049 = sin(r1715044);
double r1715050 = r1715048 * r1715049;
double r1715051 = /* ERROR: no complex support in C */;
double r1715052 = /* ERROR: no complex support in C */;
return r1715052;
}



Bits error versus x



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