A Cookbook for Optimal Interprocedural Program Optimization