Neural Program Synthesis with a Differentiable Fixer