こんにちは、立花@鎌ヶ谷市です。

Fujii Hironori <fujii@chi.its.hiroshima-cu.ac.jp> writes:

> sqrt (x*x) == x が真となることを前提としたプログラムを見たのですが、
> 真となるものですか。

常には成り立たないと思います。

> sqrt をニュートン法で誤差が十分小さくなったら終了とし、
> 誤差がでる処理系があるのではないかと思いまして。
> ちなみに、いくつか実験したら真でした。

手元(gcc version 2.95.3, glibc 2.2 on Plamo Linux2.2.6)で
Fujii さんのテストプログラムを動かしてみたら、

t 3.0
t 3
f 123.456

でした。
もちょっと試すと、

t 3.0
t 3
f 123.456
f 123.2
t 123.25
t 123.5
t 123.75
f 123.8

です。

--
tati@kc5.so-net.ne.jp                           立花 晃@鎌ヶ谷市