let eliminateTempsForExpPrinting f =
Cfg.clearCFGinfo f;
ignore(Cfg.cfgFun f);
UD.ignoreSizeof := false;
RD.computeRDs f;
IH.clear iioh;
IH.clear incdecHash;
IH.clear idDefHash;
let etec = new expLvTmpElimClass f in
let f' = visitCilFunction (etec :> cilVisitor) f in
RD.clearMemos (); (* we changed instructions and invalidated the "cache" *)
let idtec = new incdecTempElimClass f' in
let f' = visitCilFunction (idtec :> cilVisitor) f' in
let ctec = new callTempElimClass f' in
let f' = visitCilFunction (ctec :> cilVisitor) f' in
f'