La suma y la resta tienen constantes invertidas \ $ C_ {in} \ $, podemos estar conectados a \ $ (I_3 \ vee I_4) \ $. Luego invierta el valor de resta antes de pasar a un sumador completo. ADD / SUBR / SUBS se puede expresar como:
$$
(R \ forall I_3) + (S \ foralli I_4) + (I_3 \ vee I_4)
$$
Usando el mismo método de inversión de xor que puede combinar:
AND / NOTRS: \ $ (R \ forall I_3) \ wedge S \ $
EXOR / EXNOR: \ $ R \ forall S \ forall I_3 \ $
Esto hace 4 posibilidades que se pueden decodificar usando tres muxes de 2 a 1.
simular este circuito : esquema creado usando CircuitLab
Sugerencia: el conteo de puertas puede reducirse aún más compartiendo la lógica con las puertas que se encuentran dentro del fulladder.