fact: Definition f_mark := {| fn_return := tvoid; fn_callconv := cc_default; fn_params := ((_x, (tptr (Tstruct _Node noattr))) :: nil); fn_vars := nil; fn_temps := ((_l, (tptr (Tstruct _Node noattr))) :: (_r, (tptr (Tstruct _Node noattr))) :: (_root_mark, tint) :: nil); fn_body := (Ssequence (Sifthenelse (Ebinop Oeq (Etempvar _x (tptr (Tstruct _Node noattr))) (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) (Sreturn None) Sskip) (Ssequence (Sset _root_mark (Efield (Ederef (Etempvar _x (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _m (talignas 4%N tint))) (Ssequence (Sifthenelse (Ebinop Oeq (Etempvar _root_mark tint) (Econst_int (Int.repr 1) tint) tint) (Sreturn None) Sskip) (Ssequence (Sset _l (Efield (Ederef (Etempvar _x (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _l (talignas 3%N (tptr (Tstruct _Node noattr))))) (Ssequence (Sset _r (Efield (Ederef (Etempvar _x (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _r (tptr (Tstruct _Node noattr)))) (Ssequence (Sassign (Efield (Ederef (Etempvar _x (tptr (Tstruct _Node noattr))) (Tstruct _Node noattr)) _m (talignas 4%N tint)) (Econst_int (Int.repr 1) tint)) (Ssequence (Scall None (Evar _mark (Tfunction (Tcons (tptr (Tstruct _Node noattr)) Tnil) tvoid cc_default)) ((Etempvar _l (tptr (Tstruct _Node noattr))) :: nil)) (Scall None (Evar _mark (Tfunction (Tcons (tptr (Tstruct _Node noattr)) Tnil) tvoid cc_default)) ((Etempvar _r (tptr (Tstruct _Node noattr))) :: nil))))))))) |}.
imports: Coq(String List ZArith) compcert(Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs)