Details

Time bar (total: 4.4s)

analyze20.0ms (0.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample24.0ms (0.5%)

Algorithm
intervals
Results
9.0ms72×body1024valid
4.0ms138×body128valid
2.0ms27×body512valid
1.0msbody2048valid
1.0ms13×body256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify11.0ms (0.2%)

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
0711
11211
21611
32311
43011
54711
67211
79211
810911
911911
1012311
1112511
1211111

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
30.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
30.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
Compiler

Compiled 24 to 18 computations (25% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(cbrt.f64 (+.f64 x 1))
0.5b
(cbrt.f64 x)
3.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))

series50.0ms (1.1%)

Counts
3 → 36
Calls

3 calls:

35.0ms
(cbrt.f64 x)
10.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
5.0ms
(cbrt.f64 (+.f64 x 1))

rewrite19.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
67×cbrt-prod_binary64
58×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
42×prod-diff_binary64
35×add-cube-cbrt_binary64
Counts
3 → 104
Calls

3 calls:

8.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 x))
2.0ms
(cbrt.f64 (+.f64 x 1))
1.0ms
(cbrt.f64 x)

simplify127.0ms (2.9%)

Algorithm
egg-herbie
Rules
959×fma-neg_binary64
417×associate-/r*_binary64
348×times-frac_binary64
258×cancel-sign-sub-inv_binary64
133×associate--l+_binary64
Counts
140 → 181
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02003526
14552550
213362116
339572052
448882052
548142052

prune279.0ms (6.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New16912181
Fresh000
Picked101
Done000
Total17012182
Error
9.6b
Counts
182 → 12
Alt Table
StatusErrorProgram
34.5b
(/.f64 1 (+.f64 (pow.f64 x 2/3) (*.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
49.0b
(*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x))))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))
30.4b
(fma.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 x)))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))
30.5b
(fma.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 x)))
30.4b
(+.f64 (fma.f64 1 (cbrt.f64 (+.f64 x 1)) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))))
30.4b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))))
49.3b
(fma.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 5/81 (cbrt.f64 (/.f64 1 (pow.f64 x 8))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9)))
31.7b
(-.f64 (fma.f64 x 1/3 1) (cbrt.f64 x))
30.4b
(+.f64 (fma.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x))))))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))))
Compiler

Compiled 4242 to 2431 computations (42.7% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.5b
(cbrt.f64 x)
0.5b
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x)))
3.2b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))))

series113.0ms (2.6%)

Counts
3 → 36
Calls

3 calls:

71.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
32.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x)))
10.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))))

rewrite26.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
46×cbrt-prod_binary64
41×*-un-lft-identity_binary64
41×add-sqr-sqrt_binary64
29×add-cube-cbrt_binary64
28×prod-diff_binary64
Counts
3 → 109
Calls

3 calls:

7.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))))
5.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x)))
5.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))

simplify128.0ms (2.9%)

Algorithm
egg-herbie
Rules
702×associate-/r*_binary64
648×fma-def_binary64
494×fma-neg_binary64
463×times-frac_binary64
333×cancel-sign-sub-inv_binary64
Counts
145 → 180
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02002746
14092044
213241719
343371675
449521675
547841675

prune291.0ms (6.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2304234
Fresh3811
Picked101
Done000
Total23412246
Error
9.6b
Counts
246 → 12
Alt Table
StatusErrorProgram
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))
49.3b
(fma.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 5/81 (cbrt.f64 (/.f64 1 (pow.f64 x 8))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9)))
49.4b
(fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x)))))
34.5b
(/.f64 1 (+.f64 (pow.f64 x 2/3) (*.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
30.3b
(/.f64 (-.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1))) (*.f64 (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x))))) (+.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x)))))
30.4b
(+.f64 (fma.f64 1 (cbrt.f64 (+.f64 x 1)) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))))
30.4b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))))))
31.7b
(-.f64 (fma.f64 x 1/3 1) (cbrt.f64 x))
30.4b
(+.f64 (fma.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x)))))) (fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x))) (*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 x))))))
30.4b
(fma.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 x)))
30.5b
(fma.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (cbrt.f64 (cbrt.f64 (+.f64 x 1)))) (cbrt.f64 (cbrt.f64 (+.f64 x 1))) (neg.f64 (cbrt.f64 x)))
Compiler

