\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)double f(double re, double im) {
double r1245182 = 0.5;
double r1245183 = re;
double r1245184 = sin(r1245183);
double r1245185 = r1245182 * r1245184;
double r1245186 = 0.0;
double r1245187 = im;
double r1245188 = r1245186 - r1245187;
double r1245189 = exp(r1245188);
double r1245190 = exp(r1245187);
double r1245191 = r1245189 + r1245190;
double r1245192 = r1245185 * r1245191;
return r1245192;
}
double f(double re, double im) {
double r1245193 = 0.5;
double r1245194 = re;
double r1245195 = sin(r1245194);
double r1245196 = r1245193 * r1245195;
double r1245197 = 0.0;
double r1245198 = im;
double r1245199 = r1245197 - r1245198;
double r1245200 = exp(r1245199);
double r1245201 = exp(r1245198);
double r1245202 = r1245200 + r1245201;
double r1245203 = r1245196 * r1245202;
return r1245203;
}



Bits error versus re



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