Details

Time bar (total: 4.9s)

analyze1.8s (36.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
0%99.9%0.1%9
0%99.9%0.1%10
0%99.9%0.1%11
0%99.9%0.1%12
0%99.9%0.1%13
0%99.9%0.1%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample1.8s (36.8%)

Results
810.0ms6288×body128valid
353.0ms555×body4096valid
332.0ms645×body2048valid
168.0ms422×body1024valid
67.0ms215×body512valid
27.0ms131×body256valid
Compiler

Compiled 35 to 25 computations (28.6% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
22915
33115
43115

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
16.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
16.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 51 to 37 computations (27.5% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
1.7b
(+.f64 re (hypot.f64 re im))

series25.0ms (0.5%)

Counts
2 → 48
Calls

2 calls:

14.0ms
(+.f64 re (hypot.f64 re im))
11.0ms
(hypot.f64 re im)

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
fma-def_binary64
add-cube-cbrt_binary64
Counts
2 → 27
Calls

2 calls:

2.0ms
(+.f64 re (hypot.f64 re im))
0.0ms
(hypot.f64 re im)

simplify74.0ms (1.5%)

Algorithm
egg-herbie
Rules
979×fma-neg_binary64
303×fma-def_binary64
267×distribute-rgt-neg-in_binary64
259×distribute-lft-neg-in_binary64
242×distribute-neg-frac_binary64
Counts
75 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01091182
13201139
28201115
330181115
448991115
550441115

prune62.0ms (1.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New83487
Fresh000
Picked011
Done000
Total83588
Error
9.0b
Counts
88 → 5
Alt Table
StatusErrorProgram
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
16.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))))
53.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 1841 to 1253 computations (31.9% saved)

localize4.0ms (0.1%)

prune5.0ms (0.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New000
Fresh033
Picked011
Done011
Total055
Error
9.0b
Counts
5 → 5
Alt Table
StatusErrorProgram
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
16.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))))
53.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 147 to 119 computations (19% saved)

localize4.0ms (0.1%)

prune5.0ms (0.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New000
Fresh022
Picked011
Done022
Total055
Error
9.0b
Counts
5 → 5
Alt Table
StatusErrorProgram
49.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
16.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))))
53.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 139 to 112 computations (19.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
0.0b
(*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
7.6b
(/.f64 (pow.f64 im 2) re)
20.3b
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))

series64.0ms (1.3%)

Counts
4 → 48
Calls

4 calls:

23.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
16.0ms
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
12.0ms
(*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
12.0ms
(/.f64 (pow.f64 im 2) re)

rewrite30.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
27×add-exp-log_binary64
26×add-sqr-sqrt_binary64
24×times-frac_binary64
24×*-un-lft-identity_binary64
24×add-cube-cbrt_binary64
Counts
4 → 113
Calls

4 calls:

8.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
8.0ms
(*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
5.0ms
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
3.0ms
(/.f64 (pow.f64 im 2) re)

simplify126.0ms (2.6%)

Algorithm
egg-herbie
Rules
428×associate-*l/_binary64
415×associate-*r/_binary64
307×unswap-sqr_binary64
274×associate-/l*_binary64
238×*-commutative_binary64
Counts
161 → 178
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01832147
13121862
28971861
332871861
443901861
548851861
648981861

prune112.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1735178
Fresh011
Picked101
Done213
Total1767183
Error
0.0b
Counts
183 → 7
Alt Table
StatusErrorProgram
53.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 1 (/.f64 re (pow.f64 im 2)))))))
57.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))))
53.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
16.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
50.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im))))))
51.5b
(*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
50.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (*.f64 im (/.f64 im re))))))
Compiler

Compiled 3293 to 2286 computations (30.6% saved)

regimes620.0ms (12.8%)

Accuracy

Total 10.9b remaining (98.6%)

Threshold costs 0b (0%)

Counts
62 → 2
Compiler

Compiled 7726 to 6028 computations (22% saved)

bsearch41.0ms (0.8%)

Steps
ItersRangePoint
8
-0.0001842406890998269
-3.544636178674044e-8
-0.00017542879764735815
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02139
12739
22739

end109.0ms (2.2%)

Compiler

Compiled 173 to 135 computations (22% saved)

Profiling

Loading profile data...