code: def signed_tree_multiplier(A, B, reducer=adders.wallace_reducer, adder_func=adders.kogge_stone):
      
      if len(A) == 1 or len(B) == 1:
          raise pyrtl.PyrtlError("sign bit required, one or both wires too small")
  
      aneg, bneg = A[-1], B[-1]
      a = _twos_comp_conditional(A, aneg)
      b = _twos_comp_conditional(B, bneg)
  
      res = tree_multiplier(a[:-1], b[:-1]).zero_extended(len(A) + len(B))
      return _twos_comp_conditional(res, aneg ^ bneg)
docs: Same as tree_multiplier, but uses two's-complement signed integers