Details

Time bar (total: 10.2s)

analyze678.0ms (6.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample45.0ms (0.4%)

Algorithm
intervals
Results
19.0ms256×body128valid
1.0ms18×body128invalid
Compiler

Compiled 43 to 27 computations (37.2% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11818
22218
32218

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
28.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
28.2b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
Compiler

Compiled 70 to 36 computations (48.6% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.7b
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))
27.7b
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))

series199.0ms (2%)

Counts
2 → 96
Calls

2 calls:

188.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
10.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 47
Calls

2 calls:

6.0ms
(/.f64 (+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im)) (+.f64 (*.f64 y.re y.re) (*.f64 y.im y.im)))
3.0ms
(+.f64 (*.f64 x.re y.re) (*.f64 x.im y.im))

simplify114.0ms (1.1%)

Algorithm
egg-herbie
Rules
472×associate-*l*_binary64
412×fma-def_binary64
396×associate-*r*_binary64
349×times-frac_binary64
329×fma-neg_binary64
Counts
143 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01212682
13412585
211682501
345422489
449472489
549822489

prune90.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1026108
Fresh000
Picked101
Done000
Total1036109
Error
0.0b
Counts
109 → 6
Alt Table
StatusErrorProgram
18.5b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
26.9b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
43.6b
(/.f64 (-.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (-.f64 (*.f64 y.re x.re) (*.f64 y.im x.im))))
28.5b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)))) (/.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (fma.f64 y.im y.im (*.f64 y.re y.re))))
30.8b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
34.0b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
Compiler

Compiled 2844 to 563 computations (80.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (hypot.f64 y.im y.re))
0.3b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
0.5b
(fma.f64 y.im x.im (*.f64 y.re x.re))
17.3b
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))

series237.0ms (2.3%)

Counts
4 → 168
Calls

4 calls:

115.0ms
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
95.0ms
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))
18.0ms
(/.f64 1 (hypot.f64 y.im y.re))
9.0ms
(fma.f64 y.im x.im (*.f64 y.re x.re))

rewrite31.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
51×add-sqr-sqrt_binary64
43×times-frac_binary64
36×*-un-lft-identity_binary64
34×add-cube-cbrt_binary64
32×add-exp-log_binary64
Counts
4 → 130
Calls

4 calls:

8.0ms
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))
8.0ms
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
2.0ms
(/.f64 1 (hypot.f64 y.im y.re))
0.0ms
(fma.f64 y.im x.im (*.f64 y.re x.re))

simplify157.0ms (1.5%)

Algorithm
egg-herbie
Rules
872×times-frac_binary64
508×fma-neg_binary64
381×fma-def_binary64
335×cancel-sign-sub-inv_binary64
274×distribute-rgt-in_binary64
Counts
298 → 285
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02356511
16295720
221355547
348795539
451835539

prune201.0ms (2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2805285
Fresh235
Picked101
Done000
Total2838291
Error
0.0b
Counts
291 → 8
Alt Table
StatusErrorProgram
19.0b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (cbrt.f64 (hypot.f64 y.im y.re))))
18.7b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
43.6b
(/.f64 (-.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (-.f64 (*.f64 y.re x.re) (*.f64 y.im x.im))))
18.4b
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
43.7b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re)))
30.8b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
18.6b
(*.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (sqrt.f64 (hypot.f64 y.im y.re))))
34.0b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
Compiler

Compiled 7416 to 2225 computations (70% saved)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
0.3b
(fma.f64 x.re y.re (*.f64 y.im x.im))
17.3b
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re))

series215.0ms (2.1%)

Counts
3 → 144
Calls

3 calls:

104.0ms
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re))
102.0ms
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
9.0ms
(fma.f64 x.re y.re (*.f64 y.im x.im))

rewrite21.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
16×associate-/l*_binary64
Counts
3 → 111
Calls

3 calls:

8.0ms
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
2.0ms
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re))
0.0ms
(fma.f64 x.re y.re (*.f64 y.im x.im))

simplify158.0ms (1.6%)

