Details

Time bar (total: 5.9s)

analyze704.0ms (12%)

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)

sample40.0ms (0.7%)

Algorithm
intervals
Results
14.0ms256×body128valid
1.0ms13×body128invalid
Compiler

Compiled 43 to 27 computations (37.2% saved)

simplify6.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

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
27.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
27.6b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 66 to 32 computations (51.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y.re y.re (*.f64 y.im y.im))
0.3b
(fma.f64 x.re y.re (*.f64 x.im y.im))
27.2b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

series106.0ms (1.8%)

Counts
3 → 120
Calls

3 calls:

87.0ms
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
9.0ms
(fma.f64 y.re y.re (*.f64 y.im y.im))
9.0ms
(fma.f64 x.re y.re (*.f64 x.im y.im))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
3 → 49
Calls

3 calls:

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

simplify81.0ms (1.4%)

Algorithm
egg-herbie
Rules
687×fma-def_binary64
413×associate-/l/_binary64
364×fma-neg_binary64
246×distribute-rgt-neg-in_binary64
245×distribute-lft-neg-in_binary64
Counts
169 → 119
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01022836
12052674
26132590
322012542
451232542

prune102.0ms (1.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New10910119
Fresh000
Picked101
Done000
Total11010120
Error
1.8b
Counts
120 → 10
Alt Table
StatusErrorProgram
27.6b
(/.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re)) (sqrt.f64 (fma.f64 y.re y.re (*.f64 y.im y.im))))
32.1b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
19.2b
(*.f64 (/.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)))) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)))
34.9b
(/.f64 x.im y.im)
41.6b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)))
25.9b
(fma.f64 x.im (/.f64 y.im (fma.f64 y.im y.im (*.f64 y.re y.re))) (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (*.f64 y.re y.re))))
38.8b
(/.f64 (*.f64 y.im x.im) (fma.f64 y.im y.im (*.f64 y.re y.re)))
40.9b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (*.f64 y.re y.re))) 3))
18.7b
(*.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)))
38.3b
(/.f64 x.re y.re)
Compiler

Compiled 2749 to 598 computations (78.2% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
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.3b
(fma.f64 y.im x.im (*.f64 y.re x.re))
17.5b
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))

series221.0ms (3.7%)

Counts
3 → 144
Calls

3 calls:

108.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)))
101.0ms
(/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))
12.0ms
(fma.f64 y.im x.im (*.f64 y.re x.re))

rewrite24.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
34×times-frac_binary64
27×*-un-lft-identity_binary64
27×add-exp-log_binary64
25×add-cube-cbrt_binary64
Counts
3 → 97
Calls

3 calls:

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 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))
0.0ms
(fma.f64 y.im x.im (*.f64 y.re x.re))

simplify182.0ms (3.1%)

Algorithm
egg-herbie
Rules
735×times-frac_binary64
339×fma-neg_binary64
266×distribute-rgt-in_binary64
259×fma-def_binary64
254×distribute-lft-in_binary64
Counts
241 → 221
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01865547
14904784
216864627
346064609
449754609
549944609
649784609

prune239.0ms (4.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2138221
Fresh729
Picked101
Done000
Total22110231
Error
0.2b
Counts
231 → 10
Alt Table
StatusErrorProgram
42.0b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im)))
41.6b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)))
42.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im))
32.1b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
18.6b
(/.f64 (*.f64 1 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
28.8b
(fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im))
27.6b
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (*.f64 (hypot.f64 y.im y.re) (hypot.f64 y.im y.re)))
35.2b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
24.8b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (cbrt.f64 (hypot.f64 y.im y.re))))
18.8b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (hypot.f64 y.im y.re))))
Compiler

