acospi # Name of the function to test # acospi.testdata # copyright (C) 2007 Ch. Q. Lauter, F. de Dinechin and V.Lefevre # This file is part of crlibm and is distributed under the GNU Public Licence # See file COPYING for details # The following lines are either comments (beginning with a #) # or give # 1/ a rounding mode : RN|RU|RD|RZ (crlibm syntax) or N|P|M|Z (libmcr syntax) # 2/ The high and low hexadecimal halves of an input # 3/ The high and low hexadecimal halves of the expected corresponding output # Special cases N 00000000 00000000 3fe00000 00000000 # zero N 80000000 00000000 3fe00000 00000000 # -zero P 00000000 00000000 3fe00000 00000000 # zero P 80000000 00000000 3fe00000 00000000 # -zero M 00000000 00000000 3fe00000 00000000 # zero M 80000000 00000000 3fe00000 00000000 # -zero Z 00000000 00000000 3fe00000 00000000 # zero Z 80000000 00000000 3fe00000 00000000 # -zero N 7ff00000 00000000 fff80000 00000000 # +inf N fff00000 00000000 fff80000 00000000 # -inf P 7ff00000 00000000 fff80000 00000000 # +inf P fff00000 00000000 fff80000 00000000 # -inf M 7ff00000 00000000 fff80000 00000000 # +inf M fff00000 00000000 fff80000 00000000 # -inf Z 7ff00000 00000000 fff80000 00000000 # +inf Z fff00000 00000000 fff80000 00000000 # -inf N fff80000 00000000 fff80000 00000000 # NaN P fff80000 00000000 fff80000 00000000 # NaN M fff80000 00000000 fff80000 00000000 # NaN Z fff80000 00000000 fff80000 00000000 # NaN # TODO other bad cases # Bad cases generated by tests/crlibm_generate_test_vectors acospi 15 10 # One in five of the very worst cases computed by Lefevre and Muller. # Rounding these values requires evaluating the function to at least 2^(-100). # These worst cases have been selected thanks to the filterlists 5 script # If you want the full list please contact Jean-Michel Muller # TODO This list is probably not complete, worst cases computed using cospi are missing N 0xBFCDA83E 0x335E379A 0x3FE261B6 0x4B3D04CE # -2.316968680210578779288255191204e-01 Z 0xBD86C6CB 0xC45DC8DE 0x3FE00000 0x00001D00 # -2.589393572921608322208573423162e-12 N 0xBDA65A1D 0xD290660F 0x3FE00000 0x000071D6 # -1.016452077032165551303228187420e-11 Z 0xBD36C6CB 0xC45DC8DE 0x3FE00000 0x000000E8 # -8.091854915380026006901791947382e-14 Z 0xBD36C6CB 0xC45DC8DE 0x3FE00000 0x000000E8 # -8.091854915380026006901791947382e-14 Z 0xBF868591 0x6AAE1754 0x3FE01CAD 0x18E14303 # -1.099694830714851440101043067443e-02 Z 0xBF6E0F4E 0xD195FD14 0x3FE00991 0x7F81C901 # -3.669408743632760275255044746245e-03 N 0xBF7985A0 0x620463D1 0x3FE0103F 0x7675528B # -6.230951781867014906135526786102e-03 N 0xBF7BDE15 0x42BB3723 0x3FE011BD 0xBBBDE141 # -6.803591775406822410310336834982e-03 Z 0xBEF969DF 0x9FDA1B90 0x3FE00010 0x2DC489D2 # -2.423626755512390618454987567532e-05 N 0xBF141C4A 0x3005149F 0x3FE00033 0x36032798 # -7.671549611128418812763113399100e-05 N 0xBEB73E9E 0x2254C98F 0x3FE00000 0xECC47E8A # -1.385486151872330182988567702507e-06 Z 0xBEC8EC2E 0x3D383D64 0x3FE00001 0xFBB7F8E9 # -2.971003121527976607277495013637e-06 Z 0xBED681DB 0xAB74B2E4 0x3FE00003 0x950737D4 # -5.366148506252765376873040126249e-06 N 0xBEE58D7B 0xF8B2F35D 0x3FE00006 0xDC4510D4 # -1.027711529954518508060776899038e-05 Z 0xBE8A3359 0x02EF7130 0x3FE00000 0x215C0F72 # -1.952095103054144927532450454200e-07 Z 0xBEA2A4DA 0x90D1CA60 0x3FE00000 0x5EF3F1D5 # -5.556333079317252686673417327867e-07 N 0xBE4BDBF6 0x3F170FE0 0x3FE00000 0x02378B23 # -1.297296312291712448095857244945e-08 N 0xBDFC2779 0x20F3FBAD 0x3FE00000 0x0011EC6B # -4.096974157092618335446132885204e-10 N 0xBDBBF9B3 0xC6059D24 0x3FE00000 0x00011CF4 # -2.544347751269826841188103998858e-11 Z 0x3FCAC26C 0xC49B0264 0x3FDBB59E 0x68DA6E1D # 2.090583763110941406537790498987e-01 N 0x3FA8942D 0x45B22291 0x3FDF058B 0xC54492E7 # 4.800549960879608307751098550398e-02 Z 0x3D66C6CB 0xC45DC8DE 0x3FDFFFFF 0xFFFFF17F # 6.473483932304020805521433557905e-13 N 0x3D7635E3 0xD74BEFCA 0x3FDFFFFF 0xFFFFE3B9 # 1.262521199566674531803951408507e-12 Z 0x3D967E57 0xCDD4DC54 0x3FDFFFFF 0xFFFF8D70 # 5.114435972054957385816476240176e-12 Z 0x3D16C6CB 0xC45DC8DE 0x3FDFFFFF 0xFFFFFF8B # 2.022963728845006501725447986845e-14 N 0x3CB2D97C 0x7F3321D2 0x3FDFFFFF 0xFFFFFFFF # 2.615901373506473822637100169928e-16 Z 0x3D16C6CB 0xC45DC8DE 0x3FDFFFFF 0xFFFFFF8B # 2.022963728845006501725447986845e-14 Z 0x3F95FA45 0x3F6BB40E 0x3FDF900F 0x7075F3F4 # 2.146251868810016699695708553008e-02 Z 0x3F8D8A6B 0x018A513D 0x3FDFB4C5 0xCAFA0CF6 # 1.442416761828068695605598037446e-02 N 0x3F66D963 0x3A6A4286 0x3FDFF174 0x28CBFFEE # 2.789205365225480397206592186876e-03 Z 0x3F51C68C 0x1AB0EA57 0x3FDFFA57 0x83F9AA54 # 1.084935017174123430758192476731e-03 N 0x3F44BA8A 0x6AA7D40F 0x3FDFFCB3 0x70112E29 # 6.325889456194627334315039313140e-04 Z 0x3EA769CB 0xDFA9E1D8 0x3FDFFFFF 0x1183B0FE # 6.977697347274200583597085489895e-07 N 0x3EC9B79D 0xB76EA0D6 0x3FDFFFFB 0xE82F595E # 3.065735139046961859634037733668e-06 Z 0x3ECA54D5 0xD1A2DC2B 0x3FDFFFFB 0xCF29AA27 # 3.138946010751709512429921331012e-06 Z 0x3E671732 0xD4EB3DEA 0x3FDFFFFF 0xF14CD069 # 4.300963018165776348352590712290e-08 Z 0x3E83A21A 0xB6AF61A5 0x3FDFFFFF 0xCE012160 # 1.462788888617988224651657877887e-07 Z 0x3E2DBBF2 0xA5EC6647 0x3FDFFFFF 0xFED12155 # 3.461513117277129267344529616845e-09 Z 0x3DF74C46 0xDECF3374 0x3FDFFFFF 0xFFE2560B # 3.390298864645338430658291818958e-10 N 0x3DD44BDB 0x557E1DC1 0x3FDFFFFF 0xFFF98A1B # 7.383756572585558580133555245181e-11