Fast methods to detect and debug numerical errors with shadow execution