BN_consttime_swap
BN_consttime_swap((~r->d[0]) & 1, r, g, top);
BN_consttime_swap(cond, r, g, top);
BN_consttime_swap(g->d[0] & 1 /* g is odd */
BN_consttime_swap(BN_is_bit_set(l, q_bits), k, l, q_words + 2);
BN_consttime_swap(kbit, k, lambda, group_top + 2);
BN_consttime_swap(c, (a)->X, (b)->X, w); \
BN_consttime_swap(c, (a)->Y, (b)->Y, w); \
BN_consttime_swap(c, (a)->Z, (b)->Z, w); \
void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
BN_consttime_swap(cond, a, b, top);
BN_consttime_swap(cond, a, a, top);
BN_consttime_swap(cond, a, b, top);
BN_consttime_swap(cond, a, a, top);
BN_consttime_swap(cond, a, b, top);
BN_consttime_swap(cond, a, b, top);