This kind of discussion appears regularly on these boards. The problem is your "view" of what you are trying to accomplish.
For example:
1. roll of 4d6 generates 12.5 as an average, since you can't have fractional abilities = 12. Point buy for 12 is 4 per stat thus 24 point buy. 25 is a little extra.
2. generate all possible valid combinations, average each stat seperately, then calculate point buy from those averages.
3. generate all possible valid combinations, and average the point buy for those combinations.
To find every possible combination of rolls is quite easy, and I'm surprised people have written programs that take "hours" to run.
You have a limited sample space that can be easily generated this way. Generating 2 characters with the same statistics averages to a single character. Following all the rules, there are only so many characters that can be generated if you had unlimited time to do so.
You do not have to go and generate 1 million characters to get a sample space, you just need to create every possible combination of characters.
D