US Congress budget office says $45.1b cost on Iran war, bases damaged