Details

Time bar (total: 5.1s)

analyze465.0ms (9.1%)

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)

sample1.7s (33.5%)

Results
765.0ms6275×body128valid
347.0ms669×body2048valid
332.0ms567×body4096valid
170.0ms410×body1024valid
68.0ms230×body512valid
22.0ms105×body256valid
Compiler

Compiled 36 to 26 computations (27.8% saved)

preprocess14.0ms (0.3%)

Algorithm
egg-herbie
Rules
hypot-def_binary64
fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
12330
022
Stop Event
saturated
saturated
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
hypot-def_binary64
fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
11515
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
16.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
38.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))
Compiler

Compiled 85 to 61 computations (28.2% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.3b
(sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))
1.3b
(+.f64 (hypot.f64 re im) re)

series48.0ms (0.9%)

Counts
3 → 56
Calls

18 calls:

6.0ms
(sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))
im
0
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))
re
-inf
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))
im
-inf
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))
im
inf
3.0ms
(hypot.f64 re im)
re
0

rewrite36.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
655×log1p-expm1-u_binary64
655×expm1-log1p-u_binary64
198×log-prod_binary64
149×log-pow_binary64
146×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0823
115923
2169823
Stop Event
node limit
Counts
3 → 68

simplify342.0ms (6.7%)

Algorithm
egg-herbie
Rules
1614×sqr-pow_binary64
718×pow-sqr_binary64
72×cube-prod_binary64
72×cube-mult_binary64
72×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01381351
12131311
22611311
33101311
43591311
54141311
64711311
75341311
86011311
96761311
107541311
118391311
129271311
1310221311
1411201311
1512251311
1613331311
1714481311
1815661311
1916911311
2018191311
2119541311
2220921311
2322371311
2423851311
2525401311
2625481311
2725521311
2825521311
2927081311
3028691311
3130371311
3232121311
3333901311
3435751311
3537631311
3639581311
3741561311
3843611311
3944081311
4044121311
4144121311
4246151311
4348231311
Stop Event
node limit
Counts
124 → 136

prune93.0ms (1.8%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1288136
Fresh101
Picked101
Done000
Total1308138
Error
9.2b
Counts
138 → 8
Alt Table
StatusErrorProgram
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re))))
18.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
16.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1 im))))
56.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))))
53.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
49.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
21.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (exp.f64 (log.f64 (hypot.f64 re im))) re))))
Compiler

Compiled 3017 to 2095 computations (30.6% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series50.0ms (1%)

Counts
2 → 16
Calls

12 calls:

10.0ms
(sqrt.f64 (+.f64 (hypot.f64 re im) re))
im
0
6.0ms
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
re
-inf
6.0ms
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
im
0
5.0ms
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
im
-inf
5.0ms
(*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
im
inf

rewrite32.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
708×log1p-expm1-u_binary64
708×expm1-log1p-u_binary64
165×log-pow_binary64
158×expm1-udef_binary64
158×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
117821
2186821
Stop Event
node limit
Counts
2 → 38

simplify238.0ms (4.6%)

Algorithm
egg-herbie
Rules
1637×sqr-pow_binary64
695×pow-sqr_binary64
93×cube-mult_binary64
93×unpow3_binary64
90×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0120800
1184760
2229760
3275760
4332760
5397760
6468760
7547760
8633760
9728760
10830760
11940760
121057760
131182760
141314760
151454760
161601760
171756760
181918760
192088760
202265760
212450760
222462760
232468760
242468760
252657760
262851760
273058760
283273760
293495760
303725760
313962760
324207760
334459760
344471760
354477760
364477760
374734760
384995760
Stop Event
node limit
Counts
54 → 67

prune107.0ms (2.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1621163
Fresh077
Picked011
Done000
Total1629171
Error
9.2b
Counts
171 → 9
Alt Table
StatusErrorProgram
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re))))
18.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
56.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))))
53.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (*.f64 im im) re))) (sqrt.f64 2)))
16.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1 im))))
53.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
49.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
21.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (exp.f64 (log.f64 (hypot.f64 re im))) re))))
Compiler

