Details

Time bar (total: 7.1s)

analyze1.2s (16.9%)

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 (51.8%)

Results
2.0s2067×body1024valid
891.0ms4587×body128valid
523.0ms1043×body512valid
208.0ms550×body256valid
22.0msbody2048valid
Compiler

Compiled 36 to 30 computations (16.7% saved)

preprocess21.0ms (0.3%)

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
011
Stop Event
saturated
saturated
Compiler

Compiled 17 to 14 computations (17.6% saved)

simplify9.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
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
15.3b
(/.f64 (*.f64 (*.f64 (/.f64 8 3) (sin.f64 (*.f64 x 1/2))) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
Compiler

Compiled 95 to 76 computations (20% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 (*.f64 x 1/2))
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))
0.4b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))

series26.0ms (0.4%)

Counts
4 → 40
Calls

12 calls:

6.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
x
inf
5.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
x
-inf
3.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))
x
-inf
3.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))
x
inf
2.0ms
(/.f64 8/3 (sin.f64 x))
x
-inf

rewrite50.0ms (0.7%)

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
01048
120943
2251743
Stop Event
node limit
Counts
4 → 104

simplify40.0ms (0.6%)

Algorithm
egg-herbie
Rules
749×fma-neg_binary64
592×associate-*l*_binary64
517×unswap-sqr_binary64
438×associate-*r*_binary64
281×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073525
1181515
2465507
31440507
43792507
Stop Event
node limit
Counts
144 → 140

prune168.0ms (2.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New16111172
Fresh101
Picked101
Done000
Total16311174
Error
0.0b
Counts
174 → 11
Alt Table
StatusErrorProgram
15.4b
(+.f64 0 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
17.1b
(*.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))))))
1.1b
(*.f64 (sin.f64 (*.f64 x 1/2)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x)))) 3))
15.6b
(*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 x 1/2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
15.3b
(/.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2) (*.f64 (sin.f64 x) 3/8))
40.7b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
19.7b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))) 3)))
31.1b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
16.0b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))) 3)
15.3b
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
Compiler

Compiled 3417 to 2634 computations (22.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series39.0ms (0.5%)

Counts
4 → 48
Calls

12 calls:

8.0ms
(/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)))
x
-inf
6.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)
x
-inf
5.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
x
inf
5.0ms
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
x
-inf
3.0ms
(/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))
x
-inf

rewrite72.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
627×log-prod_binary64
211×expm1-udef_binary64
211×log1p-udef_binary64
186×log-pow_binary64
182×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01262
125159
2320259
Stop Event
node limit
Counts
4 → 140

simplify108.0ms (1.5%)

Algorithm
egg-herbie
Rules
443×cancel-sign-sub-inv_binary64
433×distribute-rgt-neg-in_binary64
276×unswap-sqr_binary64
266×fma-neg_binary64
263×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
074658
1190650
2486642
31602642
43766642
Stop Event
node limit
Counts
188 → 176

prune172.0ms (2.4%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1706176
Fresh5510
Picked011
Done000
Total17512187
Error
0b
Counts
187 → 12
Alt Table
StatusErrorProgram
1.4b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3))))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
16.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (sin.f64 x) 2))) (/.f64 8/3 (cbrt.f64 (sin.f64 x)))))
11.7b
(expm1.f64 (log1p.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))))
19.7b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 3) (pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))) 3)))
0.9b
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))))
15.6b
(*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 x 1/2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))) (*.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 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))
40.7b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
31.1b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
0.5b
(/.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 x)) (/.f64 3/8 (sin.f64 (*.f64 x 1/2))))
15.3b
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
Compiler

Compiled 3922 to 3012 computations (23.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series24.0ms (0.3%)

Counts
3 → 36
Calls

9 calls:

5.0ms
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))
x
-inf
5.0ms
(/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))
x
inf
3.0ms
(*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2))))
x
-inf
3.0ms
(*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2))))
x
inf
2.0ms
(/.f64 3/8 (sin.f64 (*.f64 x 1/2)))
x
-inf

