atanpi # Name of the function to test # atanpi.testdata # copyright (C) 2006 Ch. Q. Lauter and 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 00000000 00000000 # zero N 80000000 00000000 80000000 00000000 # -zero P 00000000 00000000 00000000 00000000 # zero P 80000000 00000000 80000000 00000000 # -zero M 00000000 00000000 00000000 00000000 # zero M 80000000 00000000 80000000 00000000 # -zero Z 00000000 00000000 00000000 00000000 # zero Z 80000000 00000000 80000000 00000000 # -zero N 00000000 00000001 00000000 00000000 # smallest denorm positive N 80000000 00000001 80000000 00000000 # smallest denorm negative P 00000000 00000001 00000000 00000001 # smallest denorm positive P 80000000 00000001 80000000 00000000 # smallest denorm negative M 00000000 00000001 00000000 00000000 # smallest denorm positive M 80000000 00000001 80000000 00000001 # smallest denorm negative Z 00000000 00000001 00000000 00000000 # smallest denorm positive Z 80000000 00000001 80000000 00000000 # smallest denorm negative N 7ff00000 00000000 3fe00000 00000000 # +inf N fff00000 00000000 bfe00000 00000000 # -inf P 7ff00000 00000000 3fe00000 00000000 # +inf P fff00000 00000000 bfe00000 00000000 # -inf M 7ff00000 00000000 3fe00000 00000000 # +inf M fff00000 00000000 bfe00000 00000000 # -inf Z 7ff00000 00000000 3fe00000 00000000 # +inf Z fff00000 00000000 bfe00000 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 # Bad cases generated by tests/crlibm_generate_test_vectors atanpi 15 10 M bf9b1241 d838b281 bf813ae9 4e58babf # -2.643683321200507654880063057590e-02 P bf9b1241 d838b281 bf813ae9 4e58babe # -2.643683321200507654880063057590e-02 Z bf9b1241 d838b281 bf813ae9 4e58babe # -2.643683321200507654880063057590e-02 N c0c47d24 e023ff6b bfdfff80 bb232116 # -1.049028809022876339440699666739e+04 M c25c0fed fe511d05 bfdfffff ffffd18a # -4.821053586604534301757812500000e+11 P c25c0fed fe511d05 bfdfffff ffffd189 # -4.821053586604534301757812500000e+11 Z c25c0fed fe511d05 bfdfffff ffffd189 # -4.821053586604534301757812500000e+11 N c09e5f8b 0cac9222 bfdffd51 2f92606e # -1.943885790535372962040128186345e+03 N bfa0d158 dd9f643c bf8567c4 9c6dd7e0 # -3.284719186167037174861604853504e-02 M bebea2d1 9fec4ef6 bea380e4 bf9c97a6 # -1.826048560087229504807345911721e-06 P bebea2d1 9fec4ef6 bea380e4 bf9c97a5 # -1.826048560087229504807345911721e-06 Z bebea2d1 9fec4ef6 bea380e4 bf9c97a5 # -1.826048560087229504807345911721e-06 M c2362349 05036d74 bfdfffff ffff146d # -9.508126848342755126953125000000e+10 P c2362349 05036d74 bfdfffff ffff146c # -9.508126848342755126953125000000e+10 Z c2362349 05036d74 bfdfffff ffff146c # -9.508126848342755126953125000000e+10 N c0dd7285 1be350d7 bfdfffd3 b975a4c9 # -3.015407982714552417746745049953e+04 N 41925a87 cf9b22be 3fdfffff fb8f662f # 7.698072390149971842765808105469e+07 M bf566336 77105727 bf3c8133 c1d5b608 # -1.366427601401773569630981874923e-03 P bf566336 77105727 bf3c8133 c1d5b607 # -1.366427601401773569630981874923e-03 Z bf566336 77105727 bf3c8133 c1d5b607 # -1.366427601401773569630981874923e-03 N c075bf42 3bb8b2ae bfdff103 09ead5ba # -3.479536702360882145512732677162e+02 M 3ec7c398 5cee2b00 3eae41df baaa6a9d # 2.832894757392122840611303757896e-06 P 3ec7c398 5cee2b00 3eae41df baaa6a9e # 2.832894757392122840611303757896e-06 Z 3ec7c398 5cee2b00 3eae41df baaa6a9d # 2.832894757392122840611303757896e-06 N 405a5537 eeaaa9d9 3fdfce7d 46535062 # 1.053315388361583160303780459799e+02 M 41fff869 d3ff1042 3fdfffff fff5cdfc # 8.581979455941469192504882812500e+09 P 41fff869 d3ff1042 3fdfffff fff5cdfd # 8.581979455941469192504882812500e+09 Z 41fff869 d3ff1042 3fdfffff fff5cdfc # 8.581979455941469192504882812500e+09 N bed2b47a a0d72049 beb7d0e1 7ef083ac # -4.459618606352028996142686928517e-06 M 3f1322c3 ee52bd71 3ef85d4d 401e8fb0 # 7.299729220976658927103747354082e-05 P 3f1322c3 ee52bd71 3ef85d4d 401e8fb1 # 7.299729220976658927103747354082e-05 Z 3f1322c3 ee52bd71 3ef85d4d 401e8fb0 # 7.299729220976658927103747354082e-05 N 40f7c327 48b7237f 3fdffff2 486e42ed # 9.733045525277963315602391958237e+04 M 41b2d5e5 da7ff692 3fdfffff feeb1ea6 # 3.160078984998561143875122070312e+08 P 41b2d5e5 da7ff692 3fdfffff feeb1ea7 # 3.160078984998561143875122070312e+08 Z 41b2d5e5 da7ff692 3fdfffff feeb1ea6 # 3.160078984998561143875122070312e+08 M 4297e53e 5fa259c7 3fdfffff fffffc96 # 6.568340351126444335937500000000e+12 P 4297e53e 5fa259c7 3fdfffff fffffc97 # 6.568340351126444335937500000000e+12 Z 4297e53e 5fa259c7 3fdfffff fffffc96 # 6.568340351126444335937500000000e+12 N beb877a8 682dc230 be9f2723 09009fc6 # -1.458371486431333309856037128149e-06 N 41d881b9 d52d23f6 3fdfffff ffcacc66 # 1.644619604705319881439208984375e+09 M c0d24012 ec8d1ee3 bfdfffb8 8f6823f7 # -1.868829568794266015174798667431e+04 P c0d24012 ec8d1ee3 bfdfffb8 8f6823f6 # -1.868829568794266015174798667431e+04 Z c0d24012 ec8d1ee3 bfdfffb8 8f6823f6 # -1.868829568794266015174798667431e+04 N c2541281 ba09e2e7 bfdfffff ffffbf0b # -3.448393503115453491210937500000e+11 M beeae3a4 cd2da98a bed11e43 8331cd9a # -1.282178565072536601953008539301e-05 P beeae3a4 cd2da98a bed11e43 8331cd99 # -1.282178565072536601953008539301e-05 Z beeae3a4 cd2da98a bed11e43 8331cd99 # -1.282178565072536601953008539301e-05 # 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 N 0x3F882163 0x9F410DE3 0x3F6EB8EE 0xA5426630 # 1.178243474726676197350538899400e-02 N 0x3F6EC103 0x559353BA 0x3F539417 0x9B4D233B # 3.754145157112334825477706345964e-03 N 0x3F7082BF 0x4AA6E0D7 0x3F5505A1 0xF06C236F # 4.030940277907477629903976179548e-03 N 0x3F7125C1 0xD722F4E2 0x3F55D52E 0x06EB3A8B # 4.186398686383459646909166451678e-03 Z 0x3F5484FC 0xD56A6504 0x3F3A204E 0xDE8E8B5F # 1.252409847131653354568303626593e-03 N 0x3F5833DA 0xF467673C 0x3F3ED0CD 0x5F217E05 # 1.477207014991723486863062220209e-03 N 0x3F51AF6C 0xEC92E1B0 0x3F36847E 0xB35BAF14 # 1.079422351081143344186941135376e-03 Z 0x3F50D5DB 0xFA8FAE3F 0x3F356F7B 0x39DA05A8 # 1.027550528529000200758658500888e-03 N 0x3F559551 0x5E4C552F 0x3F3B7B0C 0x925A100E # 1.317338429719438130591213642617e-03 Z 0x3F3934F4 0x8D139EFB 0x3F200C14 0x26D28574 # 3.846261070763326637804435659262e-04 Z 0x3F44803F 0xCDC17689 0x3F2A1A47 0x104F96B1 # 6.256400624910656059832203546023e-04 N 0x3F3B465A 0xBFFCD6D3 0x3F215D1A 0xCBB20975 # 4.161807591914593626274132542875e-04 Z 0x3F2D5CDD 0xE57C67C6 0x3F12B162 0xCCFA52DA # 2.240200872101733953027646872869e-04 Z 0x3F320D3C 0x6DACB25A 0x3F16FBF0 0xB9B59C1A # 2.754471330941636814451656256608e-04 N 0x3F30E05D 0xF0632CAE 0x3F157CDC 0xA72E6B19 # 2.575139373106144448019594328514e-04 N 0x3F1FBEC8 0xCA0F28F9 0x3F0435AB 0xEBD04195 # 1.210985233363360164546632113947e-04 Z 0x3F24CF56 0x959FD570 0x3F0A7EFA 0x4632B1DC # 1.587670511182070857969517163610e-04 Z 0x3F25BFE0 0x7D046AE6 0x3F0BB13D 0xB1C7186F # 1.659356626156550831678593294072e-04 N 0x3F0C492D 0x3CAC4B32 0x3EF201E0 0x52BC3E84 # 5.395097067242004293483731425241e-05 Z 0x3F0FB15E 0x7DEFBCFE 0x3EF42D21 0x959BE837 # 6.044931046022583608686579159652e-05 N 0x3F017511 0xBA34323B 0x3EE63A32 0x18DE6D9E # 3.329716062170194346972115773120e-05 Z 0x3F05107D 0x7FC0384C 0x3EEAD1EE 0x8A9B4DF1 # 4.017718308101155141008609117392e-05 Z 0x3F06C4E4 0x37C0E29F 0x3EECFD93 0x3B56FDD1 # 4.342862573065053350849715196880e-05 Z 0x3EE97A09 0x8888601A 0x3ED0380E 0xD015C71F # 1.214824102739602248762947056537e-05 Z 0x3EDCB9ED 0xD7DA0F0D 0x3EC249A8 0x1A73182A # 6.848880159563352616150944812690e-06 N 0x3EE35F1D 0xBB1BD96F 0x3EC8AA24 0x8CAC3B60 # 9.237073615758689679243291503763e-06 N 0x3EE36667 0x23AF586C 0x3EC8B36B 0xA94FBC30 # 9.250646248942273380724138354125e-06 Z 0x3ED63820 0xD82BD923 0x3EBC4A59 0x9212509E # 5.297482291713350738705367443115e-06 N 0x3ED18BB6 0x8576501B 0x3EB65706 0xCE14662D # 4.183233691352367777233339091181e-06 Z 0x3ED3DD67 0xF0B9B13D 0x3EB94AF0 0xA69348CA # 4.736153424649965750566505545693e-06 N 0x3ED2B717 0x1D1F2BC2 0x3EB7D434 0xA353DD54 # 4.462050542340441569859506298901e-06 Z 0x3EC10CBB 0xA9125720 0x3EA5B559 0xC8C36836 # 2.032487210155707103333144747381e-06 Z 0x3EC6D1F6 0xBE0B6E54 0x3EAD0E38 0x2910C5B0 # 2.720376400906248360819263132360e-06 N 0x3EAE5CDF 0xCAC68F65 0x3E93545D 0x8A99915E # 9.048816501000543278100348744408e-07 Z 0x3EAFD41E 0x06D8A108 0x3E944340 0xA8CBF56D # 9.485656968276983425102967528719e-07 Z 0x3EB43842 0x8B36EABD 0x3E99BE9E 0x6CA514EB # 1.205191932792073295098900405364e-06 Z 0x3EA4B3C4 0x1E10A1D4 0x3E8A5BDF 0x2B61615A # 6.169739742478151733418110375107e-07 N 0x3EA31E46 0xA89E760B 0x3E885795 0xF45294AB # 5.697687168630748515604756386510e-07 Z 0x3E8A38CF 0x2DB3A620 0x3E70B181 0xD2CD9452 # 1.953684634966606454100669643115e-07 Z 0x3E90DF83 0x0F07C26D 0x3E757BC5 0xFF4395DB # 2.514286867863461800570994576082e-07 Z 0x3E9788BF 0x236B6D59 0x3E7DF6F2 0x16E26261 # 3.506864091736947689003733950180e-07 N 0x3FB3623C 0xFABB8A6E 0x3F98A215 0xC107A69E # 7.571774598503974718077813577111e-02 Z 0x3FAB37EF 0x5831A537 0x3F914FC0 0xE0C2DACD # 5.316112472139383066105366992815e-02 N 0x3FB111C3 0x939052D2 0x3F95B388 0x715D5C47 # 6.667730667715979220311339759064e-02 Z 0x3FA17960 0xB24560BF 0x3F863D78 0xB5183225 # 3.412916351470717674088106718955e-02 N 0x3F99EA28 0xC15B29A5 0x3F807E89 0x1E53CC97 # 2.530730896141055244474848962000e-02 Z 0x3FA5600B 0xAA3342D5 0x3F8B332E 0x65D421BE # 4.174839451446180765836757586840e-02 Z 0x3FA70500 0x60020836 0x3F8D4A27 0x281F4307 # 4.496003314945122564250112873196e-02 Z 0x3F914019 0xCB941119 0x3F75F638 0xE9F69C24 # 1.684608750385150136019696276435e-02 Z 0x3F987173 0x570D9175 0x3F7F1DB8 0x85674EDF # 2.387027949170446652904509221571e-02