It seems to be a bug in anglediff - if the torso and the arrow ever have the same angle (I.E. the arrow, the torso, and the mouse are on the same line) the difference between them becomes 0 and gets stuck there.
As near as I can tell, your aim with those calculations is to make the player's torso turn to face the mouse more quickly at the beginning of its turn and then ease into place, right?