The 'roman' (mostly allied) cavalry was just rubbish, and always was. All the large battles the Romans lost against Hannibal (Trebia, Trasimene) except Cannae involved their centre holding cohesion while the flanks got slaughtered and said centre just chopping their way through the Carthaginian line to escape, at Cannae they lost cohesion everywhere after their initial success and couldn't do that. No quarter given and the winning side having more than 20% casualties themselves led to the massive death toll, usually the losing side either surrendered or ran away.
Borodino is usually cited as the bloodiest day in Europe since Cannae. Even with a moderate estimate for Cannae's death toll it's still 1/20 that of a Verdun or Somme, with swords and spears, and over far less than 1/20 the time scale of those battles.
And to be somewhat on topic, Vin Diesel as Hannibal in the movies he was pitching would have been a sight to see.