Amortizing Pragmatic Program Synthesis with Rankings