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