PROGRAM SYNTHESIS FOR SCIENTIFIC COMPUTING