Details

Time bar (total: 8.4s)

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

Symmetry

(sort m n)

Results
1.7s8110×body128valid
67.0ms315×body128invalid
66.0ms84×body1024invalid
49.0ms58×body1024valid
44.0ms78×body512invalid
37.0ms64×body512valid
27.0ms59×body256invalid
20.0ms17×body2048invalid
11.0ms24×body256valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify62.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
13.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
13.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))))
Compiler

Compiled 128 to 80 computations (37.5% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series326.0ms (3.9%)

Counts
4 → 180
Calls

4 calls:

279.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))))
23.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
16.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
8.0ms
(/.f64 (*.f64 K (+.f64 m n)) 2)

rewrite72.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
72×*-un-lft-identity_binary64
61×add-sqr-sqrt_binary64
57×prod-diff_binary64
44×associate-*r*_binary64
42×add-cube-cbrt_binary64
Counts
4 → 145
Calls

4 calls:

29.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))))
8.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
7.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
5.0ms
(/.f64 (*.f64 K (+.f64 m n)) 2)

simplify249.0ms (3%)

Algorithm
egg-herbie
Rules
920×fma-def_binary64
458×*-commutative_binary64
308×associate-*r*_binary64
166×+-commutative_binary64
157×cancel-sign-sub-inv_binary64
Counts
325 → 321
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
099719371
1265817213
2498017213

prune600.0ms (7.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3165321
Fresh000
Picked101
Done000
Total3175322
Error
0.8b
Counts
322 → 5
Alt Table
StatusErrorProgram
13.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))) (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))))
13.0b
(*.f64 (log1p.f64 (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))))
1.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))))
13.0b
(*.f64 (cos.f64 (-.f64 (*.f64 (/.f64 K (sqrt.f64 2)) (/.f64 (+.f64 m n) (sqrt.f64 2))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
13.0b
(*.f64 (cos.f64 (-.f64 (*.f64 (/.f64 K (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (/.f64 (+.f64 m n) (cbrt.f64 2))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 25886 to 12848 computations (50.4% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
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)

series54.0ms (0.6%)

Counts
1 → 48
Calls

1 calls:

54.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))

rewrite32.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
53×*-un-lft-identity_binary64
41×exp-sum_binary64
38×add-sqr-sqrt_binary64
36×prod-diff_binary64
21×fabs-mul_binary64
Counts
1 → 62
Calls

1 calls:

22.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))

simplify142.0ms (1.7%)

Algorithm
egg-herbie
Rules
419×associate-*r*_binary64
375×fma-def_binary64
366×times-frac_binary64
317×fma-neg_binary64
310×associate-*l*_binary64
Counts
110 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03518695
19936748
237945655
352035655

prune259.0ms (3.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1622164
Fresh224
Picked101
Done000
Total1654169
Error
0.8b
Counts
169 → 4
Alt Table
StatusErrorProgram
13.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))) (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))))
1.1b
(*.f64 (cos.f64 M) (/.f64 (exp.f64 (-.f64 m n)) (exp.f64 (+.f64 l (pow.f64 (-.f64 (/.f64 (+.f64 n m) 2) M) 2)))))
16.6b
(*.f64 (cos.f64 M) (fma.f64 (+.f64 (*.f64 M m) 1) (exp.f64 (-.f64 (fma.f64 n M (-.f64 m n)) (fma.f64 M M (fma.f64 1/4 (*.f64 n n) l)))) (*.f64 (*.f64 n (*.f64 m (exp.f64 (-.f64 (fma.f64 n M (-.f64 m n)) (fma.f64 M M (fma.f64 1/4 (*.f64 n n) l)))))) -1/2)))
13.0b
(*.f64 (cos.f64 (-.f64 (*.f64 (/.f64 K (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (/.f64 (+.f64 m n) (cbrt.f64 2))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 10282 to 5230 computations (49.1% saved)

localize13.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series16.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

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

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
unpow-prod-down_binary64
*-un-lft-identity_binary64
pow-unpow_binary64
add-cube-cbrt_binary64
Counts
1 → 23
Calls

1 calls:

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

simplify90.0ms (1.1%)

Algorithm
egg-herbie
Rules
601×fma-neg_binary64
510×cancel-sign-sub-inv_binary64
416×unswap-sqr_binary64
402×distribute-rgt-in_binary64
281×fma-def_binary64
Counts
59 → 61
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0861345
12251225
25701176
319531170
442141170
548201170
649681170

prune224.0ms (2.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New60161
Fresh123
Picked011
Done000
Total61465
Error
0.8b
Counts
65 → 4
Alt Table
StatusErrorProgram
12.6b
(*.f64 (cos.f64 M) (/.f64 (exp.f64 (-.f64 m n)) (exp.f64 (+.f64 l (fma.f64 1/2 (*.f64 m n) (fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n)))))))))
1.1b
(*.f64 (cos.f64 M) (/.f64 (exp.f64 (-.f64 m n)) (exp.f64 (+.f64 l (pow.f64 (-.f64 (/.f64 (+.f64 n m) 2) M) 2)))))
13.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))) (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))))
13.0b
(*.f64 (cos.f64 (-.f64 (*.f64 (/.f64 K (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (/.f64 (+.f64 m n) (cbrt.f64 2))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 1882 to 979 computations (48% saved)

localize20.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 M (-.f64 M (+.f64 m n)))
1.3b
(fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n))))
3.3b
(fma.f64 1/2 (*.f64 m n) (fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n)))))

