I'll try to explain how I do my haste calcs in a relatively simple manner:
Spell damage coefficient
1. First we take our current spelldamage and add it to the average base lightning bolt damage using the correct coefficient.
2. The coefficient can be calculated as follows: base casting speed (2.5) divided by 3.5. Since the LB casting speed nerf (down to 2.5 from 3.0), Blizzard has added an artificial coefficient bonus of around 0.08. This means that the correct coefficient is (2.5/3.5+0.08), which results in roughly 0.794.
3. We now take this coefficient and multiply our spelldamage with it, then add the average base lightning bolt damage. I'll use 1200 spelldamage for this example. The result is around 1594.643. Let's call this number X.
Crit chance
1. We can now put our crit % into the calculation, which works as follows (since we're all using it, I'll add the relentless skyfire diamond crit bonus as well):
2. What we'll do here is to use the damage done by our crits as well as by our non-crits, which simply means multiplying X by the chance not to crit first, and adding the result to the chance to crit multiplied by the crit coefficient and X.
3. Let's do the first part first: the chance not to crit is 100 minus the chance to crit. We also have to divide the result by 100 to get an actual percentage. This means that the formula looks as follows: X*((100-crit%)/100). Let's use 40% as our crit chance for this example, which results in about 956.786.
4. The second step is to do the same with our chance to crit, using the correct coefficient. When critting, we do twice the damage so we have to multiply X by the chance to crit, then by 2 and finally by the bonus crit damage provided by the metagem, which is around +0.09 according to most tests: X*(crit%/100)*2.09. Using our 40% crit chance, this comes to around 1333.122.
5. Now we have to add both these numbers to get our average lightning bolt hit taking our crit % into account. The result is 2289.908. Let's call this number Y.
Lightning overload
1. The next step is to incorporate lightning overload into the calculation. A simple way to explain how the damage it returns is calculated is that in 20% of cases we'll get 50% more damage, whereas in the other 80% of cases we'll just get our regular damage.
2. Let's do the first part first, meaning that we'll multiply Y by 0.2 and then by 1.5. The result is 686.972.
3. The second part is to multiply Y by 0.8. The result here is 1831.926.
4. Now we add these two numbers to get our overall result of our combined lightning bolt and lightning overload damage. The result here is 2518.898. Let's call this number Z.
Hit chance, haste, DPS & concussion
1. Now we have to put our chance to hit into the calculation, which is fairly simple, since we just have to multiply Z by it. I'll assume hit cap here, which is 99%. This means that we'll multiply 0.99 by Z, the result of which is about 2493.709 We also have to multiply this by 1.05 to account for the concussion talent. The result is 2618.395.
2. Now what we really want to know using all of this is the DPS we get in the end, and once again, incorporating this into the calculation isn't too difficult. What we have to do is take the number we got in our previous calculation and divide it by our casting time. The casting time itself is, of course, affected by our current haste, for which I'll assume a value of 150.
3. The correct way to calculate casting time is to use the normal casting time (in the case of LB 2 seconds) and divide it by 1+(haste/1577). The result of this, using 150 haste, is 1.83.
4. Now let's divide our previous number by our casting time to get our DPS done. 2618.395/1.83 = 1430.817. This is our DPS assuming LB spam with infinite mana.
To find out how much haste does for you, you simply change the haste value and check its effect on your DPS.
[e] Thanks for pointing out that error, Melthar. I made the appropriate changes.
[e2] Added Daidalos' corrections.