Merge working symmetric.cpp from cris branch
Small optimizations on initialization
Nits and consistency