This paper proposes three different approaches to interprocedural reaching definitions analysis based on different levels of increasing precision, dependently on the sensitivity to calling context and control flow. A lower precision degree produces an overestimate of the reaching definitions in a program. The result is conservative (all dependences that hold are definitely reported), and faster than their more accurate counterparts. To be applicable to real programs written in modern programming languages, these analyses need to efficiently handle pointers, and to integrate pointers analysis with reaching definitions computation. Results on a test suite show that an almost 2000:1 reduction factor can be gained in execution time by the less accurate analysis, but an average 41 \% extra dependences are added. The intermediate variant is much more precise than the less accurate one (2 \% extra dependences), and remains more than 30 times faster than the most accurate analysis. Therefore while on medium size systems the intermediate variant could be a good compromise, on large systems the less accurate variant becomes extremely valuable, being the only feasible.