small optimization: use real symmetry to save factor of two when multiplying