Algorithm
egg-herbie
Rules
701×times-frac_binary64
519×associate-/l*_binary64
443×fma-neg_binary64
384×associate-/r*_binary64
364×associate-/l/_binary64
Counts
255 → 251
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02216578
15375929
214515628
346645628
449865628

prune175.0ms (1.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2483251
Fresh347
Picked011
Done000
Total2518259
Error
0.0b
Counts
259 → 8
Alt Table
StatusErrorProgram
43.7b
(/.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re)) (hypot.f64 y.im y.re))
18.4b
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
19.4b
(/.f64 1 (*.f64 (hypot.f64 y.im y.re) (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re)))))
18.7b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
43.6b
(/.f64 (-.f64 (*.f64 (*.f64 x.re y.re) (*.f64 x.re y.re)) (*.f64 (*.f64 x.im y.im) (*.f64 x.im y.im))) (*.f64 (fma.f64 y.im y.im (*.f64 y.re y.re)) (-.f64 (*.f64 y.re x.re) (*.f64 y.im x.im))))
19.0b
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (cbrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
30.8b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
34.0b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
Compiler

Compiled 6575 to 1236 computations (81.2% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
0.3b
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re)))
0.5b
(fma.f64 y.im x.im (*.f64 y.re x.re))
17.3b
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))

series122.0ms (1.2%)

Counts
2 → 72
Calls

2 calls:

102.0ms
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
19.0ms
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re)))

rewrite149.0ms (1.5%)

Algorithm
rewrite-expression-head
Rules
555×times-frac_binary64
355×add-sqr-sqrt_binary64
277×*-un-lft-identity_binary64
270×sqrt-prod_binary64
269×add-cube-cbrt_binary64
Counts
2 → 388
Calls

2 calls:

62.0ms
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
8.0ms
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re)))

simplify379.0ms (3.7%)

Algorithm
egg-herbie
Rules
422×associate-/r/_binary64
270×distribute-rgt-in_binary64
255×distribute-lft-in_binary64
255×fma-def_binary64
250×associate-*l/_binary64
Counts
460 → 493
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029214937
178813365
2236812215
3485012207
4499212207
5495912207

prune433.0ms (4.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New6001601
Fresh156
Picked101
Done011
Total6027609
Error
0.0b
Counts
609 → 7
Alt Table
StatusErrorProgram
18.7b
(*.f64 (/.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (sqrt.f64 (hypot.f64 y.im y.re)))) (sqrt.f64 (sqrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)))
19.4b
(/.f64 1 (*.f64 (hypot.f64 y.im y.re) (/.f64 (hypot.f64 y.im y.re) (fma.f64 y.im x.im (*.f64 y.re x.re)))))
43.7b
(/.f64 (neg.f64 (fma.f64 (/.f64 y.im y.re) x.im x.re)) (hypot.f64 y.im y.re))
18.4b
(/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
19.0b
(/.f64 (/.f64 (/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (cbrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
30.8b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
34.0b
(fma.f64 (/.f64 y.re y.im) (/.f64 x.re y.im) (/.f64 x.im y.im))
Compiler

Compiled 20609 to 5669 computations (72.5% saved)

regimes5.7s (56.4%)

Accuracy

Total 10.1b remaining (98.5%)

Threshold costs 0b (0%)

Counts
192 → 5
Compiler

Compiled 22051 to 11973 computations (45.7% saved)

bsearch83.0ms (0.8%)

Steps
ItersRangePoint
7
5.5013555494050716e+132
1.163007707576428e+135
1.6628009337917042e+133
9
1.3539858821618174e-112
1.1977277435158817e-107
2.8636600701744714e-111
10
-4.571610901252968e-192
-1.6060599745547955e-204
-1.050794049494874e-197
10
-2.4619775670305076e+166
-1.759780515416923e+153
-2.937760174171857e+153
Compiler

Compiled 5 to 4 computations (20% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040110
149110
253110
356110
457110
556110

end1.0ms (0%)

Compiler

Compiled 80 to 35 computations (56.3% saved)

sample864.0ms (8.5%)

Algorithm
intervals
Results
427.0ms8000×body128valid
23.0ms467×body128invalid
Compiler

Compiled 247 to 123 computations (50.2% saved)

Profiling

Loading profile data...