Average Error: 0.0 → 0.0
Time: 7.8s
Precision: 64
\[\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)\]
\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 r39063 = 0.5;
        double r39064 = re;
        double r39065 = sin(r39064);
        double r39066 = r39063 * r39065;
        double r39067 = 0.0;
        double r39068 = im;
        double r39069 = r39067 - r39068;
        double r39070 = exp(r39069);
        double r39071 = exp(r39068);
        double r39072 = r39070 + r39071;
        double r39073 = r39066 * r39072;
        return r39073;
}

double f(double re, double im) {
        double r39074 = 0.5;
        double r39075 = re;
        double r39076 = sin(r39075);
        double r39077 = r39074 * r39076;
        double r39078 = 0.0;
        double r39079 = im;
        double r39080 = r39078 - r39079;
        double r39081 = exp(r39080);
        double r39082 = exp(r39079);
        double r39083 = r39081 + r39082;
        double r39084 = r39077 * r39083;
        return r39084;
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
  2. Final simplification0.0

    \[\leadsto \left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]

Reproduce

herbie shell --seed 2020049 +o rules:numerics
(FPCore (re im)
  :name "math.sin on complex, real part"
  :precision binary64
  (* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))