Details

Time bar (total: 8.1s)

analyze1.1s (13.2%)

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
0%99.9%0.1%6
18.7%81.2%0.1%7
32.8%67.1%0.1%8
38.2%61.7%0.1%9
41%58.9%0.1%10
43.9%56%0.1%11
45.4%54.5%0.1%12
46.9%53%0.1%13
47.6%52.3%0.1%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample79.0ms (1%)

Algorithm
intervals
Results
24.0ms32×body2048valid
20.0ms38×body1024valid
13.0ms142×body128valid
7.0ms25×body512valid
4.0ms18×body256valid
2.0msbody4096valid
Compiler

Compiled 33 to 25 computations (24.2% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
11220
21420
31420

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
36.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
36.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 45 to 33 computations (26.7% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 x (*.f64 y 2))
7.7b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.0b
(tan.f64 (/.f64 x (*.f64 y 2)))
28.2b
(sin.f64 (/.f64 x (*.f64 y 2)))

rewrite35.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
14×*-un-lft-identity_binary64
14×add-sqr-sqrt_binary64
14×add-cube-cbrt_binary64
12×times-frac_binary64
11×add-cbrt-cube_binary64
Counts
4 → 72
Calls

4 calls:

27.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
3.0ms
(/.f64 x (*.f64 y 2))
1.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))
1.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))

series151.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

87.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
34.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))
23.0ms
(/.f64 x (*.f64 y 2))
7.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))

simplify115.0ms (1.4%)

Algorithm
egg-herbie
Rules
751×times-frac_binary64
477×associate-/l*_binary64
353×associate-/r*_binary64
284×unswap-sqr_binary64
222×fma-neg_binary64
Counts
168 → 216
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01733106
13722919
210042853
341302826
449532826

