Details

Time bar (total: 3.9s)

analyze92.0ms (2.4%)

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)

sample753.0ms (19.3%)

Symmetry

(sort a b)

Results
704.0ms8256×body128valid
13.0ms152×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
284×fma-def_binary64
31×associate-*l*_binary64
24×distribute-rgt-in_binary64
24×sub-neg_binary64
19×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
12112
25912
312212
419212
526012
632312
737212
851712
960112
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
16.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.7b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
16.3b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
Compiler

Compiled 58 to 33 computations (43.1% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
5.8b
(*.f64 (*.f64 (*.f64 a a) b) b)
9.8b
(*.f64 (*.f64 a a) b)

series17.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

10.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
7.0ms
(*.f64 (*.f64 a a) b)

rewrite33.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
509×log1p-expm1-u_binary64
509×expm1-log1p-u_binary64
455×unpow-prod-down_binary64
321×log-prod_binary64
151×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0617
112114
2148814
Stop Event
node limit
Counts
2 → 34
Calls

2 calls:

33.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
33.0ms
(*.f64 (*.f64 a a) b)

simplify98.0ms (2.5%)

Algorithm
egg-herbie
Rules
2154×associate-*l*_binary64
764×sqr-pow_binary64
304×unswap-sqr_binary64
257×pow-sqr_binary64
187×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08408
118408
239408
3108408
4483408
51067408
61133408
71233408
81353408
91475408
101622408
111786408
121975408
132188408
142418408
152662408
162927408
173206408
183506408
193820408
Stop Event
node limit
Counts
82 → 38

prune30.0ms (0.8%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New31738
Fresh011
Picked011
Done000
Total31940
Error
0.1b
Counts
40 → 9
Alt Table
StatusErrorProgram
28.8b
(neg.f64 (exp.f64 (*.f64 2 (log.f64 (*.f64 a b)))))
21.6b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
1.3b
(neg.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3))
23.4b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
20.9b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
20.7b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
16.3b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
6.1b
(neg.f64 (*.f64 (*.f64 a (*.f64 a b)) b))
Compiler

Compiled 585 to 348 computations (40.5% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

series7.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

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

rewrite30.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
471×log1p-expm1-u_binary64
471×expm1-log1p-u_binary64
367×unpow-prod-down_binary64
262×log-prod_binary64
142×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11247
213647
Stop Event
node limit
Counts
1 → 50
Calls

1 calls:

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

simplify68.0ms (1.7%)

Algorithm
egg-herbie
Rules
719×associate-*l*_binary64
564×sqr-pow_binary64
505×associate-*r*_binary64
482×*-commutative_binary64
263×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07240
116240
237240
3103240
4432240
52343240
62435240
72636240
82834240
93072240
103391240
114063240
124557240
Stop Event
node limit
Counts
74 → 52

prune49.0ms (1.3%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New45752
Fresh347
Picked011
Done011
Total481361
Error
0.0b
Counts
61 → 13
Alt Table
StatusErrorProgram
20.7b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
2.9b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
16.3b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
18.4b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (cbrt.f64 (*.f64 b b))) 2) (cbrt.f64 (*.f64 b b))))
21.6b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
1.3b
(neg.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3))
23.4b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
6.1b
(neg.f64 (*.f64 (pow.f64 (*.f64 (*.f64 a b) a) 1) b))
27.2b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b))))
15.2b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
50.1b
(neg.f64 (*.f64 a (pow.f64 (*.f64 (sqrt.f64 a) b) 2)))
4.3b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
Compiler

Compiled 928 to 524 computations (43.5% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3)
0.5b
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)
9.5b
(cbrt.f64 (*.f64 a b))

series1.0s (26.5%)

Counts
3 → 72
Calls

3 calls:

370.0ms
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3)
347.0ms
(cbrt.f64 (*.f64 a b))
320.0ms
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)

rewrite42.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
349×log-prod_binary64
136×expm1-udef_binary64
136×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0924
118722
2196822
Stop Event
node limit
Counts
3 → 88
Calls

3 calls:

40.0ms
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3)
40.0ms
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)
40.0ms
(cbrt.f64 (*.f64 a b))

simplify50.0ms (1.3%)

Algorithm
egg-herbie
Rules
634×associate-*l*_binary64
560×associate-*r*_binary64
384×unswap-sqr_binary64
169×fma-neg_binary64
133×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0521320
11271280
23091136
31109752
44806752
Stop Event
node limit
Counts
160 → 109

prune97.0ms (2.5%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1063109
Fresh4610
Picked101
Done022
Total11111122
Error
0.0b
Counts
122 → 11
Alt Table
StatusErrorProgram
23.4b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
0.9b
(neg.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3))
20.7b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
2.9b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
16.3b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
18.4b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (cbrt.f64 (*.f64 b b))) 2) (cbrt.f64 (*.f64 b b))))
1.2b
(neg.f64 (pow.f64 (*.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 a b)))) 3))
1.4b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) (pow.f64 (cbrt.f64 (*.f64 a b)) 4))))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
50.1b
(neg.f64 (*.f64 a (pow.f64 (*.f64 (sqrt.f64 a) b) 2)))
4.3b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
Compiler

Compiled 1740 to 1054 computations (39.4% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 a b) 2)
0.4b
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
21.1b
(cbrt.f64 (pow.f64 (*.f64 a b) 2))

series969.0ms (24.8%)

Counts
2 → 48
Calls

2 calls:

497.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
472.0ms
(cbrt.f64 (pow.f64 (*.f64 a b) 2))

rewrite44.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
615×log1p-expm1-u_binary64
615×expm1-log1p-u_binary64
322×log-prod_binary64
125×expm1-udef_binary64
125×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
118416
2184816
Stop Event
node limit
Counts
2 → 59
Calls

2 calls:

42.0ms
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3)
42.0ms
(cbrt.f64 (pow.f64 (*.f64 a b) 2))

simplify41.0ms (1.1%)

Algorithm
egg-herbie
Rules
432×fma-neg_binary64
399×fma-def_binary64
345×exp-prod_binary64
215×associate-*l*_binary64
188×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
052888
1149840
2348696
3986528
44025504
Stop Event
node limit
Counts
107 → 73

prune105.0ms (2.7%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1223125
Fresh358
Picked011
Done022
Total12511136
Error
0.0b
Counts
136 → 11
Alt Table
StatusErrorProgram
15.2b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2))))
0.9b
(neg.f64 (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 2)) 3))
20.7b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
2.9b
(neg.f64 (*.f64 (pow.f64 (*.f64 b (pow.f64 (cbrt.f64 a) 2)) 2) (pow.f64 (cbrt.f64 a) 2)))
16.3b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
1.2b
(neg.f64 (pow.f64 (*.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 a b)))) 3))
16.4b
(neg.f64 (*.f64 b (/.f64 b (pow.f64 a -2))))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
15.2b
(neg.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a b) 4)) (cbrt.f64 (*.f64 a b))) (cbrt.f64 (*.f64 a b))))
50.1b
(neg.f64 (*.f64 a (pow.f64 (*.f64 (sqrt.f64 a) b) 2)))
4.3b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
Compiler

Compiled 1892 to 1168 computations (38.3% saved)

regimes188.0ms (4.8%)

Accuracy

Total 0.3b remaining (83.1%)

Threshold costs 0.3b (83.1%)

Counts
47 → 1
Compiler

Compiled 3270 to 2244 computations (31.4% saved)

simplify2.0ms (0%)

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
Stop Event
saturated

end118.0ms (3%)

Remove

(sort a b)

Compiler

Compiled 177 to 122 computations (31.1% saved)

Profiling

Loading profile data...