Details

Time bar (total: 6.8s)

analyze360.0ms (5.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
75%25%0%4
75%25%0%5
75%25%0%6
78.1%21.9%0%7
78.1%21.9%0%8
78.1%21.9%0%9
78.1%21.9%0%10
78.1%21.9%0%11
78.1%21.9%0%12
78.1%21.9%0%13
78.1%21.8%0%14
Compiler

Compiled 10 to 7 computations (30% saved)

sample3.1s (46.4%)

Results
1.6s2111×body2048valid
524.0ms1583×body512valid
507.0ms1126×body1024valid
285.0ms2601×body128valid
145.0ms736×body256valid
78.0ms99×body4096valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify25.0ms (0.4%)

Algorithm
egg-herbie
Rules
426×fma-def_binary64
293×fma-neg_binary64
85×div-sub_binary64
74×associate-/l*_binary64
63×times-frac_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11612
22712
34012
47212
511012
615812
725312
838312
952612
1064012
1162512
1257012

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
32.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
32.3b
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.5b
(-.f64 1 (cos.f64 x))
16.1b
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))

series6.0ms (0.1%)

Counts
2 → 16
Calls

2 calls:

4.0ms
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))
2.0ms
(-.f64 1 (cos.f64 x))

rewrite14.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
21×*-un-lft-identity_binary64
21×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
prod-diff_binary64
add-cbrt-cube_binary64
Counts
2 → 63
Calls

2 calls:

8.0ms
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))
3.0ms
(-.f64 1 (cos.f64 x))

simplify103.0ms (1.5%)

Algorithm
egg-herbie
Rules
626×fma-neg_binary64
411×associate-*l*_binary64
405×times-frac_binary64
353×associate-*r*_binary64
344×fma-def_binary64
Counts
79 → 91
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251152
12831017
2853961
33327961
44699961
54954961
64828961

prune74.0ms (1.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New83891
Fresh000
Picked101
Done000
Total84892
Error
0.0b
Counts
92 → 8
Alt Table
StatusErrorProgram
32.3b
(/.f64 (log.f64 (exp.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
32.3b
(/.f64 (-.f64 (pow.f64 1 3) (pow.f64 (cos.f64 x) 3)) (*.f64 x (fma.f64 x (fma.f64 (cos.f64 x) (cos.f64 x) (cos.f64 x)) x)))
31.5b
(/.f64 (/.f64 (-.f64 1 (cos.f64 x)) x) x)
49.6b
(/.f64 (+.f64 1 (sqrt.f64 (cos.f64 x))) (/.f64 x (/.f64 (-.f64 1 (sqrt.f64 (cos.f64 x))) x)))
16.7b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
32.4b
(/.f64 (-.f64 (*.f64 1 1) (*.f64 (cos.f64 x) (cos.f64 x))) (*.f64 (*.f64 x x) (+.f64 1 (cos.f64 x))))
31.0b
(fma.f64 (*.f64 x x) -1/24 (fma.f64 1/720 (pow.f64 x 4) 1/2))
32.3b
(/.f64 (expm1.f64 (log1p.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
Compiler

Compiled 1720 to 865 computations (49.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))
0.2b
(*.f64 (sin.f64 x) (sin.f64 x))
0.4b
(+.f64 1 (cos.f64 x))
15.9b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))

series33.0ms (0.5%)

Counts
4 → 40
Calls

4 calls:

14.0ms
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
12.0ms
(/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))
3.0ms
(+.f64 1 (cos.f64 x))
3.0ms
(*.f64 (sin.f64 x) (sin.f64 x))

rewrite30.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
32×add-cbrt-cube_binary64
32×add-exp-log_binary64
25×*-un-lft-identity_binary64
22×times-frac_binary64
17×add-sqr-sqrt_binary64
Counts
4 → 122
Calls

4 calls:

9.0ms
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
6.0ms
(/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))
3.0ms
(*.f64 (sin.f64 x) (sin.f64 x))
3.0ms
(+.f64 1 (cos.f64 x))

simplify98.0ms (1.5%)

Algorithm
egg-herbie
Rules
610×associate-*l/_binary64
540×associate-/r/_binary64
423×fma-def_binary64
335×fma-neg_binary64
214×cancel-sign-sub-inv_binary64
Counts
162 → 206
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02042904
15042230
217672192
346432192
449352192

prune145.0ms (2.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2024206
Fresh527
Picked101
Done000
Total2086214
Error
0b
Counts
214 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))
16.5b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (tan.f64 (/.f64 x 2)) (sin.f64 x)))) (*.f64 x x))
16.6b
(/.f64 1 (/.f64 (*.f64 x x) (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))))
32.3b
(/.f64 (log.f64 (exp.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
0.1b
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
31.0b
(fma.f64 (*.f64 x x) -1/24 (fma.f64 1/720 (pow.f64 x 4) 1/2))
Compiler

Compiled 4354 to 1949 computations (55.2% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
0.1b
(/.f64 (sin.f64 x) x)
0.1b
(/.f64 (tan.f64 (/.f64 x 2)) x)

series26.0ms (0.4%)

Counts
3 → 28
Calls

3 calls:

12.0ms
(/.f64 (tan.f64 (/.f64 x 2)) x)
11.0ms
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
3.0ms
(/.f64 (sin.f64 x) x)

rewrite24.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
45×add-sqr-sqrt_binary64
40×times-frac_binary64
33×*-un-lft-identity_binary64
33×add-cube-cbrt_binary64
19×add-cbrt-cube_binary64
Counts
3 → 111
Calls

3 calls:

8.0ms
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
4.0ms
(/.f64 (tan.f64 (/.f64 x 2)) x)
3.0ms
(/.f64 (sin.f64 x) x)

simplify116.0ms (1.7%)

Algorithm
egg-herbie
Rules
594×associate-/l*_binary64
557×associate-*l/_binary64
473×associate-*l*_binary64
464×associate-*r/_binary64
426×times-frac_binary64
Counts
139 → 176
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01862636
14692390
213092366
345062354
449472354
550472354

prune134.0ms (2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1760176
Fresh055
Picked011
Done000
Total1766182
Error
0b
Counts
182 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))
16.5b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (tan.f64 (/.f64 x 2)) (sin.f64 x)))) (*.f64 x x))
16.6b
(/.f64 1 (/.f64 (*.f64 x x) (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))))
32.3b
(/.f64 (log.f64 (exp.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
0.1b
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
31.0b
(fma.f64 (*.f64 x x) -1/24 (fma.f64 1/720 (pow.f64 x 4) 1/2))
Compiler

Compiled 3478 to 1814 computations (47.8% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x))
0.1b
(/.f64 (tan.f64 (/.f64 x 2)) x)
0.4b
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))

