Details

Time bar (total: 4.6s)

analyze189.0ms (4.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%62.4%12.6%6
37.5%43.7%18.8%7
50%31.2%18.8%8
56.2%20.3%23.5%9
61.7%14.8%23.5%10
64.4%9.8%25.9%11
66.9%7.2%25.9%12
68.2%4.8%27%13
69.4%3.6%27%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample1.5s (31.6%)

Symmetry

(sort a b)

Results
1.4s8256×body128valid
24.0ms153×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify28.0ms (0.6%)

Algorithm
egg-herbie
Rules
284×fma-def_binary64
35×associate-*l*_binary64
24×distribute-rgt-in_binary64
24×sub-neg_binary64
19×fma-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
12112
25512
39712
414412
518512
623012
726412
827312
926712
1023312

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
18.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
18.0b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 38 to 20 computations (47.4% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
6.6b
(*.f64 (*.f64 (*.f64 a a) b) b)
10.5b
(*.f64 (*.f64 a a) b)

series35.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

20.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
15.0ms
(*.f64 (*.f64 a a) b)

rewrite88.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
509×log1p-expm1-u_binary64
509×expm1-log1p-u_binary64
456×unpow-prod-down_binary64
321×log-prod_binary64
151×pow2_binary64
Counts
2 → 34
Calls

2 calls:

86.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
86.0ms
(*.f64 (*.f64 a a) b)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
112114
2137114
3518614
000
100

simplify169.0ms (3.7%)

Algorithm
egg-herbie
Rules
2226×associate-*l*_binary64
764×sqr-pow_binary64
304×unswap-sqr_binary64
257×pow-sqr_binary64
191×*-commutative_binary64
Counts
82 → 38
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08408
118408
237408
392408
4314408
5558408
6557408
7645408
8750408
9859408
10974408
111082408
121227408
131402408
141597408
151806408
162036408
172280408
182545408
192824408
205866408

prune52.0ms (1.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New33538
Fresh000
Picked011
Done000
Total33639
Error
0.1b
Counts
39 → 6
Alt Table
StatusErrorProgram
18.0b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
26.5b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
1.2b
(neg.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
21.7b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
22.9b
(neg.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
Compiler

Compiled 519 to 305 computations (41.2% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a b) 2)

series14.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

14.0ms
(pow.f64 (*.f64 a b) 2)

rewrite122.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
893×log1p-udef_binary64
471×log1p-expm1-u_binary64
471×expm1-log1p-u_binary64
366×unpow-prod-down_binary64
262×log-prod_binary64
Counts
1 → 50
Calls

1 calls:

120.0ms
(pow.f64 (*.f64 a b) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11247
212507
349027
464097
000
100

simplify212.0ms (4.6%)

Algorithm
egg-herbie
Rules
1022×sqr-pow_binary64
785×associate-*l*_binary64
636×*-commutative_binary64
598×fabs-mul_binary64
578×cube-prod_binary64
Counts
74 → 51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07240
116240
235240
388240
4295240
51349240
61413240
71542240
81721240
91930240
102180240
112322240
122724240
133047240
143626240
153983240
164262240
174371240
184402240
194414240
204876240

prune85.0ms (1.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New45651
Fresh224
Picked011
Done011
Total471057
Error
0.0b
Counts
57 → 10
Alt Table
StatusErrorProgram
4.4b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
18.0b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
4.6b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) 2) (pow.f64 (cbrt.f64 b) 2)))
21.7b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
27.6b
(neg.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (sqrt.f64 (*.f64 a b))))
3.3b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
22.9b
(neg.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
19.8b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
6.8b
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
Compiler

Compiled 842 to 481 computations (42.9% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2)
0.5b
(pow.f64 (cbrt.f64 a) 2)
0.6b
(cbrt.f64 a)
2.2b
(*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2))

series859.0ms (18.6%)

Counts
4 → 72
Calls

4 calls:

664.0ms
(pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2)
77.0ms
(pow.f64 (cbrt.f64 a) 2)
68.0ms
(cbrt.f64 a)
50.0ms
(*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2))

