\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 r45750 = x;
double r45751 = exp(r45750);
double r45752 = -r45750;
double r45753 = exp(r45752);
double r45754 = r45751 + r45753;
double r45755 = 2.0;
double r45756 = r45754 / r45755;
double r45757 = y;
double r45758 = cos(r45757);
double r45759 = r45756 * r45758;
double r45760 = r45751 - r45753;
double r45761 = r45760 / r45755;
double r45762 = sin(r45757);
double r45763 = r45761 * r45762;
double r45764 = /* ERROR: no complex support in C */;
double r45765 = /* ERROR: no complex support in C */;
return r45765;
}
double f(double x, double y) {
double r45766 = x;
double r45767 = exp(r45766);
double r45768 = -r45766;
double r45769 = exp(r45768);
double r45770 = r45767 + r45769;
double r45771 = 2.0;
double r45772 = r45770 / r45771;
double r45773 = y;
double r45774 = cos(r45773);
double r45775 = r45772 * r45774;
double r45776 = r45767 - r45769;
double r45777 = r45776 / r45771;
double r45778 = sin(r45773);
double r45779 = r45777 * r45778;
double r45780 = /* ERROR: no complex support in C */;
double r45781 = /* ERROR: no complex support in C */;
return r45781;
}



Bits error versus x



Bits error versus y
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019196 +o rules:numerics
(FPCore (x y)
:name "Euler formula real part (p55)"
(re (complex (* (/ (+ (exp x) (exp (- x))) 2.0) (cos y)) (* (/ (- (exp x) (exp (- x))) 2.0) (sin y)))))