Average Error: 0.0 → 0.0
Time: 9.8s
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 r42897 = 0.5;
        double r42898 = re;
        double r42899 = cos(r42898);
        double r42900 = r42897 * r42899;
        double r42901 = im;
        double r42902 = -r42901;
        double r42903 = exp(r42902);
        double r42904 = exp(r42901);
        double r42905 = r42903 + r42904;
        double r42906 = r42900 * r42905;
        return r42906;
}

double f(double re, double im) {
        double r42907 = 0.5;
        double r42908 = re;
        double r42909 = cos(r42908);
        double r42910 = r42907 * r42909;
        double r42911 = im;
        double r42912 = -r42911;
        double r42913 = exp(r42912);
        double r42914 = exp(r42911);
        double r42915 = r42913 + r42914;
        double r42916 = r42910 * r42915;
        return r42916;
}

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