Average Error: 43.6 → 43.6
Time: 26.6s
Precision: 64
Internal Precision: 1344
\[\Im(\left(\frac{\left(\left(e^{\left(xre + xim i\right)}\right) + \left(e^{\left(-\left(xre + xim i\right)\right)}\right)\right)}{\left(2 + 0 i\right)}\right))\]
\[\Im(\left(\frac{\left(\left(e^{\left(-\left(xre + xim i\right)\right)}\right) + \left(e^{\left(xre + xim i\right)}\right)\right)}{\left(2 + 0 i\right)}\right))\]

Error

Bits error versus xre

Bits error versus xim

Derivation

  1. Initial program 43.6

    \[\Im(\left(\frac{\left(\left(e^{\left(xre + xim i\right)}\right) + \left(e^{\left(-\left(xre + xim i\right)\right)}\right)\right)}{\left(2 + 0 i\right)}\right))\]
  2. Final simplification43.6

    \[\leadsto \Im(\left(\frac{\left(\left(e^{\left(-\left(xre + xim i\right)\right)}\right) + \left(e^{\left(xre + xim i\right)}\right)\right)}{\left(2 + 0 i\right)}\right))\]

Reproduce

herbie shell --seed 2019016 +o rules:numerics
(FPCore (xre xim)
  :name "exp with complex power imaginary part (p55)"
  (im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0))))

Details

Time bar (total: 22.9s)Debug log

sample805.0ms

Algorithm
halfpoints
Results

simplify11.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
11.0ms
(im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0)))

prune23.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 42.7b

localize125.0ms

Local error

Found 4 expressions with local error:

42.5b
(+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim))))
0.3b
(exp.c (neg.c (complex xre xim)))
0.3b
(/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0))
0.0b
(exp.c (complex xre xim))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
+.c-commutative
frac-2neg-c
Counts
4 → 2
Calls
4 calls:
Slowest
5.0ms
(/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0))
5.0ms
(+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim))))
0.0ms
(exp.c (neg.c (complex xre xim)))
0.0ms
(exp.c (complex xre xim))

series1.0ms

Counts
4 → 4
Calls
4 calls:
Slowest
0.0ms
(+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim))))
0.0ms
(exp.c (neg.c (complex xre xim)))
0.0ms
(/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0))
0.0ms
(exp.c (complex xre xim))

simplify58.0ms

Counts
4 → 6
Calls
4 calls:
Slowest
29.0ms
(im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0)))
10.0ms
(im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0)))
9.0ms
(im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0)))
9.0ms
(im (/.c (+.c (exp.c (complex xre xim)) (exp.c (neg.c (complex xre xim)))) (complex 2 0)))

prune58.0ms

Pruning

1 alts after pruning (0 fresh and 1 done)

Merged error: 42.7b

end0.0ms

sample21.8s

Algorithm
halfpoints
Results