apply self symmetry to optimize performance