That's because you need to use Two's complement representation to use signed integers in yul, since that's the way EVM understand them:
There are some comments about Two's Complement in the Solidity docs:
So, solving your doubt:
-15 is represented as: 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1
-3 is represented as: 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd
function powOfTen(uint256 x) public pure returns (int256 result) {
assembly {
switch x
case 1 { result := 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1 }
case 2 { result := 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd }
}
}
I've modified the function from internal to public if you want to test it on Remix.