AVL_SETBALANCE
AVL_SETBALANCE(node, -child_bal);
AVL_SETBALANCE(child, child_bal);
AVL_SETBALANCE(child, (balance == right_heavy ? left_heavy : 0));
AVL_SETBALANCE(node, (balance == left_heavy ? right_heavy : 0));
AVL_SETBALANCE(gchild, 0);
AVL_SETBALANCE(node, 0);
AVL_SETBALANCE(node, 0);
AVL_SETBALANCE(node, new_balance);
AVL_SETBALANCE(node, new_balance);
AVL_SETBALANCE(node, new_balance);