Все же, свою версию я бы записал вот так: for i in [1,2,3]:
count = sum(y1,y2,y3)
yi = (xi & yi) | (xi & (count < 2))
А для FBD:
(блин, лень дописывать, тут еще ИЛИ и ветки подхвата должны быть, но суть идеи - видна, гонка сигналов исключена путем тактирования схемы)