Details

Time bar (total: 15.4s)

analyze4.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
37.5%12.5%50%3
43.7%6.2%50%4
46.8%3.1%50%5
48.4%1.6%50%6
49.2%0.8%50%7
49.6%0.4%50%8
49.8%0.2%50%9
49.9%0.1%50%10
49.9%0%50%11
49.9%0%50%12
49.9%0%50%13
49.9%0%50%14
Compiler

Compiled 15 to 10 computations (33.3% saved)

sample13.7s (89.2%)

Results
11.0s4284×body2048valid
2.0s2109×body1024valid
479.0ms1044×body512valid
139.0ms504×body256valid
50.0ms315×body128valid
Compiler

Compiled 38 to 25 computations (34.2% saved)

simplify40.0ms (0.3%)

Algorithm
egg-herbie
Rules
577×fma-def_binary64
278×fma-neg_binary64
235×times-frac_binary64
176×div-sub_binary64
119×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
11111
21811
32911
45611
58611
615011
723811
838011
971411
10162811
11224911
12288211
13294511
14298311
15299311
Stop Event
saturated
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 15 computations (37.5% saved)

localize4.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x))
2.8b
(-.f64 x (sin.f64 x))

series16.0ms (0.1%)

Counts
2 → 18
Calls

2 calls:

13.0ms
(/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x))
2.0ms
(-.f64 x (sin.f64 x))

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
864×log1p-expm1-u_binary64
864×expm1-log1p-u_binary64
591×prod-diff_binary64
254×egg-rr
75×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
114017
2216817
Stop Event
node limit
Counts
2 → 254
Calls

2 calls:

106.0ms
(/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x))
106.0ms
(-.f64 x (sin.f64 x))

simplify37.0ms (0.2%)

Algorithm
egg-herbie
Rules
714×fma-def_binary64
478×cancel-sign-sub-inv_binary64
387×unswap-sqr_binary64
346×fma-neg_binary64
272×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049272
1133266
2344262
31234248
44380248
Stop Event
node limit
Counts
272 → 274

prune207.0ms (1.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2704274
Fresh000
Picked101
Done000
Total2714275
Error
0.1b
Counts
275 → 4
Alt Table
StatusErrorProgram
47.5b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) 2) (sqrt.f64 (tan.f64 x))) (/.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) (sqrt.f64 (tan.f64 x))))
0.5b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
10.4b
(/.f64 (fma.f64 (pow.f64 x 5) -1/120 (fma.f64 (pow.f64 x 9) -1/362880 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))))) (tan.f64 x))
31.1b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 x (sin.f64 x)))) (tan.f64 x))
Compiler

Compiled 10511 to 2880 computations (72.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6)))
0.1b
(*.f64 11/15120 (pow.f64 x 6))
0.1b
(*.f64 23/360 (pow.f64 x 4))
0.2b
(*.f64 1/6 (pow.f64 x 2))

series16.0ms (0.1%)

Counts
4 → 3
Calls

4 calls:

7.0ms
(*.f64 23/360 (pow.f64 x 4))
4.0ms
(+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6)))
3.0ms
(*.f64 11/15120 (pow.f64 x 6))
2.0ms
(*.f64 1/6 (pow.f64 x 2))

rewrite52.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
320×fma-def_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
200×log-pow_binary64
161×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01535
132435
2356235
Stop Event
node limit
Counts
4 → 96
Calls

4 calls:

50.0ms
(+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6)))
50.0ms
(*.f64 11/15120 (pow.f64 x 6))
50.0ms
(*.f64 23/360 (pow.f64 x 4))
50.0ms
(*.f64 1/6 (pow.f64 x 2))

simplify56.0ms (0.4%)

Algorithm
egg-herbie
Rules
672×sqr-pow_binary64
492×associate-*l*_binary64
467×unswap-sqr_binary64
325×*-commutative_binary64
314×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
12021
24221
310521
435521
5136821
6241621
7257321
8283721
9310121
10344721
11389621
12441621
Stop Event
node limit
Counts
99 → 98

prune146.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New94498
Fresh033
Picked011
Done000
Total948102
Error
0.0b
Counts
102 → 8
Alt Table
StatusErrorProgram
47.5b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) 2) (sqrt.f64 (tan.f64 x))) (/.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) (sqrt.f64 (tan.f64 x))))
0.5b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
10.4b
(/.f64 (fma.f64 (pow.f64 x 5) -1/120 (fma.f64 (pow.f64 x 9) -1/362880 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))))) (tan.f64 x))
34.6b
(-.f64 (exp.f64 (fma.f64 2 (log.f64 x) (log1p.f64 -5/6))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
15.7b
(-.f64 (sqrt.f64 (*.f64 (pow.f64 x 4) 1/36)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.6b
(-.f64 (pow.f64 (*.f64 x (sqrt.f64 1/6)) 2) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
1.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 1/6 (*.f64 x x))) 3) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
31.1b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 x (sin.f64 x)))) (tan.f64 x))
Compiler

Compiled 2444 to 1982 computations (18.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (sqrt.f64 1/6))
0.1b
(*.f64 11/15120 (pow.f64 x 6))
0.1b
(*.f64 23/360 (pow.f64 x 4))
0.2b
(pow.f64 (*.f64 x (sqrt.f64 1/6)) 2)

series11.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

