abstract interpretation now handles integer vals and simple ifs
slightly generalized for loop interpretation
slightly generalized for loop interpretation