Details

Time bar (total: 7.7s)

analyze3.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
99.8%0%0.2%1
Compiler

Compiled 35 to 24 computations (31.4% saved)

sample1.7s (22.5%)

Symmetry

(sort m n)

Results
1.5s7888×body128valid
97.0ms131×body1024valid
68.0ms139×body512valid
26.0ms80×body256valid
19.0ms18×body2048valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify62.0ms (0.8%)

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

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
15.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
15.1b
(*.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 K (+.f64 m n))
0.0b
(-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
31.7b
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))

series66.0ms (0.9%)

Counts
4 → 168
Calls

4 calls:

27.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
16.0ms
(-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)
16.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
6.0ms
(*.f64 K (+.f64 m n))

rewrite39.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
47×add-sqr-sqrt_binary64
44×*-un-lft-identity_binary64
42×prod-diff_binary64
38×add-cube-cbrt_binary64
25×cos-sum_binary64
Counts
4 → 129
Calls

4 calls:

10.0ms
(-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)
9.0ms
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))
7.0ms
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
4.0ms
(*.f64 K (+.f64 m n))

simplify172.0ms (2.2%)

Algorithm
egg-herbie
Rules
528×fma-neg_binary64
341×associate-*r*_binary64
311×associate-*l*_binary64
240×distribute-rgt-neg-in_binary64
221×*-commutative_binary64
Counts
297 → 254
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04317218
18845740
230485550
348775550
450415550

prune523.0ms (6.8%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2486254
Fresh000
Picked101
Done000
Total2496255
Error
0.6b
Counts
255 → 6
Alt Table
StatusErrorProgram
15.1b
(*.f64 (log.f64 (exp.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))))
32.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (/.f64 (*.f64 K (-.f64 (*.f64 m m) (*.f64 n n))) (-.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.4b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)) (*.f64 1/2 (*.f64 n (*.f64 K (sin.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))))
28.4b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (fma.f64 1/2 (*.f64 K (*.f64 m (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)))) (*.f64 1/8 (*.f64 (*.f64 K K) (*.f64 (*.f64 m m) (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))))
27.3b
(*.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))))
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))))
Compiler

Compiled 11471 to 5404 computations (52.9% saved)

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series47.0ms (0.6%)

Counts
1 → 48
Calls

1 calls:

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

rewrite39.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
11×fma-def_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
unpow-prod-down_binary64
add-log-exp_binary64
Counts
1 → 25
Calls

1 calls:

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

simplify82.0ms (1.1%)

Algorithm
egg-herbie
Rules
737×distribute-rgt-in_binary64
733×fma-neg_binary64
455×fma-def_binary64
381×associate--l+_binary64
377×associate-+l+_binary64
Counts
73 → 66
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0881735
12931532
27421518
326101516
449541516
553591516

prune225.0ms (2.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1270127
Fresh055
Picked011
Done000
Total1276133
Error
0.6b
Counts
133 → 6
Alt Table
StatusErrorProgram
15.1b
(*.f64 (log.f64 (exp.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))))
32.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (/.f64 (*.f64 K (-.f64 (*.f64 m m) (*.f64 n n))) (-.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.4b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M)) (*.f64 1/2 (*.f64 n (*.f64 K (sin.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))))
28.4b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (fma.f64 1/2 (*.f64 K (*.f64 m (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)))) (*.f64 1/8 (*.f64 (*.f64 K K) (*.f64 (*.f64 m m) (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))))
27.3b
(*.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))))
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))))
Compiler

Compiled 3935 to 1983 computations (49.6% saved)

localize56.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2)
0.2b
(exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))
0.6b
(log.f64 (exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))))
31.7b
(cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))

series102.0ms (1.3%)

Counts
2 → 96
Calls

2 calls:

73.0ms
(exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))
29.0ms
(log.f64 (exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))))

