Average Error: 43.6 → 31.1
Time: 24.6s
Precision: 64
Internal Precision: 1344
\[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
\[x \cdot y\]

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 43.6

    \[\Im(\left(\frac{e^{x} + e^{-x}}{2} \cdot \cos y + \frac{e^{x} - e^{-x}}{2} \cdot \sin y i\right))\]
  2. Initial simplification43.7

    \[\leadsto \frac{e^{x} \cdot \sin y - \frac{\sin y}{e^{x}}}{2}\]
  3. Taylor expanded around 0 31.1

    \[\leadsto \color{blue}{x \cdot y}\]
  4. Final simplification31.1

    \[\leadsto x \cdot y\]

Reproduce

herbie shell --seed 2018362 
(FPCore (x y)
  :name "Euler formula imaginary part (p55)"
  (im (complex (* (/ (+ (exp x) (exp (- x))) 2) (cos y)) (* (/ (- (exp x) (exp (- x))) 2) (sin y)))))

Details

Time bar (total: 9.5s)Debug log

start386.0ms

Algorithm
halfpoints

setup148.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 44.5b

localize75.0ms

Local error

Found 4 expressions with local error:

44.5b
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
0.0b
(* (exp x) (sin y))
0.0b
(/ (- (* (exp x) (sin y)) (/ (sin y) (exp x))) 2)
0.0b
(/ (sin y) (exp x))

rewrite34.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

14.0ms
(/ (- (* (exp x) (sin y)) (/ (sin y) (exp x))) 2)
13.0ms
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
4.0ms
(* (exp x) (sin y))

series336.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

133.0ms
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
117.0ms
(/ (- (* (exp x) (sin y)) (/ (sin y) (exp x))) 2)
48.0ms
(* (exp x) (sin y))
38.0ms
(/ (sin y) (exp x))

simplify1.3s

Counts
51 → 84
Calls

51 calls. Slowest were:

338.0ms
(- (pow (* (exp x) (sin y)) 3) (pow (/ (sin y) (exp x)) 3))
198.0ms
(- (* (* (exp x) (sin y)) (* (exp x) (sin y))) (* (/ (sin y) (exp x)) (/ (sin y) (exp x))))
156.0ms
(/ (* (* (sin y) (sin y)) (sin y)) (* (* (exp x) (exp x)) (exp x)))

prune861.0ms

Pruning

14 alts after pruning (14 fresh and 0 done)

Merged error: 27.0b

localize6.0ms

Local error

Found 0 expressions with local error:

rewrite0.0ms

Algorithm
rewrite-expression-head
Counts
0 → 0
Calls

0 calls. Slowest were:

series0.0ms

Counts
0 → 0
Calls

0 calls. Slowest were:

simplify0.0ms

Counts
0 → 0
Calls

0 calls. Slowest were:

prune77.0ms

Pruning

14 alts after pruning (13 fresh and 1 done)

Merged error: 27.0b

localize28.0ms

Local error

Found 4 expressions with local error:

44.5b
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))
0.0b
(* (sqrt (exp x)) (sin y))
0.0b
(* (sqrt (exp x)) (* (sqrt (exp x)) (sin y)))
0.0b
(/ (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))) 2)

rewrite101.0ms

Algorithm
rewrite-expression-head
Counts
4 → 69
Calls

4 calls. Slowest were:

44.0ms
(/ (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))) 2)
26.0ms
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))
21.0ms
(* (sqrt (exp x)) (* (sqrt (exp x)) (sin y)))

series373.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

137.0ms
(/ (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))) 2)
116.0ms
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))
69.0ms
(* (sqrt (exp x)) (* (sqrt (exp x)) (sin y)))
52.0ms
(* (sqrt (exp x)) (sin y))

simplify1.5s

Counts
41 → 81
Calls

41 calls. Slowest were:

336.0ms
(* (* (* (sqrt (exp x)) (sqrt (exp x))) (sqrt (exp x))) (* (* (* (sqrt (exp x)) (sin y)) (* (sqrt (exp x)) (sin y))) (* (sqrt (exp x)) (sin y))))
261.0ms
(* (* (* (sqrt (exp x)) (sqrt (exp x))) (sqrt (exp x))) (* (* (* (sqrt (exp x)) (sqrt (exp x))) (sqrt (exp x))) (* (* (sin y) (sin y)) (sin y))))
184.0ms
(- (pow (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) 3) (pow (/ (sin y) (exp x)) 3))

prune1.1s

Pruning

15 alts after pruning (14 fresh and 1 done)

Merged error: 27.0b

localize21.0ms

Local error

Found 4 expressions with local error:

44.5b
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))
44.5b
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
44.5b
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
14.4b
(cbrt (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))))

rewrite38.0ms

Algorithm
rewrite-expression-head
Counts
4 → 49
Calls

4 calls. Slowest were:

14.0ms
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))
11.0ms
(cbrt (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))))
6.0ms
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))

series590.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

195.0ms
(cbrt (- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x))))
149.0ms
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
128.0ms
(- (* (exp x) (sin y)) (/ (sin y) (exp x)))
118.0ms
(- (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (/ (sin y) (exp x)))

simplify1.1s

Counts
20 → 61
Calls

20 calls. Slowest were:

608.0ms
(cbrt (- (pow (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) 3) (pow (/ (sin y) (exp x)) 3)))
201.0ms
(cbrt (- (* (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y))) (* (sqrt (exp x)) (* (sqrt (exp x)) (sin y)))) (* (/ (sin y) (exp x)) (/ (sin y) (exp x)))))
136.0ms
(- (+ (* 1/18 (* (pow x 2) (exp (* 1/3 (+ (log 2) (+ (log y) (log x))))))) (exp (* 1/3 (+ (log 2) (+ (log y) (log x)))))) (* 1/18 (* (exp (* 1/3 (+ (log 2) (+ (log y) (log x))))) (pow y 2))))

prune1.0s

Pruning

15 alts after pruning (14 fresh and 1 done)

Merged error: 27.0b

regimes322.0ms

Accuracy

0% (2.7b remaining)

Error of 31.1b against oracle of 28.3b and baseline of 31.1b

bsearch1.0ms