Details

Time bar (total: 5.5s)

analyze336.0ms (6.1%)

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

Results
1.7s2054×body2048valid
514.0ms1553×body512valid
458.0ms1138×body1024valid
288.0ms2658×body128valid
161.0ms750×body256valid
68.0ms103×body4096valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify30.0ms (0.5%)

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

prune5.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 27 to 18 computations (33.3% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.2b
(-.f64 1 (cos.f64 x))
14.2b
(/.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))

rewrite63.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
818×log1p-expm1-u_binary64
818×expm1-log1p-u_binary64
259×prod-diff_binary64
104×egg-rr
76×add-sqr-sqrt_binary64
Counts
2 → 104
Calls

2 calls:

60.0ms
(-.f64 1 (cos.f64 x))
60.0ms
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
115218
2201318
3551518
000
100

simplify99.0ms (1.8%)

Algorithm
egg-herbie
Rules
773×distribute-rgt-neg-in_binary64
612×associate-*l*_binary64
477×fma-def_binary64
440×associate-*r*_binary64
414×unswap-sqr_binary64
Counts
120 → 120
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
035224
197220
2252214
3734212
42974212
54635212
64939212
74940212

prune127.0ms (2.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1128120
Fresh000
Picked011
Done000
Total1129121
Error
0.0b
Counts
121 → 9
Alt Table
StatusErrorProgram
29.6b
(/.f64 (log.f64 (exp.f64 (-.f64 1 (cos.f64 x)))) (*.f64 x x))
29.5b
(-.f64 (pow.f64 x -2) (/.f64 (cos.f64 x) (*.f64 x x)))
28.8b
(*.f64 (/.f64 (-.f64 1 (cos.f64 x)) x) (/.f64 1 x))
29.6b
(/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x))
29.4b
(+.f64 (fma.f64 1 (pow.f64 x -2) (neg.f64 (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x)))) (fma.f64 (neg.f64 (/.f64 (cos.f64 x) x)) (/.f64 1 x) (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x))))
33.9b
(fma.f64 x (*.f64 x -1/24) 1/2)
15.1b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
15.1b
(/.f64 (*.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (/.f64 1 (+.f64 1 (cos.f64 x)))) (*.f64 x x))
39.1b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (cos.f64 x)) (*.f64 x x)) 3))
Compiler

Compiled 3178 to 1570 computations (50.6% saved)

localize8.0ms (0.2%)

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.3b
(*.f64 (sin.f64 x) (sin.f64 x))
0.5b
(+.f64 1 (cos.f64 x))
14.4b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))

series34.0ms (0.6%)

Counts
4 → 40
Calls

4 calls:

16.0ms
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
13.0ms
(/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))
3.0ms
(*.f64 (sin.f64 x) (sin.f64 x))
2.0ms
(+.f64 1 (cos.f64 x))

rewrite106.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
456×prod-diff_binary64
369×fma-udef_binary64
250×fma-def_binary64
195×expm1-udef_binary64
195×log1p-udef_binary64
Counts
4 → 162
Calls

4 calls:

103.0ms
(/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x)))
103.0ms
(*.f64 (sin.f64 x) (sin.f64 x))
103.0ms
(+.f64 1 (cos.f64 x))
103.0ms
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (+.f64 1 (cos.f64 x))) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01046
122830
2316430
3492130
4491230
000
100

simplify87.0ms (1.6%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
500×sub-neg_binary64
452×fma-neg_binary64
259×*-commutative_binary64
195×unswap-sqr_binary64
Counts
202 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
054564
1155556
2429496
31294496
43137496
54855496
64873496
74946496

prune162.0ms (2.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1933196
Fresh347
Picked101
Done101
Total1987205
Error
0b
Counts
205 → 7
Alt Table
StatusErrorProgram
15.0b
(*.f64 (sin.f64 x) (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)))
29.5b
(-.f64 (pow.f64 x -2) (/.f64 (cos.f64 x) (*.f64 x x)))
28.8b
(*.f64 (/.f64 (-.f64 1 (cos.f64 x)) x) (/.f64 1 x))
29.4b
(+.f64 (fma.f64 1 (pow.f64 x -2) (neg.f64 (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x)))) (fma.f64 (neg.f64 (/.f64 (cos.f64 x) x)) (/.f64 1 x) (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x))))
29.7b
(-.f64 (/.f64 1/2 (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 x x))) (/.f64 (*.f64 (cos.f64 (+.f64 x x)) 1/2) (*.f64 (+.f64 1 (cos.f64 x)) (*.f64 x x))))
33.9b
(fma.f64 x (*.f64 x -1/24) 1/2)
15.1b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (exp.f64 (log1p.f64 (cos.f64 x)))) (*.f64 x x))
Compiler

