Details

Time bar (total: 6.5s)

analyze1.2s (18.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
37.5%62.5%0%4
43.7%56.2%0%5
46.9%53.1%0%6
48.4%51.5%0%7
49.2%50.8%0%8
49.6%50.4%0%9
49.8%50.2%0%10
49.9%50.1%0%11
49.9%50%0%12
50%50%0%13
50%49.9%0%14
Compiler

Compiled 18 to 15 computations (16.7% saved)

sample3.7s (56.1%)

Results
2.0s2091×body1024valid
898.0ms4561×body128valid
549.0ms1059×body512valid
199.0ms540×body256valid
10.0msbody2048valid
Compiler

Compiled 53 to 44 computations (17% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01322
12022
23122
34422
45222
56122
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
16.1b
(/.f64 (*.f64 (*.f64 (/.f64 8 3) (sin.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
Compiler

Compiled 95 to 76 computations (20% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))
0.3b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
0.4b
(/.f64 8/3 (sin.f64 x))

series26.0ms (0.4%)

Counts
3 → 28
Calls

3 calls:

13.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
7.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))
6.0ms
(/.f64 8/3 (sin.f64 x))

rewrite54.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
499×log-prod_binary64
261×pow2_binary64
185×pow1/3_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01042
120937
2251837
Stop Event
node limit
Counts
3 → 82
Calls

3 calls:

53.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))
53.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
53.0ms
(/.f64 8/3 (sin.f64 x))

simplify45.0ms (0.7%)

Algorithm
egg-herbie
Rules
690×fma-def_binary64
517×unswap-sqr_binary64
478×associate-*l*_binary64
344×associate-*r*_binary64
232×distribute-lft-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062413
1147407
2346401
3982401
43025401
54973401
Stop Event
node limit
Counts
110 → 108

prune119.0ms (1.8%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New9513108
Fresh101
Picked101
Done000
Total9713110
Error
0.0b
Counts
110 → 13
Alt Table
StatusErrorProgram
41.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 64/9 (pow.f64 (sin.f64 x) 2)))))
30.0b
(fma.f64 (pow.f64 x 3) 1/18 (fma.f64 (pow.f64 x 5) 1/180 (*.f64 x 2/3)))
0.6b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (pow.f64 (*.f64 (sin.f64 x) 3/8) -1)))
1.0b
(*.f64 (sin.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2)))) 3))
40.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
32.6b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x))))))
36.1b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (log1p.f64 (expm1.f64 (/.f64 8/3 (sin.f64 x))))))
0.6b
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
21.0b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
34.4b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
16.2b
(/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2) 8/3) (sin.f64 x))
18.4b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (cbrt.f64 (/.f64 8/3 (sin.f64 x))) (cbrt.f64 (/.f64 64/9 (pow.f64 (sin.f64 x) 2))))))
16.2b
(/.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2) (*.f64 (sin.f64 x) 3/8))
Compiler

Compiled 2275 to 1766 computations (22.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
0.4b
(/.f64 8/3 (sin.f64 x))
0.8b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3))
0.8b
(pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)

series52.0ms (0.8%)

Counts
3 → 36
Calls

3 calls:

20.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
17.0ms
(cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3))
15.0ms
(pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)

rewrite58.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
577×log-prod_binary64
214×expm1-udef_binary64
214×log1p-udef_binary64
187×log-pow_binary64
155×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01353
127248
2305048
Stop Event
node limit
Counts
3 → 103
Calls

3 calls:

56.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
56.0ms
(cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3))
56.0ms
(pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
410×unswap-sqr_binary64
392×times-frac_binary64
363×*-commutative_binary64
358×associate-/l*_binary64
299×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072696
1189692
2507670
31803630
44467630
Stop Event
node limit
Counts
139 → 131

prune143.0ms (2.2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1613164
Fresh5712
Picked011
Done000
Total16611177
Error
0.0b
Counts
177 → 11
Alt Table
StatusErrorProgram
0.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (cbrt.f64 512/27) (sin.f64 x))))
21.0b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
40.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
32.6b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x))))))
0.6b
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
0.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cbrt.f64 512/27)) (sin.f64 x)))
30.0b
(fma.f64 (pow.f64 x 3) 1/18 (fma.f64 (pow.f64 x 5) 1/180 (*.f64 x 2/3)))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
34.4b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
16.2b
(/.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2) 8/3) (sin.f64 x))
16.2b
(/.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2) (*.f64 (sin.f64 x) 3/8))
Compiler

