Details

Time bar (total: 2.3s)

analyze53.0ms (2.3%)

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%31.2%6.3%6
68.7%21.9%9.5%7
73.4%17.2%9.5%8
76.5%11.7%11.8%9
79.2%9%11.8%10
81%6%13%11
82.4%4.6%13%12
83.4%3.1%13.6%13
84.1%2.3%13.6%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample813.0ms (35.6%)

Results
663.0ms8256×body128valid
134.0ms1658×body128invalid
Compiler

Compiled 22 to 14 computations (36.4% saved)

preprocess19.0ms (0.8%)

Algorithm
egg-herbie
Rules
327×fma-def_binary64
30×distribute-rgt-in_binary64
25×sub-neg_binary64
24×distribute-lft-in_binary64
24×unsub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
13524
210024
314724
421524
530924
635424
741324
866824
022
122
Stop Event
unsound
saturated
Symmetry

(sort a b)

Compiler

Compiled 10 to 6 computations (40% saved)

simplify11.0ms (0.5%)

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

prune5.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 58 to 33 computations (43.1% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
7.2b
(*.f64 (*.f64 (*.f64 a a) b) b)
9.7b
(*.f64 (*.f64 a a) b)

series17.0ms (0.7%)

Counts
2 → 48
Calls

12 calls:

2.0ms
(*.f64 (*.f64 a a) b)
b
-inf
2.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
a
inf
2.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
b
inf
2.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
b
-inf
2.0ms
(*.f64 (*.f64 (*.f64 a a) b) b)
a
-inf

rewrite33.0ms (1.5%)

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

simplify97.0ms (4.2%)

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 (1.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New32638
Fresh011
Picked011
Done000
Total32840
Error
0.1b
Counts
40 → 8
Alt Table
StatusErrorProgram
7.5b
(neg.f64 (*.f64 (*.f64 a (*.f64 a b)) b))
17.6b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
1.2b
(neg.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3))
26.9b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
20.6b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
22.0b
(*.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
21.7b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
Compiler

Compiled 565 to 332 computations (41.2% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series8.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

2.0ms
(pow.f64 (*.f64 a b) 2)
b
-inf
1.0ms
(pow.f64 (*.f64 a b) 2)
a
-inf
1.0ms
(pow.f64 (*.f64 a b) 2)
a
inf
1.0ms
(pow.f64 (*.f64 a b) 2)
a
0
1.0ms
(pow.f64 (*.f64 a b) 2)
b
inf

rewrite30.0ms (1.3%)

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

simplify70.0ms (3%)

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

prune50.0ms (2.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New47552
Fresh156
Picked011
Done011
Total481260
Error
0.0b
Counts
60 → 12
Alt Table
StatusErrorProgram
26.9b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
1.5b
(neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)))
7.5b
(neg.f64 (*.f64 (*.f64 a (*.f64 a b)) b))
17.6b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
0.8b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
1.2b
(neg.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) 3))
20.6b
(neg.f64 (*.f64 (pow.f64 (*.f64 a (sqrt.f64 b)) 2) b))
26.5b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 (sqrt.f64 (*.f64 a b)) (*.f64 a b))))
17.6b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
4.7b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
21.7b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
Compiler

Compiled 918 to 514 computations (44% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)))
0.3b
(*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))
0.5b
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)
10.8b
(cbrt.f64 (*.f64 a b))

series205.0ms (9%)

Counts
4 → 24
Calls

24 calls:

51.0ms
(*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)))
a
-inf
50.0ms
(*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b)))
b
-inf
19.0ms
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)
a
-inf
17.0ms
(pow.f64 (cbrt.f64 (*.f64 a b)) 2)
b
-inf
10.0ms
(*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))
a
-inf

rewrite45.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
667×log1p-expm1-u_binary64
667×expm1-log1p-u_binary64
133×expm1-udef_binary64
133×log1p-udef_binary64
126×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0937
118331
2209631
Stop Event
node limit
Counts
4 → 77

simplify72.0ms (3.2%)

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
101 → 79

prune121.0ms (5.3%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New995104
Fresh459
Picked101
Done022
Total10412116
Error
0.0b
Counts
116 → 12
Alt Table
StatusErrorProgram
26.9b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
1.5b
(neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)))
0.8b
(neg.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
0.7b
(neg.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 a)) (cbrt.f64 b)) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
21.7b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
16.9b
(neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 a (cbrt.f64 (*.f64 a b)))) (sqrt.f64 b)) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
0.8b
(neg.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 b) 2)) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
17.6b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
17.6b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
4.7b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
1.1b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 a b))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 a b))) 2)) (*.f64 a b))))
Compiler

Compiled 2236 to 957 computations (57.2% saved)

localize10.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 a)) (cbrt.f64 b))
0.6b
(cbrt.f64 a)
0.6b
(cbrt.f64 b)
10.8b
(cbrt.f64 (*.f64 a b))

series54.0ms (2.3%)

Counts
3 → 0
Calls

12 calls:

13.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 a)) (cbrt.f64 b))
a
-inf
12.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 a)) (cbrt.f64 b))
b
-inf
8.0ms
(cbrt.f64 a)
a
-inf
8.0ms
(cbrt.f64 b)
b
-inf
2.0ms
(cbrt.f64 b)
b
inf

rewrite38.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
684×log1p-expm1-u_binary64
684×expm1-log1p-u_binary64
138×log-pow_binary64
138×expm1-udef_binary64
138×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0920
117415
2201315
Stop Event
node limit
Counts
3 → 56

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
56 → 56

prune106.0ms (4.6%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1051106
Fresh189
Picked011
Done022
Total10612118
Error
0.0b
Counts
118 → 12
Alt Table
StatusErrorProgram
26.9b
(neg.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 a (*.f64 a b)) 3)) b))
1.5b
(neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 a b)) 2)))
0.8b
(neg.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 b)) 2) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
0.7b
(neg.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 a b)) (cbrt.f64 a)) (cbrt.f64 b)) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
4.7b
(neg.f64 (*.f64 a (*.f64 b (*.f64 a b))))
0.6b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 b a) (cbrt.f64 (*.f64 b a)))) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
0.3b
(neg.f64 (pow.f64 (*.f64 a b) 2))
0.8b
(neg.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 b) 2)) (*.f64 (cbrt.f64 (*.f64 a b)) (*.f64 a b))))
17.6b
(neg.f64 (*.f64 (*.f64 (*.f64 a a) b) b))
17.6b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (cbrt.f64 (pow.f64 (*.f64 a b) 4))))
1.1b
(neg.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 a b)) 2) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 a b))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 a b))) 2)) (*.f64 a b))))
21.7b
(neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 a b) 2) 3)))
Compiler

Compiled 2639 to 804 computations (69.5% saved)

regimes242.0ms (10.6%)

Accuracy

Total 0.3b remaining (84.9%)

Threshold costs 0.3b (84.9%)

Counts
57 → 1
Compiler

Compiled 4990 to 2971 computations (40.5% saved)

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

end135.0ms (5.9%)

Stop Event
fuel
Remove

(sort a b)

Compiler

Compiled 231 to 147 computations (36.4% saved)

Profiling

Loading profile data...