let pp_region fmt r =
begin
Vmap.iter
(fun x (px,ds) ->
Format.fprintf fmt "@,@[<v 0>@[Variable %s %a@]:@[<hov 2>" x.vname A.pp_addr px ;
List.iter (fun d -> Format.fprintf fmt "@ @[%a@]" pp_range d) ds ;
Format.fprintf fmt "@]@]"
) r.cvars ;
Imap.iter
(fun k (px,ds) ->
Format.fprintf fmt "@,@[<v 0>@[Root %d %a@]:@[<hov 2>" k A.pp_addr px ;
List.iter (fun d -> Format.fprintf fmt "@ @[%a@]" pp_range d) ds ;
Format.fprintf fmt "@]@]"
) r.roots ;
List.iter
(fun (b,d) ->
Format.fprintf fmt "@,@[<v 0>@[Base %a@]:@[<hov 2>@ %a@]@]@\n" A.pp_addr b pp_range d
) r.bases ;
end