series45.0ms (0.5%)

Counts
3 → 108
Calls

3 calls:

20.0ms
(fma.f64 1/2 (*.f64 m n) (fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n)))))
13.0ms
(fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n))))
11.0ms
(*.f64 M (-.f64 M (+.f64 m n)))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
42×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
24×prod-diff_binary64
21×add-cube-cbrt_binary64
17×distribute-lft-in_binary64
Counts
3 → 79
Calls

3 calls:

7.0ms
(*.f64 M (-.f64 M (+.f64 m n)))
0.0ms
(fma.f64 1/2 (*.f64 m n) (fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n)))))
0.0ms
(fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n))))

simplify121.0ms (1.4%)

Algorithm
egg-herbie
Rules
819×fma-neg_binary64
659×fma-def_binary64
378×distribute-rgt-in_binary64
360×distribute-lft-in_binary64
285×exp-sum_binary64
Counts
187 → 141
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01753536
13382869
210252622
334522549
444922549
548382549

prune213.0ms (2.5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1410141
Fresh022
Picked011
Done011
Total1414145
Error
0.8b
Counts
145 → 4
Alt Table
StatusErrorProgram
12.6b
(*.f64 (cos.f64 M) (/.f64 (exp.f64 (-.f64 m n)) (exp.f64 (+.f64 l (fma.f64 1/2 (*.f64 m n) (fma.f64 1/4 (*.f64 n n) (*.f64 M (-.f64 M (+.f64 m n)))))))))
1.1b
(*.f64 (cos.f64 M) (/.f64 (exp.f64 (-.f64 m n)) (exp.f64 (+.f64 l (pow.f64 (-.f64 (/.f64 (+.f64 n m) 2) M) 2)))))
13.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))) (cbrt.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))) (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))))
13.0b
(*.f64 (cos.f64 (-.f64 (*.f64 (/.f64 K (*.f64 (cbrt.f64 2) (cbrt.f64 2))) (/.f64 (+.f64 m n) (cbrt.f64 2))) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 5199 to 1726 computations (66.8% saved)

regimes560.0ms (6.7%)

Accuracy

Total 0.2b remaining (17.3%)

Threshold costs 0.2b (17.3%)

Counts
76 → 1
Compiler

Compiled 15980 to 10446 computations (34.6% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01731
12431
23231
33631
43831
53831

end256.0ms (3.1%)

Compiler

Compiled 256 to 175 computations (31.6% saved)

Profiling

Loading profile data...