\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 r40184 = x;
double r40185 = exp(r40184);
double r40186 = -r40184;
double r40187 = exp(r40186);
double r40188 = r40185 + r40187;
double r40189 = 2.0;
double r40190 = r40188 / r40189;
double r40191 = y;
double r40192 = cos(r40191);
double r40193 = r40190 * r40192;
double r40194 = r40185 - r40187;
double r40195 = r40194 / r40189;
double r40196 = sin(r40191);
double r40197 = r40195 * r40196;
double r40198 = /* ERROR: no complex support in C */;
double r40199 = /* ERROR: no complex support in C */;
return r40199;
}
double f(double x, double y) {
double r40200 = x;
double r40201 = exp(r40200);
double r40202 = -r40200;
double r40203 = exp(r40202);
double r40204 = r40201 + r40203;
double r40205 = 2.0;
double r40206 = r40204 / r40205;
double r40207 = y;
double r40208 = cos(r40207);
double r40209 = r40206 * r40208;
double r40210 = r40201 - r40203;
double r40211 = r40210 / r40205;
double r40212 = sin(r40207);
double r40213 = r40211 * r40212;
double r40214 = /* ERROR: no complex support in C */;
double r40215 = /* ERROR: no complex support in C */;
return r40215;
}



Bits error versus x



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