BPCL posts profit on lower crude