Details

Time bar (total: 11.9s)

analyze1.9s (16.1%)

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.2s (68.3%)

Results
5.0s2107×body2048valid
2.0s3068×body1024valid
623.0ms1523×body512valid
213.0ms778×body256valid
168.0ms123×body4096valid
105.0ms657×body128valid
Compiler

Compiled 22 to 14 computations (36.4% saved)

preprocess69.0ms (0.6%)

Algorithm
egg-herbie
Rules
583×fma-neg_binary64
430×fma-def_binary64
421×div-sub_binary64
332×times-frac_binary64
157×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
11414
22414
34114
47514
513014
626014
754314
8132214
9247914
10329414
11365914
12378814
13381514
14382514
15382914
16382914
011
Stop Event
saturated
saturated
Compiler

Compiled 10 to 6 computations (40% saved)

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
583×fma-neg_binary64
430×fma-def_binary64
421×div-sub_binary64
332×times-frac_binary64
157×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
11414
22414
34114
47514
513014
626014
754314
8132214
9247914
10329414
11365914
12378814
13381514
14382514
15382914
16382914
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
30.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
30.7b
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
Compiler

Compiled 39 to 21 computations (46.2% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series16.0ms (0.1%)

Counts
3 → 30
Calls

9 calls:

3.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
x
-inf
3.0ms
(/.f64 (-.f64 x (sin.f64 x)) (-.f64 x (tan.f64 x)))
x
inf
2.0ms
(-.f64 x (tan.f64 x))
x
inf
2.0ms
(-.f64 x (tan.f64 x))
x
-inf
1.0ms
(-.f64 x (sin.f64 x))
x
0

rewrite149.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
982×prod-diff_binary64
336×egg-rr
170×log1p-udef_binary64
92×add-sqr-sqrt_binary64
89×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0726
117026
2275026
Stop Event
node limit
Counts
3 → 336

simplify53.0ms (0.4%)

Algorithm
egg-herbie
Rules
419×unswap-sqr_binary64
338×times-frac_binary64
295×fma-def_binary64
275×sub-neg_binary64
219×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
092658
1261654
2860614
34331602
Stop Event
node limit
Counts
366 → 367

prune241.0ms (2%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3634367
Fresh000
Picked101
Done000
Total3644368
Error
0.0b
Counts
368 → 4
Alt Table
StatusErrorProgram
30.8b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
49.9b
(+.f64 (fma.f64 x (/.f64 1 (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x)))) (/.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1))))
31.1b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
32.5b
(+.f64 -1/2 (fma.f64 x (*.f64 x 9/40) (*.f64 (pow.f64 x 4) -27/2800)))
Compiler

Compiled 16771 to 4235 computations (74.7% saved)

localize8.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 x (tan.f64 x))
1.5b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))

series22.0ms (0.2%)

Counts
3 → 36
Calls

9 calls:

4.0ms
(/.f64 x (-.f64 x (tan.f64 x)))
x
inf
4.0ms
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
x
inf
4.0ms
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
x
-inf
3.0ms
(/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))
x
-inf
2.0ms
(/.f64 (sin.f64 x) (-.f64 x (tan.f64 x)))
x
inf

rewrite89.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
564×fma-def_binary64
288×fma-neg_binary64
227×egg-rr
196×expm1-udef_binary64
196×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0834
119834
2339534
Stop Event
node limit
Counts
3 → 227

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
757×fma-neg_binary64
428×times-frac_binary64
259×associate-/l*_binary64
243×sub-neg_binary64
204×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0821068
12261064
27461024
34039990
Stop Event
node limit
Counts
263 → 268

prune196.0ms (1.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3931394
Fresh123
Picked011
Done000
Total3944398
Error
0.0b
Counts
398 → 4
Alt Table
StatusErrorProgram
30.8b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
32.5b
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
49.9b
(+.f64 (fma.f64 x (/.f64 1 (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x)))) (/.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1))))
31.1b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
Compiler

Compiled 10160 to 2636 computations (74.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
0.1b
(/.f64 (sin.f64 x) x)
0.1b
(*.f64 (cos.f64 x) x)
0.2b
(/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))