8.0ms
(pow.f64 (*.f64 x (sqrt.f64 1/6)) 2)
3.0ms
(*.f64 x (sqrt.f64 1/6))

rewrite43.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
522×log1p-expm1-u_binary64
522×expm1-log1p-u_binary64
371×unpow-prod-down_binary64
267×log-prod_binary64
155×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0715
114613
2152313
Stop Event
node limit
Counts
2 → 69
Calls

2 calls:

41.0ms
(*.f64 x (sqrt.f64 1/6))
41.0ms
(pow.f64 (*.f64 x (sqrt.f64 1/6)) 2)

simplify80.0ms (0.5%)

Algorithm
egg-herbie
Rules
631×associate-*l*_binary64
538×sqr-pow_binary64
462×*-commutative_binary64
456×associate-*r*_binary64
328×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09216
119156
238156
395156
4386156
52078156
62191156
72388156
82584156
92817156
103120156
113761156
124236156
134856156
Stop Event
node limit
Counts
93 → 72

prune177.0ms (1.2%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New95398
Fresh336
Picked011
Done011
Total988106
Error
0.0b
Counts
106 → 8
Alt Table
StatusErrorProgram
47.5b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) 2) (sqrt.f64 (tan.f64 x))) (/.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) (sqrt.f64 (tan.f64 x))))
0.5b
(-.f64 (*.f64 (sqrt.f64 1/6) (*.f64 x (*.f64 x (sqrt.f64 1/6)))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.5b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.5b
(-.f64 (*.f64 x (*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6)))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
10.4b
(/.f64 (fma.f64 (pow.f64 x 5) -1/120 (fma.f64 (pow.f64 x 9) -1/362880 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))))) (tan.f64 x))
0.6b
(-.f64 (pow.f64 (*.f64 x (sqrt.f64 1/6)) 2) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
31.1b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 x (sin.f64 x)))) (tan.f64 x))
0.8b
(-.f64 (*.f64 (sqrt.f64 1/6) (pow.f64 (*.f64 (pow.f64 1/6 1/4) x) 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
Compiler

Compiled 2502 to 2011 computations (19.6% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 11/15120 (pow.f64 x 6))
0.1b
(*.f64 x (*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6))))
0.1b
(*.f64 23/360 (pow.f64 x 4))
0.3b
(*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6)))

series14.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

7.0ms
(*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6)))
7.0ms
(*.f64 x (*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6))))

rewrite49.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
552×log1p-expm1-u_binary64
552×expm1-log1p-u_binary64
500×unpow-prod-down_binary64
331×log-prod_binary64
162×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0725
114211
2159311
Stop Event
node limit
Counts
2 → 34
Calls

2 calls:

48.0ms
(*.f64 x (*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6))))
48.0ms
(*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6)))

simplify66.0ms (0.4%)

Algorithm
egg-herbie
Rules
756×associate-*l*_binary64
538×sqr-pow_binary64
508×associate-*r*_binary64
475×*-commutative_binary64
256×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09252
119132
241132
3105132
4435132
52432132
62541132
72736132
82932132
93161132
103466132
114107132
124582132
Stop Event
node limit
Counts
58 → 38

prune107.0ms (0.7%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New62264
Fresh055
Picked011
Done022
Total621072
Error
0.0b
Counts
72 → 10
Alt Table
StatusErrorProgram
47.5b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) 2) (sqrt.f64 (tan.f64 x))) (/.f64 (cbrt.f64 (-.f64 x (sin.f64 x))) (sqrt.f64 (tan.f64 x))))
0.5b
(-.f64 (*.f64 (sqrt.f64 1/6) (*.f64 x (*.f64 x (sqrt.f64 1/6)))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.5b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.5b
(-.f64 (*.f64 x (*.f64 (sqrt.f64 1/6) (*.f64 x (sqrt.f64 1/6)))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
10.4b
(/.f64 (fma.f64 (pow.f64 x 5) -1/120 (fma.f64 (pow.f64 x 9) -1/362880 (fma.f64 1/6 (pow.f64 x 3) (*.f64 1/5040 (pow.f64 x 7))))) (tan.f64 x))
18.0b
(-.f64 (*.f64 x (sqrt.f64 (*.f64 1/36 (*.f64 x x)))) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
0.6b
(-.f64 (pow.f64 (*.f64 x (sqrt.f64 1/6)) 2) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
1.2b
(-.f64 (*.f64 x (pow.f64 (cbrt.f64 (*.f64 1/6 x)) 3)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
31.1b
(/.f64 (*.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (/.f64 1 (+.f64 x (sin.f64 x)))) (tan.f64 x))
0.8b
(-.f64 (*.f64 (sqrt.f64 1/6) (pow.f64 (*.f64 (pow.f64 1/6 1/4) x) 2)) (+.f64 (*.f64 23/360 (pow.f64 x 4)) (*.f64 11/15120 (pow.f64 x 6))))
Compiler

Compiled 1612 to 1282 computations (20.5% saved)

regimes173.0ms (1.1%)

Accuracy

Total 0.3b remaining (89.1%)

Threshold costs 0.3b (89.1%)

Counts
71 → 1
Compiler

Compiled 2482 to 1852 computations (25.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01528
11628
Stop Event
saturated

end208.0ms (1.4%)

Compiler

Compiled 253 to 190 computations (24.9% saved)

Profiling

Loading profile data...