Details

Time bar (total: 6.4s)

analyze1.2s (18.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%87.4%0.1%6
18.7%81.2%0.1%7
25%73.4%1.7%8
28.1%68.7%3.2%9
31.2%62.8%6%10
32.8%60.1%7.1%11
34.3%56.7%9%12
35.1%55.2%9.7%13
35.9%53.4%10.7%14
Compiler

Compiled 15 to 12 computations (20% saved)

sample2.7s (42.8%)

Results
1.4s2388×body1024valid
683.0ms4077×body128valid
451.0ms1181×body512valid
169.0ms604×body256valid
27.0ms184×body128invalid
6.0msbody2048valid
1.0msbody1024invalid
Compiler

Compiled 30 to 24 computations (20% saved)

preprocess48.0ms (0.7%)

Algorithm
egg-herbie
Rules
698×fma-def_binary64
260×fma-neg_binary64
146×times-frac_binary64
110×cancel-sign-sub-inv_binary64
104×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01838
14128
29428
316928
427128
541328
651528
765828
882128
987028
1091028
11107528
12157228
13238928
14260728
15266728
16270328
022
Stop Event
saturated
saturated
Compiler

Compiled 14 to 11 computations (21.4% saved)

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Rules
105×fma-def_binary64
66×fma-neg_binary64
25×cancel-sign-sub-inv_binary64
19×sub-neg_binary64
11×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01119
12414
25114
39014
414314
521614
626714
733714
841914
943914
1044414
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(+.f64 (neg.f64 (*.f64 x (/.f64 1 (tan.f64 B)))) (/.f64 1 (sin.f64 B)))
0.1b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
Compiler

Compiled 73 to 53 computations (27.4% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
0.1b
(/.f64 1 (sin.f64 B))
0.2b
(/.f64 x (tan.f64 B))

series76.0ms (1.2%)

Counts
3 → 52
Calls

15 calls:

10.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
B
inf
9.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
B
-inf
7.0ms
(/.f64 x (tan.f64 B))
x
-inf
7.0ms
(/.f64 x (tan.f64 B))
B
-inf
7.0ms
(/.f64 x (tan.f64 B))
B
inf

rewrite85.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
785×prod-diff_binary64
230×egg-rr
184×expm1-udef_binary64
184×log1p-udef_binary64
103×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
120026
2290326
Stop Event
node limit
Counts
3 → 230

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
420×associate--l+_binary64
420×fma-def_binary64
330×cancel-sign-sub-inv_binary64
326×associate-+l+_binary64
283×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063830
1181817
2551799
32457797
Stop Event
node limit
Counts
282 → 259

prune195.0ms (3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2527259
Fresh101
Picked101
Done000
Total2547261
Error
0b
Counts
261 → 7
Alt Table
StatusErrorProgram
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
38.3b
(*.f64 x (/.f64 (neg.f64 (cos.f64 B)) (sin.f64 B)))
6.3b
(/.f64 (-.f64 (/.f64 (tan.f64 B) x) (sin.f64 B)) (*.f64 (sin.f64 B) (/.f64 (tan.f64 B) x)))
20.0b
(/.f64 (-.f64 (pow.f64 (sin.f64 B) -2) (pow.f64 (/.f64 x (tan.f64 B)) 2)) (+.f64 (/.f64 x (tan.f64 B)) (/.f64 1 (sin.f64 B))))
0.1b
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
1.3b
(pow.f64 (cbrt.f64 (-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))) 3)
Compiler

Compiled 7567 to 3194 computations (57.8% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
0.1b
(/.f64 1 (sin.f64 B))
0.2b
(/.f64 (neg.f64 x) (tan.f64 B))

series77.0ms (1.2%)

Counts
2 → 48
Calls

12 calls:

10.0ms
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
B
inf
10.0ms
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
B
-inf
8.0ms
(/.f64 (neg.f64 x) (tan.f64 B))
x
-inf
8.0ms
(/.f64 (neg.f64 x) (tan.f64 B))
B
-inf
8.0ms
(/.f64 (neg.f64 x) (tan.f64 B))
B
inf

rewrite84.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
857×log1p-expm1-u_binary64
857×expm1-log1p-u_binary64
277×prod-diff_binary64
222×egg-rr
103×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01024
120720
2277220
Stop Event
node limit
Counts
2 → 222

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
577×fma-neg_binary64
569×+-commutative_binary64
410×associate--l+_binary64
409×sub-neg_binary64
393×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061817
1169806
2487794
32096792
44132786
Stop Event
node limit
Counts
270 → 244

prune234.0ms (3.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2740274
Fresh066
Picked011
Done000
Total2747281
Error
0b
Counts
281 → 7
Alt Table
StatusErrorProgram
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
38.3b
(*.f64 x (/.f64 (neg.f64 (cos.f64 B)) (sin.f64 B)))
6.3b
(/.f64 (-.f64 (/.f64 (tan.f64 B) x) (sin.f64 B)) (*.f64 (sin.f64 B) (/.f64 (tan.f64 B) x)))
20.0b
(/.f64 (-.f64 (pow.f64 (sin.f64 B) -2) (pow.f64 (/.f64 x (tan.f64 B)) 2)) (+.f64 (/.f64 x (tan.f64 B)) (/.f64 1 (sin.f64 B))))
0.1b
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
1.3b
(pow.f64 (cbrt.f64 (-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))) 3)
Compiler

Compiled 8343 to 3504 computations (58% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series65.0ms (1%)

Counts
3 → 35
Calls

18 calls:

17.0ms
(*.f64 x (cos.f64 B))
x
0
6.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
x
inf
5.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
B
-inf
5.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
B
inf
4.0ms
(/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B))
x
-inf

rewrite123.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
911×prod-diff_binary64
328×egg-rr
111×add-sqr-sqrt_binary64
104×add-cbrt-cube_binary64
104×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031
121926
2325626
Stop Event
node limit
Counts
3 → 328

simplify39.0ms (0.6%)

Algorithm
egg-herbie
Rules
504×fma-neg_binary64
428×fma-def_binary64
310×associate-+l+_binary64
257×distribute-rgt-neg-in_binary64
252×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076526
1218514
2686492
33116488
Stop Event
node limit
Counts
363 → 356

prune305.0ms (4.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3860386
Fresh055
Picked011
Done011
Total3867393
Error
0b
Counts
393 → 7
Alt Table
StatusErrorProgram
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
38.3b
(*.f64 x (/.f64 (neg.f64 (cos.f64 B)) (sin.f64 B)))
6.3b
(/.f64 (-.f64 (/.f64 (tan.f64 B) x) (sin.f64 B)) (*.f64 (sin.f64 B) (/.f64 (tan.f64 B) x)))
20.0b
(/.f64 (-.f64 (pow.f64 (sin.f64 B) -2) (pow.f64 (/.f64 x (tan.f64 B)) 2)) (+.f64 (/.f64 x (tan.f64 B)) (/.f64 1 (sin.f64 B))))
0.1b
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
1.3b
(pow.f64 (cbrt.f64 (-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))) 3)
Compiler

Compiled 13209 to 5105 computations (61.4% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
0.1b
(/.f64 1 (sin.f64 B))
0.2b
(/.f64 (tan.f64 B) x)
0.3b
(pow.f64 (/.f64 (tan.f64 B) x) -1)

series119.0ms (1.9%)

Counts
3 → 72
Calls

18 calls:

17.0ms
(pow.f64 (/.f64 (tan.f64 B) x) -1)
x
-inf
15.0ms
(pow.f64 (/.f64 (tan.f64 B) x) -1)
B
-inf
12.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
B
-inf
11.0ms
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
B
inf
8.0ms
(pow.f64 (/.f64 (tan.f64 B) x) -1)
B
inf

rewrite90.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
662×prod-diff_binary64
255×egg-rr
204×expm1-udef_binary64
204×log1p-udef_binary64
118×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01132
123626
2313826
Stop Event
node limit
Counts
3 → 255

simplify47.0ms (0.7%)

Algorithm
egg-herbie
Rules
417×associate--l+_binary64
388×fma-def_binary64
330×cancel-sign-sub-inv_binary64
322×associate-+l+_binary64
315×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0751077
12081064
26161046
325641044
Stop Event
node limit
Counts
327 → 286

prune223.0ms (3.5%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3160316
Fresh044
Picked011
Done022
Total3167323
Error
0b
Counts
323 → 7
Alt Table
StatusErrorProgram
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 (*.f64 x (cos.f64 B)) (sin.f64 B)))
0.2b
(-.f64 (/.f64 1 (sin.f64 B)) (pow.f64 (/.f64 (tan.f64 B) x) -1))
38.3b
(*.f64 x (/.f64 (neg.f64 (cos.f64 B)) (sin.f64 B)))
6.3b
(/.f64 (-.f64 (/.f64 (tan.f64 B) x) (sin.f64 B)) (*.f64 (sin.f64 B) (/.f64 (tan.f64 B) x)))
20.0b
(/.f64 (-.f64 (pow.f64 (sin.f64 B) -2) (pow.f64 (/.f64 x (tan.f64 B)) 2)) (+.f64 (/.f64 x (tan.f64 B)) (/.f64 1 (sin.f64 B))))
0.1b
(fma.f64 1 (/.f64 1 (sin.f64 B)) (/.f64 (neg.f64 x) (tan.f64 B)))
1.3b
(pow.f64 (cbrt.f64 (-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))) 3)
Compiler

Compiled 8837 to 3757 computations (57.5% saved)

regimes424.0ms (6.6%)

Accuracy

Total 0.1b remaining (80.1%)

Threshold costs 0.1b (80.1%)

Counts
140 → 1
Compiler

Compiled 6448 to 4590 computations (28.8% saved)

simplify2.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
11814
22314
32614
42714
Stop Event
saturated

end99.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 126 to 85 computations (32.5% saved)

Profiling

Loading profile data...