+ if !summary > 0 then Time.utime_stamp "parsed";
+ let rec aux ac mc st = function
+ | [] -> ac, mc, st
+ | item :: tl ->
+ let ac = if !summary > 2 then AO.count_item Cps.id ac item else ac in
+ let f st item =
+ let mc = if !summary > 2 then MO.count_item Cps.id mc item else mc in
+ begin match !meta_file with
+ | None -> ()
+ | Some (_, frm) -> MO.pp_item Cps.id frm item
+ end;
+ st, mc
+ in
+ let st, mc = if !stage > 0 then MA.meta_of_aut f st item else st, mc in
+ aux ac mc st tl
+ in
+ let ac, mc, _st =
+ aux AO.initial_counters MO.initial_counters MA.initial_status book
+ in
+ if !summary > 0 then Time.utime_stamp "processed";
+ if !summary > 2 then AO.print_counters Cps.id ac;
+ if !summary > 2 && !stage > 0 then MO.print_counters Cps.id mc;