Details

Time bar (total: 11.6s)

analyze6.0ms (0%)

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)

sample9.6s (82.3%)

Results
7.5s4140×body2048valid
1.3s2041×body1024valid
388.0ms1087×body512valid
226.0ms241×body4096valid
120.0ms516×body256valid
33.0ms231×body128valid
Compiler

Compiled 41 to 31 computations (24.4% saved)

simplify11.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.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
60.1b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 27 to 21 computations (22.2% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.4b
(-.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)))

rewrite53.0ms (0.5%)

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:

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

simplify220.0ms (1.9%)

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

prune165.0ms (1.4%)

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
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))
Compiler

Compiled 9645 to 6043 computations (37.3% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

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

series6.0ms (0.1%)

Counts
2 → 12
Calls

2 calls:

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

rewrite7.0ms (0.1%)

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

2 calls:

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

simplify96.0ms (0.8%)

Algorithm
egg-herbie
Rules
541×associate-*l*_binary64
505×associate-*r*_binary64
426×log-prod_binary64
346×exp-prod_binary64
345×swap-sqr_binary64
Counts
55 → 53
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072631
1125568
2339568
31827568
43512538
54560538
64941538
74973538

prune38.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New50353
Fresh000
Picked011
Done000
Total50454
Error
0.2b
Counts
54 → 4
Alt Table
StatusErrorProgram
1.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
0.3b
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))
41.6b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
32.3b
(*.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
Compiler

Compiled 864 to 669 computations (22.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series22.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

9.0ms
(*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
8.0ms
(cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))
4.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

8.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
5.0ms
(*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.0ms
(cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))

simplify171.0ms (1.5%)

Algorithm
egg-herbie
Rules
537×fma-neg_binary64
445×fma-def_binary64
244×times-frac_binary64
235×unswap-sqr_binary64
224×exp-prod_binary64
Counts
129 → 165
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01903822
14553466
211962778
334602540
448032446
547212446
649242446
749242446

prune333.0ms (2.9%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New27911290
Fresh022
Picked011
Done011
Total27915294
Error
0.1b
Counts
294 → 15
Alt Table
StatusErrorProgram
0.3b
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))
32.8b
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 5) (sqrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
41.6b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
32.8b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
2.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 2)) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.7b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
2.7b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 8) (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
32.9b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.4b
(pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 3)
1.9b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
30.8b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 6)) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
2.3b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 5) (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
2.1b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 4)) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
32.3b
(*.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
Compiler

Compiled 11990 to 9732 computations (18.8% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))
0.6b
(cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 3)

series79.0ms (0.7%)

Counts
1 → 12
Calls

1 calls:

79.0ms
(pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 3)

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cube-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
cbrt-prod_binary64
unpow-prod-down_binary64
Counts
1 → 32
Calls

1 calls:

2.0ms
(pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 3)

simplify77.0ms (0.7%)

Algorithm
egg-herbie
Rules
803×fma-def_binary64
554×times-frac_binary64
484×associate-*l*_binary64
414×associate-*r*_binary64
301×exp-prod_binary64
Counts
44 → 52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0841128
12011009
2553902
32551748
44884748
55093748

prune115.0ms (1%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New1432145
Fresh21012
Picked011
Done022
Total14515160
Error
0.1b
Counts
160 → 15
Alt Table
StatusErrorProgram
0.3b
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))
32.8b
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 5) (sqrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
41.6b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
32.8b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
2.2b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 3))
30.8b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 6)) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.4b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
2.7b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 8) (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))
32.9b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
1.4b
(pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 3)
1.9b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
2.3b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 5) (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
43.7b
(fma.f64 1/45 (pow.f64 x 3) (*.f64 15 (/.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 x x))))
2.1b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))) 4)) (cbrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
32.3b
(*.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))))
Compiler

Compiled 3256 to 2687 computations (17.5% saved)

regimes177.0ms (1.5%)

Accuracy

Total 0.2b remaining (43%)

Threshold costs 0.2b (43%)

Counts
65 → 1
Compiler

Compiled 4282 to 3502 computations (18.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
1911
2911

end412.0ms (3.5%)

Compiler

Compiled 456 to 372 computations (18.4% saved)

Profiling

Loading profile data...