CrossBeam: Learning to Search in Bottom-Up Program Synthesis