Average Error: 0.0 → 0.0
Time: 27.1s
Precision: 64
Internal Precision: 128
\[\left(0.5 \cdot \sin re\right) \cdot \left(e^{0 - im} + e^{im}\right)\]
\[\left(0.5 \cdot \sin re\right) \cdot e^{im} + \frac{0.5 \cdot \sin re}{e^{im}}\]

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 - im} + e^{im}\right)\]
  2. Using strategy rm
  3. Applied distribute-rgt-in0.0

    \[\leadsto \color{blue}{e^{0 - im} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)}\]
  4. Using strategy rm
  5. Applied sub0-neg0.0

    \[\leadsto e^{\color{blue}{-im}} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)\]
  6. Applied exp-neg0.0

    \[\leadsto \color{blue}{\frac{1}{e^{im}}} \cdot \left(0.5 \cdot \sin re\right) + e^{im} \cdot \left(0.5 \cdot \sin re\right)\]
  7. Applied associate-*l/0.0

    \[\leadsto \color{blue}{\frac{1 \cdot \left(0.5 \cdot \sin re\right)}{e^{im}}} + e^{im} \cdot \left(0.5 \cdot \sin re\right)\]
  8. Simplified0.0

    \[\leadsto \frac{\color{blue}{0.5 \cdot \sin re}}{e^{im}} + e^{im} \cdot \left(0.5 \cdot \sin re\right)\]
  9. Final simplification0.0

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

Reproduce

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

Details

Time bar (total: 26.5s)Debug log

sample255.0ms

Algorithm
intervals

simplify389.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

389.0ms
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im)))

prune6.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize19.0ms

Local error

Found 2 expressions with local error:

0.0b
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im)))
0.0b
(+ (exp (- 0 im)) (exp im))

rewrite27.0ms

Algorithm
rewrite-expression-head
Counts
2 → 41
Calls

2 calls. Slowest were:

15.0ms
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im)))
10.0ms
(+ (exp (- 0 im)) (exp im))

series163.0ms

Counts
2 → 6
Calls

2 calls. Slowest were:

132.0ms
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im)))
31.0ms
(+ (exp (- 0 im)) (exp im))

simplify2.4s

Counts
23 → 47
Calls

23 calls. Slowest were:

539.0ms
(* 0.5 (* (sin re) (+ (exp (- im)) (exp im))))
447.0ms
(* (* 0.5 (sin re)) (+ (exp (- 0 im)) (exp im)))
390.0ms
(* 0.5 (* (sin re) (+ (exp im) (exp (* -1 im)))))

prune552.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.0b

localize59.0ms

Local error

Found 4 expressions with local error:

0.1b
(pow (exp im) 3)
0.0b
(fma (exp (- im)) (exp (- im)) (expm1 (+ im im)))
0.0b
(pow (exp (- 0 im)) 3)
0.0b
(* (* 0.5 (sin re)) (+ (pow (exp (- 0 im)) 3) (pow (exp im) 3)))

rewrite50.0ms

Algorithm
rewrite-expression-head
Counts
4 → 88
Calls

4 calls. Slowest were:

42.0ms
(* (* 0.5 (sin re)) (+ (pow (exp (- 0 im)) 3) (pow (exp im) 3)))
4.0ms
(pow (exp (- 0 im)) 3)
2.0ms
(pow (exp im) 3)

series207.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

94.0ms
(* (* 0.5 (sin re)) (+ (pow (exp (- 0 im)) 3) (pow (exp im) 3)))
72.0ms
(fma (exp (- im)) (exp (- im)) (expm1 (+ im im)))
24.0ms
(pow (exp im) 3)
17.0ms
(pow (exp (- 0 im)) 3)

simplify3.6s

Counts
55 → 100
Calls

55 calls. Slowest were:

435.0ms
(+ (pow (exp (- 0 im)) 3) (pow (exp im) 3))
352.0ms
(+ (* (pow (exp (- 0 im)) 3) (pow (exp (- 0 im)) 3)) (- (* (pow (exp im) 3) (pow (exp im) 3)) (* (pow (exp (- 0 im)) 3) (pow (exp im) 3))))
256.0ms
(- (+ (* 1.0 re) (* 4.5 (* re (pow im 2)))) (* 0.16666666666666666 (pow re 3)))

prune1.7s

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0b

localize16.0ms

Local error

Found 3 expressions with local error:

0.0b
(* (exp (- 0 im)) (* 0.5 (sin re)))
0.0b
(* (exp im) (* 0.5 (sin re)))
0.0b
(+ (* (exp (- 0 im)) (* 0.5 (sin re))) (* (exp im) (* 0.5 (sin re))))

rewrite55.0ms

Algorithm
rewrite-expression-head
Counts
3 → 53
Calls

3 calls. Slowest were:

24.0ms
(+ (* (exp (- 0 im)) (* 0.5 (sin re))) (* (exp im) (* 0.5 (sin re))))
17.0ms
(* (exp (- 0 im)) (* 0.5 (sin re)))
13.0ms
(* (exp im) (* 0.5 (sin re)))

series276.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

130.0ms
(+ (* (exp (- 0 im)) (* 0.5 (sin re))) (* (exp im) (* 0.5 (sin re))))
81.0ms
(* (exp (- 0 im)) (* 0.5 (sin re)))
65.0ms
(* (exp im) (* 0.5 (sin re)))

simplify3.8s

Counts
29 → 62
Calls

29 calls. Slowest were:

792.0ms
(+ (* 0.5 (* (sin re) (exp (* -1 im)))) (* 0.5 (* (sin re) (exp im))))
468.0ms
(- (+ (* 0.5 re) (* 0.25 (* re (pow im 2)))) (* 0.5 (* re im)))
462.0ms
(* (exp (* (exp (- 0 im)) (* 0.5 (sin re)))) (exp (* (exp im) (* 0.5 (sin re)))))

prune734.0ms

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0b

localize11.0ms

Local error

Found 3 expressions with local error:

0.0b
(* (exp im) (* 0.5 (sin re)))
0.0b
(+ (/ (* 0.5 (sin re)) (exp im)) (* (exp im) (* 0.5 (sin re))))
0.0b
(/ (* 0.5 (sin re)) (exp im))

rewrite31.0ms

Algorithm
rewrite-expression-head
Counts
3 → 58
Calls

3 calls. Slowest were:

16.0ms
(+ (/ (* 0.5 (sin re)) (exp im)) (* (exp im) (* 0.5 (sin re))))
10.0ms
(* (exp im) (* 0.5 (sin re)))
4.0ms
(/ (* 0.5 (sin re)) (exp im))

series204.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

97.0ms
(+ (/ (* 0.5 (sin re)) (exp im)) (* (exp im) (* 0.5 (sin re))))
54.0ms
(/ (* 0.5 (sin re)) (exp im))
53.0ms
(* (exp im) (* 0.5 (sin re)))

simplify2.0s

Counts
33 → 67
Calls

33 calls. Slowest were:

548.0ms
(/ (* (* (* 0.5 (sin re)) (* 0.5 (sin re))) (* 0.5 (sin re))) (* (* (exp im) (exp im)) (exp im)))
403.0ms
(+ (* 0.5 (* re im)) (+ (* 0.5 re) (* 0.25 (* re (pow im 2)))))
366.0ms
(- (+ (* 1.0 re) (* 0.5 (* re (pow im 2)))) (* 0.16666666666666666 (pow re 3)))

prune718.0ms

Pruning

4 alts after pruning (1 fresh and 3 done)

Merged error: 0b

regimes272.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample8.9s

Algorithm
intervals