let bitwise_op_positive_big_int op x y =
assert (Big_int.ge_big_int x Big_int.zero_big_int);
assert (Big_int.ge_big_int y Big_int.zero_big_int);
let g =
let f u v = assert(Big_int.is_int_big_int u) ;
assert(Big_int.is_int_big_int v) ;
let r = op (Big_int.int_of_big_int u) (Big_int.int_of_big_int v)
in Big_int.big_int_of_int (r)
in map2_base base16bits f
in let r = map2_base base g x y
in assert (Big_int.ge_big_int r Big_int.zero_big_int);
r