@staticmethod
def evaluation_at(sub_expr1, sub_expr2, val_dict):
    """
        Compute multiplication of sub_expr1 with sub_expr2 using inputs 
        of variable values from val_dict.
    
        INPUTS
        =======
        sub_expr1: expression or constant
        sub_expr2: expression or constant
        val_dict: a dictionary containing variable name and values.
        
        RETURNS
        ========
        sub_expr1 * sub_expr2
        """
    return sub_expr1.evaluation_at(val_dict) * sub_expr2.evaluation_at(val_dict
        )
