Details

Time bar (total: 15.8s)

analyze27.0ms (0.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.7%50.3%0
0%49.7%50.3%1
0%49.7%50.3%2
24.8%24.8%50.3%3
37.3%12.4%50.3%4
43.5%6.2%50.3%5
46.6%3.1%50.3%6
48.1%1.6%50.3%7
48.9%0.8%50.3%8
49.3%0.4%50.3%9
49.5%0.2%50.3%10
49.6%0.1%50.3%11
49.6%0%50.3%12
49.7%0%50.3%13
49.7%0%50.3%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample217.0ms (1.4%)

Algorithm
intervals
Results
164.0ms126×body2048valid
26.0ms61×body1024valid
5.0ms33×body512valid
4.0ms256×pre128true
3.0msbody4096valid
3.0ms25×body256valid
0.0msbody128valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
14×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11112
21712
32512
43312
55112
67612
79312
811012
912012
1012412
1112612
1211212

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
60.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
60.3b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 27 to 21 computations (22.2% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.9b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

series11.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

11.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

rewrite57.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
279×times-frac_binary64
230×add-sqr-sqrt_binary64
222×*-un-lft-identity_binary64
206×add-cube-cbrt_binary64
182×prod-diff_binary64
Counts
1 → 239
Calls

1 calls:

16.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

simplify226.0ms (1.4%)

Algorithm
egg-herbie
Rules
437×fma-def_binary64
387×fma-neg_binary64
371×unsub-neg_binary64
338×distribute-rgt-in_binary64
285×associate-*l*_binary64
Counts
251 → 251
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01528557
13244800
28033343
324373343
441693343
548663343
648053343

prune198.0ms (1.3%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New2501251
Fresh000
Picked101
Done000
Total2511252
Error
0.3b
Counts
252 → 1
Alt Table
StatusErrorProgram
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
Compiler

Compiled 9647 to 6045 computations (37.3% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)

series8.0ms (0.1%)

Counts
2 → 0
Calls

2 calls:

5.0ms
(*.f64 1/45 (pow.f64 x 3))
3.0ms
(*.f64 1/3 x)

rewrite18.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
15×associate-*r*_binary64
add-exp-log_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 53
Calls

2 calls:

9.0ms
(*.f64 1/45 (pow.f64 x 3))
5.0ms
(*.f64 1/3 x)

simplify119.0ms (0.8%)

Algorithm
egg-herbie
Rules
629×associate-*l*_binary64
574×associate-*r*_binary64
469×fma-def_binary64
366×log-prod_binary64
326×cube-prod_binary64
Counts
53 → 70
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
085496
1156444
2392443
32007443
43157411
54364411
64951411
74911411

prune102.0ms (0.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New64670
Fresh000
Picked011
Done000
Total64771
Error
0.2b
Counts
71 → 7
Alt Table
StatusErrorProgram
39.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (cbrt.f64 (*.f64 (*.f64 (*.f64 1/3 1/3) 1/3) (*.f64 (*.f64 x x) x))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
32.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 1/3 x)) (sqrt.f64 (*.f64 1/3 x))))
1.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
32.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x)))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)))
32.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (sqrt.f64 1/3) (sqrt.f64 x)) (*.f64 (sqrt.f64 1/3) (sqrt.f64 x))))
Compiler

Compiled 1195 to 934 computations (21.8% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
0.4b
(*.f64 1/3 (pow.f64 (cbrt.f64 x) 2))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)

series295.0ms (1.9%)

Counts
4 → 48
Calls

4 calls:

103.0ms
(cbrt.f64 x)
83.0ms
(*.f64 1/3 (pow.f64 (cbrt.f64 x) 2))
79.0ms
(pow.f64 (cbrt.f64 x) 2)
29.0ms
(*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))

rewrite36.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64
20×add-exp-log_binary64
17×associate-*r*_binary64
14×unpow-prod-down_binary64
14×*-un-lft-identity_binary64
Counts
4 → 94
Calls

4 calls:

