At 4 bits, you could just have a hard-wired table lookup. Two 4 bit values in, 256 entry table. You can have saturating arithmetic and a post-processing function for free. Somebody must be building hardware like that.
Hardware engineers realise that a compiler will almost always find some combination of gates which is smaller/faster than the contents of any table.