series22.0ms (0.2%)

Counts
4 → 18
Calls

12 calls:

4.0ms
(/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))
x
-inf
4.0ms
(/.f64 (sin.f64 x) x)
x
0
3.0ms
(/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x))
x
inf
2.0ms
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
x
-inf
2.0ms
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
x
inf

rewrite88.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
492×fma-def_binary64
278×fma-neg_binary64
257×egg-rr
208×log1p-udef_binary64
207×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01045
122735
2347435
Stop Event
node limit
Counts
4 → 257

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
437×distribute-rgt-neg-in_binary64
434×cancel-sign-sub-inv_binary64
268×unswap-sqr_binary64
251×*-commutative_binary64
247×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058210
1159202
2426190
31473190
43641190
Stop Event
node limit
Counts
275 → 283

prune189.0ms (1.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2830283
Fresh022
Picked011
Done011
Total2834287
Error
0.0b
Counts
287 → 4
Alt Table
StatusErrorProgram
30.8b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
32.5b
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
49.9b
(+.f64 (fma.f64 x (/.f64 1 (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x)))) (/.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1))))
31.1b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
Compiler

Compiled 6377 to 2436 computations (61.8% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 (pow.f64 x 4) -27/2800 -1/2)
17.3b
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))

series6.0ms (0%)

Counts
2 → 24
Calls

6 calls:

1.0ms
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
x
-inf
1.0ms
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
x
inf
1.0ms
(fma.f64 (pow.f64 x 4) -27/2800 -1/2)
x
inf
1.0ms
(fma.f64 (pow.f64 x 4) -27/2800 -1/2)
x
-inf
1.0ms
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
x
0

rewrite41.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
769×log1p-expm1-u_binary64
769×expm1-log1p-u_binary64
160×log1p-udef_binary64
92×add-sqr-sqrt_binary64
91×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120823
2214823
Stop Event
node limit
Counts
2 → 47

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
612×fma-neg_binary64
590×distribute-rgt-neg-in_binary64
407×fma-def_binary64
361×cancel-sign-sub-inv_binary64
251×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
019262
147258
2100228
3277228
4980228
52585228
64283228
Stop Event
node limit
Counts
71 → 58

prune32.0ms (0.3%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New58058
Fresh011
Picked011
Done022
Total58462
Error
0.0b
Counts
62 → 4
Alt Table
StatusErrorProgram
30.8b
(-.f64 (/.f64 x (-.f64 x (tan.f64 x))) (/.f64 (sin.f64 x) (-.f64 x (tan.f64 x))))
32.5b
(fma.f64 9/40 (*.f64 x x) (fma.f64 (pow.f64 x 4) -27/2800 -1/2))
49.9b
(+.f64 (fma.f64 x (/.f64 1 (-.f64 x (tan.f64 x))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x)))) (/.f64 (sqrt.f64 (sin.f64 x)) 1) (*.f64 (/.f64 (sqrt.f64 (sin.f64 x)) (-.f64 x (tan.f64 x))) (/.f64 (sqrt.f64 (sin.f64 x)) 1))))
31.1b
(-.f64 (+.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) x)) 1) (/.f64 (sin.f64 x) x))
Compiler

Compiled 981 to 678 computations (30.9% saved)

regimes296.0ms (2.5%)

Accuracy

Total 0.2b remaining (87.9%)

Threshold costs 0.2b (87.9%)

Counts
115 → 3
Compiler

Compiled 3638 to 2326 computations (36.1% saved)

bsearch58.0ms (0.5%)

Algorithm
binary-search
Calls

2 calls:

31.0ms
x
23.0ms
x
Steps
ItersPointRange
0.02855440944818922
∈ [
0.00040233536306803205
,
0.15862257151393017
]
-2.646218411575844
∈ [
-96032410410.23123
,
-0.0033161191515068515
]
Compiler

Compiled 2 to 1 computations (50% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02967
13667
24467
35067
45467
55567
Stop Event
saturated

end87.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 188 to 100 computations (46.8% saved)

Profiling

Loading profile data...