Compiled 3756 to 2932 computations (21.9% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
0.4b
(/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x)))
0.4b
(*.f64 8/3 (sin.f64 (*.f64 x 1/2)))

series25.0ms (0.4%)

Counts
3 → 36
Calls

3 calls:

15.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
7.0ms
(/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x)))
2.0ms
(*.f64 8/3 (sin.f64 (*.f64 x 1/2)))

rewrite57.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
586×log-prod_binary64
190×expm1-udef_binary64
190×log1p-udef_binary64
164×prod-diff_binary64
162×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01249
125845
2357745
Stop Event
node limit
Counts
3 → 108
Calls

3 calls:

55.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
55.0ms
(/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x)))
55.0ms
(*.f64 8/3 (sin.f64 (*.f64 x 1/2)))

simplify42.0ms (0.6%)

Algorithm
egg-herbie
Rules
826×fma-def_binary64
737×fma-neg_binary64
517×unswap-sqr_binary64
507×associate-*l*_binary64
400×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
059494
1150486
2376482
31177482
44111482
Stop Event
node limit
Counts
144 → 136

prune104.0ms (1.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1333136
Fresh369
Picked011
Done011
Total13611147
Error
0.0b
Counts
147 → 11
Alt Table
StatusErrorProgram
0.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (cbrt.f64 512/27) (sin.f64 x))))
21.0b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
32.6b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x))))))
0.6b
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
0.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (*.f64 (sin.f64 (*.f64 1/2 x)) (cbrt.f64 512/27)) (sin.f64 x)))
30.0b
(fma.f64 (pow.f64 x 3) 1/18 (fma.f64 (pow.f64 x 5) 1/180 (*.f64 x 2/3)))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
34.4b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
0.6b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 x) 8/3))) 1)
0.3b
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))))
40.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 x) 8/3))))) 1)
Compiler

Compiled 2976 to 2234 computations (24.9% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2))))
0.2b
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))))
0.2b
(/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))

series27.0ms (0.4%)

Counts
3 → 36
Calls

3 calls:

13.0ms
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))))
7.0ms
(*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2))))
6.0ms
(/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
554×log-prod_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
182×prod-diff_binary64
167×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01047
121445
2282245
Stop Event
node limit
Counts
3 → 108
Calls

3 calls:

57.0ms
(*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2))))
57.0ms
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))))
57.0ms
(/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
696×fma-def_binary64
520×cancel-sign-sub-inv_binary64
276×unswap-sqr_binary64
258×fma-neg_binary64
237×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060498
1156498
2397490
31316486
44245486
Stop Event
node limit
Counts
144 → 136

prune136.0ms (2.1%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1342136
Fresh358
Picked011
Done022
Total13710147
Error
0b
Counts
147 → 10
Alt Table
StatusErrorProgram
0.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (cbrt.f64 512/27) (sin.f64 x))))
21.0b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
32.6b
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)) (/.f64 8/3 (sin.f64 x))))))
0.6b
(*.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (sin.f64 (*.f64 x 1/2))) 3)))
30.0b
(fma.f64 (pow.f64 x 3) 1/18 (fma.f64 (pow.f64 x 5) 1/180 (*.f64 x 2/3)))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (neg.f64 (*.f64 8/3 (sin.f64 (*.f64 x 1/2)))) (neg.f64 (sin.f64 x))))
40.9b
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (/.f64 (*.f64 (sin.f64 x) 3/8) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))))) 1)
0.6b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 (sin.f64 x) 8/3))) 1)
0.3b
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))))
0.4b
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 3/8 (log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2))))))))
Compiler

Compiled 2737 to 2101 computations (23.2% saved)

regimes416.0ms (6.4%)

Accuracy

Total 0.3b remaining (86.3%)

Threshold costs 0.3b (86.3%)

Counts
185 → 1
Compiler

Compiled 6200 to 5136 computations (17.2% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
11222
Stop Event
saturated

end178.0ms (2.7%)

Compiler

Compiled 216 to 179 computations (17.1% saved)

Profiling

Loading profile data...