Rupee recovers 22 paise from all-time low to close at 87.58 against US dollar