Details

Time bar (total: 21.8s)

analyze4.6s (20.9%)

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
6.2%93.7%0.1%7
9.4%90.5%0.1%8
14%85.9%0.1%9
16.4%83.5%0.1%10
19.1%80.8%0.1%11
20.5%79.4%0.1%12
22%78%0.1%13
22.7%77.2%0.1%14
Compiler

Compiled 53 to 41 computations (22.6% saved)

sample9.1s (41.8%)

Results
6.1s3619×body1024valid
1.6s1477×body512valid
851.0ms2489×body128valid
449.0ms649×body256valid
68.0ms22×body2048valid
Compiler

Compiled 105 to 81 computations (22.9% saved)

simplify50.0ms (0.2%)

Algorithm
egg-herbie
Rules
770×neg-mul-1_binary64
444×distribute-rgt-neg-out_binary64
438×distribute-lft-neg-out_binary64
418×distribute-rgt-in_binary64
417×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
03380
18074
220174
362673
4226171
5446071
6542271

prune8.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))
Compiler

Compiled 295 to 218 computations (26.1% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
1.0b
(-.f64 3 (sqrt.f64 5))
1.8b
(-.f64 (cos.f64 x) (cos.f64 y))

series25.0ms (0.1%)

Counts
4 → 32
Calls

4 calls:

18.0ms
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
7.0ms
(-.f64 (cos.f64 x) (cos.f64 y))
0.0ms
(-.f64 3 (sqrt.f64 5))
0.0ms
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)

rewrite56.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
179×add-sqr-sqrt_binary64
154×*-un-lft-identity_binary64
128×add-cube-cbrt_binary64
106×times-frac_binary64
105×prod-diff_binary64
Counts
4 → 273
Calls

4 calls:

12.0ms
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
6.0ms
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
4.0ms
(-.f64 3 (sqrt.f64 5))
4.0ms
(-.f64 (cos.f64 x) (cos.f64 y))

simplify279.0ms (1.3%)

Algorithm
egg-herbie
Rules
387×cancel-sign-sub-inv_binary64
375×fma-neg_binary64
336×associate-*l*_binary64
316×associate-*r*_binary64
280×*-commutative_binary64
Counts
305 → 333
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05948679
111996233
232235425
346335425
449815425
546965425

prune787.0ms (3.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3258333
Fresh011
Picked101
Done000
Total3269335
Error
0.1b
Counts
335 → 9
Alt Table
StatusErrorProgram
0.5b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (+.f64 1 (sqrt.f64 (sqrt.f64 5))) (/.f64 (+.f64 -1 (sqrt.f64 (sqrt.f64 5))) 2/3)) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
1.1b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 5) 1)) (cbrt.f64 (-.f64 (sqrt.f64 5) 1))) (sqrt.f64 2/3)) (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 5) 1)) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (+.f64 3 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 5))) (sqrt.f64 (sqrt.f64 5))))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 y) 16)) 6))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (*.f64 (cbrt.f64 (+.f64 -1 (sqrt.f64 5))) (cbrt.f64 (+.f64 -1 (sqrt.f64 5)))) (/.f64 (cbrt.f64 (+.f64 -1 (sqrt.f64 5))) 2/3)) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (expm1.f64 (log1p.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
Compiler

Compiled 21960 to 14203 computations (35.3% saved)

localize34.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3)))
1.0b
(-.f64 3 (sqrt.f64 5))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))
1.8b
(-.f64 (cos.f64 x) (cos.f64 y))

series0.0ms (0%)

Counts
2 → 0
Calls

2 calls:

0.0ms
(/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))
0.0ms
(*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3)))

rewrite67.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
238×add-sqr-sqrt_binary64
172×times-frac_binary64
146×*-un-lft-identity_binary64
141×sqrt-prod_binary64
75×add-cube-cbrt_binary64
Counts
2 → 233
Calls

2 calls:

36.0ms
(*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3)))
8.0ms
(/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))

simplify191.0ms (0.9%)

Algorithm
egg-herbie
Rules
633×times-frac_binary64
528×cancel-sign-sub-inv_binary64
496×associate-/l*_binary64
318×sub-neg_binary64
318×fma-def_binary64
Counts
233 → 212
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01515163
13754567
212164565
331224503
440954447
552814447

