rn_left
if (p->rn_left == x)
p->rn_left = t;
tt = t->rn_left; /* ... which in turn is rnh->rnh_nodes */
x = x->rn_left;
x = x->rn_left;
t->rn_left = tt;
x = x->rn_left;
tt = t->rn_left;
p->rn_left = t;
t->rn_left = x;
rn = rn->rn_left;
rn = rn->rn_left;
rn = rn->rn_left;
rn = rn->rn_left;
rn = rn->rn_left;
t = t->rn_left;
if (x->rn_left == t)
x->rn_left = tt;
x = t->rn_left;
if (t->rn_left == tt)
t->rn_left = x;
if (p->rn_left == t)
p->rn_left = x;
x->rn_left->rn_parent = x;
if (t->rn_left == tt)
x = t->rn_left;
p->rn_left = x;
t->rn_left->rn_parent = t;