let var_name v =
  let var_name, id  = match v with
    | VarT (v, None, _) -> v, None
    | VarT (v, Some id, _) -> (v^"_"), Some id
    | VarL (v, _) -> 
        let name = v.Cil_types.lv_name in
        let id = match v.Cil_types.lv_origin with Some _ -> None
          | _ -> Some v.Cil_types.lv_id
        in name, id
  in match id with None -> var_name 
    | Some id ->  var_name^"_"^(string_of_int id)