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