Details

Time bar (total: 6.7s)

analyze859.0ms (12.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
68.7%31.2%0.1%7
68.7%31.2%0.1%8
71.8%28.1%0.1%9
71.8%28.1%0.1%10
73.4%26.5%0.1%11
73.4%26.5%0.1%12
74.1%25.8%0.1%13
74.1%25.8%0.1%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample74.0ms (1.1%)

Algorithm
intervals
Results
24.0ms198×body128valid
14.0ms19×body4096valid
10.0ms16×body2048valid
5.0ms11×body1024valid
3.0msbody512valid
1.0msbody256valid
Compiler

Compiled 37 to 27 computations (27% saved)

simplify21.0ms (0.3%)

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

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 51 to 37 computations (27.5% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.2b
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
1.1b
(+.f64 re (hypot.f64 re im))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
pow1_binary64
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
3 → 42
Calls

3 calls:

6.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
5.0ms
(+.f64 re (hypot.f64 re im))
1.0ms
(hypot.f64 re im)

series135.0ms (2%)

Counts
3 → 56
Calls

3 calls:

80.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
29.0ms
(+.f64 re (hypot.f64 re im))
26.0ms
(hypot.f64 re im)

simplify151.0ms (2.3%)

Algorithm
egg-herbie
Rules
615×fma-def_binary64
531×fma-neg_binary64
460×associate-*r*_binary64
385×associate-*l*_binary64
294×cancel-sign-sub-inv_binary64
Counts
98 → 155
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01881829
15141737
214651673
349901673
453081673

prune155.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1496155
Fresh000
Picked011
Done000
Total1497156
Error
6.4b
Counts
156 → 7
Alt Table
StatusErrorProgram
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
54.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 (exp.f64 (log.f64 (+.f64 re (hypot.f64 re im)))))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
15.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 2688 to 1836 computations (31.7% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.0b
(sqrt.f64 (+.f64 re (hypot.f64 re im)))
0.4b
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
1.1b
(+.f64 re (hypot.f64 re im))

rewrite26.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
15×sqrt-prod_binary64
11×*-un-lft-identity_binary64
associate-*r*_binary64
add-cube-cbrt_binary64
Counts
2 → 55
Calls

2 calls:

14.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
5.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))

series134.0ms (2%)

Counts
2 → 16
Calls

2 calls:

82.0ms
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
51.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))

simplify153.0ms (2.3%)

Algorithm
egg-herbie
Rules
608×fma-neg_binary64
601×fma-def_binary64
441×times-frac_binary64
335×associate-/l*_binary64
318×cancel-sign-sub-inv_binary64
Counts
71 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01811642
14611585
214871518
345391518
449971518

prune222.0ms (3.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2221223
Fresh055
Picked011
Done011
Total2228230
Error
6.4b
Counts
230 → 8
Alt Table
StatusErrorProgram
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (+.f64 re (hypot.f64 re im)))))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
15.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 4042 to 2680 computations (33.7% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (hypot.f64 re im))
0.6b
(cbrt.f64 (hypot.f64 re im))
0.6b
(cbrt.f64 (hypot.f64 re im))
9.4b
(+.f64 re (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-log-exp_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cbrt-prod_binary64
Counts
2 → 29
Calls

2 calls:

5.0ms
(+.f64 re (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))
1.0ms
(cbrt.f64 (hypot.f64 re im))

series104.0ms (1.6%)

Counts
2 → 48
Calls

2 calls:

75.0ms
(cbrt.f64 (hypot.f64 re im))
29.0ms
(+.f64 re (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))

simplify170.0ms (2.5%)

Algorithm
egg-herbie
Rules
727×associate-*l*_binary64
622×fma-def_binary64
391×fma-neg_binary64
268×cancel-sign-sub-inv_binary64
175×times-frac_binary64
Counts
77 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01801503
15361476
215241443
347041443
449891443
549641443

prune255.0ms (3.8%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3221323
Fresh055
Picked101
Done022
Total3238331
Error
6.4b
Counts
331 → 8
Alt Table
StatusErrorProgram
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (+.f64 re (hypot.f64 re im)))))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 6335 to 3530 computations (44.3% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 re)
0.6b
(cbrt.f64 re)
0.6b
(cbrt.f64 re)
14.8b
(fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 23
Calls

2 calls:

1.0ms
(cbrt.f64 re)
1.0ms
(fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))

series539.0ms (8.1%)

Counts
2 → 36
Calls

2 calls:

473.0ms
(cbrt.f64 re)
65.0ms
(fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))

simplify143.0ms (2.1%)

Algorithm
egg-herbie
Rules
468×times-frac_binary64
381×fma-def_binary64
344×associate-*r*_binary64
294×associate-*l*_binary64
255×associate-/r*_binary64
Counts
59 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
094630
1237594
2724576
34160576
44820576
54988576
64868576

prune117.0ms (1.8%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2241225
Fresh055
Picked101
Done022
Total2258233
Error
6.4b
Counts
233 → 8
Alt Table
StatusErrorProgram
12.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
12.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im)))))
54.7b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (+.f64 re (hypot.f64 re im)))))))
47.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
15.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))) (cbrt.f64 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))) (cbrt.f64 (fma.f64 (*.f64 (cbrt.f64 re) (cbrt.f64 re)) (cbrt.f64 re) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))))))
46.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 2872 to 1087 computations (62.2% saved)

regimes755.0ms (11.3%)

Accuracy

Total 2.8b remaining (27.8%)

Threshold costs 0b (0%)

Compiler

Compiled 5093 to 3311 computations (35% saved)

bsearch3.0ms (0%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02858
13758
23758

end2.0ms (0%)

Compiler

Compiled 40 to 30 computations (25% saved)

sample2.6s (38.1%)

Algorithm
intervals
Results
740.0ms6088×body128valid
422.0ms656×body2048valid
361.0ms507×body4096valid
236.0ms404×body1024valid
91.0ms220×body512valid
28.0ms125×body256valid
Compiler

Compiled 223 to 131 computations (41.3% saved)

Profiling

Loading profile data...