I'm trying to add this expression to my work:

I understand that the best way to achieve this is using the alignat environment within the amsmath package, so I tried the following:
\begin{alignat*}{3}
m && \text{módulo} && m>0\\
a && \text{multiplicador} && 0<a<m\\
c && \text{constante aditiva} && 0\leq c<m\\
x_0 && \text{valor inicial} && 0\leq x_0 <m
\end{alignat*}
But the spacing I'm getting is really weird, I have read the amsmath documentation but I can't figure out what's the problem.
This was I'm getting:

My version is in spanish and I'm using polyglossia, but I don't think that's relevant.
Anyway I'm using xelatex, and the book class.
I also wanted to know if there is a way to write the whole equation in the same environment with the middle text, or do I need to make another math environment for the centered equation at the end.


tabularortabbingis probably a better approach thanalignat.alignatsets up "columns" this way:. it was really designed to align multiple "mini-equations" across a line. you'd get a better result if you set your lines up (using the longest one as the example)c\qquad & \text{constante aditiva}\qquad & 0\leq c<m \` but that's still not wonderful.