> これは、掛け算ではなく **(aRational) の問題みたい。nurat では、
> 
>   N = Float::MAX.to_i * 2
>   p Rational(N + 2, N + 1).to_f
> 
> とすると NaN ですが、rational-1.19 では複雑なことをしていて、1.0 にな
> ります。しかし、工夫の余地があるということだなあ。

石塚版と同じですが、そこはバグと考えていいでしょうね。