'Reduces the atom to an affine expression and list of constraints.
Parameters
arg_objs : list
LinExpr for each argument.
size : tuple
The size of the resulting expression.
data :
Additional data required by the atom.
Returns
tuple
(LinOp for objective, list of constraints)'

@staticmethod
def graph_implementation(arg_objs, size, data=None):

    x = Elementwise._promote(arg_objs[0], size)
    y = Elementwise._promote(arg_objs[1], size)
    t = lu.create_var(size)
    constraints = [ExpCone(t, x, y), lu.create_geq(y)]
    obj = lu.sub_expr(y, lu.sum_expr([x, t]))
    return (obj, constraints)
