let pretty_c_assert fmt m =
    Format.fprintf fmt "@[";
    (match m with
      Bottom -> Format.fprintf fmt "0"
    | Map m ->
        let first = ref true in
        let print_ampamp () =
          if !first 
          then 
            first := false
          else
            Format.fprintf fmt "@\n&& ";
        in
        LBase.iter
          (fun base offs ->
            match base with
              Base.Var(v,_) ->
                let typ = unrollType v.Cil_types.vtype in
                let name = v.Cil_types.vname in
                V_Offsetmap.pretty_c_assert_typ name typ print_ampamp fmt offs
            | _ -> ())
          m
    | Top -> Format.fprintf fmt "1");
    Format.fprintf fmt "@]"