rewrite55.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
542×log-prod_binary64
192×expm1-udef_binary64
192×log1p-udef_binary64
182×prod-diff_binary64
166×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01045
121543
2279743
Stop Event
node limit
Counts
3 → 99

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
647×fma-def_binary64
542×associate-*l*_binary64
517×unswap-sqr_binary64
458×associate-*r*_binary64
265×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064485
1155483
2377475
31167473
44383473
Stop Event
node limit
Counts
135 → 127

prune202.0ms (2.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1892191
Fresh2810
Picked101
Done011
Total19211203
Error
0b
Counts
203 → 11
Alt Table
StatusErrorProgram
40.7b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
0.4b
(/.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3)))
1.4b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3))))
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
16.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (sin.f64 x) 2))) (/.f64 8/3 (cbrt.f64 (sin.f64 x)))))
0.9b
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))))
15.4b
(*.f64 (/.f64 1 (sin.f64 x)) (/.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))
31.1b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
0.5b
(/.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 x)) (/.f64 3/8 (sin.f64 (*.f64 x 1/2))))
15.3b
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
15.6b
(*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 x 1/2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
Compiler

Compiled 3941 to 3039 computations (22.9% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series25.0ms (0.4%)

Counts
2 → 24
Calls

6 calls:

7.0ms
(pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3)
x
inf
7.0ms
(pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3)
x
-inf
5.0ms
(cbrt.f64 (pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3))
x
inf
3.0ms
(cbrt.f64 (pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3))
x
-inf
1.0ms
(pow.f64 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3)) 3)
x
0

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
541×log-prod_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
173×prod-diff_binary64
171×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
125031
2290931
Stop Event
node limit
Counts
2 → 102

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
447×associate-*l*_binary64
408×fma-def_binary64
407×associate-*r*_binary64
318×cancel-sign-sub-inv_binary64
264×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
045376
1118376
2326368
31176340
Stop Event
node limit
Counts
126 → 119

prune202.0ms (2.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1941195
Fresh189
Picked101
Done011
Total19610206
Error
0b
Counts
206 → 10
Alt Table
StatusErrorProgram
0.5b
(/.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (*.f64 3/8 (/.f64 (sin.f64 x) (sin.f64 (*.f64 x 1/2)))) 3)))
0.9b
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (sin.f64 x) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))))
40.7b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 8/3 (sin.f64 x)) (pow.f64 (sin.f64 (*.f64 x 1/2)) 2)))) 1)
0.5b
(*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 1 (/.f64 (sin.f64 x) (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3))))
16.7b
(*.f64 (sin.f64 (*.f64 x 1/2)) (*.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (cbrt.f64 (pow.f64 (sin.f64 x) 2))) (/.f64 8/3 (cbrt.f64 (sin.f64 x)))))
15.4b
(*.f64 (/.f64 1 (sin.f64 x)) (/.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 3/8 (sin.f64 (*.f64 x 1/2)))))
31.1b
(pow.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) (sqrt.f64 (/.f64 8/3 (sin.f64 x)))) 2)
0.5b
(/.f64 (/.f64 (sin.f64 (*.f64 x 1/2)) (sin.f64 x)) (/.f64 3/8 (sin.f64 (*.f64 x 1/2))))
15.3b
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 x 1/2)) 8/3) (sin.f64 (*.f64 x 1/2))) (sin.f64 x))
15.6b
(*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 x 1/2))) (cbrt.f64 (pow.f64 (sin.f64 (*.f64 x 1/2)) 2))) (*.f64 (sin.f64 (*.f64 x 1/2)) (/.f64 8/3 (sin.f64 x))))
Compiler

Compiled 4423 to 3377 computations (23.6% saved)

regimes693.0ms (9.7%)

Accuracy

Total 0.3b remaining (90%)

Threshold costs 0.3b (90%)

Counts
290 → 1
Compiler

Compiled 9886 to 8182 computations (17.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
11425
Stop Event
saturated

end159.0ms (2.2%)

Stop Event
fuel
Compiler

Compiled 208 to 171 computations (17.8% saved)

Profiling

Loading profile data...