Details

Time bar (total: 4.0s)

analyze584.0ms (14.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
6.2%43.7%50%4
12.5%37.5%50%5
18.7%31.2%50%6
23.4%26.5%50%7
27.3%22.6%50%8
30%19.9%50%9
32.2%17.8%50%10
33.7%16.3%50%11
34.8%15.2%50%12
35.5%14.4%50%13
36.1%13.8%50%14
Compiler

Compiled 20 to 14 computations (30% saved)

sample1.7s (43.6%)

Results
770.0ms6310×body128valid
345.0ms537×body4096valid
336.0ms652×body2048valid
170.0ms420×body1024valid
72.0ms222×body512valid
24.0ms115×body256valid
Compiler

Compiled 40 to 28 computations (30% saved)

preprocess31.0ms (0.8%)

Algorithm
egg-herbie
Rules
316×fma-def_binary64
164×fma-neg_binary64
86×distribute-rgt-in_binary64
48×distribute-lft-in_binary64
48×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
13330
25130
38830
413530
518530
630530
747830
868230
983330
10108330
11124330
12126130
13126530
022
Stop Event
saturated
saturated
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify24.0ms (0.6%)

Algorithm
egg-herbie
Rules
201×fma-def_binary64
142×fma-neg_binary64
51×distribute-rgt-in_binary64
43×cancel-sign-sub-inv_binary64
27×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
841015
949315
1061015
1168215
1270515
1374415
1479315
1585615
1689215
1790115
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 51 to 37 computations (27.5% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.9b
(-.f64 (hypot.f64 re im) re)

series20.0ms (0.5%)

Counts
2 → 48
Calls

12 calls:

2.0ms
(-.f64 (hypot.f64 re im) re)
re
inf
2.0ms
(-.f64 (hypot.f64 re im) re)
im
0
2.0ms
(-.f64 (hypot.f64 re im) re)
im
inf
2.0ms
(-.f64 (hypot.f64 re im) re)
re
-inf
2.0ms
(hypot.f64 re im)
re
-inf

rewrite39.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
578×log1p-expm1-u_binary64
578×expm1-log1p-u_binary64
410×prod-diff_binary64
176×fma-def_binary64
106×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
111111
2152111
Stop Event
node limit
Counts
2 → 97

simplify42.0ms (1.1%)

Algorithm
egg-herbie
Rules
313×distribute-rgt-neg-in_binary64
308×distribute-lft-neg-in_binary64
286×sub-neg_binary64
282×distribute-neg-frac_binary64
234×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
080973
1262947
2815923
33274923
Stop Event
node limit
Counts
145 → 154

prune100.0ms (2.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1486154
Fresh000
Picked011
Done000
Total1487155
Error
6.5b
Counts
155 → 7
Alt Table
StatusErrorProgram
13.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
17.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re))))))
53.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
30.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
14.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3))))
47.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re))))))
Compiler

Compiled 3187 to 1923 computations (39.7% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.4b
(cbrt.f64 (-.f64 (hypot.f64 re im) re))
0.6b
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
0.9b
(-.f64 (hypot.f64 re im) re)

series84.0ms (2.1%)

Counts
2 → 8
Calls

12 calls:

14.0ms
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
re
0
10.0ms
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
im
-inf
9.0ms
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
im
0
9.0ms
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
re
-inf
8.0ms
(pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)
im
inf

rewrite43.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
737×log1p-expm1-u_binary64
737×expm1-log1p-u_binary64
410×prod-diff_binary64
80×egg-rr
77×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
117116
2199916
Stop Event
node limit
Counts
2 → 80

simplify30.0ms (0.8%)

Algorithm
egg-herbie
Rules
841×fma-neg_binary64
776×times-frac_binary64
246×associate-*r*_binary64
218×associate-*l*_binary64
216×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065349
1198349
2633347
32815347
Stop Event
node limit
Counts
88 → 95

prune158.0ms (4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2463249
Fresh235
Picked011
Done011
Total2488256
Error
6.5b
Counts
256 → 8
Alt Table
StatusErrorProgram
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))) 3))))
30.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
31.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 im) 3))))
13.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
53.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
14.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3))))
17.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3))))
Compiler

Compiled 5772 to 3583 computations (37.9% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.6b
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
0.9b
(-.f64 (hypot.f64 re im) re)
3.7b
(pow.f64 (-.f64 (hypot.f64 re im) re) 1/3)

series83.0ms (2.1%)

Counts
2 → 8
Calls

12 calls:

14.0ms
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
re
0
10.0ms
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
im
-inf
10.0ms
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
re
-inf
9.0ms
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
im
inf
8.0ms
(pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/3) 3)
im
0

rewrite44.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
813×log1p-expm1-u_binary64
813×expm1-log1p-u_binary64
410×prod-diff_binary64
86×add-sqr-sqrt_binary64
82×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
118816
2221916
Stop Event
node limit
Counts
2 → 76

simplify28.0ms (0.7%)

Algorithm
egg-herbie
Rules
841×fma-neg_binary64
776×times-frac_binary64
246×associate-*r*_binary64
217×associate-*l*_binary64
215×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065349
1198349
2633347
32811347
Stop Event
node limit
Counts
84 → 91

prune148.0ms (3.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2441245
Fresh055
Picked101
Done022
Total2458253
Error
6.5b
Counts
253 → 8
Alt Table
StatusErrorProgram
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))) 3))))
30.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
31.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 im) 3))))
13.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
53.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
14.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3))))
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3))))
Compiler

Compiled 5866 to 3713 computations (36.7% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
0.9b
(-.f64 (hypot.f64 re im) re)
3.3b
(expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))
3.7b
(pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3)

series95.0ms (2.4%)

Counts
3 → 32
Calls

18 calls:

14.0ms
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
re
0
10.0ms
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
im
-inf
9.0ms
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
im
0
9.0ms
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
re
-inf
9.0ms
(pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3)
im
inf

rewrite54.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
888×expm1-log1p-u_binary64
560×prod-diff_binary64
142×egg-rr
97×log1p-expm1-u_binary64
94×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
121023
2242823
Stop Event
node limit
Counts
3 → 142

simplify48.0ms (1.2%)

Algorithm
egg-herbie
Rules
357×fma-def_binary64
355×sub-neg_binary64
310×associate-*r*_binary64
272×associate-*l*_binary64
255×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0105834
1328826
21083816
34682816
Stop Event
node limit
Counts
174 → 128

prune172.0ms (4.3%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2360236
Fresh055
Picked011
Done022
Total2368244
Error
6.5b
Counts
244 → 8
Alt Table
StatusErrorProgram
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))) 3))))
30.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
31.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 im) 3))))
13.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
53.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
14.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3))))
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (pow.f64 (expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1/3) 3))))
Compiler

Compiled 6028 to 3939 computations (34.7% saved)

regimes252.0ms (6.3%)

Accuracy

Total 3.8b remaining (40.6%)

Threshold costs 0b (0%)

Counts
23 → 2
Compiler

Compiled 2852 to 2082 computations (27% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Steps
ItersPointRange
0.0
∈ [
0.0
,
6.232865232512721e-150
]
Compiler

Compiled 15 to 10 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
02758
13758
24258
34458
44558
Stop Event
saturated

end118.0ms (3%)

Stop Event
fuel
Compiler

Compiled 197 to 150 computations (23.9% saved)

Profiling

Loading profile data...