\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 r23013 = 0.5;
double r23014 = re;
double r23015 = sin(r23014);
double r23016 = r23013 * r23015;
double r23017 = 0.0;
double r23018 = im;
double r23019 = r23017 - r23018;
double r23020 = exp(r23019);
double r23021 = exp(r23018);
double r23022 = r23020 + r23021;
double r23023 = r23016 * r23022;
return r23023;
}
double f(double re, double im) {
double r23024 = 0.5;
double r23025 = re;
double r23026 = sin(r23025);
double r23027 = r23024 * r23026;
double r23028 = 0.0;
double r23029 = im;
double r23030 = r23028 - r23029;
double r23031 = exp(r23030);
double r23032 = exp(r23029);
double r23033 = r23031 + r23032;
double r23034 = r23027 * r23033;
return r23034;
}



Bits error versus re



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