let c_int_bounds = function
  | UInt8 -> (Big_int.zero_big_int,Big_int.big_int_of_string "256")
  | SInt8 -> (Big_int.big_int_of_string "-128",
              Big_int.big_int_of_string "128")
  | UInt16 -> (Big_int.zero_big_int,
               Big_int.big_int_of_string "65536")
  | SInt16 -> (Big_int.big_int_of_string "-32768",
               Big_int.big_int_of_string "32768")
  | UInt32 -> (Big_int.zero_big_int,
               Big_int.big_int_of_string "4294967296")
  | SInt32 -> (Big_int.big_int_of_string "-2147483648" ,
               Big_int.big_int_of_string "2147483648" )
  | UInt64 -> (Big_int.zero_big_int ,
               Big_int.big_int_of_string "18446744073709551616" )
  | SInt64 -> (Big_int.big_int_of_string  "-9223372036854775808" ,
               Big_int.big_int_of_string "9223372036854775808" )