更新日: 2023 年 10 月 26 日
__SINH
FE ファンクションコール名
__SINH
FE ファンクションコール番号
$FE41
機能
64bit 浮動小数点数の双曲線正弦
入力
d0d1.d:64bit 浮動小数点数。x
出力
d0d1.d:64bit 浮動小数点数。sinh(x)
フラグ
cs: エラーあり ,cs+vs: オーバーフロー
解説
バグ
FLOAT2.X 2.02/2.03 は __SINH(NaN)がエラーになる
FLOAT2.X 2.02/2.03 は |x|<1.5/2^53 のとき __SINH(x)が 0 になる
sinh(x)=(exp(x)-1/exp(x))/2 だけで計算しており、x ≒ 0 のとき情報落ちで exp(x)≒ 1+x ≒ 1 となることが考慮されていない
sinh(0x3ca8000000000000)=0x3ca8000000000000=1.5/2^53
sinh(0x3ca7ffffffffffff)=0x0000000000000000 ここから突然 0 になる
FLOAT2.X 2.02/2.03 は x<-6243314768165359/274877906944=-22713.0468 …のとき V がセットされない
sinh(0xc0d62e42fefa39ef)は V|C
sinh(0xc0d62e42fefa39f0)は C
exp(x)がアンダーフローした時点でエラー終了してしまいオーバーフローする exp(-x)を計算していない
この場合はアンダーフローした側を 0 として扱うべき