Coarsening Optimization for Differentiable Programming