Average Error: 0.0 → 0.0
Time: 13.1s
Precision: 64
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)
double f(double re, double im) {
        double r1441306 = 0.5;
        double r1441307 = re;
        double r1441308 = cos(r1441307);
        double r1441309 = r1441306 * r1441308;
        double r1441310 = im;
        double r1441311 = -r1441310;
        double r1441312 = exp(r1441311);
        double r1441313 = exp(r1441310);
        double r1441314 = r1441312 + r1441313;
        double r1441315 = r1441309 * r1441314;
        return r1441315;
}

double f(double re, double im) {
        double r1441316 = im;
        double r1441317 = exp(r1441316);
        double r1441318 = -r1441316;
        double r1441319 = exp(r1441318);
        double r1441320 = r1441317 + r1441319;
        double r1441321 = 0.5;
        double r1441322 = re;
        double r1441323 = cos(r1441322);
        double r1441324 = r1441321 * r1441323;
        double r1441325 = r1441320 * r1441324;
        return r1441325;
}

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(e^{im} + e^{-im}\right) \cdot \left(0.5 \cdot \cos re\right)\]

Reproduce

herbie shell --seed 2019121 +o rules:numerics
(FPCore (re im)
  :name "math.cos on complex, real part"
  (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))