Compiled 5801 to 1585 computations (72.7% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series165.0ms (2.8%)

Counts
1 → 48
Calls

1 calls:

165.0ms
(/.f64 (*.f64 1 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))

rewrite10.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
15×add-exp-log_binary64
10×add-cbrt-cube_binary64
div-exp_binary64
cbrt-undiv_binary64
prod-exp_binary64
Counts
1 → 28
Calls

1 calls:

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

simplify116.0ms (2%)

Algorithm
egg-herbie
Rules
659×fma-def_binary64
559×fma-neg_binary64
468×times-frac_binary64
356×associate-/l*_binary64
257×distribute-rgt-neg-in_binary64
Counts
76 → 64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01002092
12421844
27851742
329391724
447291688
551371688

prune122.0ms (2.1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1711172
Fresh189
Picked011
Done000
Total17210182
Error
0.2b
Counts
182 → 10
Alt Table
StatusErrorProgram
42.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im))
32.1b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
18.6b
(/.f64 (*.f64 1 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
28.8b
(fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im))
27.6b
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (*.f64 (hypot.f64 y.im y.re) (hypot.f64 y.im y.re)))
35.2b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
41.6b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)))
24.8b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (cbrt.f64 (hypot.f64 y.im y.re))))
18.8b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (hypot.f64 y.im y.re))))
42.0b
(/.f64 (*.f64 1 (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))) (hypot.f64 y.im y.re))
Compiler

Compiled 4238 to 1308 computations (69.1% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series209.0ms (3.6%)

Counts
2 → 96
Calls

2 calls:

112.0ms
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (hypot.f64 y.im y.re))))
97.0ms
(*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (hypot.f64 y.im y.re)))

rewrite25.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
76×add-exp-log_binary64
40×prod-exp_binary64
28×add-cbrt-cube_binary64
24×add-sqr-sqrt_binary64
20×times-frac_binary64
Counts
2 → 95
Calls

2 calls:

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

simplify116.0ms (2%)

Algorithm
egg-herbie
Rules
587×times-frac_binary64
514×associate-/l*_binary64
433×fma-neg_binary64
289×associate-/r*_binary64
238×fma-def_binary64
Counts
191 → 192
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01694931
14234101
213913932
347883932
451023932

prune137.0ms (2.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2130213
Fresh088
Picked011
Done011
Total21310223
Error
0.2b
Counts
223 → 10
Alt Table
StatusErrorProgram
42.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (fma.f64 (/.f64 x.re y.im) y.re x.im))
32.1b
(fma.f64 y.re (/.f64 x.re (*.f64 y.im y.im)) (/.f64 x.im y.im))
18.6b
(/.f64 (*.f64 1 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
28.8b
(fma.f64 (/.f64 x.re y.im) (/.f64 y.re y.im) (/.f64 x.im y.im))
27.6b
(/.f64 (fma.f64 x.re y.re (*.f64 y.im x.im)) (*.f64 (hypot.f64 y.im y.re) (hypot.f64 y.im y.re)))
35.2b
(fma.f64 (/.f64 y.im y.re) (/.f64 x.im y.re) (/.f64 x.re y.re))
41.6b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)) (/.f64 (sqrt.f64 (fma.f64 y.im x.im (*.f64 y.re x.re))) (hypot.f64 y.im y.re)))
24.8b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re)) (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (cbrt.f64 (hypot.f64 y.im y.re))))
18.8b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (*.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (/.f64 1 (hypot.f64 y.im y.re))))
42.0b
(/.f64 (*.f64 1 (neg.f64 (fma.f64 (/.f64 x.re y.im) y.re x.im))) (hypot.f64 y.im y.re))
Compiler

Compiled 5344 to 1884 computations (64.7% saved)

regimes1.9s (33%)

Accuracy

Total 9.9b remaining (98.2%)

Threshold costs 0b (0%)

Counts
140 → 5
Compiler

Compiled 13943 to 7719 computations (44.6% saved)

bsearch80.0ms (1.4%)

Steps
ItersRangePoint
9
4.000848255003141e+114
6.70304819586867e+123
1.5945253184501813e+119
8
5.942567891796037e-131
3.3981579973716382e-127
5.0503981640593735e-129
9
-1.0809643918353936e-146
-9.428601981592874e-155
-4.914157784902541e-154
7
-3.5031277533538224e+81
-2.7252440438352698e+79
-1.5835790079768928e+81
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
*-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037110
147110
252110
355110
457110
558110
656110

end1.0ms (0%)

Compiler

Compiled 80 to 33 computations (58.8% saved)

sample1.2s (20.5%)

Algorithm
intervals
Results
670.0ms8000×body128valid
25.0ms494×body128invalid
Compiler

Compiled 297 to 151 computations (49.2% saved)

Profiling

Loading profile data...