prune908.0ms (4.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3062308
Fresh268
Picked011
Done000
Total3089317
Error
0.1b
Counts
317 → 9
Alt Table
StatusErrorProgram
0.5b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (+.f64 1 (sqrt.f64 (sqrt.f64 5))) (/.f64 (+.f64 -1 (sqrt.f64 (sqrt.f64 5))) 2/3)) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
1.1b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 5) 1)) (cbrt.f64 (-.f64 (sqrt.f64 5) 1))) (sqrt.f64 2/3)) (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 5) 1)) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))
0.3b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (+.f64 3 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 5))) (sqrt.f64 (sqrt.f64 5))))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 y) 16)) 6))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 (sqrt.f64 2/3)) 3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 (sqrt.f64 2/3)))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
Compiler

Compiled 19769 to 14004 computations (29.2% saved)

localize88.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3)))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))
1.8b
(-.f64 (cos.f64 x) (cos.f64 y))

prune1.3s (5.8%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4213424
Fresh257
Picked101
Done011
Total4249433
Error
0.1b
Counts
433 → 9
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 (cbrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (+.f64 3 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 5))) (sqrt.f64 (sqrt.f64 5))))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (+.f64 1 (sqrt.f64 (sqrt.f64 5))) (/.f64 (+.f64 -1 (sqrt.f64 (sqrt.f64 5))) 2/3)) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 y) 16)) 6))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))
0.8b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 (sqrt.f64 2/3)) 3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 (sqrt.f64 2/3)))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 2) (sin.f64 x)) (*.f64 -1/16 (*.f64 (sin.f64 y) (sqrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
Compiler

Compiled 30174 to 20882 computations (30.8% saved)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (sin.f64 y) (sqrt.f64 2))
1.0b
(*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3)))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))
1.8b
(-.f64 (cos.f64 x) (cos.f64 y))

series4.0ms (0%)

Counts
1 → 4
Calls

1 calls:

4.0ms
(*.f64 (sin.f64 y) (sqrt.f64 2))

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
associate-*r*_binary64
sqrt-prod_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 24
Calls

1 calls:

5.0ms
(*.f64 (sin.f64 y) (sqrt.f64 2))

simplify128.0ms (0.6%)

Algorithm
egg-herbie
Rules
561×distribute-rgt-neg-in_binary64
478×fma-def_binary64
425×cancel-sign-sub-inv_binary64
402×distribute-lft-neg-in_binary64
303×distribute-rgt-in_binary64
Counts
28 → 40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061383
1140347
2377333
3862329
42096329
53000329
64575329
74972329
84898329

prune1.6s (7.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3030303
Fresh077
Picked011
Done011
Total3039312
Error
0.1b
Counts
312 → 9
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 (cbrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.9b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (+.f64 3 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 5))) (sqrt.f64 (sqrt.f64 5))))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) (cbrt.f64 (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (+.f64 1 (sqrt.f64 (sqrt.f64 5))) (/.f64 (+.f64 -1 (sqrt.f64 (sqrt.f64 5))) 2/3)) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (sin.f64 x) (sin.f64 x)) (pow.f64 (cbrt.f64 (/.f64 (sin.f64 y) 16)) 6))) (+.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))
0.8b
(/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 (sqrt.f64 2/3)) 3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 (sqrt.f64 2/3)))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.3b
(/.f64 (fma.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 2) (sin.f64 x)) (*.f64 -1/16 (*.f64 (sin.f64 y) (sqrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (*.f64 (/.f64 1 (sqrt.f64 2/3)) (/.f64 (-.f64 (sqrt.f64 5) 1) (sqrt.f64 2/3))) (fma.f64 (cos.f64 y) (*.f64 3/2 (/.f64 4 (+.f64 3 (sqrt.f64 5)))) 3)))
Compiler

Compiled 20250 to 14634 computations (27.7% saved)

regimes2.2s (9.9%)

Accuracy

Total 0.3b remaining (69%)

Threshold costs 0.3b (69%)

Counts
331 → 1
Compiler

Compiled 56336 to 43402 computations (23% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03889
15589
26489
37089
47489
57589
67389

end376.0ms (1.7%)

Compiler

Compiled 631 to 481 computations (23.8% saved)

Profiling

Loading profile data...