Details

Time bar (total: 4.9s)

analyze59.0ms (1.2%)

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.0s (41.9%)

Symmetry

(sort a x)

Results
761.0ms1528×body2048valid
564.0ms1799×body1024valid
278.0ms3145×body128valid
253.0ms1155×body512valid
101.0ms629×body256valid
13.0ms147×body128invalid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify70.0ms (1.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))

series7.0ms (0.1%)

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

simplify67.0ms (1.4%)

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

prune12.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New16319
Fresh000
Picked011
Done000
Total16420
Error
0.0b
Counts
20 → 4
Alt Table
StatusErrorProgram
25.7b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
0.0b
(expm1.f64 (*.f64 a x))
0.8b
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
15.6b
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))
Compiler

Compiled 307 to 149 computations (51.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
0.2b
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
0.3b
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
11.1b
(cbrt.f64 (expm1.f64 (*.f64 a x)))

series1.1s (22.6%)

Counts
3 → 72
Calls

3 calls:

609.0ms
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
483.0ms
(cbrt.f64 (expm1.f64 (*.f64 a x)))
7.0ms
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (cbrt.f64 (expm1.f64 (*.f64 a x))))

rewrite18.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

6.0ms
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
4.0ms
(*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x))))
1.0ms
(cbrt.f64 (expm1.f64 (*.f64 a x)))

simplify127.0ms (2.6%)

Algorithm
egg-herbie
Rules
739×fma-def_binary64
437×*-commutative_binary64
358×distribute-rgt-in_binary64
343×distribute-lft-in_binary64
260×unswap-sqr_binary64
Counts
165 → 151
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01682948
14092621
211542203
326372016
448491965
549621965
649321965

prune128.0ms (2.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2642266
Fresh022
Picked101
Done011
Total2655270
Error
0b
Counts
270 → 5
Alt Table
StatusErrorProgram
25.7b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
0.0b
(expm1.f64 (*.f64 a x))
15.6b
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))
38.5b
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (exp.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))))))
12.2b
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 6913 to 1953 computations (71.7% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (expm1.f64 (*.f64 a x)) 2)
0.2b
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))
11.1b
(cbrt.f64 (expm1.f64 (*.f64 a x)))
20.5b
(pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3)

series603.0ms (12.4%)

Counts
3 → 72
Calls

3 calls:

583.0ms
(pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3)
13.0ms
(pow.f64 (expm1.f64 (*.f64 a x)) 2)
7.0ms
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
35×unpow-prod-down_binary64
31×add-sqr-sqrt_binary64
14×add-exp-log_binary64
13×*-un-lft-identity_binary64
13×add-cube-cbrt_binary64
Counts
3 → 95
Calls

3 calls:

7.0ms
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))
2.0ms
(pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3)
1.0ms
(pow.f64 (expm1.f64 (*.f64 a x)) 2)

simplify147.0ms (3%)

Algorithm
egg-herbie
Rules
598×fma-def_binary64
458×*-commutative_binary64
438×distribute-rgt-in_binary64
401×distribute-lft-in_binary64
303×unswap-sqr_binary64
Counts
167 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01893318
14263050
212262694
327722662
449562662
549912662
650302662

prune119.0ms (2.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1930193
Fresh033
Picked011
Done011
Total1935198
Error
0b
Counts
198 → 5
Alt Table
StatusErrorProgram
25.7b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
0.0b
(expm1.f64 (*.f64 a x))
15.6b
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))
38.5b
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (exp.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))))))
12.2b
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 4702 to 2168 computations (53.9% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (*.f64 a x))
0.2b
(pow.f64 (expm1.f64 (*.f64 a x)) 3)
15.6b
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))

series29.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

22.0ms
(pow.f64 (expm1.f64 (*.f64 a x)) 3)
7.0ms
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
12×cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cube-prod_binary64
Counts
2 → 48
Calls

2 calls:

2.0ms
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))
1.0ms
(pow.f64 (expm1.f64 (*.f64 a x)) 3)

simplify84.0ms (1.7%)

Algorithm
egg-herbie
Rules
674×associate-*l*_binary64
587×associate-*r*_binary64
337×log-prod_binary64
288×fma-def_binary64
278×exp-prod_binary64
Counts
96 → 70
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941262
12021199
26291177
330981171
447911171
549621171

prune54.0ms (1.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New89089
Fresh022
Picked011
Done022
Total89594
Error
0b
Counts
94 → 5
Alt Table
StatusErrorProgram
25.7b
(*.f64 x (fma.f64 x (*.f64 1/2 (*.f64 a a)) a))
0.0b
(expm1.f64 (*.f64 a x))
15.6b
(cbrt.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 3))
38.5b
(*.f64 (*.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))) (cbrt.f64 (expm1.f64 (*.f64 a x)))) (exp.f64 (log.f64 (cbrt.f64 (expm1.f64 (*.f64 a x))))))
12.2b
(*.f64 (pow.f64 (pow.f64 (expm1.f64 (*.f64 a x)) 2) 1/3) (cbrt.f64 (expm1.f64 (*.f64 a x))))
Compiler

Compiled 1341 to 711 computations (47% saved)

regimes45.0ms (0.9%)

Accuracy

Total 0.0b remaining (39.5%)

Threshold costs 0.0b (39.5%)

Counts
10 → 1
Compiler

Compiled 710 to 379 computations (46.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
166
266

end102.0ms (2.1%)

Remove

(sort a x)

Compiler

Compiled 88 to 53 computations (39.8% saved)

Profiling

Loading profile data...