Details

Time bar (total: 6.1s)

analyze406.0ms (6.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 43 to 31 computations (27.9% saved)

sample55.0ms (0.9%)

Algorithm
intervals
Results
14.0ms117×body256valid
10.0ms51×body512valid
9.0ms282×pre128true
8.0ms88×body128valid
2.0ms26×body128nan
Compiler

Compiled 66 to 48 computations (27.3% saved)

simplify371.0ms (6.1%)

Algorithm
egg-herbie
Rules
1968×fma-neg_binary64
1363×fma-def_binary64
898×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26422
313522
420122
533522
655422
792922
8147722
9211522
10259922
11255422
12260222
13267122
14311722
15232722
16237522
17238322
18238922
19239522
20239722
21239722
22258522
23268522
24261922
25263122
26266122
27267722
28270722
29270722
30275122
31285122
32282722
33282722
34263822

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
52.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
52.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
52.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
24.9b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

series152.0ms (2.5%)

Counts
4 → 76
Calls

4 calls:

87.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
52.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
12.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
1.0ms
(/.f64 1/3 a)

rewrite22.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
48×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 123
Calls

4 calls:

8.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
4.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
2.0ms
(/.f64 1/3 a)
0.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

simplify108.0ms (1.8%)

Algorithm
egg-herbie
Rules
797×fma-def_binary64
340×distribute-rgt-in_binary64
235×cancel-sign-sub-inv_binary64
185×fma-neg_binary64
160×associate-*r*_binary64
Counts
199 → 221
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02835008
16614039
224643848
349113848

prune147.0ms (2.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2165221
Fresh101
Picked101
Done000
Total2185223
Error
0.0b
Counts
223 → 5
Alt Table
StatusErrorProgram
1.2b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
52.6b
(*.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (*.f64 b b)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) (/.f64 1/3 a))
0.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
1.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
52.7b
(*.f64 (-.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)) 3))) b) (/.f64 1/3 a))
Compiler

Compiled 5989 to 3479 computations (41.9% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.3b
(fma.f64 a (*.f64 c -3) 0)
0.3b
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)

series16.0ms (0.3%)

Counts
2 → 48
Calls

2 calls:

11.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
5.0ms
(fma.f64 a (*.f64 c -3) 0)

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
13×associate-*r*_binary64
10×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
2 → 44
Calls

2 calls:

5.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
0.0ms
(fma.f64 a (*.f64 c -3) 0)

simplify95.0ms (1.6%)

Algorithm
egg-herbie
Rules
517×distribute-rgt-in_binary64
506×associate-/l/_binary64
492×associate-*l*_binary64
430×associate-/r/_binary64
383×associate-*r*_binary64
Counts
92 → 79
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851049
1175901
2597847
32395797
44205797
54724797
65000797
74845797

prune134.0ms (2.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1342136
Fresh224
Picked011
Done000
Total1365141
Error
0.0b
Counts
141 → 5
Alt Table
StatusErrorProgram
1.2b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.6b
(/.f64 (cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
1.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
Compiler

Compiled 4052 to 2522 computations (37.8% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(*.f64 (pow.f64 c 3) -27)
0.4b
(*.f64 1/27 (*.f64 (pow.f64 c 3) -27))
0.6b
(cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27)))

series17.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

12.0ms
(cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27)))
3.0ms
(*.f64 1/27 (*.f64 (pow.f64 c 3) -27))
3.0ms
(*.f64 (pow.f64 c 3) -27)

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
18×add-exp-log_binary64
15×associate-*l*_binary64
15×add-sqr-sqrt_binary64
10×prod-exp_binary64
10×add-cbrt-cube_binary64
Counts
3 → 65
Calls

3 calls:

4.0ms
(*.f64 1/27 (*.f64 (pow.f64 c 3) -27))
4.0ms
(*.f64 (pow.f64 c 3) -27)
3.0ms
(cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27)))

simplify102.0ms (1.7%)

Algorithm
egg-herbie
Rules
903×fma-def_binary64
429×log-prod_binary64
427×exp-prod_binary64
424×*-commutative_binary64
272×unswap-sqr_binary64
Counts
101 → 89
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
096966
1178827
2723827
31393803
43763781
54778781
64999781
74892781

prune110.0ms (1.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1121113
Fresh033
Picked011
Done011
Total1126118
Error
0.0b
Counts
118 → 6
Alt Table
StatusErrorProgram
1.2b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.6b
(/.f64 (cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.2b
(/.f64 (cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27))) (+.f64 (sqrt.f64 (exp.f64 (log.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))))) b))
1.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
Compiler

Compiled 3097 to 2100 computations (32.2% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(fma.f64 a (*.f64 c -3) 0)
0.3b
(*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a))
0.4b
(/.f64 (sqrt.f64 1/3) a)
0.4b
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1))

series46.0ms (0.8%)

Counts
3 → 48
Calls

3 calls:

32.0ms
(*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a))
11.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1))
3.0ms
(/.f64 (sqrt.f64 1/3) a)

rewrite31.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
58×times-frac_binary64
57×add-sqr-sqrt_binary64
47×*-un-lft-identity_binary64
45×add-cube-cbrt_binary64
44×associate-*r*_binary64
Counts
3 → 140
Calls

3 calls:

11.0ms
(*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a))
7.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1))
3.0ms
(/.f64 (sqrt.f64 1/3) a)

simplify127.0ms (2.1%)

Algorithm
egg-herbie
Rules
609×times-frac_binary64
499×associate-/r/_binary64
338×*-commutative_binary64
296×log-prod_binary64
277×associate-/l/_binary64
Counts
188 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01622969
13292520
212512493
333412229
447692229
548222229

prune242.0ms (4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2070207
Fresh033
Picked011
Done022
Total2076213
Error
0.0b
Counts
213 → 6
Alt Table
StatusErrorProgram
1.2b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.6b
(/.f64 (cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) 1)) (/.f64 (sqrt.f64 1/3) a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.2b
(/.f64 (cbrt.f64 (*.f64 1/27 (*.f64 (pow.f64 c 3) -27))) (+.f64 (sqrt.f64 (exp.f64 (log.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))))) b))
1.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
Compiler

Compiled 7322 to 5121 computations (30.1% saved)

regimes1.9s (30.9%)

Accuracy

Total 0.1b remaining (64.9%)

Threshold costs 0.1b (64.9%)

Counts
294 → 1
Compiler

Compiled 46067 to 33025 computations (28.3% saved)

simplify3.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
01421
12121
22521
32821
43021
53121
63021

end1.0ms (0%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

sample1.9s (31.9%)

Algorithm
intervals
Results
604.0ms3768×body256valid
306.0ms8826×pre128true
281.0ms1459×body512valid
186.0ms2773×body128valid
52.0ms826×body128nan
Compiler

Compiled 267 to 191 computations (28.5% saved)

Profiling

Loading profile data...