/*
   Full Adder circuit
*/

Define Full_Adder CarryIn a b | CarryOut Sum;
  Xor aa a b x;
  Xor ab x CarryIn Sum;
  And bb a b y;
  And cb CarryIn x z;
  Or bc-cc y z CarryOut;
Endef;

/* ------------------------- */
Switch "Cin" aa Cin ZERO;
Switch "A-in" ba a ZERO;
Switch "B-in" ca b ZERO;
Full_Adder ab-cd Cin a b | Cout sum;
Probe "Sum" be sum;
Probe "Cout" ae Cout;
