Average Error: 0.0 → 0.0
Time: 14.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 r54777 = 0.5;
        double r54778 = re;
        double r54779 = cos(r54778);
        double r54780 = r54777 * r54779;
        double r54781 = im;
        double r54782 = -r54781;
        double r54783 = exp(r54782);
        double r54784 = exp(r54781);
        double r54785 = r54783 + r54784;
        double r54786 = r54780 * r54785;
        return r54786;
}

double f(double re, double im) {
        double r54787 = 0.5;
        double r54788 = re;
        double r54789 = cos(r54788);
        double r54790 = r54787 * r54789;
        double r54791 = im;
        double r54792 = -r54791;
        double r54793 = exp(r54792);
        double r54794 = exp(r54791);
        double r54795 = r54793 + r54794;
        double r54796 = r54790 * r54795;
        return r54796;
}

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