There's a little bug found by myself:

the cparent should be updated everytime in insertion_fix_up, because
the x is always changed