You are essentially trying to ignore SMT concerns. While you can get away with this for HTT, other forms of SMT, such as AMD's CMT, start causing issues, due to the overhead involved in using the second core of a BD module. Hence why I tried to keep the comparisons between just quads, because you start making the formula a LOT more complicated.
And if you REALLY want to be technical, all this math assumes the processor is doing 100% work on the program in question, and if any CPU core isn't stuck at 100% load, you grossly overestimate IPC, so you need to account for core loading on a Per-Core basis, then figure out how much each core affected performance, hence why Physical and Logicial cores have to be considered separately, factoring in the "average" performance benefit/loss of various core loading profiles into the formula, which goes well outside what we are trying to discuss at this point.
Hence, the IPC numbers given by my formulas are grossly inflated. But for comparing two processors where the app in question is the only major program running, the numbers are good enough to be able to calculate the relative difference in performance between two chips, since the numbers would be inflated equally for both.
Also, Juan, learn some math:
http://mathforum.org/library/drmath/view/58083.html
http://www.mathsisfun.com/percentage-difference.html
You are trying to use % Change, which is not valid when comparing two significantly different items. You have to use % difference instead, which is defined as:
| (V1 - V2) / (V1 + V2) / 2 | * 100%
Hence my numbers.