Average Error: 0.0 → 0.0
Time: 3.9s
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 r76062 = 0.5;
        double r76063 = re;
        double r76064 = cos(r76063);
        double r76065 = r76062 * r76064;
        double r76066 = im;
        double r76067 = -r76066;
        double r76068 = exp(r76067);
        double r76069 = exp(r76066);
        double r76070 = r76068 + r76069;
        double r76071 = r76065 * r76070;
        return r76071;
}

double f(double re, double im) {
        double r76072 = 0.5;
        double r76073 = re;
        double r76074 = cos(r76073);
        double r76075 = r76072 * r76074;
        double r76076 = im;
        double r76077 = -r76076;
        double r76078 = exp(r76077);
        double r76079 = exp(r76076);
        double r76080 = r76078 + r76079;
        double r76081 = r76075 * r76080;
        return r76081;
}

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