let constant fmt = function
| ConstInt n ->
let k = Big_int.big_int_of_string n in
if Big_int.lt_big_int k Big_int.zero_big_int then
pp_print_string fmt ("( "^n^" )")
else pp_print_string fmt n
| ConstBool b -> pp_print_string fmt (if b then "true" else "false")
| ConstUnit -> pp_print_string fmt "void"
| ConstFloat f -> fprintf fmt "%s%%R" (Kreal.convert f)