\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({x}^{5}, \frac{1}{60}, \left(\sqrt{\left(x \cdot x\right) \cdot \frac{1}{3} + 2} \cdot \frac{\sqrt{2 \cdot 2 - \left(\left(x \cdot x\right) \cdot \frac{1}{3}\right) \cdot \left(\left(x \cdot x\right) \cdot \frac{1}{3}\right)}}{\sqrt[3]{\sqrt{2 - \left(x \cdot x\right) \cdot \frac{1}{3}}}}\right) \cdot \frac{x}{\sqrt[3]{\sqrt{2 - \left(x \cdot x\right) \cdot \frac{1}{3}}} \cdot \sqrt[3]{\sqrt{2 - \left(x \cdot x\right) \cdot \frac{1}{3}}}}\right)}{2} \cdot \sin y i\right))double f(double x, double y) {
double r1547079 = x;
double r1547080 = exp(r1547079);
double r1547081 = -r1547079;
double r1547082 = exp(r1547081);
double r1547083 = r1547080 + r1547082;
double r1547084 = 2.0;
double r1547085 = r1547083 / r1547084;
double r1547086 = y;
double r1547087 = cos(r1547086);
double r1547088 = r1547085 * r1547087;
double r1547089 = r1547080 - r1547082;
double r1547090 = r1547089 / r1547084;
double r1547091 = sin(r1547086);
double r1547092 = r1547090 * r1547091;
double r1547093 = /* ERROR: no complex support in C */;
double r1547094 = /* ERROR: no complex support in C */;
return r1547094;
}
double f(double x, double y) {
double r1547095 = x;
double r1547096 = exp(r1547095);
double r1547097 = -r1547095;
double r1547098 = exp(r1547097);
double r1547099 = r1547096 + r1547098;
double r1547100 = 2.0;
double r1547101 = r1547099 / r1547100;
double r1547102 = y;
double r1547103 = cos(r1547102);
double r1547104 = r1547101 * r1547103;
double r1547105 = 5.0;
double r1547106 = pow(r1547095, r1547105);
double r1547107 = 0.016666666666666666;
double r1547108 = r1547095 * r1547095;
double r1547109 = 0.3333333333333333;
double r1547110 = r1547108 * r1547109;
double r1547111 = r1547110 + r1547100;
double r1547112 = sqrt(r1547111);
double r1547113 = r1547100 * r1547100;
double r1547114 = r1547110 * r1547110;
double r1547115 = r1547113 - r1547114;
double r1547116 = sqrt(r1547115);
double r1547117 = r1547100 - r1547110;
double r1547118 = sqrt(r1547117);
double r1547119 = cbrt(r1547118);
double r1547120 = r1547116 / r1547119;
double r1547121 = r1547112 * r1547120;
double r1547122 = r1547119 * r1547119;
double r1547123 = r1547095 / r1547122;
double r1547124 = r1547121 * r1547123;
double r1547125 = fma(r1547106, r1547107, r1547124);
double r1547126 = r1547125 / r1547100;
double r1547127 = sin(r1547102);
double r1547128 = r1547126 * r1547127;
double r1547129 = /* ERROR: no complex support in C */;
double r1547130 = /* ERROR: no complex support in C */;
return r1547130;
}



Bits error versus x



Bits error versus y
Initial program 43.6
Taylor expanded around 0 0.8
Simplified0.8
rmApplied add-sqr-sqrt1.5
Applied associate-*r*1.3
rmApplied flip-+1.3
Applied sqrt-div0.9
Applied associate-*r/0.9
rmApplied add-cube-cbrt0.9
Applied times-frac1.0
Applied associate-*l*0.9
Final simplification0.9
herbie shell --seed 2019134 +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)))))