Average Error: 0.0 → 0.0
Time: 12.5s
Precision: 64
Internal Precision: 128
\[e^{re} \cdot \sin im\]
\[\sin im \cdot e^{re}\]

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

    \[e^{re} \cdot \sin im\]
  2. Final simplification0.0

    \[\leadsto \sin im \cdot e^{re}\]

Reproduce

herbie shell --seed 2019008 +o rules:numerics
(FPCore (re im)
  :name "math.exp on complex, imaginary part"
  (* (exp re) (sin im)))

Details

Time bar (total: 12.1s)Debug log

sample97.0ms

Algorithm
intervals

simplify4.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

4.0ms
(* (exp re) (sin im))

prune10.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize18.0ms

Local error

Found 1 expressions with local error:

0.0b
(* (exp re) (sin im))

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
1 → 19
Calls

1 calls. Slowest were:

8.0ms
(* (exp re) (sin im))

series66.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

66.0ms
(* (exp re) (sin im))

simplify368.0ms

Counts
11 → 22
Calls

11 calls. Slowest were:

281.0ms
(+ (* 1/2 (* (pow re 2) im)) (+ (* re im) im))
72.0ms
(* (* (* (exp re) (exp re)) (exp re)) (* (* (sin im) (sin im)) (sin im)))
4.0ms
(+ re (log (sin im)))

prune184.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.0b

localize8.0ms

Local error

Found 3 expressions with local error:

13.7b
(cbrt (pow (* (sin im) (exp re)) 3))
0.2b
(pow (* (sin im) (exp re)) 3)
0.0b
(* (sin im) (exp re))

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
3 → 57
Calls

3 calls. Slowest were:

6.0ms
(* (sin im) (exp re))
3.0ms
(pow (* (sin im) (exp re)) 3)
2.0ms
(cbrt (pow (* (sin im) (exp re)) 3))

series161.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

70.0ms
(pow (* (sin im) (exp re)) 3)
48.0ms
(cbrt (pow (* (sin im) (exp re)) 3))
43.0ms
(* (sin im) (exp re))

simplify1.1s

Counts
33 → 66
Calls

33 calls. Slowest were:

293.0ms
(- (+ (pow im 3) (* 3 (* re (pow im 3)))) (* 1/2 (pow im 5)))
265.0ms
(- (+ (* re im) im) (* 1/6 (pow im 3)))
261.0ms
(- (+ (* re im) im) (* 1/6 (pow im 3)))

prune636.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0b

localize24.0ms

Local error

Found 4 expressions with local error:

13.7b
(cbrt (* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re))))
0.3b
(pow (sin im) 3)
0.0b
(* (exp re) (exp re))
0.0b
(* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re)))

rewrite61.0ms

Algorithm
rewrite-expression-head
Counts
4 → 90
Calls

4 calls. Slowest were:

39.0ms
(* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re)))
15.0ms
(cbrt (* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re))))
4.0ms
(* (exp re) (exp re))

series149.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

56.0ms
(* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re)))
54.0ms
(cbrt (* (pow (sin im) 3) (* (* (exp re) (exp re)) (exp re))))
30.0ms
(pow (sin im) 3)
9.0ms
(* (exp re) (exp re))

simplify3.0s

Counts
58 → 102
Calls

58 calls. Slowest were:

572.0ms
(* (* (* (pow (sin im) 3) (pow (sin im) 3)) (pow (sin im) 3)) (* (* (* (* (exp re) (exp re)) (* (exp re) (exp re))) (* (exp re) (exp re))) (* (* (exp re) (exp re)) (exp re))))
539.0ms
(* (* (* (pow (sin im) 3) (pow (sin im) 3)) (pow (sin im) 3)) (* (* (* (* (exp re) (exp re)) (exp re)) (* (* (exp re) (exp re)) (exp re))) (* (* (exp re) (exp re)) (exp re))))
483.0ms
(* (* (* (pow (sin im) 3) (pow (sin im) 3)) (pow (sin im) 3)) (* (* (* (* (exp re) (exp re)) (exp re)) (* (* (exp re) (exp re)) (exp re))) (* (* (exp re) (exp re)) (exp re))))

prune1.1s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0b

localize11.0ms

Local error

Found 1 expressions with local error:

0.1b
(fma (* re im) (fma 1/2 re 1) im)

rewrite0.0ms

Algorithm
rewrite-expression-head
Counts
1 → 10
Calls

1 calls. Slowest were:

0.0ms
(fma (* re im) (fma 1/2 re 1) im)

series18.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

18.0ms
(fma (* re im) (fma 1/2 re 1) im)

simplify937.0ms

Counts
3 → 13
Calls

3 calls. Slowest were:

347.0ms
(+ (* 1/2 (* (pow re 2) im)) (+ (* re im) im))
332.0ms
(+ (* 1/2 (* (pow re 2) im)) (+ (* re im) im))
256.0ms
(+ (* 1/2 (* (pow re 2) im)) (+ (* re im) im))

prune129.0ms

Pruning

3 alts after pruning (0 fresh and 3 done)

Merged error: 0b

regimes185.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch1.0ms

end0.0ms

sample3.8s

Algorithm
intervals