OpenCL Programming by Example