正木です。

|[ruby-math:00796] Re: Rational#to_f
|From: matz / ruby-lang.org (Yukihiro Matsumoto)
|
|おっしゃることは分かるのですが、52というマジックナンバーを導
|入したくないのです。どうするのが一番良いでしょうね。

しゅどうさんの
[ruby-math:00798] Re: Rational#to_f
から判断すると、これは intel x86 processor の問題で Ruby 自身の
問題ではないので Ruby 自体の変更の必要は無いと思います。
intel x86 用の修正 file を用意しておいて、intel x86 の仕様に納得
できない人はこれを利用するというのはどうでしょうか?

と思いましたが、以下の対策に demerit がないのであれば、それが一番
よいような気がします。

|[ruby-math:00802] Re: Float#to_rational
|From: shudo / computer.org
|
|ではどうすればよいか、ですが、
|丸め時の精度を、拡張精度のままにしておかず、明示的に倍精度に設定することで
|今回のような 2度丸めは防止できます。
|すると、x86 でも他の種類のプロセッサと同じ結果が得られるようになります。