Also do this: $stderr.puts foo.class Is it possible that one of your arguments is a BigDecimal? $ irb --simple-prompt >> require 'bigdecimal' => true >> foo = BigDecimal.new("0.713") => #<BigDecimal:7fc0698c7180,'0.713E0',9(18)> >> foo ** 0.5555555 TypeError: wrong argument type Float (expected Fixnum) from (irb):3:in `**' from (irb):3 from :0 (this will be fixed in 1.9.3, according to NEWS file) -- Posted via http://www.ruby-forum.com/.