\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)double f(double re, double im) {
double r1155146 = 0.5;
double r1155147 = re;
double r1155148 = cos(r1155147);
double r1155149 = r1155146 * r1155148;
double r1155150 = im;
double r1155151 = -r1155150;
double r1155152 = exp(r1155151);
double r1155153 = exp(r1155150);
double r1155154 = r1155152 + r1155153;
double r1155155 = r1155149 * r1155154;
return r1155155;
}
double f(double re, double im) {
double r1155156 = im;
double r1155157 = exp(r1155156);
double r1155158 = -r1155156;
double r1155159 = exp(r1155158);
double r1155160 = r1155157 + r1155159;
double r1155161 = 0.5;
double r1155162 = re;
double r1155163 = cos(r1155162);
double r1155164 = r1155161 * r1155163;
double r1155165 = r1155160 * r1155164;
return r1155165;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019152
(FPCore (re im)
:name "math.cos on complex, real part"
(* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))