tgrep 'VP < (/^V/ !< /^giv[ei]/) <2 NP <3 NP' | more
This gets some good matches and some that are spurious. In particular, it finds VPs with words like Monday acting as temporal modifiers. Because of the way these sentences were parsed, such VPs also match the search pattern given. The following will weed out some of them:
tgrep 'VP < (/^V/ !< /^giv[ei]/) <2 (NP !< (NNP < Monday|Tuesday| Wednesday|Thursday|Friday|Saturday|Sunday)) <3 (NP !< (NNP < Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday))' | more
Ideally, the parsing scheme would have included a way of indicating that these NPs are modifiers and not complements.