fact: Definition f_sum := {| fn_return := tuint; fn_callconv := cc_default; fn_params := ((_t, (tptr (Tstruct _tree noattr))) :: nil); fn_vars := nil; fn_temps := ((_t'2, tuint) :: (_t'1, tuint) :: (_t'5, (tptr (Tstruct _tree noattr))) :: (_t'4, (tptr (Tstruct _tree noattr))) :: (_t'3, tuint) :: nil); fn_body := (Sifthenelse (Ebinop Oeq (Etempvar _t (tptr (Tstruct _tree noattr))) (Ecast (Econst_int (Int.repr 0) tint) (tptr tvoid)) tint) (Sreturn (Some (Econst_int (Int.repr 0) tint))) (Ssequence (Ssequence (Ssequence (Sset _t'5 (Efield (Ederef (Etempvar _t (tptr (Tstruct _tree noattr))) (Tstruct _tree noattr)) _left (tptr (Tstruct _tree noattr)))) (Scall (Some _t'1) (Evar _sum (Tfunction (Tcons (tptr (Tstruct _tree noattr)) Tnil) tuint cc_default)) ((Etempvar _t'5 (tptr (Tstruct _tree noattr))) :: nil))) (Ssequence (Sset _t'4 (Efield (Ederef (Etempvar _t (tptr (Tstruct _tree noattr))) (Tstruct _tree noattr)) _right (tptr (Tstruct _tree noattr)))) (Scall (Some _t'2) (Evar _sum (Tfunction (Tcons (tptr (Tstruct _tree noattr)) Tnil) tuint cc_default)) ((Etempvar _t'4 (tptr (Tstruct _tree noattr))) :: nil)))) (Ssequence (Sset _t'3 (Efield (Ederef (Etempvar _t (tptr (Tstruct _tree noattr))) (Tstruct _tree noattr)) _n tuint)) (Sreturn (Some (Ebinop Oadd (Ebinop Oadd (Etempvar _t'3 tuint) (Etempvar _t'1 tuint) tuint) (Etempvar _t'2 tuint) tuint)))))) |}.
imports: Coq(String List ZArith) compcert(Coqlib Integers Floats AST Ctypes Cop Clight Clightdefs)