rn_r
x = x->rn_r;
x = x->rn_r;
t = t->rn_r;
x = x->rn_r;
p->rn_r = t;
t->rn_r = x;
t->rn_r = tt; t->rn_l = x;
if (x->rn_l == t) x->rn_l = tt; else x->rn_r = tt;
if (t->rn_r == saved_tt) x = t->rn_l; else x = t->rn_r;
if (t->rn_l == tt) t->rn_l = x; else t->rn_r = x;
if (p->rn_l == t) p->rn_l = x; else p->rn_r = x;
x->rn_l->rn_p = x; x->rn_r->rn_p = x;
if (t->rn_l == tt) x = t->rn_r; else x = t->rn_l;
if (p->rn_r == t) p->rn_r = x; else p->rn_l = x;
t->rn_l->rn_p = t; t->rn_r->rn_p = t;
if (p->rn_l == x) p->rn_l = t; else p->rn_r = t;
while (rn->rn_p->rn_r == rn && (rn->rn_flags & RNF_ROOT) == 0)
for (rn = rn->rn_p->rn_r; rn->rn_b >= 0;)
t->rn_r = ttt;