Average Error: 0.0 → 0.0
Time: 15.3s
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 r26261 = 0.5;
        double r26262 = re;
        double r26263 = cos(r26262);
        double r26264 = r26261 * r26263;
        double r26265 = im;
        double r26266 = -r26265;
        double r26267 = exp(r26266);
        double r26268 = exp(r26265);
        double r26269 = r26267 + r26268;
        double r26270 = r26264 * r26269;
        return r26270;
}

double f(double re, double im) {
        double r26271 = 0.5;
        double r26272 = re;
        double r26273 = cos(r26272);
        double r26274 = r26271 * r26273;
        double r26275 = im;
        double r26276 = -r26275;
        double r26277 = exp(r26276);
        double r26278 = exp(r26275);
        double r26279 = r26277 + r26278;
        double r26280 = r26274 * r26279;
        return r26280;
}

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