generating pointer diff/add/sub