Revert "Fold loop"

This reverts commit da51492dbcc9f19a4808ef18e8ae1222bc55b118.
diff --git a/backends/aiger/xaiger.cc b/backends/aiger/xaiger.cc
index f17a4c7..8b809b2 100644
--- a/backends/aiger/xaiger.cc
+++ b/backends/aiger/xaiger.cc
@@ -184,7 +184,6 @@
 					if (bit != wirebit)
 						alias_map[bit] = wirebit;
 					input_bits.insert(wirebit);
-					undriven_bits.erase(bit);
 				}
 
 				if (wire->port_output || keep) {
@@ -192,8 +191,6 @@
 						if (bit != wirebit)
 							alias_map[wirebit] = bit;
 						output_bits.insert(wirebit);
-						if (!wire->port_input)
-							unused_bits.erase(bit);
 					}
 					else
 						log_debug("Skipping PO '%s' driven by 1'bx\n", log_signal(wirebit));
@@ -201,6 +198,12 @@
 			}
 		}
 
+		for (auto bit : input_bits)
+			undriven_bits.erase(sigmap(bit));
+		for (auto bit : output_bits)
+			if (!bit.wire->port_input)
+				unused_bits.erase(bit);
+
 		// TODO: Speed up toposort -- ultimately we care about
 		//       box ordering, but not individual AIG cells
 		dict<SigBit, pool<IdString>> bit_drivers, bit_users;