Average Error: 0.0 → 0.0
Time: 5.0s
Precision: 64
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)
\left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)
double f(double re, double im) {
        double r25998 = 0.5;
        double r25999 = re;
        double r26000 = sin(r25999);
        double r26001 = r25998 * r26000;
        double r26002 = 0.0;
        double r26003 = im;
        double r26004 = r26002 - r26003;
        double r26005 = exp(r26004);
        double r26006 = exp(r26003);
        double r26007 = r26005 + r26006;
        double r26008 = r26001 * r26007;
        return r26008;
}

double f(double re, double im) {
        double r26009 = 0.5;
        double r26010 = re;
        double r26011 = sin(r26010);
        double r26012 = r26009 * r26011;
        double r26013 = 0.0;
        double r26014 = im;
        double r26015 = r26013 - r26014;
        double r26016 = exp(r26015);
        double r26017 = exp(r26014);
        double r26018 = r26016 + r26017;
        double r26019 = r26012 * r26018;
        return r26019;
}

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 \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]
  2. Final simplification0.0

    \[\leadsto \left(0.5 \cdot \sin re\right) \cdot \left(e^{0.0 - im} + e^{im}\right)\]

Reproduce

herbie shell --seed 2020100 +o rules:numerics
(FPCore (re im)
  :name "math.sin on complex, real part"
  :precision binary64
  (* (* 0.5 (sin re)) (+ (exp (- 0.0 im)) (exp im))))