Average Error: 0.0 → 0.0
Time: 2.5s
Precision: 64
Internal Precision: 128
\[re \cdot im + im \cdot re\]
\[re \cdot im + re \cdot 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

    \[re \cdot im + im \cdot re\]
  2. Final simplification0.0

    \[\leadsto re \cdot im + re \cdot im\]

Reproduce

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

Details

Time bar (total: 924.0ms)Debug log

start128.0ms

Algorithm
intervals

setup24.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize12.0ms

Local error

Found 1 expressions with local error:

0.0b
(+ (* re im) (* im re))

rewrite61.0ms

Algorithm
rewrite-expression-head
Counts
1 → 14
Calls

1 calls. Slowest were:

58.0ms
(+ (* re im) (* im re))

series30.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

30.0ms
(+ (* re im) (* im re))

simplify133.0ms

Counts
4 → 17
Calls

4 calls. Slowest were:

50.0ms
(* 2 (* re im))
47.0ms
(* (exp (* re im)) (exp (* im re)))
19.0ms
(* 2 (* re im))

prune191.0ms

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize11.0ms

Local error

Found 1 expressions with local error:

0.2b
(* re (+ im im))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
1 → 17
Calls

1 calls. Slowest were:

2.0ms
(* re (+ im im))

series19.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

19.0ms
(* re (+ im im))

simplify57.0ms

Counts
10 → 20
Calls

10 calls. Slowest were:

18.0ms
(+ (* im im) (- (* im im) (* im im)))
10.0ms
(* 2 (* re im))
10.0ms
(* 2 (* re im))

prune160.0ms

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes93.0ms

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms