@staticmethod
def derivative_at(sub_expr1, sub_expr2, var, val_dict, order=1):
    """
        calculate 1st derivative of var using forward mode
    
        INPUTS
        =======
        sub_expr1: expression or constant
        sub_expr2: expression or constant
        val_dict: a dictionary containing variable name and values.
        var: variable of interest
        order: default set to 1, set to 2 if 2nd derivative is desired
        
        RETURNS
        ========
        derivative of var with respect to sub_expr1
        """
    return sub_expr1.derivative_at(var, val_dict, order
        ) - sub_expr2.derivative_at(var, val_dict, order)
