rn_right
p->rn_right = t;
t->rn_right = ttt;
x = x->rn_right;
x = x->rn_right;
t->rn_parent = t->rn_right = NULL;
x = x->rn_right;
p->rn_right = t;
t->rn_right = x;
t->rn_right = tt;
rn = rn->rn_right;
while (rn->rn_parent->rn_right == rn
for (rn = rn->rn_parent->rn_right; rn->rn_bit >= 0;)
while (rn->rn_parent->rn_right == rn
for (rn = rn->rn_parent->rn_right; rn->rn_bit >= 0;) {
t = t->rn_right;
x->rn_right = tt;
if (t->rn_right == saved_tt)
x = t->rn_right;
t->rn_right = x;
p->rn_right = x;
x->rn_right->rn_parent = x;
x = t->rn_right;
if (p->rn_right == t)
p->rn_right = x;
t->rn_right->rn_parent = t;