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