Details

Time bar (total: 8.6s)

analyze2.9s (34.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
12.5%87.3%0.2%9
12.5%87.3%0.2%10
18.7%81.1%0.2%11
18.7%81.1%0.2%12
18.7%81.1%0.2%13
20.5%79.3%0.2%14
Compiler

Compiled 35 to 24 computations (31.4% saved)

sample2.5s (29.1%)

Symmetry

(sort m n)

Results
2.1s8078×body128valid
77.0ms82×body1024invalid
62.0ms278×body128invalid
55.0ms61×body1024valid
47.0ms70×body512valid
41.0ms70×body512invalid
24.0ms17×body2048invalid
19.0ms46×body256valid
18.0ms47×body256invalid
2.0msbody2048valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Rules
691×exp-prod_binary64
507×exp-sum_binary64
446×fma-neg_binary64
375×associate-*l*_binary64
251×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02245
15845
212943
338443
4126643
5402343
6494543
7501943

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
14.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
14.9b
(*.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 128 to 80 computations (37.5% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
0.0b
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
35.4b
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))

series141.0ms (1.6%)

Counts
4 → 180
Calls

4 calls:

59.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
39.0ms
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
21.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
20.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)

rewrite43.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
250×add-sqr-sqrt_binary64
243×log1p-expm1-u_binary64
243×expm1-log1p-u_binary64
234×add-log-exp_binary64
232×add-cube-cbrt_binary64
Counts
4 → 73
Calls

4 calls:

41.0ms
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
41.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
41.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
41.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
148270
2503870

simplify168.0ms (2%)

Algorithm
egg-herbie
Rules
622×associate-*r*_binary64
534×fma-def_binary64
461×associate-*l*_binary64
392×fma-neg_binary64
231×associate--l+_binary64
Counts
253 → 186
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03778722
112857628
249397626
352957626

prune251.0ms (2.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1824186
Fresh000
Picked101
Done000
Total1834187
Error
1.1b
Counts
187 → 4
Alt Table
StatusErrorProgram
34.4b
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 2) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.6b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
14.9b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 3) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.3b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 11102 to 5440 computations (51% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 M)
0.0b
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
0.0b
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)

series2.0ms (0%)

Counts
1 → 4
Calls

1 calls:

2.0ms
(cos.f64 M)

rewrite86.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
444×log1p-udef_binary64
250×log1p-expm1-u_binary64
250×expm1-log1p-u_binary64
231×add-cbrt-cube_binary64
230×add-cube-cbrt_binary64
Counts
1 → 33
Calls

1 calls:

86.0ms
(cos.f64 M)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1583
26553
347333
455973

simplify83.0ms (1%)

Algorithm
egg-herbie
Rules
1004×fma-neg_binary64
777×cancel-sign-sub-inv_binary64
431×sub-neg_binary64
308×distribute-rgt-neg-in_binary64
286×unswap-sqr_binary64
Counts
37 → 40
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02056
15352
212648
335446
4123646
5396846
6438646
7473946
8489946

prune239.0ms (2.8%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1752177
Fresh123
Picked101
Done000
Total1774181
Error
1.1b
Counts
181 → 4
Alt Table
StatusErrorProgram
34.4b
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 2) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.6b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.3b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l))))
18.1b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 M))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 M))) 3)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 8723 to 4256 computations (51.2% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)
0.0b
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)))
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)
16.3b
(cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6))

series167.0ms (1.9%)

Counts
4 → 168
Calls

4 calls:

59.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)
53.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)))
38.0ms
(+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)
17.0ms
(cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6))

rewrite83.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
968×prod-diff_binary64
199×add-sqr-sqrt_binary64
197×log1p-expm1-u_binary64
197×expm1-log1p-u_binary64
187×add-log-exp_binary64
Counts
4 → 96
Calls

4 calls:

