let label f a x =
  if Wp_parameters.Trace.get () then
    match a with
      | Here | Pre | Post | Exit -> x
      | LabelParam label -> 
          (*TODO [LC] see Cil2cfg.mk_logic_label and Cil2cfg.loop_head_label *)
          if has_prefix "wp!" label
          then x
          else f label x
      | CallAt sid -> 
          if Wp_parameters.debug_atleast 1 
          then f (Printf.sprintf "Call%d" sid) x else x
      | At(labels,sid) -> 
          List.fold_left
            (fun x label -> f label x)
            (if Wp_parameters.debug_atleast 1 
             then f (Printf.sprintf "Stmt%d" sid) x else x)
            labels
  else x