series32.0ms (0.5%)

Counts
2 → 24
Calls

2 calls:

20.0ms
(/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x))
11.0ms
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))

rewrite319.0ms (4.7%)

Algorithm
rewrite-expression-head
Rules
1976×times-frac_binary64
849×*-un-lft-identity_binary64
849×add-sqr-sqrt_binary64
849×add-cube-cbrt_binary64
107×div-inv_binary64
Counts
2 → 730
Calls

2 calls:

20.0ms
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))
4.0ms
(/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x))

simplify958.0ms (14.1%)

Algorithm
egg-herbie
Rules
814×associate-/r/_binary64
545×associate-/l/_binary64
475×associate-/r*_binary64
397×associate-*r/_binary64
357×*-commutative_binary64
Counts
754 → 969
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074030088
1143228497
2415627762
3446727536
4496127536
5495227536

prune779.0ms (11.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New101101011
Fresh044
Picked011
Done011
Total101161017
Error
0b
Counts
1017 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (/.f64 (sin.f64 x) 1) (/.f64 x (/.f64 (tan.f64 (/.f64 x 2)) x)))
16.5b
(/.f64 (expm1.f64 (log1p.f64 (*.f64 (tan.f64 (/.f64 x 2)) (sin.f64 x)))) (*.f64 x x))
16.6b
(/.f64 1 (/.f64 (*.f64 x x) (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))))
32.3b
(/.f64 (log.f64 (exp.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
0.1b
(*.f64 (/.f64 (sin.f64 x) x) (/.f64 (tan.f64 (/.f64 x 2)) x))
31.0b
(fma.f64 (*.f64 x x) -1/24 (fma.f64 1/720 (pow.f64 x 4) 1/2))
Compiler

Compiled 30786 to 18375 computations (40.3% saved)

regimes214.0ms (3.2%)

Accuracy

Total 0.1b remaining (80.5%)

Threshold costs 0.1b (80.5%)

Counts
121 → 1
Compiler

Compiled 3735 to 2527 computations (32.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
11017
21017

end105.0ms (1.6%)

Compiler

Compiled 104 to 72 computations (30.8% saved)

Profiling

Loading profile data...