Details

Time bar (total: 17.8s)

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)

sample12.9s (72.4%)

Results
10.4s4291×body2048valid
1.8s2148×body1024valid
455.0ms1039×body512valid
144.0ms491×body256valid
54.0ms287×body128valid
Compiler

Compiled 38 to 25 computations (34.2% saved)

simplify47.0ms (0.3%)

Algorithm
egg-herbie
Rules
577×fma-def_binary64
278×fma-neg_binary64
246×times-frac_binary64
181×div-sub_binary64
119×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
11111
21811
32911
45111
57411
612211
718411
826511
946111
1075811
1182211
1276311
1377811
1480011
1581011
1674111

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

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
30×*-un-lft-identity_binary64
30×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
15×times-frac_binary64
prod-diff_binary64
Counts
2 → 71
Calls

2 calls:

6.0ms
(/.f64 (-.f64 x (sin.f64 x)) (tan.f64 x))
3.0ms
(-.f64 x (sin.f64 x))

simplify118.0ms (0.7%)

Algorithm
egg-herbie
Rules
693×fma-neg_binary64
456×associate-*l*_binary64
380×associate-*r*_binary64
340×fma-def_binary64
254×times-frac_binary64
Counts
89 → 101
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01621582
13601347
210651296
338881294
448341294
549971294
648571294

prune77.0ms (0.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New983101
Fresh000
Picked101
Done000
Total993102
Error
0.2b
Counts
102 → 3
Alt Table
StatusErrorProgram
10.4b
(/.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 1/5040 (pow.f64 x 7) (fma.f64 (pow.f64 x 9) -1/362880 (*.f64 (pow.f64 x 5) -1/120)))) (tan.f64 x))
10.4b
(/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 1/362880 (pow.f64 x 9)))) (tan.f64 x))
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
Compiler

Compiled 1783 to 587 computations (67.1% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))
0.1b
(*.f64 (pow.f64 x 4) -23/360)
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))

series13.0ms (0.1%)

Counts
3 → 36
Calls

3 calls:

6.0ms
(fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))
5.0ms
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
3.0ms
(*.f64 (pow.f64 x 4) -23/360)

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64
add-exp-log_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 47
Calls

3 calls:

4.0ms
(*.f64 (pow.f64 x 4) -23/360)
0.0ms
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
0.0ms
(fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))

simplify84.0ms (0.5%)

Algorithm
egg-herbie
Rules
692×fma-neg_binary64
525×exp-sum_binary64
478×cancel-sign-sub-inv_binary64
366×associate-*l*_binary64
348×exp-prod_binary64
Counts
83 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01011463
11871323
24861297
319711291
444301291
553231291

prune128.0ms (0.7%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New81283
Fresh022
Picked011
Done000
Total81586
Error
0.1b
Counts
86 → 5
Alt Table
StatusErrorProgram
0.8b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
10.4b
(/.f64 (fma.f64 1/6 (pow.f64 x 3) (fma.f64 1/5040 (pow.f64 x 7) (fma.f64 (pow.f64 x 9) -1/362880 (*.f64 (pow.f64 x 5) -1/120)))) (tan.f64 x))
10.4b
(/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 1/362880 (pow.f64 x 9)))) (tan.f64 x))
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
0.3b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
Compiler

Compiled 2454 to 1804 computations (26.5% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 x 4) -23/360)
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
0.2b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
27.8b
(sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))

series18.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

12.0ms
(sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))
5.0ms
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
21×sqrt-prod_binary64
18×pow1_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
2 → 68
Calls

2 calls:

6.0ms
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
1.0ms
(sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))

simplify106.0ms (0.6%)

Algorithm
egg-herbie
Rules
411×times-frac_binary64
351×associate-*l*_binary64
319×fma-def_binary64
309×associate-*r*_binary64
218×associate--r+_binary64
Counts
92 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01513511
13693053
211262843
344812755
454352755

prune921.0ms (5.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2699278
Fresh123
Picked101
Done011
Total27112283
Error
0.0b
Counts
283 → 12
Alt Table
StatusErrorProgram
0.5b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) 3))
0.8b
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) 4) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) 4) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.6b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.8b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
10.4b
(/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 1/362880 (pow.f64 x 9)))) (tan.f64 x))
0.8b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.4b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))
19.1b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (*.f64 (sqrt.f64 1/6) x))
0.6b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800)))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800))))))))
0.6b
(*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
Compiler

Compiled 14852 to 11014 computations (25.8% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
0.2b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
27.8b
(sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))

series16.0ms (0.1%)

Counts
2 → 24
Calls

2 calls:

10.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
6.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))

rewrite45.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
51×sqrt-pow1_binary64
48×pow1_binary64
42×add-sqr-sqrt_binary64
37×sqrt-prod_binary64
36×pow-prod-up_binary64
Counts
2 → 100
Calls

2 calls:

13.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))
9.0ms
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))

simplify193.0ms (1.1%)

Algorithm
egg-herbie
Rules
801×fma-neg_binary64
399×exp-prod_binary64
350×associate-*l*_binary64
312×associate-*r*_binary64
294×fma-def_binary64
Counts
124 → 156
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01676172
13684678
29394140
332564076
448624070
548824070
648584070

prune1.5s (8.1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3537360
Fresh6410
Picked101
Done011
Total36012372
Error
0b
Counts
372 → 12
Alt Table
StatusErrorProgram
0.7b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))) (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.3b
(fma.f64 x (*.f64 x 1/6) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))
0.2b
(fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))
0.7b
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (*.f64 x 1/6) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800)))))) 3) (sqrt.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x (*.f64 x 1/6) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800)))))))))
0.6b
(*.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (sqrt.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.8b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.8b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
10.4b
(/.f64 (-.f64 (+.f64 (*.f64 1/5040 (pow.f64 x 7)) (*.f64 1/6 (pow.f64 x 3))) (+.f64 (*.f64 1/120 (pow.f64 x 5)) (*.f64 1/362880 (pow.f64 x 9)))) (tan.f64 x))
0.4b
(*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (*.f64 (sqrt.f64 (fma.f64 x (*.f64 x 1/6) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800))))) (sqrt.f64 (sqrt.f64 (fma.f64 x (*.f64 x 1/6) (fma.f64 (pow.f64 x 4) -23/360 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 8) -143/604800))))))))
0.8b
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) 4) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 -143/604800 (pow.f64 x 8) (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))
0.5b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))) (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))) (*.f64 (sqrt.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
0.8b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))))) (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360)))))) (sqrt.f64 (fma.f64 1/6 (*.f64 x x) (fma.f64 (pow.f64 x 8) -143/604800 (fma.f64 (pow.f64 x 6) -11/15120 (*.f64 (pow.f64 x 4) -23/360))))))))
Compiler

Compiled 25713 to 19349 computations (24.8% saved)

regimes976.0ms (5.5%)

Accuracy

Total 0.2b remaining (71.3%)

Threshold costs 0.2b (71.3%)

Counts
288 → 1
Compiler

Compiled 24861 to 18773 computations (24.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01728
11828
21828

end608.0ms (3.4%)

Compiler

Compiled 914 to 693 computations (24.2% saved)

Profiling

Loading profile data...