Average Error: 0.0 → 0.0
Time: 20.0s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
double f(double re, double im) {
        double r35565 = 0.5;
        double r35566 = re;
        double r35567 = cos(r35566);
        double r35568 = r35565 * r35567;
        double r35569 = im;
        double r35570 = -r35569;
        double r35571 = exp(r35570);
        double r35572 = exp(r35569);
        double r35573 = r35571 + r35572;
        double r35574 = r35568 * r35573;
        return r35574;
}

double f(double re, double im) {
        double r35575 = 0.5;
        double r35576 = re;
        double r35577 = cos(r35576);
        double r35578 = r35575 * r35577;
        double r35579 = im;
        double r35580 = -r35579;
        double r35581 = exp(r35580);
        double r35582 = exp(r35579);
        double r35583 = r35581 + r35582;
        double r35584 = r35578 * r35583;
        return r35584;
}

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 \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
  2. Final simplification0.0

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

Reproduce

herbie shell --seed 2019325 
(FPCore (re im)
  :name "math.cos on complex, real part"
  :precision binary64
  (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))