fact: Definition f_unionS := {| fn_return := tvoid; fn_callconv := cc_default; fn_params := ((_x, (tptr (Tstruct _Node noattr))) :: (_y, (tptr (Tstruct _Node noattr))) :: nil); fn_vars := nil; fn_temps := ((_xRoot, (tptr (Tstruct _Node noattr))) :: (_yRoot, (tptr (Tstruct _Node noattr))) :: (_xRank, tuint) :: (_yRank, tuint) :: (_t'2, (tptr (Tstruct _Node noattr))) :: (_t'1, (tptr (Tstruct _Node noattr))) :: nil); fn_body := (Ssequence (Ssequence (Scall (Some _t'1) (Evar _find (Tfunction (Tcons (tptr (Tstruct _Node noattr)) Tnil) (tptr (Tstruct _Node noattr)) cc_default)) ((Etempvar _x (tptr (Tstruct _Node noattr))) :: nil)) (Sset _xRoot (Etempvar _t'1 (tptr (Tstruct _Node noattr))))) (Ssequence (Ssequence (Scall (Some _t'2) (Evar _find (Tfunction (Tcons (tptr (Tstruct _Node noattr)) Tnil) (tptr (Tstruct _Node noattr)) cc_default)) ((Etempvar _y (tptr (Tstruct _Node noattr))) :: nil)) (Sset _yRoot (Etempvar _t'2 (tptr (Tstruct _Node noattr))))) (Ssequence (Sifthenelse (Ebinop Oeq (Etempvar _xRoot (tptr (Tstruct _Node noattr))) (Etempvar _yRoot (tptr (Tstruct _Node noattr))) tint) (Sreturn None) Sskip) (Ssequence (Sset _xRank (Efield (Ederef (Etempvar _xRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _rank tuint)) (Ssequence (Sset _yRank (Efield (Ederef (Etempvar _yRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _rank tuint)) (Sifthenelse (Ebinop Olt (Etempvar _xRank tuint) (Etempvar _yRank tuint) tint) (Sassign (Efield (Ederef (Etempvar _xRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _parent (tptr (Tstruct _Node noattr))) (Etempvar _yRoot (tptr (Tstruct _Node noattr)))) (Sifthenelse (Ebinop Ogt (Etempvar _xRank tuint) (Etempvar _yRank tuint) tint) (Sassign (Efield (Ederef (Etempvar _yRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _parent (tptr (Tstruct _Node noattr))) (Etempvar _xRoot (tptr (Tstruct _Node noattr)))) (Ssequence (Sassign (Efield (Ederef (Etempvar _yRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _parent (tptr (Tstruct _Node noattr))) (Etempvar _xRoot (tptr (Tstruct _Node noattr)))) (Sassign (Efield (Ederef (Etempvar _xRoot (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _rank tuint) (Ebinop Oadd (Etempvar _xRank tuint) (Econst_int (Int.repr 1) tint) tuint)))))))))) |}.
imports: Coq(String List ZArith) compcert(Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs)