Average Error: 0.0 → 0.0
Time: 23.6s
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 r1069305 = 0.5;
        double r1069306 = re;
        double r1069307 = cos(r1069306);
        double r1069308 = r1069305 * r1069307;
        double r1069309 = im;
        double r1069310 = -r1069309;
        double r1069311 = exp(r1069310);
        double r1069312 = exp(r1069309);
        double r1069313 = r1069311 + r1069312;
        double r1069314 = r1069308 * r1069313;
        return r1069314;
}

double f(double re, double im) {
        double r1069315 = im;
        double r1069316 = exp(r1069315);
        double r1069317 = -r1069315;
        double r1069318 = exp(r1069317);
        double r1069319 = r1069316 + r1069318;
        double r1069320 = 0.5;
        double r1069321 = re;
        double r1069322 = cos(r1069321);
        double r1069323 = r1069320 * r1069322;
        double r1069324 = r1069319 * r1069323;
        return r1069324;
}

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