let shift_ival intervs ival = match ival with Ival.Top _ | Ival.Float _ -> top | Ival.Set s -> Ival.O.fold (fun x acc -> join acc (shift_int64 x intervs)) s bottom