pldi14 2.5 p3+4+5