Consider the following code segment.

x = u - t;
y = x * v;
x = y + w;
y = t - z;
y = x * y; 

The minimum number of total variables required to convert the above code segment to static single assignment form is

Each left hand side is a new variable + the new variables (u,t,v,w,z) on R.H.S.

In compiler design, static single assignment form (often abbreviated as SSA form or simply SSA) is a property of an intermediate representation (IR), which requires that each variable is assigned exactly once, and every variable is defined before it is used. Existing variables in the original IR are split into versions, new variables typically indicated by the original name:

x = u - t;

y = x * v;

x = y + w;

y = t - z;

y = x * y;

The value of x being used in the second line comes from the first assignment of x. A program would have to perform reaching definition analysis to determine this. But if the program is in SSA form, both of these are immediate and so the other variables like y:

x1 = u - t;

y1 = x1 * v;

x2 = y1 + w;

y2 = t - z;

y3 = x2 * y2;

Total distinct variables used are: t, u, x1, v, y1, w, x2, z, y2, y3

Hence the answer is 10 variables