Looks like the issue can be worked around by calling Supernet() with
prefixlen_diff=0 at the end of the computation. I have the impression
that blanking the host part and shifting the network mask are done in
the wrong order, but I haven't seen the code.
New program:
from sys import argv
import i
Public bug reported:
When using the IPv4Network.Supernet() call, the resulting address is
calculated incorrectly. Instead of presenting the all-zeros address in
the host part, the first bit of the host part is kept as it was, causing
an incorrect address to be displayed. This only appears to be a