Compiled 3728 to 1966 computations (47.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 x)
0.2b
(*.f64 (sin.f64 x) (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)))
13.9b
(/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x))

series26.0ms (0.5%)

Counts
3 → 28
Calls

3 calls:

13.0ms
(/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x))
12.0ms
(*.f64 (sin.f64 x) (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)))
2.0ms
(sin.f64 x)

rewrite58.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
492×log-prod_binary64
255×pow2_binary64
180×pow1/3_binary64
176×expm1-udef_binary64
176×log1p-udef_binary64
Counts
3 → 96
Calls

3 calls:

56.0ms
(sin.f64 x)
56.0ms
(*.f64 (sin.f64 x) (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)))
56.0ms
(/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
119832
2250732
3505032
000
100

simplify68.0ms (1.2%)

Algorithm
egg-herbie
Rules
711×fma-def_binary64
692×times-frac_binary64
627×associate-*l*_binary64
473×unswap-sqr_binary64
436×cancel-sign-sub-inv_binary64
Counts
124 → 121
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
058519
1153517
2397505
31118501
43302501
54783501
65397501

prune106.0ms (1.9%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1183121
Fresh426
Picked101
Done000
Total1235128
Error
0b
Counts
128 → 5
Alt Table
StatusErrorProgram
0.1b
(/.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x)) x)
14.9b
(/.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 x)) (*.f64 (cos.f64 (*.f64 1/2 x)) (pow.f64 x 2)))
14.9b
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)) (sin.f64 x))))
29.4b
(+.f64 (fma.f64 1 (pow.f64 x -2) (neg.f64 (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x)))) (fma.f64 (neg.f64 (/.f64 (cos.f64 x) x)) (/.f64 1 x) (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x))))
15.1b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (exp.f64 (log1p.f64 (cos.f64 x)))) (*.f64 x x))
Compiler

Compiled 2040 to 1237 computations (39.4% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series39.0ms (0.7%)

Counts
3 → 36
Calls

3 calls:

16.0ms
(*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x))
13.0ms
(/.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x)) x)
11.0ms
(/.f64 (tan.f64 (/.f64 x 2)) x)

rewrite65.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
550×log-prod_binary64
190×log-div_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
160×log-pow_binary64
Counts
3 → 113
Calls

3 calls:

62.0ms
(/.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x)) x)
62.0ms
(/.f64 (tan.f64 (/.f64 x 2)) x)
62.0ms
(*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0940
120240
2275240
3498240
000
100

simplify113.0ms (2%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
431×distribute-rgt-neg-in_binary64
431×cancel-sign-sub-inv_binary64
325×sub-neg_binary64
314×distribute-lft-neg-in_binary64
Counts
149 → 139
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053680
1151672
2396664
31144662
43069662
54414662
64843662
74971662
84924662

prune215.0ms (3.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1681169
Fresh134
Picked011
Done000
Total1695174
Error
0b
Counts
174 → 5
Alt Table
StatusErrorProgram
14.9b
(log1p.f64 (expm1.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) (*.f64 x x)) (sin.f64 x))))
29.4b
(+.f64 (fma.f64 1 (pow.f64 x -2) (neg.f64 (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x)))) (fma.f64 (neg.f64 (/.f64 (cos.f64 x) x)) (/.f64 1 x) (*.f64 (/.f64 (cos.f64 x) x) (/.f64 1 x))))
0.1b
(/.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x 2)) x) (sin.f64 x)) x)
15.1b
(/.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (exp.f64 (log1p.f64 (cos.f64 x)))) (*.f64 x x))
14.9b
(/.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (sin.f64 x)) (*.f64 x (*.f64 x (cos.f64 (*.f64 1/2 x)))))
Compiler

Compiled 2848 to 1813 computations (36.3% saved)

regimes460.0ms (8.3%)

Accuracy

Total 0.1b remaining (86%)

Threshold costs 0.1b (86%)

Counts
221 → 1
Compiler

Compiled 7991 to 5318 computations (33.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
/-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
11417
21317

end89.0ms (1.6%)

Compiler

Compiled 115 to 74 computations (35.7% saved)

Profiling

Loading profile data...