ちと調べて見たけど、やっぱfloatの問題っぽい
https://ekulabo.com/csharp-float-error

よって持つ数字を 0.XXX までの桁数で行うのがいいような気がします
ToAngleAxis で出力される数値は、当然それより多いので毎回桁数合わせて計算すれば
思い通り行くかと思います