1. A compiler for producing optimized computer programming code, said compiler embodied as a plurality of computer-executable instructions recorded on a non-transitory tangible computer-readable medium, said compiler comprising: an instrumentation function which places instrumentation hooks in a subset of respective paths in a compiled program, each instrumentation hook generating profile data during execution of said compiled program representing control flow in the respective path of the instrumentation hook, said subset of respective paths being fewer than all potential paths of said computer program; an inferencing function, said inferencing function inferring profile data for control flow paths in said compiled program which are not in said subset from said generated profile data; and a profile data adjustment function which uses at least one first heuristic to identify at least one error in profile data produced by said inferencing function and adjusts said error according to at least one second heuristic; wherein said compiler uses profile data produced by said instrumentation hooks, said inferencing function, and said profile data adjustment function to generate optimized programming code.