It's not C, but a new language with similar syntax. Based on reading the docs at [1], the assignment is sugar for generating a new binding for the result of that expression that shadows the previous one.
What does the "single assignment" bit get you that a compiler with an SSA pass doesn't?
x = 5;
int* p = &x;
x = 6; // new binding of x
printf("%i\n",*p);
prints "6". If new bindings lived at different addresses, it would print "5".E.g. you can turn a C program into SSA, but if you have aliasing issues, it's not gonna fix them...