Average Error: 0.0 → 0.0
Time: 2.9s
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 r28491 = 0.5;
        double r28492 = re;
        double r28493 = cos(r28492);
        double r28494 = r28491 * r28493;
        double r28495 = im;
        double r28496 = -r28495;
        double r28497 = exp(r28496);
        double r28498 = exp(r28495);
        double r28499 = r28497 + r28498;
        double r28500 = r28494 * r28499;
        return r28500;
}

double f(double re, double im) {
        double r28501 = 0.5;
        double r28502 = re;
        double r28503 = cos(r28502);
        double r28504 = r28501 * r28503;
        double r28505 = im;
        double r28506 = -r28505;
        double r28507 = exp(r28506);
        double r28508 = exp(r28505);
        double r28509 = r28507 + r28508;
        double r28510 = r28504 * r28509;
        return r28510;
}

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