Details

Time bar (total: 3.0s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample1.5s (48.8%)

Symmetry

(sort a x)

Results
462.0ms1118×body2048valid
353.0ms1375×body1024valid
292.0ms4414×body128valid
189.0ms867×body512valid
114.0ms482×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify73.0ms (2.4%)

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)

localize3.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))

simplify66.0ms (2.2%)

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

prune9.0ms (0.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New18119
Fresh000
Picked011
Done000
Total18220
Error
0.0b
Counts
20 → 2
Alt Table
StatusErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
29.4b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (sqrt.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 253 to 119 computations (53% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
0.1b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (sqrt.f64 (expm1.f64 (*.f64 a x))))
6.2b
(sqrt.f64 (expm1.f64 (*.f64 a x)))

series51.0ms (1.7%)

Counts
2 → 40
Calls

2 calls:

44.0ms
(sqrt.f64 (expm1.f64 (*.f64 a x)))
7.0ms
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (sqrt.f64 (expm1.f64 (*.f64 a x))))

rewrite11.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
21×sqrt-prod_binary64
18×pow1_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
2 → 68
Calls

2 calls:

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

simplify109.0ms (3.6%)

Algorithm
egg-herbie
Rules
501×fma-neg_binary64
462×unswap-sqr_binary64
338×associate-*l*_binary64
279×associate-*r*_binary64
264×difference-of-squares_binary64
Counts
108 → 85
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0761213
11481154
24211125
314791077
43607999
54448993
64981993
75027993

prune62.0ms (2.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1402142
Fresh000
Picked101
Done011
Total1413144
Error
0.0b
Counts
144 → 3
Alt Table
StatusErrorProgram
30.1b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))
0.0b
(expm1.f64 (*.f64 a x))
33.8b
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))
Compiler

Compiled 2379 to 612 computations (74.3% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))
0.3b
(log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))
1.2b
(exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x)))))
6.2b
(sqrt.f64 (expm1.f64 (*.f64 a x)))

series597.0ms (19.8%)

Counts
3 → 56
Calls

3 calls:

542.0ms
(log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))
47.0ms
(exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x)))))
7.0ms
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))

rewrite19.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
22×log-prod_binary64
17×sqrt-prod_binary64
16×exp-sum_binary64
13×*-un-lft-identity_binary64
Counts
3 → 75
Calls

3 calls:

8.0ms
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))
5.0ms
(exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x)))))
1.0ms
(log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))

simplify104.0ms (3.5%)

Algorithm
egg-herbie
Rules
740×fma-neg_binary64
446×*-commutative_binary64
410×unswap-sqr_binary64
338×distribute-rgt-in_binary64
304×distribute-lft-in_binary64
Counts
131 → 106
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01061622
11681541
24291500
313841480
425901466
542631466
649151466

prune53.0ms (1.7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1440144
Fresh011
Picked011
Done011
Total1443147
Error
0.0b
Counts
147 → 3
Alt Table
StatusErrorProgram
30.1b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))
0.0b
(expm1.f64 (*.f64 a x))
33.8b
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))
Compiler

Compiled 2700 to 533 computations (80.3% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
0.1b
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4)
4.5b
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))
6.2b
(sqrt.f64 (expm1.f64 (*.f64 a x)))

series91.0ms (3%)

Counts
2 → 40
Calls

2 calls:

84.0ms
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4)
7.0ms
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×sqrt-prod_binary64
14×unpow-prod-down_binary64
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
2 → 50
Calls

2 calls:

2.0ms
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))
2.0ms
(pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4)

simplify106.0ms (3.5%)

Algorithm
egg-herbie
Rules
948×fma-def_binary64
524×unswap-sqr_binary64
493×*-commutative_binary64
350×exp-prod_binary64
268×distribute-rgt-in_binary64
Counts
90 → 76
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0861214
11681012
2394906
31342890
43859872
54517872
64973872
74920872

prune52.0ms (1.7%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1140114
Fresh000
Picked011
Done022
Total1143117
Error
0.0b
Counts
117 → 3
Alt Table
StatusErrorProgram
30.1b
(*.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) (exp.f64 (log.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))))))
0.0b
(expm1.f64 (*.f64 a x))
33.8b
(sqrt.f64 (pow.f64 (sqrt.f64 (expm1.f64 (*.f64 a x))) 4))
Compiler

Compiled 1582 to 754 computations (52.3% saved)

regimes46.0ms (1.5%)

Accuracy

Total 0.0b remaining (18%)

Threshold costs 0.0b (18%)

Counts
10 → 1
Compiler

Compiled 620 to 369 computations (40.5% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
166
266

end51.0ms (1.7%)

Remove

(sort a x)

Compiler

Compiled 55 to 36 computations (34.5% saved)

Profiling

Loading profile data...