Compiled 6314 to 2721 computations (56.9% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 x)
0.5b
(cbrt.f64 (cbrt.f64 x))
0.6b
(cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
4.5b
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))))

series567.0ms (12.9%)

Counts
3 → 36
Calls

3 calls:

301.0ms
(cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
254.0ms
(cbrt.f64 (cbrt.f64 x))
12.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))))

rewrite22.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
39×cbrt-prod_binary64
35×*-un-lft-identity_binary64
28×prod-diff_binary64
27×add-sqr-sqrt_binary64
23×add-cube-cbrt_binary64
Counts
3 → 82
Calls

3 calls:

9.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 x))))))
2.0ms
(cbrt.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)))
1.0ms
(cbrt.f64 (cbrt.f64 x))

simplify175.0ms (4%)

Algorithm
egg-herbie
Rules
1043×fma-neg_binary64
460×associate-*l*_binary64
435×fma-def_binary64
399×associate-*r*_binary64
264×cancel-sign-sub-inv_binary64
Counts
118 → 138
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01934654
14223455
211293015
335912330
444481377
545631377
649711377
747321377

prune175.0ms (4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2271228
Fresh6511
Picked101
Done000
Total2346240
Error
0.3b
Counts
240 → 6
Alt Table
StatusErrorProgram
49.3b
(fma.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 5/81 (cbrt.f64 (/.f64 1 (pow.f64 x 8))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9)))
49.4b
(fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x)))))
31.5b
(*.f64 (/.f64 (cbrt.f64 x) x) (-.f64 1/3 (/.f64 1/9 x)))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))
34.5b
(/.f64 1 (+.f64 (pow.f64 x 2/3) (*.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
31.7b
(-.f64 (fma.f64 x 1/3 1) (cbrt.f64 x))
Compiler

Compiled 8095 to 2566 computations (68.3% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
0.5b
(cbrt.f64 x)
0.5b
(cbrt.f64 (cbrt.f64 x))
21.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))

series332.0ms (7.6%)

Counts
2 → 24
Calls

2 calls:

315.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)
17.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))

rewrite11.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
17×cbrt-prod_binary64
14×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
unpow-prod-down_binary64
Counts
2 → 55
Calls

2 calls:

6.0ms
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))
2.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)

simplify92.0ms (2.1%)

Algorithm
egg-herbie
Rules
840×fma-neg_binary64
388×associate-*l*_binary64
382×fma-def_binary64
362×associate-*r*_binary64
312×log-prod_binary64
Counts
79 → 111
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01651729
14051254
29971096
335871064
444861064
548891064

prune110.0ms (2.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1910191
Fresh055
Picked011
Done000
Total1916197
Error
0.3b
Counts
197 → 6
Alt Table
StatusErrorProgram
49.3b
(fma.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x))) (fma.f64 5/81 (cbrt.f64 (/.f64 1 (pow.f64 x 8))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9)))
49.4b
(fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 5))) -1/9 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 x x)))))
31.5b
(*.f64 (/.f64 (cbrt.f64 x) x) (-.f64 1/3 (/.f64 1/9 x)))
30.3b
(-.f64 (cbrt.f64 (+.f64 x 1)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))))
34.5b
(/.f64 1 (+.f64 (pow.f64 x 2/3) (*.f64 (cbrt.f64 (+.f64 1 x)) (+.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 1 x))))))
31.7b
(-.f64 (fma.f64 x 1/3 1) (cbrt.f64 x))
Compiler

Compiled 3899 to 2303 computations (40.9% saved)

regimes243.0ms (5.5%)

Accuracy

Total 0.3b remaining (52.7%)

Threshold costs 0.3b (52.7%)

Counts
83 → 2
Compiler

Compiled 3492 to 2176 computations (37.7% saved)

bsearch30.0ms (0.7%)

Compiler

Compiled 8 to 6 computations (25% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02254
12954
24054
34454
44654
54454

end1.0ms (0%)

Compiler

Compiled 35 to 25 computations (28.6% saved)

sample1.5s (33.9%)

Algorithm
intervals
Results
460.0ms1996×body1024valid
247.0ms4287×body128valid
166.0ms994×body512valid
58.0ms533×body256valid
56.0ms190×body2048valid
Compiler

Compiled 140 to 107 computations (23.6% saved)

Profiling

Loading profile data...