Details

Time bar (total: 6.3s)

analyze1.1s (16.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
25%25%50%2
25%25%50%3
31.2%18.7%50%4
31.2%18.7%50%5
34.3%15.6%50%6
34.3%15.6%50%7
35.9%14%50%8
35.9%14%50%9
36.7%13.3%50%10
36.7%13.3%50%11
37.1%12.9%50%12
37.1%12.9%50%13
37.3%12.7%50%14
Compiler

Compiled 20 to 14 computations (30% saved)

sample58.0ms (0.9%)

Algorithm
intervals
Results
15.0ms191×body128valid
10.0ms19×body4096valid
7.0ms17×body2048valid
5.0ms256×pre128true
4.0ms13×body1024valid
2.0ms10×body512valid
1.0msbody256valid
Compiler

Compiled 39 to 28 computations (28.2% saved)

simplify36.0ms (0.6%)

Algorithm
egg-herbie
Rules
203×fma-def_binary64
142×fma-neg_binary64
51×distribute-rgt-in_binary64
42×cancel-sign-sub-inv_binary64
28×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35015
46915
59815
615115
721115
826315
930515
1034315
1137915
1239615
1341515
1442815
1546515
1647715
1748615
1844915

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 51 to 37 computations (27.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
0.0b
(hypot.f64 re im)
0.5b
(-.f64 (hypot.f64 re im) re)

series96.0ms (1.5%)

Counts
3 → 56
Calls

3 calls:

63.0ms
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
18.0ms
(-.f64 (hypot.f64 re im) re)
15.0ms
(hypot.f64 re im)

rewrite21.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
13×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
prod-diff_binary64
pow1_binary64
Counts
3 → 55
Calls

3 calls:

11.0ms
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
5.0ms
(-.f64 (hypot.f64 re im) re)
1.0ms
(hypot.f64 re im)

simplify143.0ms (2.3%)

Algorithm
egg-herbie
Rules
994×fma-neg_binary64
747×times-frac_binary64
413×cancel-sign-sub-inv_binary64
173×fma-def_binary64
158×sub-neg_binary64
Counts
111 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02382332
16112069
220781999
344661989
450151989

prune181.0ms (2.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1306136
Fresh000
Picked011
Done000
Total1307137
Error
0.1b
Counts
137 → 7
Alt Table
StatusErrorProgram
41.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (cbrt.f64 (*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (hypot.f64 re im) re)) (-.f64 (hypot.f64 re im) re))))))
50.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
52.5b
(*.f64 1/2 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) -1/16))))
46.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
Compiler

Compiled 3397 to 2218 computations (34.7% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (hypot.f64 re im))
0.0b
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
0.0b
(hypot.f64 re im)
16.1b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))

series293.0ms (4.7%)

Counts
3 → 26
Calls

3 calls:

177.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
79.0ms
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))
37.0ms
(sqrt.f64 (hypot.f64 re im))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
pow1_binary64
add-sqr-sqrt_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 38
Calls

3 calls:

4.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
2.0ms
(sqrt.f64 (hypot.f64 re im))
1.0ms
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))

simplify133.0ms (2.1%)

Algorithm
egg-herbie
Rules
630×fma-def_binary64
337×associate-/l*_binary64
311×times-frac_binary64
291×fma-neg_binary64
289×cancel-sign-sub-inv_binary64
Counts
64 → 99
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02061414
15181316
215851263
349271261
450241261

prune206.0ms (3.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2061207
Fresh145
Picked101
Done011
Total2086214
Error
0.1b
Counts
214 → 6
Alt Table
StatusErrorProgram
46.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
16.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))))
52.5b
(*.f64 1/2 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) -1/16))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
50.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 5768 to 3344 computations (42% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
0.4b
(*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
0.4b
(cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))
16.1b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))

series401.0ms (6.4%)

Counts
3 → 30
Calls

3 calls:

249.0ms
(*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
106.0ms
(cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))
45.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))

rewrite21.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

7.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))
1.0ms
(cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))

simplify106.0ms (1.7%)

Algorithm
egg-herbie
Rules
754×times-frac_binary64
390×fma-def_binary64
365×associate-/l*_binary64
292×fma-neg_binary64
205×cancel-sign-sub-inv_binary64
Counts
123 → 187
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02174264
15422500
215822201
348932201
450282201

prune228.0ms (3.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3741375
Fresh044
Picked011
Done011
Total3747381
Error
0.1b
Counts
381 → 7
Alt Table
StatusErrorProgram
46.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
16.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
13.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))))
52.5b
(*.f64 1/2 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) -1/16))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
50.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
Compiler

Compiled 18105 to 5190 computations (71.3% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
0.5b
(cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
0.5b
(-.f64 (hypot.f64 re im) re)
16.1b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))

series79.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

39.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
39.0ms
(cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))

rewrite26.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
60×cbrt-prod_binary64
48×add-sqr-sqrt_binary64
37×sqrt-prod_binary64
32×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
Counts
2 → 94
Calls

2 calls:

13.0ms
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))
3.0ms
(cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))

simplify176.0ms (2.8%)

Algorithm
egg-herbie
Rules
605×fma-def_binary64
463×associate-/l*_binary64
284×cancel-sign-sub-inv_binary64
279×fma-neg_binary64
208×associate-*r*_binary64
Counts
142 → 175
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03335343
18275025
222134385
347764350
449654350

prune385.0ms (6.1%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New4291430
Fresh044
Picked101
Done022
Total4307437
Error
0.1b
Counts
437 → 7
Alt Table
StatusErrorProgram
46.7b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
16.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))) (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re)))))))
13.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))) (cbrt.f64 (+.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))) (neg.f64 re)))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))))
52.5b
(*.f64 1/2 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 2)) (sqrt.f64 1/2)) -1/16))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
50.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 re -2 (*.f64 (/.f64 (*.f64 im im) re) -1/2)))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
Compiler

Compiled 25505 to 7534 computations (70.5% saved)

regimes828.0ms (13.2%)

Accuracy

Total 7.8b remaining (97.5%)

Threshold costs 0b (0%)

Counts
79 → 2
Compiler

Compiled 19032 to 9242 computations (51.4% saved)

bsearch47.0ms (0.7%)

Steps
ItersRangePoint
9
2.0371373619755278e+108
5.841036675932813e+115
1.8829507935529762e+115
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify3.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
02343
13343
23743
33943
44043
53943

end1.0ms (0%)

Compiler

Compiled 30 to 24 computations (20% saved)

sample1.7s (26.8%)

Algorithm
intervals
Results
433.0ms6091×body128valid
229.0ms550×body4096valid
223.0ms644×body2048valid
129.0ms8000×pre128true
105.0ms368×body1024valid
46.0ms222×body512valid
17.0ms125×body256valid
Compiler

Compiled 239 to 153 computations (36% saved)

Profiling

Loading profile data...