	// Reuse the `ptr` to store the preimage part: <sizePrefix ++ precompileStatus ++ returrnData>
	// put size as big-endian uint64 at start of pre-image
	mstore(ptr, shl(192, size))
	ptr := add(ptr, 0x08)

	// write precompile result status to the first byte of `ptr`
	mstore8(ptr, res)
	// write precompile return data to the rest of `ptr`
	returndatacopy(add(ptr, 0x01), 0x0, returndatasize())

	// compute part given ofset
	part := mload(add(sub(ptr, 0x08), _partOffset))