81.0ms
(+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)
81.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l)))
81.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)
81.0ms
(cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01774
139766
2459566
3646266

simplify165.0ms (1.9%)

Algorithm
egg-herbie
Rules
631×associate-*r*_binary64
435×associate-*l*_binary64
342×associate--l+_binary64
276×associate--r+_binary64
227×+-commutative_binary64
Counts
264 → 223
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051110645
1187110152
2521810152

prune326.0ms (3.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2230223
Fresh033
Picked011
Done000
Total2234227
Error
1.1b
Counts
227 → 4
Alt Table
StatusErrorProgram
34.4b
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 2) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.6b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.3b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l))))
18.1b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 M))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cos.f64 M))) 3)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 13537 to 7352 computations (45.7% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
0.0b
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
26.1b
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))

series9.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

9.0ms
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))

rewrite110.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
821×prod-diff_binary64
545×fma-udef_binary64
324×fma-def_binary64
238×fma-neg_binary64
189×expm1-udef_binary64
Counts
1 → 52
Calls

1 calls:

109.0ms
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
119912
2251212
3467812
4460112
5506512

simplify60.0ms (0.7%)

Algorithm
egg-herbie
Rules
572×neg-mul-1_binary64
497×fma-neg_binary64
401×distribute-rgt-neg-in_binary64
397×distribute-lft-neg-in_binary64
329×associate-*r*_binary64
Counts
64 → 67
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046362
1142362
2450330
31844303
44719303
55178303

prune381.0ms (4.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1995204
Fresh202
Picked101
Done011
Total2026208
Error
1.0b
Counts
208 → 6
Alt Table
StatusErrorProgram
9.6b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))) 3) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
19.2b
(*.f64 (-.f64 (cos.f64 M) (*.f64 (*.f64 K m) (+.f64 (*.f64 (sin.f64 M) -1/2) (*.f64 (*.f64 K m) (*.f64 (cos.f64 M) 1/8))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.3b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (cbrt.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 6)) l))))
31.6b
(*.f64 (+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 K m) 2)) (fma.f64 1/2 (*.f64 K m) M))) (cos.f64 (/.f64 (*.f64 M M) (fma.f64 1/2 (*.f64 K m) M)))) (*.f64 (sin.f64 (/.f64 (*.f64 1/4 (pow.f64 (*.f64 K m) 2)) (fma.f64 1/2 (*.f64 K m) M))) (sin.f64 (/.f64 (*.f64 M M) (fma.f64 1/2 (*.f64 K m) M))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
41.8b
(*.f64 (+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 1/8 (pow.f64 (*.f64 K m) 3)) (fma.f64 M (fma.f64 1/2 (*.f64 K m) M) (*.f64 1/4 (pow.f64 (*.f64 K m) 2))))) (cos.f64 (/.f64 (pow.f64 M 3) (fma.f64 M (fma.f64 1/2 (*.f64 K m) M) (*.f64 1/4 (pow.f64 (*.f64 K m) 2)))))) (*.f64 (sin.f64 (/.f64 (*.f64 1/8 (pow.f64 (*.f64 K m) 3)) (fma.f64 M (fma.f64 1/2 (*.f64 K m) M) (*.f64 1/4 (pow.f64 (*.f64 K m) 2))))) (sin.f64 (/.f64 (pow.f64 M 3) (fma.f64 M (fma.f64 1/2 (*.f64 K m) M) (*.f64 1/4 (pow.f64 (*.f64 K m) 2))))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
28.2b
(*.f64 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)))) (sin.f64 1))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 11360 to 5744 computations (49.4% saved)

regimes509.0ms (5.9%)

Accuracy

Total 0.1b remaining (6.9%)

Threshold costs 0.1b (6.9%)

Counts
72 → 1
Compiler

Compiled 14228 to 9870 computations (30.6% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02043
13243
24943
36443
47343
57643
67643

end212.0ms (2.5%)

Remove

(sort m n)

Compiler

Compiled 473 to 312 computations (34% saved)

Profiling

Loading profile data...