Inheritance: AstRecursiveVisitor
 public static ICode V(ICode ast) {
     var v = new VisitorIfSimplification(ast);
     var ret = v.Visit(ast);
     foreach (var replace in v.replaceVars) {
         ret = VisitorReplace.V(ret, replace.Item1, replace.Item2);
     }
     return ret;
 }
        public static ICode V(ICode ast)
        {
            var v   = new VisitorIfSimplification(ast);
            var ret = v.Visit(ast);

            foreach (var replace in v.replaceVars)
            {
                ret = VisitorReplace.V(ret, replace.Item1, replace.Item2);
            }
            return(ret);
        }