BP to buy back more shares after profit doubles to $8bn