function [DA,DC] = my_function(A,C,DA,DC,U_s,o_s,x,xL,xU,o,y,yL,yU,U,xs)
p{i}=(o(i).^2*(A+DA)-(C+DC))*U(:,i);
[~,~,i_x]=intersect(depends(recover(v(ii))),idx_x);
v1=setdiff(getvariables(pvec),depends(pvec));
[~,~,i_x]=intersect(depends(recover(v1(i))),idx_x);
[~,~,i_y]=intersect(depends(recover(v1(i))),idx_y);
ConstrT=ConstrT+[t(i)==x(i_x)*y(i_y)];
ConstrTRelax=ConstrTRelax+[recover(t_i) >= xL(i_x)*y(i_y) + yL(i_y)*x(i_x) - xL(i_x)*yL(i_y)]+...
[recover(t_i) >= xU(i_x)*y(i_y) + yU(i_y)*x(i_x) - xU(i_x)*yU(i_y)]+...
[recover(t_i) <= xU(i_x)*y(i_y) + yL(i_y)*x(i_x) - xU(i_x)*yL(i_y)]+...
[recover(t_i) <= xL(i_x)*y(i_y) + yU(i_y)*x(i_x) - xL(i_x)*yU(i_y)];
ConstrX=[xL<=x<=xU]:'X Feasibility';
ConstrY=[yL<=y<=yU]:'Y Feasibility';
ConstrBounds=[ConstrX,ConstrY];
ConstrS=ConstrS+[DC*(inv(A)-U_s*U_s')-DA*(inv(A)*C*inv(A)-U_s*o_s*U_s') == zeros(size(A))]:'No Spillover';
diag_cvx=optimize([s==rvec]+ConstrTRelax+ConstrBounds+ConstrS,s'*s,sdpsettings('solver','gurobi','verbose',1,'usex0',1,'savedebug',1));