public static void Combine_Test(PocketRoot root)
        {
            root.Process(Node.VarS,		(node, i) => (number)Math.Cos(i));
            root.Process(Node.VarB,		(node, i) => (number)Math.Sin(i));
            root.Process(Node.VarHold,	(node, i) => (number)Math.Tan(i));

            number h_vs_s = Tests.Simulation(Node.VarHold, Node.VarS, root);
            number h_vs_b = Tests.Simulation(Node.VarHold, Node.VarB, root);

            root.CombineStrats((number).5, (number).5);
            //root.NaiveCombine(Node.VarS, .5, Node.VarB, .5, Node.VarS);

            number h_vs_mix = Tests.Simulation(Node.VarHold, Node.VarS, root);

            Tools.LogPrint("vs s   = {0}", h_vs_s);
            Tools.LogPrint("vs b   = {0}", h_vs_b);
            Tools.LogPrint("vs mix = {0}", h_vs_mix);
            Tools.LogPrint("should = {0}", (number).5 * (h_vs_s + h_vs_b));
        }