ibm beats earnings forecast