code: private static void weakHashLength32WithSeeds(
        byte[] bytes, int offset, long seedA, long seedB, long[] output) {
      long part1 = load64(bytes, offset);
      long part2 = load64(bytes, offset + 8);
      long part3 = load64(bytes, offset + 16);
      long part4 = load64(bytes, offset + 24);
  
      seedA += part1;
      seedB = rotateRight(seedB + seedA + part4, 21);
      long c = seedA;
      seedA += part2;
      seedA += part3;
      seedB += rotateRight(seedA, 44);
      output[0] = seedA + part4;
      output[1] = seedB + c;
    }
docs: Computes intermediate hash of 32 bytes of byte array from the given offset. Results are
  returned in the output array because when we last measured, this was 12% faster than allocating
  new arrays every time.