#NEWLINE# def visit_Reduce( self , expr ) : #NEWLINE# #INDENT# fn = self . visit_expr ( expr . fn ) #NEWLINE# combine = self . visit_expr ( expr . combine ) #NEWLINE# arg_shapes = self . visit_expr_list ( expr . args ) #NEWLINE# axes = self . normalize_axes ( expr . axis , expr . args ) #NEWLINE# elt_shapes = self . adverb_elt_shapes ( arg_shapes , elt_shapes ) #NEWLINE# elt_result = symbolic_call ( fn , elt_shapes ) #NEWLINE# init = ( elt_result if self . expr_is_none ( expr . init ) else self . visit_expr ( expr . init ) ) #NEWLINE# return symbolic_call ( combine , [ init , elt_result ] )