\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{x \cdot \left(\left(x \cdot \frac{1}{3}\right) \cdot x + 2\right) + {x}^{5} \cdot \frac{1}{60}}{\frac{2}{\sin y}} i\right))double f(double x, double y) {
double r4119597 = x;
double r4119598 = exp(r4119597);
double r4119599 = -r4119597;
double r4119600 = exp(r4119599);
double r4119601 = r4119598 + r4119600;
double r4119602 = 2.0;
double r4119603 = r4119601 / r4119602;
double r4119604 = y;
double r4119605 = cos(r4119604);
double r4119606 = r4119603 * r4119605;
double r4119607 = r4119598 - r4119600;
double r4119608 = r4119607 / r4119602;
double r4119609 = sin(r4119604);
double r4119610 = r4119608 * r4119609;
double r4119611 = /* ERROR: no complex support in C */;
double r4119612 = /* ERROR: no complex support in C */;
return r4119612;
}
double f(double x, double y) {
double r4119613 = x;
double r4119614 = exp(r4119613);
double r4119615 = -r4119613;
double r4119616 = exp(r4119615);
double r4119617 = r4119614 + r4119616;
double r4119618 = 2.0;
double r4119619 = r4119617 / r4119618;
double r4119620 = y;
double r4119621 = cos(r4119620);
double r4119622 = r4119619 * r4119621;
double r4119623 = 0.3333333333333333;
double r4119624 = r4119613 * r4119623;
double r4119625 = r4119624 * r4119613;
double r4119626 = r4119625 + r4119618;
double r4119627 = r4119613 * r4119626;
double r4119628 = 5.0;
double r4119629 = pow(r4119613, r4119628);
double r4119630 = 0.016666666666666666;
double r4119631 = r4119629 * r4119630;
double r4119632 = r4119627 + r4119631;
double r4119633 = sin(r4119620);
double r4119634 = r4119618 / r4119633;
double r4119635 = r4119632 / r4119634;
double r4119636 = /* ERROR: no complex support in C */;
double r4119637 = /* ERROR: no complex support in C */;
return r4119637;
}



Bits error versus x



Bits error versus y
Initial program 43.7
Taylor expanded around 0 0.8
Simplified0.8
rmApplied add-sqr-sqrt1.6
Applied *-un-lft-identity1.6
Applied times-frac1.4
Applied associate-*l*1.4
rmApplied pow11.4
Applied pow11.4
Applied pow-prod-down1.4
Applied pow11.4
Applied pow-prod-down1.4
Simplified0.9
Final simplification0.9
herbie shell --seed 2019121
(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)))))