14.0ms
(*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
10.0ms
(*.f64 1/3 (pow.f64 (cbrt.f64 x) 2))
4.0ms
(pow.f64 (cbrt.f64 x) 2)
1.0ms
(cbrt.f64 x)

simplify167.0ms (1.1%)

Algorithm
egg-herbie
Rules
732×fma-def_binary64
531×distribute-rgt-in_binary64
488×distribute-lft-in_binary64
391×*-commutative_binary64
260×sqr-pow_binary64
Counts
142 → 148
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01161266
12321141
26811075
311441069
42007980
54698980
64986980
74817980

prune275.0ms (1.7%)

Pruning

22 alts after pruning (21 fresh and 1 done)

PrunedKeptTotal
New15017167
Fresh145
Picked101
Done011
Total15222174
Error
0.1b
Counts
174 → 22
Alt Table
StatusErrorProgram
32.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 1/3 x)) (sqrt.f64 (*.f64 1/3 x))))
4.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (exp.f64 (log.f64 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
1.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
1.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (sqrt.f64 1/3) (*.f64 (sqrt.f64 1/3) (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 x)))
2.0b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 x)))
1.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
2.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 8)) (cbrt.f64 (cbrt.f64 x))))
28.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 1/3 1/3) 1/3) (*.f64 (*.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 x) 2)) (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
1.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))) 2)) (cbrt.f64 x)))
1.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
2.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))) (cbrt.f64 x)))
28.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (cbrt.f64 (*.f64 x (*.f64 x 1/27))) (cbrt.f64 x)))
35.0b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 x 2/3)) (cbrt.f64 x)))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x)))
1.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
1.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x))))
34.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (*.f64 (pow.f64 (*.f64 -1 x) 1/3) (cbrt.f64 -1))))
32.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 x)))
32.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x)))
32.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (sqrt.f64 1/3) (sqrt.f64 x)) (*.f64 (sqrt.f64 1/3) (sqrt.f64 x))))
Compiler

Compiled 4129 to 2849 computations (31% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))
0.4b
(*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x))
0.4b
(*.f64 1/3 (cbrt.f64 x))
0.6b
(cbrt.f64 x)

series177.0ms (1.1%)

Counts
3 → 36
Calls

3 calls:

87.0ms
(*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x))
67.0ms
(*.f64 1/3 (cbrt.f64 x))
23.0ms
(*.f64 (*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))

rewrite39.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×add-exp-log_binary64
19×pow1_binary64
18×associate-*r*_binary64
14×add-sqr-sqrt_binary64
10×cbrt-prod_binary64
Counts
3 → 73
Calls

3 calls:

14.0ms
(*.f64 (*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))
12.0ms
(*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x))
7.0ms
(*.f64 1/3 (cbrt.f64 x))

simplify155.0ms (1%)

Algorithm
egg-herbie
Rules
529×unswap-sqr_binary64
468×*-commutative_binary64
349×associate-+l+_binary64
336×associate-/l/_binary64
329×sqr-pow_binary64
Counts
109 → 110
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0981407
12141051
2658903
3981902
41586869
53412839
64865839
74789839

prune189.0ms (1.2%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New1652167
Fresh51520
Picked011
Done011
Total17019189
Error
0.1b
Counts
189 → 19
Alt Table
StatusErrorProgram
32.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 1/3 x)) (sqrt.f64 (*.f64 1/3 x))))
4.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (exp.f64 (log.f64 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
1.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))) (cbrt.f64 (cbrt.f64 x))))
0.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
1.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 x)) (cbrt.f64 (*.f64 1/3 x))) (cbrt.f64 (*.f64 1/3 x))))
2.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 8)) (cbrt.f64 (cbrt.f64 x))))
1.8b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
2.4b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))) (cbrt.f64 x)))
28.6b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/27)) (cbrt.f64 x)))
32.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (sqrt.f64 x)) (sqrt.f64 x)))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (*.f64 1/3 (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x)))
1.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 x) 2)))) (cbrt.f64 x)))
1.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))))
1.5b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 (*.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x))))
1.7b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))) 2)) (cbrt.f64 x)))
35.0b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 x 2/3)) (cbrt.f64 x)))
34.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 x) 2)) (*.f64 (pow.f64 (*.f64 -1 x) 1/3) (cbrt.f64 -1))))
32.9b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 1/3 (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 x))) 2)) (cbrt.f64 x)))
1.3b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 (*.f64 (cbrt.f64 (*.f64 x 1/27)) (cbrt.f64 x)) (cbrt.f64 x)))
Compiler

Compiled 3709 to 2229 computations (39.9% saved)

regimes273.0ms (1.7%)

Accuracy

Total 0.2b remaining (52.9%)

Threshold costs 0.2b (52.9%)

Counts
82 → 1
Compiler

Compiled 3158 to 2350 computations (25.6% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11213
21213

end1.0ms (0%)

Compiler

Compiled 10 to 8 computations (20% saved)

sample13.1s (83.2%)

Algorithm
intervals
Results
10.1s4123×body2048valid
1.3s1950×body1024valid
278.0ms953×body512valid
220.0ms217×body4096valid
209.0ms8000×pre128true
162.0ms490×body256valid
25.0ms267×body128valid
Compiler

Compiled 403 to 297 computations (26.3% saved)

Profiling

Loading profile data...