an optimizing sml compiler