public override Function GetDerivativeAnalytically()
        {
            Multiply multiply = new Multiply();

            multiply.LeftFunc  = LeftFunc.GetDerivativeAnalytically();
            multiply.RightFunc = this;
            return(multiply);
        }
        public override Function GetDerivativeAnalytically()
        {
            Multiply der = new Multiply();

            der.LeftFunc                     = LeftFunc.GetDerivativeAnalytically();
            der.RightFunc                    = new Substract();
            der.RightFunc.RightFunc          = new S();
            der.RightFunc.RightFunc.LeftFunc = this.LeftFunc;
            return(der);
        }