I'm looking for information regarding this procedure. I have plenty of service information so I know when it's supposed to be done and how to make my scantool / software do the job. But I don't know what the learned value is actually used for and there are plenty of conflicting answers on the interwebz. Anyone with GM info or firsthand knowledge out there?

Is the information learned during CASE critical to correct spark advance?
Can the pcm work out cam / crank correlation without CASE? Can it work out correct crank position without CASE being run?
Is CASE information only used for misfire diagnostics?
Any clues as to how the learn procedure determines works? Does it detemine crank position? Does it calculate other values?

Thanks.