Details

Time bar (total: 3.2s)

analyze61.0ms (1.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%31.2%6.3%6
68.7%21.9%9.5%7
68.7%17.2%14.1%8
71.8%11.7%16.5%9
71.8%9%19.2%10
73.4%6%20.6%11
73.4%4.6%22%12
74.1%3.1%22.8%13
74.1%2.3%23.5%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample2.2s (68.1%)

Symmetry

(sort a x)

Results
784.0ms1502×body2048valid
634.0ms1884×body1024valid
291.0ms3112×body128valid
283.0ms1138×body512valid
112.0ms620×body256valid
14.0ms152×body128invalid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify72.0ms (2.2%)

Algorithm
egg-herbie
Rules
571×fma-neg_binary64
455×*-commutative_binary64
440×unswap-sqr_binary64
344×associate-*l*_binary64
274×associate-+l+_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076
1166
2236
3356
4706
51606
64326
715646
834906
949546
1049936
1148746

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
Compiler

Compiled 24 to 15 computations (37.5% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))

series6.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

6.0ms
(expm1.f64 (*.f64 a x))

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log1p-expm1-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 11
Calls

1 calls:

0.0ms
(expm1.f64 (*.f64 a x))

simplify81.0ms (2.5%)

Algorithm
egg-herbie
Rules
910×fma-def_binary64
844×distribute-lft-out_binary64
785×fma-neg_binary64
383×*-commutative_binary64
308×unswap-sqr_binary64
Counts
35 → 19
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
040382
196369
2262363
3966347
42376333
53696333
64842333
75375333

prune13.0ms (0.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New17219
Fresh000
Picked011
Done000
Total17320
Error
0.0b
Counts
20 → 3
Alt Table
StatusErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
21.5b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
37.6b
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 267 to 133 computations (50.2% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 a a))
1.7b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
5.0b
(fma.f64 x (*.f64 1/2 (*.f64 a a)) a)

series29.0ms (0.9%)

Counts
3 → 60
Calls

3 calls:

15.0ms
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
12.0ms
(fma.f64 x (*.f64 1/2 (*.f64 a a)) a)
2.0ms
(*.f64 1/2 (*.f64 a a))

rewrite10.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
10×pow1_binary64
add-sqr-sqrt_binary64
associate-*l*_binary64
Counts
3 → 53
Calls

3 calls:

4.0ms
(*.f64 1/2 (*.f64 a a))
3.0ms
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
0.0ms
(fma.f64 x (*.f64 1/2 (*.f64 a a)) a)

simplify59.0ms (1.8%)

Algorithm
egg-herbie
Rules
975×distribute-rgt-in_binary64
973×distribute-lft-in_binary64
511×fma-def_binary64
440×associate-*l*_binary64
338×associate-*r*_binary64
Counts
113 → 90
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0861516
11651339
24681329
314151329
455551329

prune44.0ms (1.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New90090
Fresh011
Picked011
Done011
Total90393
Error
0.0b
Counts
93 → 3
Alt Table
StatusErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
21.5b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
37.6b
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 1422 to 672 computations (52.7% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
1.4b
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))
11.2b
(log.f64 (expm1.f64 (*.f64 a x)))

series435.0ms (13.5%)

Counts
2 → 48
Calls

2 calls:

428.0ms
(log.f64 (expm1.f64 (*.f64 a x)))
6.0ms
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))

rewrite3.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
log-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
exp-prod_binary64
Counts
2 → 31
Calls

2 calls:

2.0ms
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))
1.0ms
(log.f64 (expm1.f64 (*.f64 a x)))

simplify81.0ms (2.5%)

Algorithm
egg-herbie
Rules
843×fma-neg_binary64
513×*-commutative_binary64
379×distribute-rgt-neg-in_binary64
370×cancel-sign-sub-inv_binary64
362×distribute-lft-neg-in_binary64
Counts
79 → 56
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
078972
1162921
2425911
31545891
43112871
54905871
65066871

prune28.0ms (0.9%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New75075
Fresh000
Picked011
Done022
Total75378
Error
0.0b
Counts
78 → 3
Alt Table
StatusErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
21.5b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
37.6b
(exp.f64 (log.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 997 to 394 computations (60.5% saved)

regimes34.0ms (1.1%)

Accuracy

Total 0.0b remaining (15.3%)

Threshold costs 0.0b (15.3%)

Counts
6 → 1
Compiler

Compiled 270 to 179 computations (33.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
166
266

end47.0ms (1.5%)

Remove

(sort a x)

Compiler

Compiled 50 to 33 computations (34% saved)

Profiling

Loading profile data...