code: public List<LongShapeDescriptor> calculateOutputShape() {
          if(x == null || y == null)
              return Collections.emptyList();
  
          long[] shapeX = x.shape();
          long[] shapeY = y.shape();
  
          return Collections.singletonList(LongShapeDescriptor.fromShape(Shape.broadcastOutputShape(shapeX, shapeY),
                  Shape.pickPairwiseDataType(x.dataType(), y.dataType())));
      }
docs: Calculate the output shape for this op
  
  @return