rewrite78.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
690×log1p-expm1-u_binary64
690×expm1-log1p-u_binary64
402×log-prod_binary64
141×expm1-udef_binary64
141×log1p-udef_binary64
Counts
4 → 93
Calls

4 calls:

75.0ms
(pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2)
75.0ms
(pow.f64 (cbrt.f64 a) 2)
75.0ms
(cbrt.f64 a)
75.0ms
(*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
118424
2184324
3540824
000
100

simplify142.0ms (3.1%)

Algorithm
egg-herbie
Rules
481×neg-sub0_binary64
468×neg-mul-1_binary64
431×fma-def_binary64
382×distribute-rgt-neg-out_binary64
367×*-commutative_binary64
Counts
165 → 105
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024728
162728
2159728
3556724
4947724
51097724
61548724
72439724
84058724
94993724
104791724

prune216.0ms (4.7%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1580158
Fresh077
Picked011
Done022
Total15810168
Error
0.0b
Counts
168 → 10
Alt Table
StatusErrorProgram
4.4b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
18.0b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
4.6b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) 2) (pow.f64 (cbrt.f64 b) 2)))
21.7b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
27.6b
(neg.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (sqrt.f64 (*.f64 a b))))
3.3b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
22.9b
(neg.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
19.8b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
6.8b
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
Compiler

Compiled 2893 to 1937 computations (33% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 b (*.f64 a b))
4.3b
(*.f64 a (*.f64 b (*.f64 a b)))

series36.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

20.0ms
(*.f64 a (*.f64 b (*.f64 a b)))
16.0ms
(*.f64 b (*.f64 a b))

rewrite87.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
500×log1p-expm1-u_binary64
500×expm1-log1p-u_binary64
499×unpow-prod-down_binary64
325×log-prod_binary64
149×pow2_binary64
Counts
2 → 34
Calls

2 calls:

85.0ms
(*.f64 b (*.f64 a b))
85.0ms
(*.f64 a (*.f64 b (*.f64 a b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
111814
2134714
3517114
000
100

simplify168.0ms (3.7%)

Algorithm
egg-herbie
Rules
2230×associate-*l*_binary64
764×sqr-pow_binary64
304×unswap-sqr_binary64
257×pow-sqr_binary64
191×*-commutative_binary64
Counts
82 → 38
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08408
118408
237408
392408
4314408
5558408
6557408
7645408
8750408
9859408
10974408
111082408
121227408
131402408
141597408
151806408
162036408
172280408
182545408
192824408
205866408

prune65.0ms (1.4%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New35338
Fresh066
Picked011
Done033
Total351348
Error
0.0b
Counts
48 → 13
Alt Table
StatusErrorProgram
4.4b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
18.0b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
4.6b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (pow.f64 (cbrt.f64 b) 2)) 2) (pow.f64 (cbrt.f64 b) 2)))
21.7b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
27.6b
(neg.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 a b)) 3) (sqrt.f64 (*.f64 a b))))
23.4b
(neg.f64 (*.f64 a (cbrt.f64 (pow.f64 (*.f64 b (*.f64 a b)) 3))))
5.1b
(neg.f64 (*.f64 a (pow.f64 (cbrt.f64 (*.f64 b (*.f64 a b))) 3)))
16.7b
(neg.f64 (*.f64 a (*.f64 a (pow.f64 b 2))))
3.3b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
22.9b
(neg.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)))
19.8b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
6.8b
(neg.f64 (*.f64 b (*.f64 a (*.f64 a b))))
Compiler

Compiled 564 to 327 computations (42% saved)

regimes189.0ms (4.1%)

Accuracy

Total 0.3b remaining (88.5%)

Threshold costs 0.3b (88.5%)

Counts
21 → 1
Compiler

Compiled 1368 to 952 computations (30.4% saved)

simplify4.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
079
1129
2149
3159
4159

end266.0ms (5.8%)

Remove

(sort a b)

Compiler

Compiled 189 to 132 computations (30.2% saved)

Profiling

Loading profile data...