fix an analysis issue with the ^ operator