わたなべです。

acoshなどがない場合を考えてconfigure.inのAC_REPLACE_FUNCS
でチェックしてますが、本当にない場合宣言がないためint acosh
として扱われてしまいます。

たとえばmingw32版だと
  % ./ruby -ve 'p Math.acosh(Math.cosh(1.0))'
  ruby 1.7.2 (2002-05-10) [i386-mingw32]
  1074070143.0
という感じででたらめです。

どこかに
  #ifndef HAVE_HYPOT
  double hypot _((double, double));
  #endif
  ...
を要れるべきだと思いますが、どこがいいでしょう?
ruby.hの最後あたりかなあ?

-- 
わたなべひろふみ