let rec print_parsed_condition fmt = function
| PRel(rel,e1,e2) ->
Format.fprintf fmt "%a %a@ %a"
print_parsed_expression e1
Cil.d_relation (Logic_typing.type_rel rel)
print_parsed_expression e2
| PTrue -> Format.pp_print_string fmt "true"
| PFalse -> Format.pp_print_string fmt "false"
| POr(e1,e2) -> Format.fprintf fmt "(@[%a@])@ or@ (@[%a@])"
print_parsed_condition e1 print_parsed_condition e2
| PAnd(e1,e2) -> Format.fprintf fmt "(@[%a@])@ and@ (@[%a@])"
print_parsed_condition e1 print_parsed_condition e2
| PNot c -> Format.fprintf fmt "not(@[%a@])"
print_parsed_condition c
| PCall (s,None) -> Format.fprintf fmt "CALL(%s)" s
| PCall (s, Some b) -> Format.fprintf fmt "CALL(%s::%s)" s b
| PReturn s -> Format.fprintf fmt "RETURN(%s)" s