def mul_sign(lh_expr, rh_expr):
 is_pos = ((lh_expr.is_zero() or rh_expr.is_zero()) or (lh_expr.is_positive() and rh_expr.is_positive()) or (lh_expr.is_negative() and rh_expr.is_negative()))
 is_neg = ((lh_expr.is_zero() or rh_expr.is_zero()) or (lh_expr.is_positive() and rh_expr.is_negative()) or (lh_expr.is_negative() and rh_expr.is_positive()))
 return (is_pos, is_neg)

def mul_sign ( lh_expr , rh_expr ) : is_pos = ( ( lh_expr . is_zero ( ) or rh_expr . is_zero ( ) ) or ( lh_expr . is_positive ( ) and rh_expr . is_positive ( ) ) or ( lh_expr . is_negative ( ) and rh_expr . is_negative ( ) ) ) is_neg = ( ( lh_expr . is_zero ( ) or rh_expr . is_zero ( ) ) or ( lh_expr . is_positive ( ) and rh_expr . is_negative ( ) ) or ( lh_expr . is_negative ( ) and rh_expr . is_positive ( ) ) ) return ( is_pos , is_neg )
give the sign resulting from multiplying two expressions .