Details

Time bar (total: 10.1s)

analyze2.9s (28.7%)

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 (20.8%)

Results
1.7s8096×body128valid
73.0ms88×body1024invalid
70.0ms346×body128invalid
49.0ms62×body1024valid
48.0ms88×body512invalid
40.0ms66×body512valid
23.0ms57×body256invalid
17.0ms15×body2048invalid
11.0ms28×body256valid
6.0msbody2048valid
Compiler

Compiled 70 to 48 computations (31.4% saved)

preprocess48.0ms (0.5%)

Algorithm
egg-herbie
Rules
557×exp-sum_binary64
428×fma-neg_binary64
310×exp-prod_binary64
288×exp-diff_binary64
162×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0154495
1429495
21042473
33765473
055
155
Stop Event
unsound
node limit
Symmetry

(sort m n)

Compiler

Compiled 34 to 23 computations (32.4% saved)

simplify18.0ms (0.2%)

Algorithm
egg-herbie
Rules
446×fma-neg_binary64
251×times-frac_binary64
231×cancel-sign-sub-inv_binary64
219×exp-sum_binary64
202×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02245
15845
213543
344243
4175343
Stop Event
node limit
Counts
1 → 2

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 128 to 83 computations (35.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series107.0ms (1.1%)

Counts
4 → 180
Calls

45 calls:

9.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
M
0
8.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
m
0
8.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
l
0
8.0ms
(exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l)))
n
0
7.0ms
(cos.f64 (fma.f64 K (/.f64 (+.f64 m n) 2) (neg.f64 M)))
K
0

rewrite37.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
226×add-sqr-sqrt_binary64
219×log1p-expm1-u_binary64
219×expm1-log1p-u_binary64
217×add-cbrt-cube_binary64
210×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01967
144157
Stop Event
node limit
Counts
4 → 71

simplify128.0ms (1.3%)

Algorithm
egg-herbie
Rules
615×associate-*r*_binary64
505×fma-def_binary64
448×associate-*l*_binary64
215×associate-+l+_binary64
167×associate--r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03657903
113016882
Stop Event
node limit
Counts
251 → 183

prune267.0ms (2.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1776183
Fresh000
Picked101
Done000
Total1786184
Error
1.4b
Counts
184 → 6
Alt Table
StatusErrorProgram
15.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2)) (cbrt.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) 1) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (cos.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2) (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.1b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.8b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
45.2b
(*.f64 (cos.f64 (cbrt.f64 (pow.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M) 3))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 10876 to 5424 computations (50.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series184.0ms (1.8%)

Counts
2 → 96
Calls

24 calls:

20.0ms
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
m
0
19.0ms
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
M
0
18.0ms
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
n
0
11.0ms
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
l
0
10.0ms
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
m
-inf

rewrite34.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
204×add-sqr-sqrt_binary64
199×log1p-expm1-u_binary64
199×expm1-log1p-u_binary64
197×add-cbrt-cube_binary64
191×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01747
139945
Stop Event
node limit
Counts
2 → 47

simplify126.0ms (1.3%)

Algorithm
egg-herbie
Rules
553×associate-*r*_binary64
450×fma-def_binary64
365×associate-*l*_binary64
293×fma-neg_binary64
246×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02806752
110725829
248675829
Stop Event
node limit
Counts
143 → 116

prune378.0ms (3.8%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2151216
Fresh055
Picked101
Done000
Total2166222
Error
1.4b
Counts
222 → 6
Alt Table
StatusErrorProgram
1.8b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 2)) l))))
15.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2)) (cbrt.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) 1) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (cos.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2) (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
9.1b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
45.2b
(*.f64 (cos.f64 (cbrt.f64 (pow.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M) 3))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 13902 to 6674 computations (52% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 2))
0.5b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 2)
0.6b
(cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M))
25.4b
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))

series494.0ms (4.9%)

Counts
4 → 72
Calls

36 calls:

63.0ms
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))
m
0
63.0ms
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))
M
0
61.0ms
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))
n
0
41.0ms
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))
M
inf
41.0ms
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 m n) 1/2 M) 4))
n
-inf

rewrite51.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
504×prod-diff_binary64
217×expm1-udef_binary64
217×log1p-udef_binary64
132×log1p-expm1-u_binary64
132×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01464
129147
2331847
Stop Event
node limit
Counts
4 → 87

simplify106.0ms (1%)

Algorithm
egg-herbie
Rules
776×associate-+r+_binary64
448×associate-+l+_binary64
326×*-commutative_binary64
187×+-commutative_binary64
181×associate-*r*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06928663
124147988
Stop Event
node limit
Counts
159 → 186

prune424.0ms (4.2%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1851186
Fresh055
Picked101
Done000
Total1866192
Error
1.4b
Counts
192 → 6
Alt Table
StatusErrorProgram
15.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2)) (cbrt.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) 1) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (cos.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2) (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.8b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 2)) l))))
9.1b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
45.2b
(*.f64 (cos.f64 (cbrt.f64 (pow.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M) 3))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 14836 to 9876 computations (33.4% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M))
0.6b
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4)
2.9b
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4)))
26.2b
(log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4))

series164.0ms (1.6%)

Counts
3 → 36
Calls

27 calls:

14.0ms
(log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4))
m
0
13.0ms
(log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4))
n
0
13.0ms
(log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4))
M
0
7.0ms
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4)
m
0
7.0ms
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4)))
M
0

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
553×prod-diff_binary64
199×fma-def_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
174×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01241
123541
2276941
Stop Event
node limit
Counts
3 → 65

simplify63.0ms (0.6%)

Algorithm
egg-herbie
Rules
894×fma-def_binary64
768×times-frac_binary64
214×unswap-sqr_binary64
174×associate-*r*_binary64
137×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02032992
16392967
224262926
Stop Event
node limit
Counts
101 → 92

prune368.0ms (3.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1851186
Fresh055
Picked101
Done000
Total1866192
Error
1.4b
Counts
192 → 6
Alt Table
StatusErrorProgram
15.3b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2)) (cbrt.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) 1) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
15.3b
(*.f64 (cos.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)) 2) (cbrt.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M)))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
1.8b
(*.f64 (cos.f64 M) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (*.f64 (expm1.f64 (cbrt.f64 (pow.f64 (log1p.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 4)) 3))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 m n) 1/2 M)) 2)) l))))
9.1b
(*.f64 (cos.f64 (-.f64 (*.f64 1/2 (*.f64 n K)) M)) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
45.2b
(*.f64 (cos.f64 (cbrt.f64 (pow.f64 (fma.f64 K (*.f64 (+.f64 m n) 1/2) M) 3))) (exp.f64 (-.f64 (fabs.f64 (-.f64 n m)) (+.f64 (pow.f64 (-.f64 (/.f64 (+.f64 m n) 2) M) 2) l))))
Compiler

Compiled 10678 to 7018 computations (34.3% saved)

regimes1.8s (17.6%)

Accuracy

Total 0.2b remaining (15.4%)

Threshold costs 0.2b (15.4%)

Counts
238 → 1
Compiler

Compiled 45242 to 32136 computations (29% 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
02655
13655
25055
36955
48155
58855
69055
Stop Event
saturated

end179.0ms (1.8%)

Stop Event
fuel
Remove

(sort m n)

Compiler

Compiled 393 to 275 computations (30% saved)

Profiling

Loading profile data...