! <scp> 12/2/01 corrected tanh(DENORMAL) return DENORMAL to set underflow. ! IEEE double test vectors for tanh 4z =d 0x7ff80aa0 0x00000000 0x00000000 0x00000000 OK 0x7ff80aa0 0x00000000 4z =d 0x00000000 0x00000000 0x00000000 0x00000000 OK 0x00000000 0x00000000 4z =d 0x80000000 0x00000000 0x00000000 0x00000000 OK 0x80000000 0x00000000 4z =d 0x7ff00000 0x00000000 0x00000000 0x00000000 OK 0x3ff00000 0x00000000 4z =d 0xfff00000 0x00000000 0x00000000 0x00000000 OK 0xbff00000 0x00000000 4z =d 0x3ff00000 0x00000000 0x00000000 0x00000000 x 0x3fe85efa 0xb514f394 4z =d 0x40000000 0x00000000 0x00000000 0x00000000 x 0x3feed950 0x5e1bc3d4 ! <scp> 4z =d 0x40080000 0x00000000 0x00000000 0x00000000 x 0x3fefd77d 0x111a0b00 4z =d 0x40080000 0x00000000 0x00000000 0x00000000 x 0x3fefd77d 0x111a0b01 ! <scp> 4z =d 0x3fe00000 0x00000000 0x00000000 0x00000000 x 0x3fdd9353 0xd7568af3 4z =d 0x3fe00000 0x00000000 0x00000000 0x00000000 x 0x3fdd9353 0xd7568af5 4z =d 0x3fd00000 0x00000000 0x00000000 0x00000000 x 0x3fcf597e 0xa69a1c86 ! <scp> 4z =d 0x3fc00000 0x00000000 0x00000000 0x00000000 x 0x3fbfd599 0x2bc4b835 4z =d 0x3fc00000 0x00000000 0x00000000 0x00000000 x 0x3fbfd599 0x2bc4b834 ! 11 manual vectors 4z =d 0xffefffff 0xffffffff 0x00000000 0x00000000 x 0xbff00000 0x00000000 4z =d 0xffefffff 0xfffffffe 0x00000000 0x00000000 x 0xbff00000 0x00000000 4z =d 0xffefffff 0xfffffffd 0x00000000 0x00000000 x 0xbff00000 0x00000000 4z =d 0xffefffff 0xfffffffc 0x00000000 0x00000000 x 0xbff00000 0x00000000 4z =d 0xbff00000 0x00000004 0x00000000 0x00000000 x 0xbfe85efa 0xb514f398 ! <scp> 4z =d 0xbff00000 0x00000003 0x00000000 0x00000000 x 0xbfe85efa 0xb514f397 4z =d 0xbff00000 0x00000003 0x00000000 0x00000000 x 0xbfe85efa 0xb514f396 4z =d 0xbff00000 0x00000002 0x00000000 0x00000000 x 0xbfe85efa 0xb514f396 ! <scp> 4z =d 0xbff00000 0x00000001 0x00000000 0x00000000 x 0xbfe85efa 0xb514f395 4z =d 0xbff00000 0x00000001 0x00000000 0x00000000 x 0xbfe85efa 0xb514f394 4z =d 0xbff00000 0x00000000 0x00000000 0x00000000 x 0xbfe85efa 0xb514f394 4z =d 0xbfefffff 0xffffffff 0x00000000 0x00000000 x 0xbfe85efa 0xb514f394 4z =d 0xbfefffff 0xfffffffe 0x00000000 0x00000000 x 0xbfe85efa 0xb514f393 4z =d 0xbfefffff 0xfffffffd 0x00000000 0x00000000 x 0xbfe85efa 0xb514f393 4z =d 0xbfefffff 0xfffffffc 0x00000000 0x00000000 x 0xbfe85efa 0xb514f393 4z =d 0x80100000 0x00000004 0x00000000 0x00000000 x 0x80100000 0x00000004 4z =d 0x80100000 0x00000003 0x00000000 0x00000000 x 0x80100000 0x00000003 4z =d 0x80100000 0x00000002 0x00000000 0x00000000 x 0x80100000 0x00000002 4z =d 0x80100000 0x00000001 0x00000000 0x00000000 x 0x80100000 0x00000001 4z =d 0x80100000 0x00000000 0x00000000 0x00000000 x 0x80100000 0x00000000 ! <scp> 4z =d 0x800fffff 0xffffffff 0x00000000 0x00000000 x 0x800fffff 0xffffffff ! <scp> 4z =d 0x800fffff 0xfffffffe 0x00000000 0x00000000 x 0x800fffff 0xfffffffe ! <scp> 4z =d 0x800fffff 0xfffffffd 0x00000000 0x00000000 x 0x800fffff 0xfffffffd ! <scp> 4z =d 0x800fffff 0xfffffffc 0x00000000 0x00000000 x 0x800fffff 0xfffffffc ! <scp> 4z =d 0x80000000 0x00000005 0x00000000 0x00000000 x 0x80000000 0x00000005 ! <scp> 4z =d 0x80000000 0x00000004 0x00000000 0x00000000 x 0x80000000 0x00000004 ! <scp> 4z =d 0x80000000 0x00000003 0x00000000 0x00000000 x 0x80000000 0x00000003 ! <scp> 4z =d 0x80000000 0x00000002 0x00000000 0x00000000 x 0x80000000 0x00000002 ! <scp> 4z =d 0x80000000 0x00000001 0x00000000 0x00000000 x 0x80000000 0x00000001 ! <scp> 4z =d 0x00000000 0x00000001 0x00000000 0x00000000 x 0x00000000 0x00000001 ! <scp> 4z =d 0x00000000 0x00000002 0x00000000 0x00000000 x 0x00000000 0x00000002 ! <scp> 4z =d 0x00000000 0x00000003 0x00000000 0x00000000 x 0x00000000 0x00000003 ! <scp> 4z =d 0x00000000 0x00000004 0x00000000 0x00000000 x 0x00000000 0x00000004 ! <scp> 4z =d 0x00000000 0x00000005 0x00000000 0x00000000 x 0x00000000 0x00000005 ! <scp> 4z =d 0x000fffff 0xfffffffc 0x00000000 0x00000000 x 0x000fffff 0xfffffffc ! <scp> 4z =d 0x000fffff 0xfffffffd 0x00000000 0x00000000 x 0x000fffff 0xfffffffd ! <scp> 4z =d 0x000fffff 0xfffffffe 0x00000000 0x00000000 x 0x000fffff 0xfffffffe ! <scp> 4z =d 0x000fffff 0xffffffff 0x00000000 0x00000000 x 0x000fffff 0xffffffff 4z =d 0x800fffff 0xffffffff 0x00000000 0x00000000 ux 0x800fffff 0xffffffff 4z =d 0x800fffff 0xfffffffe 0x00000000 0x00000000 ux 0x800fffff 0xfffffffe 4z =d 0x800fffff 0xfffffffd 0x00000000 0x00000000 ux 0x800fffff 0xfffffffd 4z =d 0x800fffff 0xfffffffc 0x00000000 0x00000000 ux 0x800fffff 0xfffffffc 4z =d 0x80000000 0x00000005 0x00000000 0x00000000 ux 0x80000000 0x00000005 4z =d 0x80000000 0x00000004 0x00000000 0x00000000 ux 0x80000000 0x00000004 4z =d 0x80000000 0x00000003 0x00000000 0x00000000 ux 0x80000000 0x00000003 4z =d 0x80000000 0x00000002 0x00000000 0x00000000 ux 0x80000000 0x00000002 4z =d 0x80000000 0x00000001 0x00000000 0x00000000 ux 0x80000000 0x00000001 4z =d 0x00000000 0x00000001 0x00000000 0x00000000 ux 0x00000000 0x00000001 4z =d 0x00000000 0x00000002 0x00000000 0x00000000 ux 0x00000000 0x00000002 4z =d 0x00000000 0x00000003 0x00000000 0x00000000 ux 0x00000000 0x00000003 4z =d 0x00000000 0x00000004 0x00000000 0x00000000 ux 0x00000000 0x00000004 4z =d 0x00000000 0x00000005 0x00000000 0x00000000 ux 0x00000000 0x00000005 4z =d 0x000fffff 0xfffffffc 0x00000000 0x00000000 ux 0x000fffff 0xfffffffc 4z =d 0x000fffff 0xfffffffd 0x00000000 0x00000000 ux 0x000fffff 0xfffffffd 4z =d 0x000fffff 0xfffffffe 0x00000000 0x00000000 ux 0x000fffff 0xfffffffe 4z =d 0x000fffff 0xffffffff 0x00000000 0x00000000 ux 0x000fffff 0xffffffff 4z =d 0x00100000 0x00000000 0x00000000 0x00000000 x 0x00100000 0x00000000 4z =d 0x00100000 0x00000001 0x00000000 0x00000000 x 0x00100000 0x00000001 4z =d 0x00100000 0x00000002 0x00000000 0x00000000 x 0x00100000 0x00000002 4z =d 0x00100000 0x00000003 0x00000000 0x00000000 x 0x00100000 0x00000003 4z =d 0x00100000 0x00000004 0x00000000 0x00000000 x 0x00100000 0x00000004 4z =d 0x3fefffff 0xfffffffc 0x00000000 0x00000000 x 0x3fe85efa 0xb514f393 4z =d 0x3fefffff 0xfffffffd 0x00000000 0x00000000 x 0x3fe85efa 0xb514f393 4z =d 0x3fefffff 0xfffffffe 0x00000000 0x00000000 x 0x3fe85efa 0xb514f393 4z =d 0x3fefffff 0xffffffff 0x00000000 0x00000000 x 0x3fe85efa 0xb514f394 ! <scp> 4z =d 0x3ff00000 0x00000001 0x00000000 0x00000000 x 0x3fe85efa 0xb514f395 4z =d 0x3ff00000 0x00000001 0x00000000 0x00000000 x 0x3fe85efa 0xb514f394 4z =d 0x3ff00000 0x00000002 0x00000000 0x00000000 x 0x3fe85efa 0xb514f396 ! <scp> 4z =d 0x3ff00000 0x00000003 0x00000000 0x00000000 x 0x3fe85efa 0xb514f397 4z =d 0x3ff00000 0x00000003 0x00000000 0x00000000 x 0x3fe85efa 0xb514f396 4z =d 0x3ff00000 0x00000004 0x00000000 0x00000000 x 0x3fe85efa 0xb514f398 4z =d 0x7fefffff 0xfffffffc 0x00000000 0x00000000 x 0x3ff00000 0x00000000 4z =d 0x7fefffff 0xfffffffd 0x00000000 0x00000000 x 0x3ff00000 0x00000000 4z =d 0x7fefffff 0xfffffffe 0x00000000 0x00000000 x 0x3ff00000 0x00000000 4z =d 0x7fefffff 0xffffffff 0x00000000 0x00000000 x 0x3ff00000 0x00000000 ! 64 total vectors