Details

Time bar (total: 18.8s)

analyze1.8s (9.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
0%100%0%4
0%100%0%5
0%100%0%6
0%100%0%7
0%100%0%8
0%100%0%9
0%100%0%10
0%100%0%11
0%100%0%12
0%100%0%13
0.1%99.9%0%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample8.7s (46.3%)

Results
5.0s2072×body2048valid
2.4s3106×body1024valid
642.0ms1538×body512valid
229.0ms775×body256valid
161.0ms118×body4096valid
139.0ms647×body128valid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify94.0ms (0.5%)

Algorithm
egg-herbie
Rules
583×fma-neg_binary64
430×div-sub_binary64
430×fma-def_binary64
335×times-frac_binary64
160×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
11414
22414
34114
46714
511514
621214
741614
869914
9117614
10155514
11162114
12165214
13167914
14168914
15169314
16169314
17159214

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize7.0ms (0%)

Local error

Found 4 expressions with local error:

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

series21.0ms (0.1%)

Counts
4 → 34
Calls

4 calls:

12.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
5.0ms
(-.f64 x (tan.f64 x))
2.0ms
(-.f64 x (sin.f64 x))
2.0ms
(sin.f64 x)

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
60×*-un-lft-identity_binary64
60×add-sqr-sqrt_binary64
32×add-cube-cbrt_binary64
25×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 123
Calls

4 calls:

7.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
3.0ms
(-.f64 x (sin.f64 x))
3.0ms
(-.f64 x (tan.f64 x))
1.0ms
(sin.f64 x)

simplify139.0ms (0.7%)

Algorithm
egg-herbie
Rules
497×fma-neg_binary64
313×cancel-sign-sub-inv_binary64
252×associate-/l/_binary64
221×associate-/r/_binary64
204×distribute-rgt-in_binary64
Counts
157 → 167
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02653109
16182685
220752567
345002563
449852563
548722563

prune122.0ms (0.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1643167
Fresh000
Picked011
Done000
Total1644168
Error
0.0b
Counts
168 → 4
Alt Table
StatusErrorProgram
32.6b
(-.f64 (fma.f64 9/40 (*.f64 x x) (*.f64 27/112000 (pow.f64 x 6))) (fma.f64 27/2800 (pow.f64 x 4) 1/2))
30.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
46.9b
(/.f64 (/.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (+.f64 x (sin.f64 x))) (-.f64 x (tan.f64 x)))
30.1b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
Compiler

Compiled 3417 to 1006 computations (70.6% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (-.f64 x (tan.f64 x)))
0.1b
(/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))
1.4b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
1.6b
(-.f64 x (tan.f64 x))

series26.0ms (0.1%)

Counts
3 → 36
Calls

3 calls:

11.0ms
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
8.0ms
(/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))
7.0ms
(/.f64 x (-.f64 x (tan.f64 x)))

rewrite208.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
727×*-un-lft-identity_binary64
717×add-sqr-sqrt_binary64
708×times-frac_binary64
441×prod-diff_binary64
421×add-cube-cbrt_binary64
Counts
3 → 591
Calls

3 calls:

31.0ms
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
5.0ms
(/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))
4.0ms
(/.f64 x (-.f64 x (tan.f64 x)))

simplify818.0ms (4.4%)

Algorithm
egg-herbie
Rules
461×fma-neg_binary64
412×unsub-neg_binary64
312×fma-udef_binary64
280×sub-neg_binary64
250×associate-+r-_binary64
Counts
627 → 574
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062241023
1142227517
2325120234
3426320192
4488420192
5482920192

