add popcount algorithms