docs: static int divide(Slice decimal, int divisor, Slice result)
      {
          if (divisor == 0) {
              throwDivisionByZeroException();
          }
          checkArgument(divisor > 0);
  
          long remainder = getLong(decimal, 1);
          long high = remainder / divisor;
          remainder %= divisor;
  
          remainder = (getInt(decimal, 1) & LONG_MASK) + (remainder << 32);
          int z1 = (int) (remainder / divisor);
          remainder %= divisor;
  
          remainder = (getInt(decimal, 0) & LONG_MASK) + (remainder << 32);
          int z0 = (int) (remainder / divisor);
  
          pack(result, z0, z1, high, isNegative(decimal));
          return (int) (remainder % divisor);
      }