prune471.0ms (2.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New6571658
Fresh022
Picked101
Done011
Total6584662
Error
0.0b
Counts
662 → 4
Alt Table
StatusErrorProgram
30.2b
(+.f64 (fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
32.6b
(-.f64 (fma.f64 9/40 (*.f64 x x) (*.f64 27/112000 (pow.f64 x 6))) (fma.f64 27/2800 (pow.f64 x 4) 1/2))
30.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
46.9b
(/.f64 (/.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (+.f64 x (sin.f64 x))) (-.f64 x (tan.f64 x)))
Compiler

Compiled 34150 to 4907 computations (85.6% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))
1.4b
(fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
1.6b
(-.f64 x (tan.f64 x))
32.8b
(fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))

series119.0ms (0.6%)

Counts
3 → 36
Calls

3 calls:

70.0ms
(fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))
33.0ms
(*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))
15.0ms
(fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×cbrt-prod_binary64
27×add-sqr-sqrt_binary64
25×*-un-lft-identity_binary64
12×cbrt-div_binary64
11×add-cube-cbrt_binary64
Counts
3 → 78
Calls

3 calls:

9.0ms
(*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))
0.0ms
(fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
0.0ms
(fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))

simplify110.0ms (0.6%)

Algorithm
egg-herbie
Rules
609×associate-/l*_binary64
527×fma-def_binary64
281×cancel-sign-sub-inv_binary64
156×unswap-sqr_binary64
129×associate-*r*_binary64
Counts
114 → 159
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02544234
16203475
220212672
349252672

prune1.1s (5.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New7681769
Fresh022
Picked011
Done011
Total7685773
Error
0.0b
Counts
773 → 5
Alt Table
StatusErrorProgram
30.2b
(+.f64 (fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
32.6b
(-.f64 (fma.f64 9/40 (*.f64 x x) (*.f64 27/112000 (pow.f64 x 6))) (fma.f64 27/2800 (pow.f64 x 4) 1/2))
30.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
46.9b
(/.f64 (/.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (+.f64 x (sin.f64 x))) (-.f64 x (tan.f64 x)))
30.2b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))) (cbrt.f64 (-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))))) (cbrt.f64 (-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
Compiler

Compiled 67335 to 14805 computations (78% saved)

localize51.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))
1.4b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
1.6b
(-.f64 x (tan.f64 x))
32.8b
(fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))

prune3.1s (16.6%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New212612127
Fresh022
Picked101
Done022
Total212752132
Error
0.0b
Counts
2132 → 5
Alt Table
StatusErrorProgram
30.2b
(+.f64 (fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
32.6b
(-.f64 (fma.f64 9/40 (*.f64 x x) (*.f64 27/112000 (pow.f64 x 6))) (fma.f64 27/2800 (pow.f64 x 4) 1/2))
30.1b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
30.2b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))) (cbrt.f64 (+.f64 (fma.f64 1 (/.f64 x (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x)))))))))) (cbrt.f64 (-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))))) (fma.f64 (neg.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x))))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))) (*.f64 (/.f64 (sin.f64 x) (cbrt.f64 (-.f64 x (tan.f64 x)))) (/.f64 1 (*.f64 (cbrt.f64 (-.f64 x (tan.f64 x))) (cbrt.f64 (-.f64 x (tan.f64 x))))))))
46.9b
(/.f64 (/.f64 (-.f64 (*.f64 x x) (pow.f64 (sin.f64 x) 2)) (+.f64 x (sin.f64 x))) (-.f64 x (tan.f64 x)))
Compiler

Compiled 273913 to 33762 computations (87.7% saved)

regimes1.5s (8.1%)

Accuracy

Total 0.0b remaining (54.4%)

Threshold costs 0.0b (54.4%)

Counts
341 → 3
Compiler

Compiled 28084 to 11052 computations (60.6% saved)

bsearch70.0ms (0.4%)

Steps
ItersRangePoint
6
0.036331182474937634
0.20982857141386116
0.09493097848297538
9
-0.17251299407322018
-4.4400330144481026e-7
-0.09789578775807517
Compiler

Compiled 2 to 1 computations (50% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
052348
186346
2113346
3127346
4132346
5129346

end186.0ms (1%)

Compiler

Compiled 716 to 218 computations (69.6% saved)

Profiling

Loading profile data...