rewrite40.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
50×exp-diff_binary64
50×cos-sum_binary64
42×prod-diff_binary64
33×*-un-lft-identity_binary64
33×add-sqr-sqrt_binary64
Counts
2 → 82
Calls

2 calls:

14.0ms
(log.f64 (exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))))
10.0ms
(exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))

simplify169.0ms (2.2%)

Algorithm
egg-herbie
Rules
631×associate-*l*_binary64
451×*-commutative_binary64
382×fma-def_binary64
256×sub-neg_binary64
255×unswap-sqr_binary64
Counts
178 → 180
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
06319371
113737245
241006992
352646992

prune669.0ms (8.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3173320
Fresh224
Picked101
Done011
Total3206326
Error
0.6b
Counts
326 → 6
Alt Table
StatusErrorProgram
32.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (/.f64 (*.f64 K (-.f64 (*.f64 m m) (*.f64 n n))) (-.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.3b
(*.f64 (log.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M)))) (cbrt.f64 (exp.f64 (cos.f64 (-.f64 (/.f64 (*.f64 K (+.f64 m n)) 2) M))))) (cbrt.f64 (exp.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))))
24.4b
(*.f64 (log.f64 (-.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))) (*.f64 1/2 (*.f64 n (*.f64 K (*.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))) (sin.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))))
27.3b
(*.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))))
14.6b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (*.f64 1/2 (*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m)))) (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))))
Compiler

Compiled 19950 to 9736 computations (51.2% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m))
8.1b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (*.f64 1/2 (*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
21.1b
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))
21.2b
(sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))

series627.0ms (8.1%)

Counts
4 → 96
Calls

4 calls:

559.0ms
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (*.f64 1/2 (*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
43.0ms
(*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m))
12.0ms
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))
12.0ms
(sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))

rewrite74.0ms (1%)

Algorithm
rewrite-expression-head
Rules
57×*-un-lft-identity_binary64
45×associate-*r*_binary64
43×add-sqr-sqrt_binary64
42×prod-diff_binary64
41×exp-sum_binary64
Counts
4 → 120
Calls

4 calls:

32.0ms
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (*.f64 1/2 (*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 m n)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
11.0ms
(*.f64 K (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) m))
5.0ms
(sin.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))
5.0ms
(cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M))

simplify455.0ms (5.9%)

Algorithm
egg-herbie
Rules
635×*-commutative_binary64
499×associate-*r*_binary64
218×+-commutative_binary64
200×fma-def_binary64
169×associate-+r+_binary64
Counts
216 → 261
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0113323320
1328122184
2487122184
3498622184

prune643.0ms (8.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2601261
Fresh134
Picked101
Done011
Total2625267
Error
0.6b
Counts
267 → 5
Alt Table
StatusErrorProgram
32.6b
(*.f64 (cos.f64 (-.f64 (/.f64 (/.f64 (*.f64 K (-.f64 (*.f64 m m) (*.f64 n n))) (-.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))))
24.4b
(*.f64 (log.f64 (-.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))) (*.f64 1/2 (*.f64 n (*.f64 K (*.f64 (exp.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 K m)) M))) (sin.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))))
27.3b
(*.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))))
18.8b
(*.f64 (-.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (*.f64 1/2 (*.f64 K (*.f64 (fma.f64 1/2 (*.f64 n (*.f64 K (cos.f64 M))) (sin.f64 (neg.f64 M))) m)))) (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))))
Compiler

Compiled 31465 to 15984 computations (49.2% saved)

regimes1.7s (21.6%)

Accuracy

Total 0.8b remaining (39.6%)

Threshold costs 0.8b (39.6%)

Counts
205 → 1
Compiler

Compiled 48380 to 33222 computations (31.3% 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
01731
12831
24531
36031
46931
57231
67231

end144.0ms (1.9%)

Remove

(sort m n)

Compiler

Compiled 308 to 213 computations (30.8% saved)

Profiling

Loading profile data...