Average Error: 0.0 → 0.0
Time: 4.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 r27782 = 0.5;
        double r27783 = re;
        double r27784 = cos(r27783);
        double r27785 = r27782 * r27784;
        double r27786 = im;
        double r27787 = -r27786;
        double r27788 = exp(r27787);
        double r27789 = exp(r27786);
        double r27790 = r27788 + r27789;
        double r27791 = r27785 * r27790;
        return r27791;
}

double f(double re, double im) {
        double r27792 = 0.5;
        double r27793 = re;
        double r27794 = cos(r27793);
        double r27795 = r27792 * r27794;
        double r27796 = im;
        double r27797 = -r27796;
        double r27798 = exp(r27797);
        double r27799 = exp(r27796);
        double r27800 = r27798 + r27799;
        double r27801 = r27795 * r27800;
        return r27801;
}

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