More SYMGS work and minor cleanup.

Use tmp vector to avoid race in SYMGS. Not ideal, but seems to work. Minor
cleanup.