prune151.0ms (1.9%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New19323216
Fresh000
Picked101
Done000
Total19423217
Error
25.2b
Counts
217 → 23
Alt Table
StatusErrorProgram
59.9b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
36.8b
(/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
59.2b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
57.7b
(/.f64 (tan.f64 (exp.f64 (-.f64 (log.f64 x) (log.f64 (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
37.0b
(/.f64 (tan.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (*.f64 y 2) (cbrt.f64 x)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.8b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
49.8b
(*.f64 (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
52.7b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.0b
(/.f64 (tan.f64 (*.f64 (/.f64 (sqrt.f64 x) y) (/.f64 (sqrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.7b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
36.8b
(/.f64 (tan.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) y) (/.f64 (cbrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
49.7b
(/.f64 (tan.f64 (*.f64 (sqrt.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
53.6b
(/.f64 (tan.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 x (*.f64 y 2)) (/.f64 x (*.f64 y 2))) (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.6b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(/.f64 (tan.f64 (expm1.f64 (log1p.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.4b
1
49.7b
(/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))
36.1b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.4b
(/.f64 (tan.f64 (*.f64 x (/.f64 1/2 y))) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 3383 to 2412 computations (28.7% saved)

localize0.0ms (0%)

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune34.0ms (0.4%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New000
Fresh02222
Picked011
Done000
Total02323
Error
25.2b
Counts
23 → 23
Alt Table
StatusErrorProgram
59.9b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
36.8b
(/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
59.2b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
57.7b
(/.f64 (tan.f64 (exp.f64 (-.f64 (log.f64 x) (log.f64 (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
37.0b
(/.f64 (tan.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (*.f64 y 2) (cbrt.f64 x)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.8b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
49.8b
(*.f64 (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
52.7b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.0b
(/.f64 (tan.f64 (*.f64 (/.f64 (sqrt.f64 x) y) (/.f64 (sqrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.7b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
36.8b
(/.f64 (tan.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) y) (/.f64 (cbrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
49.7b
(/.f64 (tan.f64 (*.f64 (sqrt.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
53.6b
(/.f64 (tan.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 x (*.f64 y 2)) (/.f64 x (*.f64 y 2))) (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.6b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(/.f64 (tan.f64 (expm1.f64 (log1p.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.4b
1
49.7b
(/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))
36.1b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.4b
(/.f64 (tan.f64 (*.f64 x (/.f64 1/2 y))) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 1113 to 813 computations (27% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.0b
(cos.f64 (*.f64 1/2 (/.f64 x y)))
28.2b
(sin.f64 (/.f64 x (*.f64 y 2)))
28.2b
(sin.f64 (*.f64 1/2 (/.f64 x y)))

rewrite13.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
75×times-frac_binary64
45×*-un-lft-identity_binary64
45×add-sqr-sqrt_binary64
45×add-cube-cbrt_binary64
13×associate-/l*_binary64
Counts
3 → 90
Calls

3 calls:

5.0ms
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
1.0ms
(sin.f64 (*.f64 1/2 (/.f64 x y)))
1.0ms
(cos.f64 (*.f64 1/2 (/.f64 x y)))

series76.0ms (0.9%)

Counts
3 → 48
Calls

3 calls:

44.0ms
(sin.f64 (*.f64 1/2 (/.f64 x y)))
26.0ms
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
6.0ms
(cos.f64 (*.f64 1/2 (/.f64 x y)))

simplify156.0ms (1.9%)

Algorithm
egg-herbie
Rules
600×times-frac_binary64
413×associate-/r*_binary64
382×associate-/l/_binary64
379×associate-/l*_binary64
359×fma-neg_binary64
Counts
138 → 194
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02185292
15065035
212454984
342174930
449444930

prune272.0ms (3.4%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New2298237
Fresh71421
Picked101
Done011
Total23723260
Error
25.2b
Counts
260 → 23
Alt Table
StatusErrorProgram
36.7b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (/.f64 (/.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (sin.f64 (/.f64 x (*.f64 y 2)))))
49.7b
(/.f64 (tan.f64 (*.f64 (sqrt.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
59.9b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
36.8b
(/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
53.6b
(/.f64 (tan.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 x (*.f64 y 2)) (/.f64 x (*.f64 y 2))) (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.1b
(/.f64 (tan.f64 (expm1.f64 (log1p.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.4b
1
50.0b
(*.f64 (/.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sqrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
36.6b
(/.f64 (/.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
52.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.0b
(/.f64 (tan.f64 (*.f64 (/.f64 (sqrt.f64 x) y) (/.f64 (sqrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
36.8b
(/.f64 (tan.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) y) (/.f64 (cbrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
57.7b
(/.f64 (tan.f64 (exp.f64 (-.f64 (log.f64 x) (log.f64 (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
37.0b
(/.f64 (tan.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (*.f64 y 2) (cbrt.f64 x)))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (fma.f64 (*.f64 (/.f64 x y) (/.f64 x y)) -1/8 1)) (sin.f64 (/.f64 x (*.f64 y 2))))
36.4b
(/.f64 (tan.f64 (*.f64 x (/.f64 1/2 y))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.8b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 6523 to 4295 computations (34.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.0b
(cos.f64 (*.f64 1/2 (/.f64 x y)))
28.2b
(sin.f64 (/.f64 x (*.f64 y 2)))
28.2b
(sin.f64 (*.f64 1/2 (/.f64 x y)))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
159×times-frac_binary64
83×*-un-lft-identity_binary64
83×add-sqr-sqrt_binary64
83×add-cube-cbrt_binary64
48×log-pow_binary64
Counts
1 → 120
Calls

1 calls:

7.0ms
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))

series433.0ms (5.3%)

Counts
1 → 24
Calls

1 calls:

433.0ms
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))

simplify269.0ms (3.3%)

Algorithm
egg-herbie
Rules
511×associate-/l/_binary64
458×fma-def_binary64
369×distribute-rgt-in_binary64
368×associate-/r*_binary64
358×associate-/l*_binary64
Counts
144 → 283
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02727333
15037126
210637120
327377114
431907087
540707087
652857087

prune427.0ms (5.3%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New4247431
Fresh41721
Picked101
Done011
Total42925454
Error
25.2b
Counts
454 → 25
Alt Table
StatusErrorProgram
59.9b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
36.7b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (/.f64 (/.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (sin.f64 (/.f64 x (*.f64 y 2)))))
36.6b
(/.f64 (*.f64 (cbrt.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))))) (cbrt.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))))))
49.7b
(/.f64 (tan.f64 (*.f64 (sqrt.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.4b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (*.f64 1/2 (/.f64 x y)))
36.8b
(/.f64 (tan.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))))
57.7b
(/.f64 (tan.f64 (exp.f64 (-.f64 (log.f64 x) (log.f64 (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.1b
(/.f64 (tan.f64 (expm1.f64 (log1p.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
28.4b
1
36.6b
(/.f64 (/.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (cbrt.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 (/.f64 1 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
37.0b
(/.f64 (tan.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (*.f64 y 2) (cbrt.f64 x)))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y))))) (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))))
36.4b
(/.f64 (tan.f64 (*.f64 x (/.f64 1/2 y))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.8b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
52.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (cos.f64 (*.f64 1/2 (/.f64 x y)))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.0b
(/.f64 (tan.f64 (*.f64 (/.f64 (sqrt.f64 x) y) (/.f64 (sqrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
36.8b
(/.f64 (tan.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) y) (/.f64 (cbrt.f64 x) 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
36.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
53.6b
(/.f64 (tan.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 x (*.f64 y 2)) (/.f64 x (*.f64 y 2))) (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.7b
(/.f64 (/.f64 (sin.f64 (*.f64 1/2 (/.f64 x y))) (fma.f64 (*.f64 (/.f64 x y) (/.f64 x y)) -1/8 1)) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 11163 to 7463 computations (33.1% saved)

regimes1.4s (16.7%)

Accuracy

Total 2.8b remaining (9.9%)

Threshold costs 0b (0%)

Compiler

Compiled 20527 to 14668 computations (28.5% saved)

bsearch6.0ms (0.1%)

Compiler

Compiled 5 to 4 computations (20% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01726
12126
22026

end1.0ms (0%)

Compiler

Compiled 19 to 16 computations (15.8% saved)

sample3.4s (41.8%)

Algorithm
intervals
Results
966.0ms1139×body2048valid
613.0ms1311×body1024valid
505.0ms4237×body128valid
279.0ms457×body256valid
249.0ms851×body512valid
12.0msbody4096valid
Compiler

Compiled 901 to 638 computations (29.2% saved)

Profiling

Loading profile data...