Average Error: 0.0 → 0.0
Time: 4.5s
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 r42773 = 0.5;
        double r42774 = re;
        double r42775 = cos(r42774);
        double r42776 = r42773 * r42775;
        double r42777 = im;
        double r42778 = -r42777;
        double r42779 = exp(r42778);
        double r42780 = exp(r42777);
        double r42781 = r42779 + r42780;
        double r42782 = r42776 * r42781;
        return r42782;
}

double f(double re, double im) {
        double r42783 = 0.5;
        double r42784 = re;
        double r42785 = cos(r42784);
        double r42786 = r42783 * r42785;
        double r42787 = im;
        double r42788 = -r42787;
        double r42789 = exp(r42788);
        double r42790 = exp(r42787);
        double r42791 = r42789 + r42790;
        double r42792 = r42786 * r42791;
        return r42792;
}

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