Details

Time bar (total: 17.0s)

analyze2.9s (16.8%)

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.3s (13.4%)

Symmetry

(sort m n)

Results
1.8s8092×body128valid
97.0ms113×body1024invalid
67.0ms305×body128invalid
57.0ms20×body2048invalid
55.0ms67×body1024valid
49.0ms86×body512invalid
32.0ms58×body512valid
16.0ms44×body256invalid
14.0ms36×body256valid
4.0msbody2048valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify62.0ms (0.4%)

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
15.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
15.6b
(*.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.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 K (+.f64 m n))
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
0.0b
(*.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))))
35.9b
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))

series316.0ms (1.9%)

Counts
4 → 180
Calls

4 calls:

272.0ms
(*.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))))
22.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
15.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
6.0ms
(*.f64 K (+.f64 m n))

rewrite68.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
252×log1p-expm1-u_binary64
252×expm1-log1p-u_binary64
243×add-log-exp_binary64
241×add-cube-cbrt_binary64
241×add-cbrt-cube_binary64
Counts
4 → 67
Calls

4 calls:

66.0ms
(*.f64 K (+.f64 m n))
66.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
66.0ms
(*.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))))
66.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02178
150278
2483178
3503378

simplify171.0ms (1%)

Algorithm
egg-herbie
Rules
897×fma-def_binary64
368×associate-+l+_binary64
365×*-commutative_binary64
298×associate-*r*_binary64
197×associate--r+_binary64
Counts
247 → 172
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
062413345
1218012084
2516412084

prune319.0ms (1.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1657172
Fresh000
Picked101
Done000
Total1667173
Error
1.5b
Counts
173 → 7
Alt Table
StatusErrorProgram
15.6b
(*.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))))
2.1b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
11.9b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (log.f64 (+.f64 1 (expm1.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))))
29.8b
(*.f64 (cos.f64 (-.f64 (/.f64 (expm1.f64 (log1p.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))))
43.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 K (+.f64 m n)) 3) 1/3) 2) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(cbrt.f64 (pow.f64 (*.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)))) 3))
Compiler

Compiled 16653 to 8256 computations (50.4% saved)

localize15.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)

prune61.0ms (0.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New38038
Fresh066
Picked011
Done000
Total38745
Error
1.5b
Counts
45 → 7
Alt Table
StatusErrorProgram
15.6b
(*.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))))
2.1b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
11.9b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (log.f64 (+.f64 1 (expm1.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))))
29.8b
(*.f64 (cos.f64 (-.f64 (/.f64 (expm1.f64 (log1p.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))))
43.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 K (+.f64 m n)) 3) 1/3) 2) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(cbrt.f64 (pow.f64 (*.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)))) 3))
Compiler

Compiled 1381 to 749 computations (45.8% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 n K))
0.0b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (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.0b
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))

series241.0ms (1.4%)

Counts
3 → 72
Calls

3 calls:

227.0ms
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.0ms
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))
4.0ms
(*.f64 1/2 (*.f64 n K))

rewrite64.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
255×log1p-expm1-u_binary64
255×expm1-log1p-u_binary64
246×add-log-exp_binary64
244×add-cube-cbrt_binary64
244×add-cbrt-cube_binary64
Counts
3 → 48
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02259
151459
2481859
3501159

simplify125.0ms (0.7%)

Algorithm
egg-herbie
Rules
719×associate-*l*_binary64
637×fma-def_binary64
389×associate-+r+_binary64
260×associate-+l+_binary64
257×*-commutative_binary64
Counts
120 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04449097
115157965
252687965

prune305.0ms (1.8%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1424146
Fresh145
Picked101
Done101
Total1458153
Error
1.5b
Counts
153 → 8
Alt Table
StatusErrorProgram
34.0b
(*.f64 (cos.f64 (-.f64 (pow.f64 (*.f64 1/8 (pow.f64 (*.f64 n K) 3)) 1/3) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (log.f64 (+.f64 1 (expm1.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))))
15.6b
(*.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.9b
(log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (*.f64 (+.f64 n m) 1/2) M) 2) l)))))
43.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 K (+.f64 m n)) 3) 1/3) 2) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
23.3b
(*.f64 (cos.f64 (-.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 n K)))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(cbrt.f64 (pow.f64 (*.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)))) 3))
12.0b
(*.f64 (cos.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 n K))) 3) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 12111 to 6073 computations (49.9% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series8.1s (47.8%)

Counts
3 → 108
Calls

3 calls:

8.1s
(log.f64 (pow.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (*.f64 (+.f64 n m) 1/2) M) 2) l)))))
36.0ms
(pow.f64 (-.f64 (*.f64 (+.f64 n m) 1/2) M) 2)
21.0ms
(exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)))

rewrite39.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
271×log1p-expm1-u_binary64
271×expm1-log1p-u_binary64
263×add-log-exp_binary64
260×add-exp-log_binary64
259×add-cube-cbrt_binary64
Counts
3 → 52
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02467
154767
2505767

simplify295.0ms (1.7%)

Algorithm
egg-herbie
Rules
632×*-commutative_binary64
560×associate-*r*_binary64
218×+-commutative_binary64
213×fma-neg_binary64
203×fma-def_binary64
Counts
160 → 144
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
097916368
1310515619
2496415617
3512015617

prune531.0ms (3.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1781179
Fresh077
Picked101
Done000
Total1798187
Error
1.5b
Counts
187 → 8
Alt Table
StatusErrorProgram
34.0b
(*.f64 (cos.f64 (-.f64 (pow.f64 (*.f64 1/8 (pow.f64 (*.f64 n K) 3)) 1/3) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (log.f64 (+.f64 1 (expm1.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))))
15.6b
(*.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))))
43.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (pow.f64 (pow.f64 (*.f64 K (+.f64 m n)) 3) 1/3) 2) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.9b
(log.f64 (pow.f64 (expm1.f64 (log1p.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (*.f64 (+.f64 n m) 1/2) M) 2) l)))))
23.3b
(*.f64 (cos.f64 (-.f64 (expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 n K)))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(cbrt.f64 (pow.f64 (*.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)))) 3))
12.0b
(*.f64 (cos.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 n K))) 3) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 22300 to 11480 computations (48.5% saved)

regimes795.0ms (4.7%)

Accuracy

Total 0.1b remaining (9.5%)

Threshold costs 0.1b (9.5%)

Counts
112 → 1
Compiler

Compiled 21110 to 15120 computations (28.4% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02347
13547
25347
36847
47747
58047
68047

end255.0ms (1.5%)

Remove

(sort m n)

Compiler

Compiled 423 to 299 computations (29.3% saved)

Profiling

Loading profile data...