Details

Time bar (total: 4.3s)

analyze629.0ms (14.5%)

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
25%74.9%0.1%7
37.4%62.4%0.1%8
37.4%62.4%0.1%9
56.2%43.7%0.1%10
65.5%34.3%0.1%11
65.5%34.3%0.1%12
76.5%23.4%0.1%13
81.9%17.9%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.2s (51%)

Results
908.0ms1315×body1024valid
886.0ms5886×body128valid
261.0ms663×body512valid
113.0ms391×body256valid
1.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0914
11412
22212
32612
42612

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))

series13.0ms (0.3%)

Counts
2 → 40
Calls

2 calls:

12.0ms
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
2.0ms
(cos.f64 y)

rewrite2.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 19
Calls

2 calls:

1.0ms
(cos.f64 y)
0.0ms
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))

simplify58.0ms (1.3%)

Algorithm
egg-herbie
Rules
665×fma-def_binary64
630×associate-*l*_binary64
546×cancel-sign-sub-inv_binary64
440×unswap-sqr_binary64
289×distribute-rgt-in_binary64
Counts
59 → 50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061689
1128651
2327644
31051640
44040640
54979640

prune37.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New46450
Fresh000
Picked011
Done000
Total46551
Error
0.0b
Counts
51 → 5
Alt Table
StatusErrorProgram
1.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y))))) (cbrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
31.5b
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
Compiler

Compiled 774 to 268 computations (65.4% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
0.4b
(cbrt.f64 (pow.f64 (cos.f64 y) 3))
0.4b
(pow.f64 (cos.f64 y) 3)

series25.0ms (0.6%)

Counts
3 → 52
Calls

3 calls:

17.0ms
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
5.0ms
(pow.f64 (cos.f64 y) 3)
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 3))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cube-prod_binary64
Counts
3 → 58
Calls

3 calls:

2.0ms
(pow.f64 (cos.f64 y) 3)
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 3))
0.0ms
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))

simplify59.0ms (1.4%)

Algorithm
egg-herbie
Rules
429×distribute-rgt-in_binary64
424×associate-*l*_binary64
368×associate-*r*_binary64
368×fma-neg_binary64
226×exp-prod_binary64
Counts
110 → 101
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01081101
12181039
26391012
325011012
451561012

prune86.0ms (2%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1162118
Fresh123
Picked011
Done011
Total1176123
Error
0.0b
Counts
123 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
37.4b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))))
0.2b
(fma.f64 z (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
31.5b
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
Compiler

Compiled 1980 to 897 computations (54.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.1b
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
0.1b
(exp.f64 (cos.f64 y))
0.4b
(log.f64 (exp.f64 (cos.f64 y)))

series18.0ms (0.4%)

Counts
3 → 52
Calls

3 calls:

14.0ms
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
2.0ms
(exp.f64 (cos.f64 y))
2.0ms
(log.f64 (exp.f64 (cos.f64 y)))

rewrite4.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
exp-prod_binary64
add-cube-cbrt_binary64
add-log-exp_binary64
Counts
3 → 40
Calls

3 calls:

2.0ms
(log.f64 (exp.f64 (cos.f64 y)))
1.0ms
(exp.f64 (cos.f64 y))
0.0ms
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))

simplify68.0ms (1.6%)

Algorithm
egg-herbie
Rules
611×distribute-rgt-neg-in_binary64
490×fma-neg_binary64
389×sub-neg_binary64
381×*-commutative_binary64
292×distribute-rgt-in_binary64
Counts
92 → 91
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
097968
1195911
2498896
31619889
43976889
54972889

prune84.0ms (1.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1080108
Fresh033
Picked011
Done022
Total1086114
Error
0.0b
Counts
114 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
37.4b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))))
0.2b
(fma.f64 z (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
31.5b
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
Compiler

Compiled 1733 to 619 computations (64.3% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y)))
0.3b
(pow.f64 (cos.f64 y) 2)
0.3b
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
0.4b
(cbrt.f64 (cos.f64 y))

series399.0ms (9.2%)

Counts
4 → 40
Calls

4 calls:

218.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
176.0ms
(cbrt.f64 (cos.f64 y))
3.0ms
(pow.f64 (cos.f64 y) 2)
2.0ms
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y)))

rewrite13.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
37×cbrt-prod_binary64
30×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
11×associate-*l*_binary64
Counts
4 → 94
Calls

4 calls:

6.0ms
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y)))
2.0ms
(pow.f64 (cos.f64 y) 2)
1.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
1.0ms
(cbrt.f64 (cos.f64 y))

simplify119.0ms (2.8%)

Algorithm
egg-herbie
Rules
996×fma-neg_binary64
279×associate-+l+_binary64
276×log-prod_binary64
275×exp-prod_binary64
225×*-commutative_binary64
Counts
134 → 156
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01411473
12911436
28581391
319981027
43708999
54642999
64900999
74923999

prune166.0ms (3.8%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New1551156
Fresh022
Picked011
Done033
Total1557162
Error
0.0b
Counts
162 → 7
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))
37.4b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))) (fma.f64 z (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (+.f64 x (sin.f64 y)))))
0.2b
(fma.f64 z (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (cbrt.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))
0.2b
(fma.f64 z (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))) (cbrt.f64 (cos.f64 y)))) (+.f64 x (sin.f64 y)))
0.1b
(fma.f64 z (log.f64 (exp.f64 (cos.f64 y))) (+.f64 x (sin.f64 y)))
31.5b
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (+.f64 x (sin.f64 y)))))
Compiler

Compiled 3273 to 1401 computations (57.2% saved)

regimes174.0ms (4%)

Accuracy

Total 0.0b remaining (52.6%)

Threshold costs 0.0b (52.6%)

Counts
39 → 1
Compiler

Compiled 2432 to 1522 computations (37.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
2912

end112.0ms (2.6%)

Compiler

Compiled 165 to 100 computations (39.4% saved)

Profiling

Loading profile data...