let pretty ?(hexa=false) fmt v =
    let rec aux v =
      if gt v two_power_60 then
        let quo, rem = quomod_big_int v two_power_60 in
        aux quo;
        Format.fprintf fmt "%015LX" (to_int64 rem)
      else
        Format.fprintf fmt "%LX" (to_int64 v)
    in
    if hexa then
      if equal v zero then Format.pp_print_string fmt "0"
      else if gt v zero then (Format.pp_print_string fmt "0x"; aux v)
      else (Format.pp_print_string fmt "-0x"; aux (minus_big_int v))
      else
        Format.pp_print_string fmt (to_string v)