let pretty fmt m =
  Format.fprintf fmt
    "@[<v 0>@[<v 1>** Defined functions (%d):@ @[%a@]@]@ @ @[<v 1>** Undefined functions (%d):@ @[%a@]@]@ @ @[<v 1>** Potential entry points (%d):@ @[%a@]@]@ @ SLOC: %d@ Number of if statements: %d@ Number of assignments: %d@ Number of loops: %d@ Number of calls: %d@ Number of gotos: %d@ Number of pointer access: %d@ @]"
    (map_cardinal_varinfomap m.functions_with_source)
    (pretty_set Varinfo.Map.iter) m.functions_with_source
    (map_cardinal_varinfomap m.functions_without_source)
    (pretty_set Varinfo.Map.iter) m.functions_without_source
    (number_entry_points Varinfo.Map.fold m.functions_with_source)
    (pretty_entry_points Varinfo.Map.iter) m.functions_with_source
    m.sloc
    m.if_statements
    m.assign_statements
    m.loop_statements
    m.call_statements
    m.goto_statements
    m.mem_access