let rec names_at = function
  | [] -> []
  | Default _ :: labels -> "default" :: names_at labels
  | Label(l,_,_) :: labels ->
      (*TODO [LC] see Cil2cfg.mk_logic_label and Cil2cfg.loop_head_label *)
      if has_prefix "wp!" l || has_prefix "return_label" l
      then names_at labels
      else l :: names_at labels
  | Case(e,_) :: labels -> 
      match Ctypes.get_int e with
        | None -> "case" :: names_at labels
        | Some n -> 
            if n < 0L 
            then ("caseneg" ^ Int64.to_string (Int64.neg n)) :: names_at labels
            else ("case" ^ Int64.to_string n) :: names_at labels