Average Error: 0.0 → 0.0
Time: 22.2s
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 r34749 = 0.5;
        double r34750 = re;
        double r34751 = cos(r34750);
        double r34752 = r34749 * r34751;
        double r34753 = im;
        double r34754 = -r34753;
        double r34755 = exp(r34754);
        double r34756 = exp(r34753);
        double r34757 = r34755 + r34756;
        double r34758 = r34752 * r34757;
        return r34758;
}

double f(double re, double im) {
        double r34759 = 0.5;
        double r34760 = re;
        double r34761 = cos(r34760);
        double r34762 = r34759 * r34761;
        double r34763 = im;
        double r34764 = -r34763;
        double r34765 = exp(r34764);
        double r34766 = exp(r34763);
        double r34767 = r34765 + r34766;
        double r34768 = r34762 * r34767;
        return r34768;
}

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 2019323 
(FPCore (re im)
  :name "math.cos on complex, real part"
  :precision binary64
  (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))