Wal-Mart earnings badly miss expectations