private static int doSingleWordRemainder(
      long leftFast0, long leftFast1, long leftFast2,
      long rightFast0,
      long remainderSubexpr2,
      FastHiveDecimal fastResult) {

    int remainderDigitCount;

    long remainder2;
    long remainder1;
    long remainder0;

    if (remainderSubexpr2 == 0) {
      remainder2 = 0;
      remainder1 = 0;
      remainder0 = 0;
      remainderDigitCount = 0;
    } else {
      remainder2 =
          remainderSubexpr2 / rightFast0;
      final long k2 =
          remainderSubexpr2 - remainder2 * rightFast0;
      if (k2 == 0) {
        remainder1 = 0;
        remainder0 = 0;
        remainderDigitCount =
            LONGWORD_DECIMAL_DIGITS - fastLongWordTrailingZeroCount(remainder2);
      } else {
        final long remainderSubexpr1 =
            k2 * MULTIPLER_LONGWORD_DECIMAL;
        long remainderSubexpr0;
        remainder1 =
            remainderSubexpr1 / rightFast0;
        final long k1 =
            remainderSubexpr1 - remainder1 * rightFast0;
        if (k1 == 0) {
          remainder0 = 0;
          remainderDigitCount =
              LONGWORD_DECIMAL_DIGITS
            + LONGWORD_DECIMAL_DIGITS - fastLongWordTrailingZeroCount(remainder1);
        } else {
          remainderSubexpr0 =
              k2 * MULTIPLER_LONGWORD_DECIMAL;

          remainder0 =
              remainderSubexpr0 / rightFast0;
          remainderDigitCount =
              TWO_X_LONGWORD_DECIMAL_DIGITS
            + LONGWORD_DECIMAL_DIGITS - fastLongWordTrailingZeroCount(remainder0);
        }
      }
    }

    fastResult.fast0 = remainder0;
    fastResult.fast1 = remainder1;
    fastResult.fast2 = remainder2;

    return remainderDigitCount;
  }
*********************************************************************************************
  // Decimal Division / Remainder.

  /**
EXPERMIMENTAL: Division when divisor fits in a single decimal longword.

@return  remainderSubexpr2
storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java