\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 r32150 = x;
double r32151 = exp(r32150);
double r32152 = -r32150;
double r32153 = exp(r32152);
double r32154 = r32151 + r32153;
double r32155 = 2.0;
double r32156 = r32154 / r32155;
double r32157 = y;
double r32158 = cos(r32157);
double r32159 = r32156 * r32158;
double r32160 = r32151 - r32153;
double r32161 = r32160 / r32155;
double r32162 = sin(r32157);
double r32163 = r32161 * r32162;
double r32164 = /* ERROR: no complex support in C */;
double r32165 = /* ERROR: no complex support in C */;
return r32165;
}
double f(double x, double y) {
double r32166 = x;
double r32167 = exp(r32166);
double r32168 = -r32166;
double r32169 = exp(r32168);
double r32170 = r32167 + r32169;
double r32171 = 2.0;
double r32172 = r32170 / r32171;
double r32173 = y;
double r32174 = cos(r32173);
double r32175 = r32172 * r32174;
double r32176 = r32167 - r32169;
double r32177 = r32176 / r32171;
double r32178 = sin(r32173);
double r32179 = r32177 * r32178;
double r32180 = /* ERROR: no complex support in C */;
double r32181 = /* ERROR: no complex support in C */;
return r32181;
}



Bits error versus x



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