The truth table
| A | B | Cin | Sum | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Sum: no simplification available
Sum is 1 whenever an odd number of the three inputs are 1 — that's exactly a 3-input XOR, the same structure covered in full in the parity checker example. Minimized, it comes out to four full 3-literal terms — no grouping possible at all, for exactly the same structural reason: the required 1s form a checkerboard pattern with no two adjacent.
Carry-out: simplifies cleanly
Carry-out is 1 whenever at least two of the three inputs are 1 — this is the majority function, also covered from the truth-table side in From Truth Table to Minimal Expression. Unlike Sum, this one groups into three clean 2-literal pairs, all essential:
Same three inputs, same map size, completely different outcome — Sum is the worst case for K-map grouping, Cout is a clean case, and there's no way to know which you'll get without actually working through the map for each output separately.
Try Carry-out live
The solver below is pre-loaded with Cout's truth table.