If either or both of your $m_n$ is $0$, this is pretty straightforward, so let's move on with no variables potentially zero.
Consider points in the second quadrant. These points have $x < 0$ and $y > 0$. Curves of constant product $xy=c$ as $c$ varies in $(-\infty, 0)$ are single branches of hyperbolae with center at $0$, vertices on the line $y = -x$, and asymptotes along the coordinate axes. Your question is equivalent to determining which of $(m_1, M_2)$ and $(m_2, M_1)$ is on the branch with vertex closest to the origin.
You seem to want to limit us to linear operations: addition, subtraction, and some multiplication. There is no hope of distinguishing all these curves with bounded numbers of such operations. If there were upper bounds on the $m_n$ and the $M_n$, then we could construct piecewise functions separating these branches. (Quickly requiring many, many pieces.) This would give, for example, a set of inequalities that are all satisfied for integer points whose coordinate product is $>-7/2$ or all violated for integer points whose coordinate product is $<-7/2$ and then similarly for every other half integer. Then we could binary search through these separators to determine which (if any) discriminate between $(m_1, M_2)$ and $(m_2,M_1)$.
For large products, these branches are very close together -- it will require many, many very nearly identical inequalities to separate them.
At some point, this becomes stupid. Multiply, compare, done.