Details

Time bar (total: 16.5s)

analyze1.3s (8%)

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
50%50%0.1%4
74.9%25%0.1%5
74.9%25%0.1%6
74.9%25%0.1%7
74.9%25%0.1%8
74.9%25%0.1%9
74.9%25%0.1%10
74.9%25%0.1%11
74.9%25%0.1%12
74.9%25%0.1%13
74.9%25%0.1%14
Compiler

Compiled 53 to 41 computations (22.6% saved)

sample9.2s (55.7%)

Results
6.3s3580×body1024valid
1.4s1391×body512valid
1.0s2646×body128valid
386.0ms626×body256valid
32.0ms13×body2048valid
Compiler

Compiled 158 to 122 computations (22.8% saved)

simplify49.0ms (0.3%)

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.4b
Counts
3 → 2
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 (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)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.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))
2.9b
(-.f64 (cos.f64 x) (cos.f64 y))

series24.0ms (0.1%)

Counts
4 → 32
Calls

4 calls:

17.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)

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
241×add-sqr-sqrt_binary64
237×log1p-expm1-u_binary64
237×expm1-log1p-u_binary64
232×add-log-exp_binary64
231×add-exp-log_binary64
Counts
4 → 85
Calls

4 calls:

67.0ms
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
67.0ms
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
67.0ms
(-.f64 3 (sqrt.f64 5))
67.0ms
(-.f64 (cos.f64 x) (cos.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02239
150039
2483439
3481939
000
100

simplify57.0ms (0.3%)

Algorithm
egg-herbie
Rules
819×sub-neg_binary64
783×fma-neg_binary64
287×fma-def_binary64
277×associate-+l-_binary64
267×distribute-rgt-neg-in_binary64
Counts
117 → 115
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082605
1233566
2699510
32122507
44683507
55552507

prune344.0ms (2.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1069115
Fresh011
Picked101
Done000
Total10710117
Error
0.2b
Counts
117 → 10
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (+.f64 1 (expm1.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.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))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))) 3) (-.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 (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 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.6b
(/.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) (pow.f64 (/.f64 2/3 (-.f64 (sqrt.f64 5) 1)) -1) (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 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (log.f64 (exp.f64 (-.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 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 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 (fma.f64 1 (cos.f64 x) (neg.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))) 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 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 2) (cbrt.f64 (/.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 6895 to 4570 computations (33.7% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))
1.0b
(-.f64 3 (sqrt.f64 5))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
2.9b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y)))

series644.0ms (3.9%)

Counts
1 → 24
Calls

1 calls:

644.0ms
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y)))

rewrite104.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
719×log1p-expm1-u_binary64
719×expm1-log1p-u_binary64
224×prod-diff_binary64
151×log1p-udef_binary64
110×egg-rr
Counts
1 → 110
Calls

1 calls:

101.0ms
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01010
11998
219008
349418
000
100

simplify87.0ms (0.5%)

Algorithm
egg-herbie
Rules
572×unswap-sqr_binary64
554×fma-def_binary64
449×sub-neg_binary64
425×associate-*l*_binary64
396×cancel-sign-sub-inv_binary64
Counts
134 → 124
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
040272
1109260
2321260
3946260
43371260
54726260
64960260
74939260

prune654.0ms (4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1941195
Fresh189
Picked011
Done000
Total19510205
Error
0.2b
Counts
205 → 10
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (+.f64 1 (expm1.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.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))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))) 3) (-.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 (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 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.6b
(/.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) (pow.f64 (/.f64 2/3 (-.f64 (sqrt.f64 5) 1)) -1) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (log.f64 (exp.f64 (-.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 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 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 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 2) (cbrt.f64 (/.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 12922 to 7833 computations (39.4% saved)

localize40.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 3 (sqrt.f64 5))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
2.9b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y)))
6.8b
(cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2))))

series278.0ms (1.7%)

Counts
1 → 24
Calls

1 calls:

278.0ms
(cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2))))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
538×prod-diff_binary64
257×log1p-udef_binary64
146×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
Counts
1 → 31
Calls

1 calls:

67.0ms
(cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01516
131716
2354916
3488716
000
100

simplify48.0ms (0.3%)

Algorithm
egg-herbie
Rules
473×distribute-rgt-neg-in_binary64
450×distribute-lft-neg-in_binary64
442×associate-*l*_binary64
427×associate-*r*_binary64
300×fma-def_binary64
Counts
55 → 49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059713
1174674
2586579
32399554
45291554

prune679.0ms (4.1%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2102212
Fresh178
Picked011
Done101
Total21210222
Error
0.2b
Counts
222 → 10
Alt Table
StatusErrorProgram
0.6b
(/.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) (pow.f64 (/.f64 2/3 (-.f64 (sqrt.f64 5) 1)) -1) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (pow.f64 (exp.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (sqrt.f64 2))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))) 3) (-.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 (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 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2))))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (log.f64 (exp.f64 (-.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 (cos.f64 x) (cos.f64 y)) 2) (fma.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 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 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 2) (cbrt.f64 (/.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 14928 to 9440 computations (36.8% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 3 (sqrt.f64 5))
1.0b
(/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)
2.9b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y)))
3.3b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))))

series544.0ms (3.3%)

Counts
1 → 24
Calls

1 calls:

544.0ms
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))))

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
676×prod-diff_binary64
248×log1p-udef_binary64
138×add-sqr-sqrt_binary64
137×log1p-expm1-u_binary64
137×expm1-log1p-u_binary64
Counts
1 → 39
Calls

1 calls:

59.0ms
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01516
129416
2345216
3515016
000
100

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
607×distribute-rgt-neg-in_binary64
501×sub-neg_binary64
495×cancel-sign-sub-inv_binary64
482×distribute-lft-neg-in_binary64
449×fma-neg_binary64
Counts
63 → 55
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
047461
1135434
2381378
31059375
42771373
54495373
64972373
75215373

prune664.0ms (4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2144218
Fresh358
Picked101
Done011
Total21810228
Error
0.2b
Counts
228 → 10
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2))))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (cos.f64 y))) 2) (fma.f64 (cos.f64 x) (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 3) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.5b
(/.f64 (fma.f64 (*.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.6b
(/.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) (pow.f64 (/.f64 2/3 (-.f64 (sqrt.f64 5) 1)) -1) (fma.f64 (cos.f64 y) (*.f64 3/2 (-.f64 3 (sqrt.f64 5))) 3)))
0.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (pow.f64 (exp.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (sqrt.f64 2))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) 3) (*.f64 2 (sqrt.f64 2)))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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.4b
(/.f64 (fma.f64 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2))))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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 4 (+.f64 3 (sqrt.f64 5)))) 3)))
0.5b
(/.f64 (fma.f64 (*.f64 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (sqrt.f64 2)))))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 x)) 2) (cbrt.f64 (cos.f64 x)) (neg.f64 (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 (sqrt.f64 5) 1) 2/3) (fma.f64 (cos.f64 y) (*.f64 3/2 (log.f64 (exp.f64 (-.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 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2/3)) 2) (cbrt.f64 (/.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 14633 to 9080 computations (37.9% saved)

regimes856.0ms (5.2%)

Accuracy

Total 0.3b remaining (65.2%)

Threshold costs 0.3b (65.2%)

Counts
89 → 1
Compiler

Compiled 14417 to 10777 computations (25.2% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03995
15695
27295
38395
49095
59295
69095

end533.0ms (3.2%)

Compiler

Compiled 710 to 534 computations (24.8% saved)

Profiling

Loading profile data...