static long[] expand(byte[] input) {
    long[] output = new long[LIMB_CNT];
    for (int i = 0; i < LIMB_CNT; i++) {
      output[i] =
          ((((long) (input[EXPAND_START[i]] & 0xff))
                      | ((long) (input[EXPAND_START[i] + 1] & 0xff)) << 8
                      | ((long) (input[EXPAND_START[i] + 2] & 0xff)) << 16
                      | ((long) (input[EXPAND_START[i] + 3] & 0xff)) << 24)
                  >> EXPAND_SHIFT[i])
              & MASK[i & 1];
    }
    return output;
  }
Takes a little-endian, 32-byte number and expands it into mixed radix form.
java_src/src/main/java/com/google/crypto/tink/internal/Field25519.java