Details

Time bar (total: 5.8s)

analyze406.0ms (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 33 to 24 computations (27.3% saved)

sample54.0ms (0.9%)

Algorithm
intervals
Results
14.0ms117×body256valid
10.0ms278×pre128true
9.0ms52×body512valid
6.0ms87×body128valid
1.0ms22×body128nan
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify365.0ms (6.3%)

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
53.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
53.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
53.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite20.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))

series160.0ms (2.8%)

Counts
4 → 76
Calls

4 calls:

73.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
46.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
34.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
7.0ms
(/.f64 1/3 a)

simplify135.0ms (2.3%)

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 → 357
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02835008
16614039
224643848
349113848

prune150.0ms (2.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New3516357
Fresh101
Picked101
Done000
Total3536359
Error
0.0b
Counts
359 → 6
Alt Table
StatusErrorProgram
53.3b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
53.2b
(*.f64 (+.f64 (fma.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 b)))) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) (*.f64 (sqrt.f64 b) (sqrt.f64 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.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)))))))
53.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (exp.f64 (-.f64 (log.f64 1/3) (log.f64 a))))
1.8b
(*.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 6043 to 3509 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.2b
(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)

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)

series80.0ms (1.4%)

Counts
2 → 48
Calls

2 calls:

52.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
28.0ms
(fma.f64 a (*.f64 c -3) 0)

simplify106.0ms (1.8%)

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 → 155
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851049
1175901
2597847
32395797
44205797
54724797
65000797
74845797

prune139.0ms (2.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2775282
Fresh415
Picked101
Done000
Total2826288
Error
0b
Counts
288 → 6
Alt Table
StatusErrorProgram
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
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 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))))) b))
0.5b
(/.f64 (*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
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.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)) 3))) b))
Compiler

Compiled 4088 to 2542 computations (37.8% 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
(*.f64 -3 (*.f64 c a))
0.3b
(*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)

rewrite13.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
28×add-cbrt-cube_binary64
28×add-exp-log_binary64
16×pow1_binary64
15×cbrt-unprod_binary64
15×prod-exp_binary64
Counts
2 → 60
Calls

2 calls:

7.0ms
(*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a))
4.0ms
(*.f64 -3 (*.f64 c a))

series34.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

21.0ms
(*.f64 -3 (*.f64 c a))
12.0ms
(*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a))

simplify93.0ms (1.6%)

Algorithm
egg-herbie
Rules
488×*-commutative_binary64
450×associate-/l*_binary64
378×associate-*r/_binary64
300×associate-*l/_binary64
256×associate-*l*_binary64
Counts
84 → 147
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01081056
1273771
21190744
33279723
43759681
54923681
64939681

prune128.0ms (2.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New4001401
Fresh145
Picked011
Done000
Total4016407
Error
0b
Counts
407 → 6
Alt Table
StatusErrorProgram
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.3b
(/.f64 (*.f64 -3 (*.f64 c 1/3)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)))) (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))))) b))
0.5b
(/.f64 (*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
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.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)) 3))) b))
Compiler

Compiled 3819 to 2200 computations (42.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
19×add-cbrt-cube_binary64
19×add-exp-log_binary64
12×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×pow1_binary64
Counts
3 → 69
Calls

3 calls:

7.0ms
(/.f64 (*.f64 -3 (*.f64 c 1/3)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
4.0ms
(*.f64 -3 (*.f64 c 1/3))
3.0ms
(*.f64 c 1/3)

series209.0ms (3.6%)

Counts
3 → 44
Calls

3 calls:

196.0ms
(/.f64 (*.f64 -3 (*.f64 c 1/3)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
7.0ms
(*.f64 -3 (*.f64 c 1/3))
5.0ms
(*.f64 c 1/3)

simplify94.0ms (1.6%)

Algorithm
egg-herbie
Rules
840×fma-def_binary64
411×associate-*l/_binary64
349×associate-*r/_binary64
310×associate-/r/_binary64
232×associate-/l/_binary64
Counts
113 → 199
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01822144
14751735
217191683
348251677
453511677

prune141.0ms (2.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New5554559
Fresh404
Picked101
Done011
Total5605565
Error
0b
Counts
565 → 5
Alt Table
StatusErrorProgram
0.6b
(/.f64 (*.f64 -3 (*.f64 c 1/3)) (+.f64 (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) b))
0.4b
(/.f64 (*.f64 -3 (*.f64 c 1/3)) (+.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)) 3))) b))
0.6b
(/.f64 (cbrt.f64 (pow.f64 (neg.f64 c) 3)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
1.2b
(fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (*.f64 c c) a) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
0.5b
(/.f64 (*.f64 (*.f64 -3 (*.f64 c a)) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
Compiler

Compiled 3773 to 2317 computations (38.6% saved)

regimes1.6s (28.3%)

Accuracy

Total 0.1b remaining (71.2%)

Threshold costs 0.1b (71.2%)

Compiler

Compiled 33311 to 22979 computations (31% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
distribute-frac-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
11721
22121
32421
42721
52821
62821

end1.0ms (0%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

sample1.7s (30%)

Algorithm
intervals
Results
465.0ms3757×body256valid
276.0ms8799×pre128true
270.0ms1489×body512valid
183.0ms2754×body128valid
50.0ms799×body128nan
Compiler

Compiled 206 to 142 computations (31.1% saved)

Profiling

Loading profile data...