public static int alignDown (int address, int alignment) throws InlinePragma { return (address & ~(alignment - 1));
public static Address alignDown (Address address, int alignment) throws InlinePragma { return address.toWord().and(Word.fromIntSignExtend(~(alignment - 1))).toAddress();
  public static int alignDown (int address, int alignment) throws InlinePragma {    return (address & ~(alignment - 1));  }