Details

Time bar (total: 9.7s)

analyze2.9s (30.4%)

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.1s (21.7%)

Symmetry

(sort m n)

Results
1.7s8089×body128valid
101.0ms117×body1024invalid
72.0ms68×body1024valid
63.0ms308×body128invalid
41.0ms60×body512invalid
34.0ms59×body512valid
31.0ms29×body2048invalid
20.0ms57×body256invalid
14.0ms39×body256valid
1.0msbody2048valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify59.0ms (0.6%)

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

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series99.0ms (1%)

Counts
4 → 180
Calls

4 calls:

43.0ms
(+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)
26.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
16.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
14.0ms
(-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)

rewrite93.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
851×prod-diff_binary64
199×add-sqr-sqrt_binary64
194×log1p-expm1-u_binary64
194×expm1-log1p-u_binary64
186×add-log-exp_binary64
Counts
4 → 120
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01657
138457
2484757
3654457
000
100

simplify123.0ms (1.3%)

Algorithm
egg-herbie
Rules
836×fma-neg_binary64
566×associate--l+_binary64
566×cancel-sign-sub-inv_binary64
232×fma-def_binary64
221×associate-*r*_binary64
Counts
300 → 206
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01904422
16183915
221873816
346183810
452533810

prune219.0ms (2.3%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2024206
Fresh000
Picked101
Done000
Total2034207
Error
0.8b
Counts
207 → 4
Alt Table
StatusErrorProgram
1.0b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (sqrt.f64 (pow.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))))
15.7b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 2) (cbrt.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))))
10.3b
(*.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 8586 to 4283 computations (50.1% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series7.0ms (0.1%)

Counts
1 → 36
Calls

1 calls:

7.0ms
(-.f64 (/.f64 (+.f64 m n) 2) M)

rewrite109.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
955×prod-diff_binary64
696×fma-udef_binary64
223×fma-neg_binary64
175×expm1-udef_binary64
175×log1p-udef_binary64
Counts
1 → 58
Calls

1 calls:

108.0ms
(-.f64 (/.f64 (+.f64 m n) 2) M)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
118810
2251610
3466510
4456110
5502310
000
100

simplify39.0ms (0.4%)

Algorithm
egg-herbie
Rules
250×fma-def_binary64
241×fma-neg_binary64
86×cancel-sign-sub-inv_binary64
46×sub-neg_binary64
40×associate--r+_binary64
Counts
94 → 68
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013313
127313
244313
368313
4108313
5167313
6315313
7433313
8508313
9555313
10567313
11569313
12541313

prune180.0ms (1.9%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1620162
Fresh033
Picked011
Done000
Total1624166
Error
0.8b
Counts
166 → 4
Alt Table
StatusErrorProgram
1.0b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (sqrt.f64 (pow.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))))
15.7b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) 2) (cbrt.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))))
10.3b
(*.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 4741 to 2360 computations (50.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series6.0ms (0.1%)

Counts
1 → 8
Calls

1 calls:

6.0ms
(cos.f64 (*.f64 1/2 (*.f64 K m)))

rewrite41.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
597×log1p-expm1-u_binary64
597×expm1-log1p-u_binary64
343×log-prod_binary64
324×prod-diff_binary64
126×expm1-udef_binary64
Counts
1 → 22
Calls

1 calls:

41.0ms
(cos.f64 (*.f64 1/2 (*.f64 K m)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11409
215759
351579
000
100

simplify71.0ms (0.7%)

Algorithm
egg-herbie
Rules
612×distribute-rgt-neg-in_binary64
529×distribute-lft-neg-in_binary64
489×fma-def_binary64
356×cancel-sign-sub-inv_binary64
353×*-commutative_binary64
Counts
30 → 29
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
027184
175176
2221168
3928164
42389152
53661146
64943128
74908128

prune231.0ms (2.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1901191
Fresh112
Picked011
Done011
Total1914195
Error
0.8b
Counts
195 → 4
Alt Table
StatusErrorProgram
10.4b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.0b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (sqrt.f64 (pow.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))))
10.3b
(*.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 6256 to 3349 computations (46.5% saved)

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))
0.8b
(log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))))
1.1b
(cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))
30.2b
(cos.f64 (*.f64 1/2 (*.f64 K m)))

series2.2s (23.1%)

Counts
3 → 72
Calls

3 calls:

1.2s
(log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))))
564.0ms
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))
436.0ms
(cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
854×log1p-expm1-u_binary64
854×expm1-log1p-u_binary64
341×prod-diff_binary64
102×add-sqr-sqrt_binary64
97×add-log-exp_binary64
Counts
3 → 63
Calls

3 calls:

56.0ms
(*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))
55.0ms
(log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))))
55.0ms
(cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01147
121142
2227942
3580642
000
100

simplify103.0ms (1.1%)

Algorithm
egg-herbie
Rules
736×distribute-rgt-neg-in_binary64
699×distribute-lft-neg-in_binary64
615×associate-*r*_binary64
551×associate-*l*_binary64
264×cancel-sign-sub-inv_binary64
Counts
135 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0721616
12121532
26841320
331801320
449291320
549761320
649361320

prune405.0ms (4.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2381239
Fresh011
Picked011
Done112
Total2394243
Error
0.8b
Counts
243 → 4
Alt Table
StatusErrorProgram
10.4b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.0b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
10.4b
(*.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m))))))) (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (*.f64 K m)))))) 3))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.6b
(*.f64 (sqrt.f64 (pow.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))))
Compiler

Compiled 12399 to 7955 computations (35.8% saved)

regimes358.0ms (3.7%)

Accuracy

Total 0.1b remaining (10.9%)

Threshold costs 0.1b (10.9%)

Counts
54 → 1
Compiler

Compiled 9284 to 6720 computations (27.6% saved)

simplify4.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
01726
13026
24626
36126
47026
57326
67226

end124.0ms (1.3%)

Remove

(sort m n)

Compiler

Compiled 254 to 184 computations (27.6% saved)

Profiling

Loading profile data...