Details

Time bar (total: 4.1s)

analyze464.0ms (11.4%)

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.8s (43.5%)

Results
809.0ms6279×body128valid
343.0ms671×body2048valid
330.0ms548×body4096valid
160.0ms408×body1024valid
75.0ms236×body512valid
25.0ms114×body256valid
Compiler

Compiled 53 to 38 computations (28.3% saved)

simplify6.0ms (0.2%)

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

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 51 to 37 computations (27.5% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series55.0ms (1.3%)

Counts
2 → 32
Calls

2 calls:

42.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
12.0ms
(+.f64 re (hypot.f64 re im))

rewrite53.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
60×egg-rr
Counts
2 → 60
Calls

2 calls:

52.0ms
((+.f64 re (hypot.f64 re im)) (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
117719
2212619
3625919
000
100

simplify54.0ms (1.3%)

Algorithm
egg-herbie
Rules
791×fma-neg_binary64
433×fma-def_binary64
392×associate-*r*_binary64
311×associate-*l*_binary64
236×cancel-sign-sub-inv_binary64
Counts
92 → 105
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0120860
1340810
21053762
34471762
45138762

prune74.0ms (1.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New987105
Fresh000
Picked011
Done000
Total988106
Error
5.2b
Counts
106 → 8
Alt Table
StatusErrorProgram
11.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im))))))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
11.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)))))
Compiler

Compiled 2283 to 1536 computations (32.7% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series70.0ms (1.7%)

Counts
2 → 16
Calls

2 calls:

43.0ms
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
27.0ms
(sqrt.f64 (+.f64 re (hypot.f64 re im)))

rewrite52.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
43×egg-rr
Counts
2 → 43
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
119021
2218421
3617521
000
100

simplify54.0ms (1.3%)

Algorithm
egg-herbie
Rules
999×fma-neg_binary64
527×fma-def_binary64
439×associate-*r*_binary64
360×associate-*l*_binary64
310×cancel-sign-sub-inv_binary64
Counts
59 → 72
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0120800
1339731
21119664
34613664
45488664

prune96.0ms (2.3%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1361137
Fresh066
Picked011
Done011
Total1369145
Error
5.2b
Counts
145 → 9
Alt Table
StatusErrorProgram
54.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)) (sqrt.f64 2)))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
11.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im))))))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
11.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)))))
Compiler

Compiled 3179 to 2195 computations (31% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 re (hypot.f64 re im)))
0.2b
(sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)))
0.4b
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
0.8b
(+.f64 re (hypot.f64 re im))

series89.0ms (2.2%)

Counts
2 → 16
Calls

2 calls:

45.0ms
(sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)))
44.0ms
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)

rewrite51.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
65×egg-rr
Counts
2 → 65
Calls

2 calls:

50.0ms
((pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2) (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
119519
2222319
3625319
000
100

simplify93.0ms (2.3%)

Algorithm
egg-herbie
Rules
585×fma-neg_binary64
370×associate-*r*_binary64
364×fma-def_binary64
298×associate-*l*_binary64
205×cancel-sign-sub-inv_binary64
Counts
81 → 95
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0102571
1284509
2902465
33925465
44905465
54984465
64996465
74936465

prune134.0ms (3.3%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1992201
Fresh156
Picked011
Done022
Total20010210
Error
5.2b
Counts
210 → 10
Alt Table
StatusErrorProgram
54.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)) (sqrt.f64 2)))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
11.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2))))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)))))
49.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))) 2))))
11.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 4574 to 3033 computations (33.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))))
0.5b
(pow.f64 (cbrt.f64 re) 2)
0.6b
(cbrt.f64 re)
12.9b
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))

series165.0ms (4.1%)

Counts
4 → 56
Calls

4 calls:

66.0ms
(sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))))
40.0ms
(pow.f64 (cbrt.f64 re) 2)
34.0ms
(cbrt.f64 re)
24.0ms
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))

rewrite52.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
88×egg-rr
Counts
4 → 88
Calls

2 calls:

50.0ms
((fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)) (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
119926
2205126
3507026
000
100

simplify90.0ms (2.2%)

Algorithm
egg-herbie
Rules
558×times-frac_binary64
523×fma-def_binary64
503×associate-/l*_binary64
371×associate-/r*_binary64
310×cancel-sign-sub-inv_binary64
Counts
144 → 140
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01461128
14331082
214951039
346731035
449901035
550001035
649461035

prune118.0ms (2.9%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New1651166
Fresh156
Picked011
Done033
Total16610176
Error
5.2b
Counts
176 → 10
Alt Table
StatusErrorProgram
54.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)) (sqrt.f64 2)))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
11.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
47.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 im) 2))))
11.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
25.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re) (hypot.f64 re im)))))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)))))
Compiler

Compiled 3449 to 2237 computations (35.1% saved)

regimes360.0ms (8.8%)

Accuracy

Total 3.2b remaining (30.6%)

Threshold costs 0b (0%)

Counts
37 → 3
Compiler

Compiled 4444 to 3451 computations (22.3% saved)

bsearch1.0ms (0%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03596
14596
24596

end134.0ms (3.3%)

Compiler

Compiled 261 to 182 computations (30.3% saved)

Profiling

Loading profile data...