Thanks, that makes sense. However, that is just one half of what I don't quite get: irb(main):001:0> *x*, y = *-0.4505495340698077*, 2.718281828459045 => [-0.4505495340698077, 2.718281828459045] irb(main):002:0> *x* ** y => (-0.07250262422001937+0.08861014593587692i) irb(main):003:0> *-0.4505495340698077* ** y => -0.11449187080996949 irb(main):004:0> *-0.4505495340698077* == *x* => true How is it that the same operation gives different answer if I use a variable containing the value-0.4505495340698077 and if I use the number -0.4505495340698077 directly? u. On Tue, Aug 27, 2013 at 3:27 PM, Hans Mackowiak <lists / ruby-forum.com>wrote: > $ irb -w > irb(main):001:0> require "complex" > lib/complex.rb is deprecated > => true > > > "complex" and "rational" are already in core in newer versions > > -- > Posted via http://www.ruby-forum.com/. >