nodes: 0, module; 1, function_definition; 2, function_name:cmp_mat; 3, parameters; 4, block; 5, identifier:a; 6, identifier:b; 7, expression_statement; 8, expression_statement; 9, for_statement; 10, return_statement; 11, comment:"""
      Sorts two matrices returning a positive or zero value
      """; 12, assignment; 13, pattern_list; 14, call; 15, block; 16, identifier:c; 17, identifier:c; 18, integer:0; 19, identifier:x; 20, identifier:y; 21, identifier:zip; 22, argument_list; 23, expression_statement; 24, if_statement; 25, attribute; 26, attribute; 27, assignment; 28, comparison_operator:c != 0; 29, block; 30, identifier:a; 31, identifier:flat; 32, identifier:b; 33, identifier:flat; 34, identifier:c; 35, call; 36, identifier:c; 37, integer:0; 38, return_statement; 39, identifier:cmp; 40, argument_list; 41, identifier:c; 42, call; 43, call; 44, identifier:abs; 45, argument_list; 46, identifier:abs; 47, argument_list; 48, identifier:x; 49, identifier:y
code: def cmp_mat(a, b):
      """
      Sorts two matrices returning a positive or zero value
      """
      c = 0
      for x, y in zip(a.flat, b.flat):
          c = cmp(abs(x), abs(y))
          if c != 0:
              return c
      return c