\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{\mathsf{fma}\left(\frac{1}{60}, {x}^{5}, x \cdot \left(x \cdot \left(\frac{1}{3} \cdot x\right) + 2\right)\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1815953 = x;
double r1815954 = exp(r1815953);
double r1815955 = -r1815953;
double r1815956 = exp(r1815955);
double r1815957 = r1815954 + r1815956;
double r1815958 = 2.0;
double r1815959 = r1815957 / r1815958;
double r1815960 = y;
double r1815961 = cos(r1815960);
double r1815962 = r1815959 * r1815961;
double r1815963 = r1815954 - r1815956;
double r1815964 = r1815963 / r1815958;
double r1815965 = sin(r1815960);
double r1815966 = r1815964 * r1815965;
double r1815967 = /* ERROR: no complex support in C */;
double r1815968 = /* ERROR: no complex support in C */;
return r1815968;
}
double f(double x, double y) {
double r1815969 = x;
double r1815970 = exp(r1815969);
double r1815971 = -r1815969;
double r1815972 = exp(r1815971);
double r1815973 = r1815970 + r1815972;
double r1815974 = 2.0;
double r1815975 = r1815973 / r1815974;
double r1815976 = y;
double r1815977 = cos(r1815976);
double r1815978 = r1815975 * r1815977;
double r1815979 = 0.016666666666666666;
double r1815980 = 5.0;
double r1815981 = pow(r1815969, r1815980);
double r1815982 = 0.3333333333333333;
double r1815983 = r1815982 * r1815969;
double r1815984 = r1815969 * r1815983;
double r1815985 = r1815984 + r1815974;
double r1815986 = r1815969 * r1815985;
double r1815987 = fma(r1815979, r1815981, r1815986);
double r1815988 = r1815987 / r1815974;
double r1815989 = sin(r1815976);
double r1815990 = r1815988 * r1815989;
double r1815991 = /* ERROR: no complex support in C */;
double r1815992 = /* ERROR: no complex support in C */;
return r1815992;
}



Bits error versus x



Bits error versus y
Initial program 43.4
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019141 +o rules:numerics
(FPCore (x y)
:name "Euler formula imaginary part (p55)"
(im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))