Compiled 3866 to 2755 computations (28.7% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.3b
(sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)))
0.5b
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 2)
10.2b
(+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)

series58.0ms (1.1%)

Counts
3 → 40
Calls

18 calls:

7.0ms
(sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)))
im
0
6.0ms
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 2)
re
inf
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)))
re
-inf
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)))
im
inf
5.0ms
(sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re)))
im
-inf

rewrite35.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
709×log1p-expm1-u_binary64
709×expm1-log1p-u_binary64
158×expm1-udef_binary64
158×log1p-udef_binary64
91×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120023
2190923
Stop Event
node limit
Counts
3 → 50

simplify293.0ms (5.7%)

Algorithm
egg-herbie
Rules
1614×sqr-pow_binary64
718×pow-sqr_binary64
72×cube-prod_binary64
72×cube-mult_binary64
72×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01311021
1200981
2244981
3294981
4343981
5398981
6455981
7518981
8585981
9660981
10738981
11823981
12911981
131006981
141104981
151209981
161317981
171432981
181550981
191675981
201803981
211938981
222076981
232221981
242369981
252524981
262532981
272536981
282536981
292692981
302853981
313021981
323196981
333374981
343559981
353747981
363942981
374140981
384345981
394392981
404396981
414396981
424599981
434807981
Stop Event
node limit
Counts
90 → 105

prune101.0ms (2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1501151
Fresh167
Picked011
Done011
Total1519160
Error
9.2b
Counts
160 → 9
Alt Table
StatusErrorProgram
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re))))
18.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
56.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))))
53.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (*.f64 im im) re))) (sqrt.f64 2)))
16.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1 im))))
53.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
49.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
21.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (exp.f64 (log.f64 (hypot.f64 re im)))) 2) re))))
Compiler

Compiled 3455 to 2447 computations (29.2% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (hypot.f64 re im))
0.0b
(hypot.f64 re im)
0.3b
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
18.3b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)

series91.0ms (1.8%)

Counts
3 → 26
Calls

18 calls:

16.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
im
-inf
15.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
im
inf
9.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
im
0
6.0ms
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
im
inf
6.0ms
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
im
-inf

rewrite34.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
636×log1p-expm1-u_binary64
636×expm1-log1p-u_binary64
200×log-prod_binary64
162×log-pow_binary64
149×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
117125
2170925
Stop Event
node limit
Counts
3 → 73

simplify273.0ms (5.3%)

Algorithm
egg-herbie
Rules
1690×sqr-pow_binary64
686×pow-sqr_binary64
72×cube-prod_binary64
72×cube-mult_binary64
72×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0128807
1192767
2237767
3285767
4338767
5396767
6457767
7524767
8595767
9674767
10756767
11845767
12937767
131036767
141138767
151247767
161359767
171478767
181600767
191729767
201861767
212000767
222142767
232291767
242443767
252451767
262455767
272455767
282612767
292770767
302939767
313111767
323290767
333472767
343661767
353853767
364052767
374254767
384463767
394471767
404475767
414475767
424685767
434900767
Stop Event
node limit
Counts
99 → 116

prune151.0ms (2.9%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2442246
Fresh156
Picked101
Done022
Total2469255
Error
9.2b
Counts
255 → 9
Alt Table
StatusErrorProgram
56.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))))
53.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (*.f64 im im) re))) (sqrt.f64 2)))
16.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2)))
17.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 2) re))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1 im))))
53.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
21.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (exp.f64 (log.f64 (sqrt.f64 (hypot.f64 re im)))) re))))
49.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
18.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (pow.f64 (hypot.f64 re im) 1/4) 2) re))))
Compiler

Compiled 5959 to 3569 computations (40.1% saved)

regimes785.0ms (15.3%)

Accuracy

Total 2.8b remaining (27.2%)

Threshold costs 0b (0%)

Counts
82 → 2
Compiler

Compiled 9558 to 7185 computations (24.8% saved)

bsearch2.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.948185182524366e-141
]
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03061
13161
Stop Event
saturated

end125.0ms (2.4%)

Stop Event
fuel
Compiler

Compiled 222 to 172 computations (22.5% saved)

Profiling

Loading profile data...