This original question looks like a Computer Architecture question, but I'm just enquiring only about the math involved.
The original question: Given three classes of instructions: class $A, B,$ and $C$, which we denote its CPI(cycles per instruction) by $a, b, $and $c$ respectively. If we increase the clock rate to 150% and the CPI of class $A$ to $1.5a$, while CPI of class $B$ and class $C$ remain unchanged. If class $A$ instructions account for 40% of the total instructions, what is the performance gain = ($ExecutionTime_{old}/ExecutionTime_{new} - 1$)?
Execution time can be computed as such: Execution time = number of instructions x avg CPI x (1/clock rate)
My approach to the question: Let $I$ and $R$ denote the total number of instructions and clock rate respectively, and let $y = xb + (0.6 - x)c$, where $0 \le x \le 0.6$
Then performance gain = $$\frac{I * (0.4a + y) * (1/R)}{I * (0.4 * 1.5a + y) * (1/1.5R)} $$ $$=\frac{1.5*(0.4a + y)}{0.6a + y}$$ $$=\frac{0.6a + 1.5y}{0.6a + y}$$
My question is: Wouldn't you have to know the values of $b, c$, and its percentage, or at least know how much $y$ is compared with $a$?