Average Error: 0.0 → 0.0
Time: 3.6s
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 r36930 = 0.5;
        double r36931 = re;
        double r36932 = cos(r36931);
        double r36933 = r36930 * r36932;
        double r36934 = im;
        double r36935 = -r36934;
        double r36936 = exp(r36935);
        double r36937 = exp(r36934);
        double r36938 = r36936 + r36937;
        double r36939 = r36933 * r36938;
        return r36939;
}

double f(double re, double im) {
        double r36940 = 0.5;
        double r36941 = re;
        double r36942 = cos(r36941);
        double r36943 = r36940 * r36942;
        double r36944 = im;
        double r36945 = -r36944;
        double r36946 = exp(r36945);
        double r36947 = exp(r36944);
        double r36948 = r36946 + r36947;
        double r36949 = r36943 * r36948;
        return r36949;
}

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