A stable and practical implementation of least-squares reverse time migration | Synapse