anchor.diff:               (hi: byref<uint64>) =
       let gch = GCHandle.Alloc (string, GCHandleType.Pinned)
       let ptr = NativePtr.ofNativeInt (gch.AddrOfPinnedObject ())
  -    bytes (ptr)
  -          (string.Length * 2)
  -          (seed)
  -          (&lo)
  -          (&hi)
  +    bytes (ptr) (string.Length * 2) (seed) (&lo) (&hi)
       gch.Free ()
  
positive.code:       h2 <- h2 + h1
        h2 <- h2 * 5UL + 0x38495ab5UL
  
      let tail = NativePtr.add data (nblocks*16)
  
      let mutable k1 = 0UL
      let mutable k2 = 0UL
  
      let len' = len &&& 15
  
      if 15 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail 14) <<< 48)
      if 14 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail 13) <<< 40)
      if 13 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail 12) <<< 32)
      if 12 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail 11) <<< 24)
      if 11 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail 10) <<< 16)
      if 10 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail  9) <<< 8)
      if  9 <= len' then k2 <- k2 ^^^ (uint64 (NativePtr.get tail  8) <<< 0)
                         k2 <- k2 * c2
                         k2 <- ROTL64 k2 33
                         k2 <- k2 * c1
                         h2 <- h2 ^^^ k2
  
      if  8 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  7) <<< 56)
      if  7 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  6) <<< 48)
      if  6 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  5) <<< 40)
      if  5 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  4) <<< 32)
      if  4 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  3) <<< 24)
      if  3 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  2) <<< 16)
      if  2 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  1) <<< 8)
      if  1 <= len' then k1 <- k1 ^^^ (uint64 (NativePtr.get tail  0) <<< 0)
                         k1 <- k1 * c1
                         k1 <- ROTL64 k1 31
                         k1 <- k1 * c2
  
negative.code: 
  module MurmurHash3 =
    let inline private ROTL64 (x: uint64) r = (x <<< r) ||| (x >>> (64 - r))
  
    let inline private fmix64 (k: uint64) =
      let k = k ^^^ (k >>> 33)
  