program reductions