sig
  external ( + ) : int64 -> int64 -> int64 = "%int64_add"
  external ( - ) : int64 -> int64 -> int64 = "%int64_sub"
  external ( * ) : int64 -> int64 -> int64 = "%int64_mul"
  external ( / ) : int64 -> int64 -> int64 = "%int64_div"
  external ( << ) : int64 -> int -> int64 = "%int64_lsl"
  external ( >> ) : int64 -> int -> int64 = "%int64_asr"
end