/Lib/test/cmath_testcases.txt

http://unladen-swallow.googlecode.com/ · Plain Text · 2365 lines · 2239 code · 126 blank · 0 comment · 0 complexity · 8a3bd5814b8853c0b1e7657bd4fa1138 MD5 · raw file

Large files are truncated click here to view the full file

  1. -- Testcases for functions in cmath.
  2. --
  3. -- Each line takes the form:
  4. --
  5. -- <testid> <function> <input_value> -> <output_value> <flags>
  6. --
  7. -- where:
  8. --
  9. -- <testid> is a short name identifying the test,
  10. --
  11. -- <function> is the function to be tested (exp, cos, asinh, ...),
  12. --
  13. -- <input_value> is a pair of floats separated by whitespace
  14. -- representing real and imaginary parts of a complex number, and
  15. --
  16. -- <output_value> is the expected (ideal) output value, again
  17. -- represented as a pair of floats.
  18. --
  19. -- <flags> is a list of the floating-point flags required by C99
  20. --
  21. -- The possible flags are:
  22. --
  23. -- divide-by-zero : raised when a finite input gives a
  24. -- mathematically infinite result.
  25. --
  26. -- overflow : raised when a finite input gives a finite result whose
  27. -- real or imaginary part is too large to fit in the usual range
  28. -- of an IEEE 754 double.
  29. --
  30. -- invalid : raised for invalid inputs.
  31. --
  32. -- ignore-real-sign : indicates that the sign of the real part of
  33. -- the result is unspecified; if the real part of the result is
  34. -- given as inf, then both -inf and inf should be accepted as
  35. -- correct.
  36. --
  37. -- ignore-imag-sign : indicates that the sign of the imaginary part
  38. -- of the result is unspecified.
  39. --
  40. -- Flags may appear in any order.
  41. --
  42. -- Lines beginning with '--' (like this one) start a comment, and are
  43. -- ignored. Blank lines, or lines containing only whitespace, are also
  44. -- ignored.
  45. -- The majority of the values below were computed with the help of
  46. -- version 2.3 of the MPFR library for multiple-precision
  47. -- floating-point computations with correct rounding. All output
  48. -- values in this file are (modulo yet-to-be-discovered bugs)
  49. -- correctly rounded, provided that each input and output decimal
  50. -- floating-point value below is interpreted as a representation of
  51. -- the corresponding nearest IEEE 754 double-precision value. See the
  52. -- MPFR homepage at http://www.mpfr.org for more information about the
  53. -- MPFR project.
  54. --------------------------
  55. -- acos: Inverse cosine --
  56. --------------------------
  57. -- zeros
  58. acos0000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
  59. acos0001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
  60. acos0002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
  61. acos0003 acos -0.0 -0.0 -> 1.5707963267948966 0.0
  62. -- branch points: +/-1
  63. acos0010 acos 1.0 0.0 -> 0.0 -0.0
  64. acos0011 acos 1.0 -0.0 -> 0.0 0.0
  65. acos0012 acos -1.0 0.0 -> 3.1415926535897931 -0.0
  66. acos0013 acos -1.0 -0.0 -> 3.1415926535897931 0.0
  67. -- values along both sides of real axis
  68. acos0020 acos -9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
  69. acos0021 acos -9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
  70. acos0022 acos -1e-305 0.0 -> 1.5707963267948966 -0.0
  71. acos0023 acos -1e-305 -0.0 -> 1.5707963267948966 0.0
  72. acos0024 acos -1e-150 0.0 -> 1.5707963267948966 -0.0
  73. acos0025 acos -1e-150 -0.0 -> 1.5707963267948966 0.0
  74. acos0026 acos -9.9999999999999998e-17 0.0 -> 1.5707963267948968 -0.0
  75. acos0027 acos -9.9999999999999998e-17 -0.0 -> 1.5707963267948968 0.0
  76. acos0028 acos -0.001 0.0 -> 1.5717963269615634 -0.0
  77. acos0029 acos -0.001 -0.0 -> 1.5717963269615634 0.0
  78. acos0030 acos -0.57899999999999996 0.0 -> 2.1882979816120667 -0.0
  79. acos0031 acos -0.57899999999999996 -0.0 -> 2.1882979816120667 0.0
  80. acos0032 acos -0.99999999999999989 0.0 -> 3.1415926386886319 -0.0
  81. acos0033 acos -0.99999999999999989 -0.0 -> 3.1415926386886319 0.0
  82. acos0034 acos -1.0000000000000002 0.0 -> 3.1415926535897931 -2.1073424255447014e-08
  83. acos0035 acos -1.0000000000000002 -0.0 -> 3.1415926535897931 2.1073424255447014e-08
  84. acos0036 acos -1.0009999999999999 0.0 -> 3.1415926535897931 -0.044717633608306849
  85. acos0037 acos -1.0009999999999999 -0.0 -> 3.1415926535897931 0.044717633608306849
  86. acos0038 acos -2.0 0.0 -> 3.1415926535897931 -1.3169578969248168
  87. acos0039 acos -2.0 -0.0 -> 3.1415926535897931 1.3169578969248168
  88. acos0040 acos -23.0 0.0 -> 3.1415926535897931 -3.8281684713331012
  89. acos0041 acos -23.0 -0.0 -> 3.1415926535897931 3.8281684713331012
  90. acos0042 acos -10000000000000000.0 0.0 -> 3.1415926535897931 -37.534508668464674
  91. acos0043 acos -10000000000000000.0 -0.0 -> 3.1415926535897931 37.534508668464674
  92. acos0044 acos -9.9999999999999998e+149 0.0 -> 3.1415926535897931 -346.08091112966679
  93. acos0045 acos -9.9999999999999998e+149 -0.0 -> 3.1415926535897931 346.08091112966679
  94. acos0046 acos -1.0000000000000001e+299 0.0 -> 3.1415926535897931 -689.16608998577965
  95. acos0047 acos -1.0000000000000001e+299 -0.0 -> 3.1415926535897931 689.16608998577965
  96. acos0048 acos 9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
  97. acos0049 acos 9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
  98. acos0050 acos 1e-305 0.0 -> 1.5707963267948966 -0.0
  99. acos0051 acos 1e-305 -0.0 -> 1.5707963267948966 0.0
  100. acos0052 acos 1e-150 0.0 -> 1.5707963267948966 -0.0
  101. acos0053 acos 1e-150 -0.0 -> 1.5707963267948966 0.0
  102. acos0054 acos 9.9999999999999998e-17 0.0 -> 1.5707963267948966 -0.0
  103. acos0055 acos 9.9999999999999998e-17 -0.0 -> 1.5707963267948966 0.0
  104. acos0056 acos 0.001 0.0 -> 1.56979632662823 -0.0
  105. acos0057 acos 0.001 -0.0 -> 1.56979632662823 0.0
  106. acos0058 acos 0.57899999999999996 0.0 -> 0.95329467197772655 -0.0
  107. acos0059 acos 0.57899999999999996 -0.0 -> 0.95329467197772655 0.0
  108. acos0060 acos 0.99999999999999989 0.0 -> 1.4901161193847656e-08 -0.0
  109. acos0061 acos 0.99999999999999989 -0.0 -> 1.4901161193847656e-08 0.0
  110. acos0062 acos 1.0000000000000002 0.0 -> 0.0 -2.1073424255447014e-08
  111. acos0063 acos 1.0000000000000002 -0.0 -> 0.0 2.1073424255447014e-08
  112. acos0064 acos 1.0009999999999999 0.0 -> 0.0 -0.044717633608306849
  113. acos0065 acos 1.0009999999999999 -0.0 -> 0.0 0.044717633608306849
  114. acos0066 acos 2.0 0.0 -> 0.0 -1.3169578969248168
  115. acos0067 acos 2.0 -0.0 -> 0.0 1.3169578969248168
  116. acos0068 acos 23.0 0.0 -> 0.0 -3.8281684713331012
  117. acos0069 acos 23.0 -0.0 -> 0.0 3.8281684713331012
  118. acos0070 acos 10000000000000000.0 0.0 -> 0.0 -37.534508668464674
  119. acos0071 acos 10000000000000000.0 -0.0 -> 0.0 37.534508668464674
  120. acos0072 acos 9.9999999999999998e+149 0.0 -> 0.0 -346.08091112966679
  121. acos0073 acos 9.9999999999999998e+149 -0.0 -> 0.0 346.08091112966679
  122. acos0074 acos 1.0000000000000001e+299 0.0 -> 0.0 -689.16608998577965
  123. acos0075 acos 1.0000000000000001e+299 -0.0 -> 0.0 689.16608998577965
  124. -- random inputs
  125. acos0100 acos -3.3307113324596682 -10.732007530863266 -> 1.8706085694482339 3.113986806554613
  126. acos0101 acos -2863.952991743291 -2681013315.2571239 -> 1.5707973950301699 22.402607843274758
  127. acos0102 acos -0.33072639793220088 -0.85055464658253055 -> 1.8219426895922601 0.79250166729311966
  128. acos0103 acos -2.5722325842097802 -12.703940809821574 -> 1.7699942413107408 3.2565170156527325
  129. acos0104 acos -42.495233785459583 -0.54039320751337161 -> 3.1288732573153304 4.4424815519735601
  130. acos0105 acos -1.1363818625856401 9641.1325498630376 -> 1.5709141948820049 -9.8669410553254284
  131. acos0106 acos -2.4398426824157866e-11 0.33002051890266165 -> 1.570796326818066 -0.32430578041578667
  132. acos0107 acos -1.3521340428186552 2.9369737912076772 -> 1.9849059192339338 -1.8822893674117942
  133. acos0108 acos -1.827364706477915 1.0355459232147557 -> 2.5732246307960032 -1.4090688267854969
  134. acos0109 acos -0.25978373706403546 10.09712669185833 -> 1.5963940386378306 -3.0081673050196063
  135. acos0110 acos 0.33561778471072551 -4587350.6823999118 -> 1.5707962536333251 16.031960402579539
  136. acos0111 acos 0.49133444610998445 -0.8071422362990015 -> 1.1908761712801788 0.78573345813187867
  137. acos0112 acos 0.42196734507823974 -2.4812965431745115 -> 1.414091186100692 1.651707260988172
  138. acos0113 acos 2.961426210100655 -219.03295695248664 -> 1.5572768319822778 6.0824659885827304
  139. acos0114 acos 2.886209063652641 -20.38011207220606 -> 1.4302765252297889 3.718201853147642
  140. acos0115 acos 0.4180568075276509 1.4833433990823484 -> 1.3393834558303042 -1.2079847758301576
  141. acos0116 acos 52.376111405924718 0.013930429001941001 -> 0.00026601761804024188 -4.6515066691204714
  142. acos0117 acos 41637948387.625969 1.563418292894041 -> 3.7547918507883548e-11 -25.145424989809381
  143. acos0118 acos 0.061226659122249526 0.8447234394615154 -> 1.5240280306367315 -0.76791798971140812
  144. acos0119 acos 2.4480466420442959e+26 0.18002339201384662 -> 7.353756620564798e-28 -61.455650015996376
  145. -- values near infinity
  146. acos0200 acos 1.6206860518683021e+308 1.0308426226285283e+308 -> 0.56650826093826223 -710.54206874241561
  147. acos0201 acos 1.2067735875070062e+308 -1.3429173724390276e+308 -> 0.83874369390864889 710.48017794027498
  148. acos0202 acos -7.4130145132549047e+307 1.1759130543927645e+308 -> 2.1332729346478536 -710.21871115698752
  149. acos0203 acos -8.6329426442257249e+307 -1.2316282952184133e+308 -> 2.1821511032444838 710.29752145697148
  150. acos0204 acos 0.0 1.4289713855849746e+308 -> 1.5707963267948966 -710.24631069738996
  151. acos0205 acos -0.0 1.3153524545987432e+308 -> 1.5707963267948966 -710.1634604787539
  152. acos0206 acos 0.0 -9.6229037669269321e+307 -> 1.5707963267948966 709.85091679573691
  153. acos0207 acos -0.0 -4.9783616421107088e+307 -> 1.5707963267948966 709.19187157911233
  154. acos0208 acos 1.3937541925739389e+308 0.0 -> 0.0 -710.22135678707264
  155. acos0209 acos 9.1362388967371536e+307 -0.0 -> 0.0 709.79901953124613
  156. acos0210 acos -1.3457361220697436e+308 0.0 -> 3.1415926535897931 -710.18629698871848
  157. acos0211 acos -5.4699090056144284e+307 -0.0 -> 3.1415926535897931 709.28603271085649
  158. acos0212 acos 1.5880716932358901e+308 5.5638401252339929 -> 3.503519487773873e-308 -710.35187633140583
  159. acos0213 acos 1.2497211663463164e+308 -3.0456477717911024 -> 2.4370618453197486e-308 710.11227628223412
  160. acos0214 acos -9.9016224006029528e+307 4.9570427340789056 -> 3.1415926535897931 -709.87946935229468
  161. acos0215 acos -1.5854071066874139e+308 -4.4233577741497783 -> 3.1415926535897931 710.35019704672004
  162. acos0216 acos 9.3674623083647628 1.5209559051877979e+308 -> 1.5707963267948966 -710.30869484491086
  163. acos0217 acos 8.1773832021784383 -6.6093445795000056e+307 -> 1.5707963267948966 709.4752552227792
  164. acos0218 acos -3.1845935000665104 1.5768856396650893e+308 -> 1.5707963267948966 -710.34480761042687
  165. acos0219 acos -1.0577303880953903 -6.4574626815735613e+307 -> 1.5707963267948966 709.45200719662046
  166. -- values near 0
  167. acos0220 acos 1.8566986970714045e-320 3.1867234156760402e-321 -> 1.5707963267948966 -3.1867234156760402e-321
  168. acos0221 acos 7.9050503334599447e-323 -8.8931816251424378e-323 -> 1.5707963267948966 8.8931816251424378e-323
  169. acos0222 acos -4.4465908125712189e-323 2.4654065097222727e-311 -> 1.5707963267948966 -2.4654065097222727e-311
  170. acos0223 acos -6.1016916408192619e-311 -2.4703282292062327e-323 -> 1.5707963267948966 2.4703282292062327e-323
  171. acos0224 acos 0.0 3.4305783621842729e-311 -> 1.5707963267948966 -3.4305783621842729e-311
  172. acos0225 acos -0.0 1.6117409498633145e-319 -> 1.5707963267948966 -1.6117409498633145e-319
  173. acos0226 acos 0.0 -4.9900630229965901e-322 -> 1.5707963267948966 4.9900630229965901e-322
  174. acos0227 acos -0.0 -4.4889279210592818e-311 -> 1.5707963267948966 4.4889279210592818e-311
  175. acos0228 acos 5.3297678681477214e-312 0.0 -> 1.5707963267948966 -0.0
  176. acos0229 acos 6.2073425897211614e-313 -0.0 -> 1.5707963267948966 0.0
  177. acos0230 acos -4.9406564584124654e-324 0.0 -> 1.5707963267948966 -0.0
  178. acos0231 acos -1.7107517052899003e-318 -0.0 -> 1.5707963267948966 0.0
  179. -- special values
  180. acos1000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
  181. acos1001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
  182. acos1002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
  183. acos1003 acos -0.0 -0.0 -> 1.5707963267948966 0.0
  184. acos1004 acos 0.0 nan -> 1.5707963267948966 nan
  185. acos1005 acos -0.0 nan -> 1.5707963267948966 nan
  186. acos1006 acos -2.3 inf -> 1.5707963267948966 -inf
  187. acos1007 acos -0.0 inf -> 1.5707963267948966 -inf
  188. acos1008 acos 0.0 inf -> 1.5707963267948966 -inf
  189. acos1009 acos 2.3 inf -> 1.5707963267948966 -inf
  190. acos1010 acos -2.3 nan -> nan nan
  191. acos1011 acos 2.3 nan -> nan nan
  192. acos1012 acos -inf 2.3 -> 3.1415926535897931 -inf
  193. acos1013 acos -inf 0.0 -> 3.1415926535897931 -inf
  194. acos1014 acos inf 2.3 -> 0.0 -inf
  195. acos1015 acos inf 0.0 -> 0.0 -inf
  196. acos1016 acos -inf inf -> 2.3561944901923448 -inf
  197. acos1017 acos inf inf -> 0.78539816339744828 -inf
  198. acos1018 acos inf nan -> nan inf ignore-imag-sign
  199. acos1019 acos -inf nan -> nan inf ignore-imag-sign
  200. acos1020 acos nan 0.0 -> nan nan
  201. acos1021 acos nan 2.3 -> nan nan
  202. acos1022 acos nan inf -> nan -inf
  203. acos1023 acos nan nan -> nan nan
  204. acos1024 acos -2.3 -inf -> 1.5707963267948966 inf
  205. acos1025 acos -0.0 -inf -> 1.5707963267948966 inf
  206. acos1026 acos 0.0 -inf -> 1.5707963267948966 inf
  207. acos1027 acos 2.3 -inf -> 1.5707963267948966 inf
  208. acos1028 acos -inf -2.3 -> 3.1415926535897931 inf
  209. acos1029 acos -inf -0.0 -> 3.1415926535897931 inf
  210. acos1030 acos inf -2.3 -> 0.0 inf
  211. acos1031 acos inf -0.0 -> 0.0 inf
  212. acos1032 acos -inf -inf -> 2.3561944901923448 inf
  213. acos1033 acos inf -inf -> 0.78539816339744828 inf
  214. acos1034 acos nan -0.0 -> nan nan
  215. acos1035 acos nan -2.3 -> nan nan
  216. acos1036 acos nan -inf -> nan inf
  217. --------------------------------------
  218. -- acosh: Inverse hyperbolic cosine --
  219. --------------------------------------
  220. -- zeros
  221. acosh0000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
  222. acosh0001 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
  223. acosh0002 acosh -0.0 0.0 -> 0.0 1.5707963267948966
  224. acosh0003 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966
  225. -- branch points: +/-1
  226. acosh0010 acosh 1.0 0.0 -> 0.0 0.0
  227. acosh0011 acosh 1.0 -0.0 -> 0.0 -0.0
  228. acosh0012 acosh -1.0 0.0 -> 0.0 3.1415926535897931
  229. acosh0013 acosh -1.0 -0.0 -> 0.0 -3.1415926535897931
  230. -- values along both sides of real axis
  231. acosh0020 acosh -9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
  232. acosh0021 acosh -9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
  233. acosh0022 acosh -1e-305 0.0 -> 0.0 1.5707963267948966
  234. acosh0023 acosh -1e-305 -0.0 -> 0.0 -1.5707963267948966
  235. acosh0024 acosh -1e-150 0.0 -> 0.0 1.5707963267948966
  236. acosh0025 acosh -1e-150 -0.0 -> 0.0 -1.5707963267948966
  237. acosh0026 acosh -9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948968
  238. acosh0027 acosh -9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948968
  239. acosh0028 acosh -0.001 0.0 -> 0.0 1.5717963269615634
  240. acosh0029 acosh -0.001 -0.0 -> 0.0 -1.5717963269615634
  241. acosh0030 acosh -0.57899999999999996 0.0 -> 0.0 2.1882979816120667
  242. acosh0031 acosh -0.57899999999999996 -0.0 -> 0.0 -2.1882979816120667
  243. acosh0032 acosh -0.99999999999999989 0.0 -> 0.0 3.1415926386886319
  244. acosh0033 acosh -0.99999999999999989 -0.0 -> 0.0 -3.1415926386886319
  245. acosh0034 acosh -1.0000000000000002 0.0 -> 2.1073424255447014e-08 3.1415926535897931
  246. acosh0035 acosh -1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -3.1415926535897931
  247. acosh0036 acosh -1.0009999999999999 0.0 -> 0.044717633608306849 3.1415926535897931
  248. acosh0037 acosh -1.0009999999999999 -0.0 -> 0.044717633608306849 -3.1415926535897931
  249. acosh0038 acosh -2.0 0.0 -> 1.3169578969248168 3.1415926535897931
  250. acosh0039 acosh -2.0 -0.0 -> 1.3169578969248168 -3.1415926535897931
  251. acosh0040 acosh -23.0 0.0 -> 3.8281684713331012 3.1415926535897931
  252. acosh0041 acosh -23.0 -0.0 -> 3.8281684713331012 -3.1415926535897931
  253. acosh0042 acosh -10000000000000000.0 0.0 -> 37.534508668464674 3.1415926535897931
  254. acosh0043 acosh -10000000000000000.0 -0.0 -> 37.534508668464674 -3.1415926535897931
  255. acosh0044 acosh -9.9999999999999998e+149 0.0 -> 346.08091112966679 3.1415926535897931
  256. acosh0045 acosh -9.9999999999999998e+149 -0.0 -> 346.08091112966679 -3.1415926535897931
  257. acosh0046 acosh -1.0000000000000001e+299 0.0 -> 689.16608998577965 3.1415926535897931
  258. acosh0047 acosh -1.0000000000000001e+299 -0.0 -> 689.16608998577965 -3.1415926535897931
  259. acosh0048 acosh 9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
  260. acosh0049 acosh 9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
  261. acosh0050 acosh 1e-305 0.0 -> 0.0 1.5707963267948966
  262. acosh0051 acosh 1e-305 -0.0 -> 0.0 -1.5707963267948966
  263. acosh0052 acosh 1e-150 0.0 -> 0.0 1.5707963267948966
  264. acosh0053 acosh 1e-150 -0.0 -> 0.0 -1.5707963267948966
  265. acosh0054 acosh 9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948966
  266. acosh0055 acosh 9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948966
  267. acosh0056 acosh 0.001 0.0 -> 0.0 1.56979632662823
  268. acosh0057 acosh 0.001 -0.0 -> 0.0 -1.56979632662823
  269. acosh0058 acosh 0.57899999999999996 0.0 -> 0.0 0.95329467197772655
  270. acosh0059 acosh 0.57899999999999996 -0.0 -> 0.0 -0.95329467197772655
  271. acosh0060 acosh 0.99999999999999989 0.0 -> 0.0 1.4901161193847656e-08
  272. acosh0061 acosh 0.99999999999999989 -0.0 -> 0.0 -1.4901161193847656e-08
  273. acosh0062 acosh 1.0000000000000002 0.0 -> 2.1073424255447014e-08 0.0
  274. acosh0063 acosh 1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -0.0
  275. acosh0064 acosh 1.0009999999999999 0.0 -> 0.044717633608306849 0.0
  276. acosh0065 acosh 1.0009999999999999 -0.0 -> 0.044717633608306849 -0.0
  277. acosh0066 acosh 2.0 0.0 -> 1.3169578969248168 0.0
  278. acosh0067 acosh 2.0 -0.0 -> 1.3169578969248168 -0.0
  279. acosh0068 acosh 23.0 0.0 -> 3.8281684713331012 0.0
  280. acosh0069 acosh 23.0 -0.0 -> 3.8281684713331012 -0.0
  281. acosh0070 acosh 10000000000000000.0 0.0 -> 37.534508668464674 0.0
  282. acosh0071 acosh 10000000000000000.0 -0.0 -> 37.534508668464674 -0.0
  283. acosh0072 acosh 9.9999999999999998e+149 0.0 -> 346.08091112966679 0.0
  284. acosh0073 acosh 9.9999999999999998e+149 -0.0 -> 346.08091112966679 -0.0
  285. acosh0074 acosh 1.0000000000000001e+299 0.0 -> 689.16608998577965 0.0
  286. acosh0075 acosh 1.0000000000000001e+299 -0.0 -> 689.16608998577965 -0.0
  287. -- random inputs
  288. acosh0100 acosh -1.4328589581250843 -1.8370347775558309 -> 1.5526962646549587 -2.190250168435786
  289. acosh0101 acosh -0.31075819156220957 -1.0772555786839297 -> 0.95139168286193709 -1.7812228089636479
  290. acosh0102 acosh -1.9044776578070453 -20.485370158932124 -> 3.7177411088932359 -1.6633888745861227
  291. acosh0103 acosh -0.075642506000858742 -21965976320.873051 -> 24.505907742881991 -1.5707963267983402
  292. acosh0104 acosh -1.6162271181056307 -3.0369343458696099 -> 1.9407057262861227 -2.0429549461750209
  293. acosh0105 acosh -0.3103780280298063 0.00018054880018078987 -> 0.00018992877058761416 1.886386995096728
  294. acosh0106 acosh -9159468751.5897655 5.8014747664273649 -> 23.631201197959193 3.1415926529564078
  295. acosh0107 acosh -0.037739157550933884 0.21841357493510705 -> 0.21685844960602488 1.6076735133449402
  296. acosh0108 acosh -8225991.0508394297 0.28318543008913644 -> 16.615956520420287 3.1415926191641019
  297. acosh0109 acosh -35.620070502302639 0.31303237005015 -> 4.2658980006943965 3.1328013255541873
  298. acosh0110 acosh 96.729939906820917 -0.029345228372365334 -> 5.2650434775863548 -0.00030338895866972843
  299. acosh0111 acosh 0.59656024007966491 -2.0412294654163978 -> 1.4923002024287835 -1.312568421900338
  300. acosh0112 acosh 109.29384112677828 -0.00015454863061533812 -> 5.3871662961545477 -1.4141245154061214e-06
  301. acosh0113 acosh 8.6705651969361597 -3.6723631649787465 -> 2.9336180958363545 -0.40267362031872861
  302. acosh0114 acosh 1.8101646445052686 -0.012345132721855478 -> 1.1997148566285769 -0.0081813912760150265
  303. acosh0115 acosh 52.56897195025288 0.001113916065985443 -> 4.6551827622264135 2.1193445872040307e-05
  304. acosh0116 acosh 0.28336786164214739 355643992457.40485 -> 27.290343226816528 1.5707963267940999
  305. acosh0117 acosh 0.73876621291911437 2.8828594541104322e-20 -> 4.2774820978159067e-20 0.73955845836827927
  306. acosh0118 acosh 0.025865471781718878 37125746064318.492 -> 31.938478989418012 1.5707963267948959
  307. acosh0119 acosh 2.2047353511780132 0.074712248143489271 -> 1.4286403248698021 0.037997904971626598
  308. -- values near infinity
  309. acosh0200 acosh 8.1548592876467785e+307 9.0943779335951128e+307 -> 710.08944620800605 0.83981165425478954
  310. acosh0201 acosh 1.4237229680972531e+308 -1.0336966617874858e+308 -> 710.4543331094759 -0.6279972876348755
  311. acosh0202 acosh -1.5014526899738939e+308 1.5670700378448792e+308 -> 710.66420706795464 2.3348137299106697
  312. acosh0203 acosh -1.0939040375213928e+308 -1.0416960351127978e+308 -> 710.30182863115886 -2.380636147787027
  313. acosh0204 acosh 0.0 1.476062433559588e+308 -> 710.27873384716929 1.5707963267948966
  314. acosh0205 acosh -0.0 6.2077210326221094e+307 -> 709.41256457484769 1.5707963267948966
  315. acosh0206 acosh 0.0 -1.5621899909968308e+308 -> 710.33544449990734 -1.5707963267948966
  316. acosh0207 acosh -0.0 -8.3556624833839122e+307 -> 709.70971018048317 -1.5707963267948966
  317. acosh0208 acosh 1.3067079752499342e+308 0.0 -> 710.15686680107228 0.0
  318. acosh0209 acosh 1.5653640340214026e+308 -0.0 -> 710.33747422926706 -0.0
  319. acosh0210 acosh -6.9011375992290636e+307 0.0 -> 709.51845699719922 3.1415926535897931
  320. acosh0211 acosh -9.9539576809926973e+307 -0.0 -> 709.88474095870185 -3.1415926535897931
  321. acosh0212 acosh 7.6449598518914925e+307 9.5706540768268358 -> 709.62081731754802 1.2518906916769345e-307
  322. acosh0213 acosh 5.4325410972602197e+307 -7.8064807816522706 -> 709.279177727925 -1.4369851312471974e-307
  323. acosh0214 acosh -1.1523626112360465e+308 7.0617510038869336 -> 710.03117010216909 3.1415926535897931
  324. acosh0215 acosh -1.1685027786862599e+308 -5.1568558357925625 -> 710.04507907571417 -3.1415926535897931
  325. acosh0216 acosh 3.0236370339788721 1.7503248720096417e+308 -> 710.44915723458064 1.5707963267948966
  326. acosh0217 acosh 6.6108007926031149 -9.1469968225806149e+307 -> 709.80019633903328 -1.5707963267948966
  327. acosh0218 acosh -5.1096262905623959 6.4484926785412395e+307 -> 709.45061713997973 1.5707963267948966
  328. acosh0219 acosh -2.8080920608735846 -1.7716118836519368e+308 -> 710.46124562363445 -1.5707963267948966
  329. -- values near 0
  330. acosh0220 acosh 4.5560530326699304e-317 7.3048989121436657e-318 -> 7.3048989121436657e-318 1.5707963267948966
  331. acosh0221 acosh 4.8754274133585331e-314 -9.8469794897684199e-315 -> 9.8469794897684199e-315 -1.5707963267948966
  332. acosh0222 acosh -4.6748876009960097e-312 9.7900342887557606e-318 -> 9.7900342887557606e-318 1.5707963267948966
  333. acosh0223 acosh -4.3136871538399236e-320 -4.9406564584124654e-323 -> 4.9406564584124654e-323 -1.5707963267948966
  334. acosh0224 acosh 0.0 4.3431013866496774e-314 -> 4.3431013866496774e-314 1.5707963267948966
  335. acosh0225 acosh -0.0 6.0147334335829184e-317 -> 6.0147334335829184e-317 1.5707963267948966
  336. acosh0226 acosh 0.0 -1.2880291387081297e-320 -> 1.2880291387081297e-320 -1.5707963267948966
  337. acosh0227 acosh -0.0 -1.4401563976534621e-317 -> 1.4401563976534621e-317 -1.5707963267948966
  338. acosh0228 acosh 1.3689680570863091e-313 0.0 -> 0.0 1.5707963267948966
  339. acosh0229 acosh 1.5304346893494371e-312 -0.0 -> 0.0 -1.5707963267948966
  340. acosh0230 acosh -3.7450175954766488e-320 0.0 -> 0.0 1.5707963267948966
  341. acosh0231 acosh -8.4250563080885801e-311 -0.0 -> 0.0 -1.5707963267948966
  342. -- special values
  343. acosh1000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
  344. acosh1001 acosh -0.0 0.0 -> 0.0 1.5707963267948966
  345. acosh1002 acosh 0.0 inf -> inf 1.5707963267948966
  346. acosh1003 acosh 2.3 inf -> inf 1.5707963267948966
  347. acosh1004 acosh -0.0 inf -> inf 1.5707963267948966
  348. acosh1005 acosh -2.3 inf -> inf 1.5707963267948966
  349. acosh1006 acosh 0.0 nan -> nan nan
  350. acosh1007 acosh 2.3 nan -> nan nan
  351. acosh1008 acosh -0.0 nan -> nan nan
  352. acosh1009 acosh -2.3 nan -> nan nan
  353. acosh1010 acosh -inf 0.0 -> inf 3.1415926535897931
  354. acosh1011 acosh -inf 2.3 -> inf 3.1415926535897931
  355. acosh1012 acosh inf 0.0 -> inf 0.0
  356. acosh1013 acosh inf 2.3 -> inf 0.0
  357. acosh1014 acosh -inf inf -> inf 2.3561944901923448
  358. acosh1015 acosh inf inf -> inf 0.78539816339744828
  359. acosh1016 acosh inf nan -> inf nan
  360. acosh1017 acosh -inf nan -> inf nan
  361. acosh1018 acosh nan 0.0 -> nan nan
  362. acosh1019 acosh nan 2.3 -> nan nan
  363. acosh1020 acosh nan inf -> inf nan
  364. acosh1021 acosh nan nan -> nan nan
  365. acosh1022 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
  366. acosh1023 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966
  367. acosh1024 acosh 0.0 -inf -> inf -1.5707963267948966
  368. acosh1025 acosh 2.3 -inf -> inf -1.5707963267948966
  369. acosh1026 acosh -0.0 -inf -> inf -1.5707963267948966
  370. acosh1027 acosh -2.3 -inf -> inf -1.5707963267948966
  371. acosh1028 acosh -inf -0.0 -> inf -3.1415926535897931
  372. acosh1029 acosh -inf -2.3 -> inf -3.1415926535897931
  373. acosh1030 acosh inf -0.0 -> inf -0.0
  374. acosh1031 acosh inf -2.3 -> inf -0.0
  375. acosh1032 acosh -inf -inf -> inf -2.3561944901923448
  376. acosh1033 acosh inf -inf -> inf -0.78539816339744828
  377. acosh1034 acosh nan -0.0 -> nan nan
  378. acosh1035 acosh nan -2.3 -> nan nan
  379. acosh1036 acosh nan -inf -> inf nan
  380. ------------------------
  381. -- asin: Inverse sine --
  382. ------------------------
  383. -- zeros
  384. asin0000 asin 0.0 0.0 -> 0.0 0.0
  385. asin0001 asin 0.0 -0.0 -> 0.0 -0.0
  386. asin0002 asin -0.0 0.0 -> -0.0 0.0
  387. asin0003 asin -0.0 -0.0 -> -0.0 -0.0
  388. -- branch points: +/-1
  389. asin0010 asin 1.0 0.0 -> 1.5707963267948966 0.0
  390. asin0011 asin 1.0 -0.0 -> 1.5707963267948966 -0.0
  391. asin0012 asin -1.0 0.0 -> -1.5707963267948966 0.0
  392. asin0013 asin -1.0 -0.0 -> -1.5707963267948966 -0.0
  393. -- values along both sides of real axis
  394. asin0020 asin -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
  395. asin0021 asin -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
  396. asin0022 asin -1e-305 0.0 -> -1e-305 0.0
  397. asin0023 asin -1e-305 -0.0 -> -1e-305 -0.0
  398. asin0024 asin -1e-150 0.0 -> -1e-150 0.0
  399. asin0025 asin -1e-150 -0.0 -> -1e-150 -0.0
  400. asin0026 asin -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
  401. asin0027 asin -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
  402. asin0028 asin -0.001 0.0 -> -0.0010000001666667416 0.0
  403. asin0029 asin -0.001 -0.0 -> -0.0010000001666667416 -0.0
  404. asin0030 asin -0.57899999999999996 0.0 -> -0.61750165481717001 0.0
  405. asin0031 asin -0.57899999999999996 -0.0 -> -0.61750165481717001 -0.0
  406. asin0032 asin -0.99999999999999989 0.0 -> -1.5707963118937354 0.0
  407. asin0033 asin -0.99999999999999989 -0.0 -> -1.5707963118937354 -0.0
  408. asin0034 asin -1.0000000000000002 0.0 -> -1.5707963267948966 2.1073424255447014e-08
  409. asin0035 asin -1.0000000000000002 -0.0 -> -1.5707963267948966 -2.1073424255447014e-08
  410. asin0036 asin -1.0009999999999999 0.0 -> -1.5707963267948966 0.044717633608306849
  411. asin0037 asin -1.0009999999999999 -0.0 -> -1.5707963267948966 -0.044717633608306849
  412. asin0038 asin -2.0 0.0 -> -1.5707963267948966 1.3169578969248168
  413. asin0039 asin -2.0 -0.0 -> -1.5707963267948966 -1.3169578969248168
  414. asin0040 asin -23.0 0.0 -> -1.5707963267948966 3.8281684713331012
  415. asin0041 asin -23.0 -0.0 -> -1.5707963267948966 -3.8281684713331012
  416. asin0042 asin -10000000000000000.0 0.0 -> -1.5707963267948966 37.534508668464674
  417. asin0043 asin -10000000000000000.0 -0.0 -> -1.5707963267948966 -37.534508668464674
  418. asin0044 asin -9.9999999999999998e+149 0.0 -> -1.5707963267948966 346.08091112966679
  419. asin0045 asin -9.9999999999999998e+149 -0.0 -> -1.5707963267948966 -346.08091112966679
  420. asin0046 asin -1.0000000000000001e+299 0.0 -> -1.5707963267948966 689.16608998577965
  421. asin0047 asin -1.0000000000000001e+299 -0.0 -> -1.5707963267948966 -689.16608998577965
  422. asin0048 asin 9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
  423. asin0049 asin 9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
  424. asin0050 asin 1e-305 0.0 -> 1e-305 0.0
  425. asin0051 asin 1e-305 -0.0 -> 1e-305 -0.0
  426. asin0052 asin 1e-150 0.0 -> 1e-150 0.0
  427. asin0053 asin 1e-150 -0.0 -> 1e-150 -0.0
  428. asin0054 asin 9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
  429. asin0055 asin 9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
  430. asin0056 asin 0.001 0.0 -> 0.0010000001666667416 0.0
  431. asin0057 asin 0.001 -0.0 -> 0.0010000001666667416 -0.0
  432. asin0058 asin 0.57899999999999996 0.0 -> 0.61750165481717001 0.0
  433. asin0059 asin 0.57899999999999996 -0.0 -> 0.61750165481717001 -0.0
  434. asin0060 asin 0.99999999999999989 0.0 -> 1.5707963118937354 0.0
  435. asin0061 asin 0.99999999999999989 -0.0 -> 1.5707963118937354 -0.0
  436. asin0062 asin 1.0000000000000002 0.0 -> 1.5707963267948966 2.1073424255447014e-08
  437. asin0063 asin 1.0000000000000002 -0.0 -> 1.5707963267948966 -2.1073424255447014e-08
  438. asin0064 asin 1.0009999999999999 0.0 -> 1.5707963267948966 0.044717633608306849
  439. asin0065 asin 1.0009999999999999 -0.0 -> 1.5707963267948966 -0.044717633608306849
  440. asin0066 asin 2.0 0.0 -> 1.5707963267948966 1.3169578969248168
  441. asin0067 asin 2.0 -0.0 -> 1.5707963267948966 -1.3169578969248168
  442. asin0068 asin 23.0 0.0 -> 1.5707963267948966 3.8281684713331012
  443. asin0069 asin 23.0 -0.0 -> 1.5707963267948966 -3.8281684713331012
  444. asin0070 asin 10000000000000000.0 0.0 -> 1.5707963267948966 37.534508668464674
  445. asin0071 asin 10000000000000000.0 -0.0 -> 1.5707963267948966 -37.534508668464674
  446. asin0072 asin 9.9999999999999998e+149 0.0 -> 1.5707963267948966 346.08091112966679
  447. asin0073 asin 9.9999999999999998e+149 -0.0 -> 1.5707963267948966 -346.08091112966679
  448. asin0074 asin 1.0000000000000001e+299 0.0 -> 1.5707963267948966 689.16608998577965
  449. asin0075 asin 1.0000000000000001e+299 -0.0 -> 1.5707963267948966 -689.16608998577965
  450. -- random inputs
  451. asin0100 asin -1.5979555835086083 -0.15003009814595247 -> -1.4515369557405788 -1.0544476399790823
  452. asin0101 asin -0.57488225895317679 -9.6080397838952743e-13 -> -0.61246024460412851 -1.174238005400403e-12
  453. asin0102 asin -3.6508087930516249 -0.36027527093220152 -> -1.4685890605305874 -1.9742273007152038
  454. asin0103 asin -1.5238659792326819 -1.1360813516996364 -> -0.86080051691147275 -1.3223742205689195
  455. asin0104 asin -1592.0639045555306 -0.72362427935018236 -> -1.5703418071175179 -8.0659336918729228
  456. asin0105 asin -0.19835471371312019 4.2131508416697709 -> -0.045777831019935149 2.1461732751933171
  457. asin0106 asin -1.918471054430213 0.40603305079779234 -> -1.3301396585791556 1.30263642314981
  458. asin0107 asin -254495.01623373642 0.71084414434470822 -> -1.5707935336394359 13.140183712762321
  459. asin0108 asin -0.31315882715691157 3.9647994288429866 -> -0.076450403840916004 2.0889762138713457
  460. asin0109 asin -0.90017064284720816 1.2530659485907105 -> -0.53466509741943447 1.1702811557577
  461. asin0110 asin 2.1615181696571075 -0.14058647488229523 -> 1.4976166323896871 -1.4085811039334604
  462. asin0111 asin 1.2104749210707795 -0.85732484485298999 -> 0.83913071588343924 -1.0681719250525901
  463. asin0112 asin 1.7059733185128891 -0.84032966373156581 -> 1.0510900815816229 -1.2967979791361652
  464. asin0113 asin 9.9137085017290687 -1.4608383970250893 -> 1.4237704820128891 -2.995414677560686
  465. asin0114 asin 117.12344751041495 -5453908091.5334015 -> 2.1475141411392012e-08 -23.112745450217066
  466. asin0115 asin 0.081041187798029227 0.067054349860173196 -> 0.080946786856771813 0.067223991060639698
  467. asin0116 asin 46.635472322049949 2.3835190718056678 -> 1.5197194940010779 4.5366989600972083
  468. asin0117 asin 3907.0687961127105 19.144021886390181 -> 1.5658965233083235 8.9637018715924217
  469. asin0118 asin 1.0889312322308273 509.01577883554768 -> 0.0021392803817829316 6.9256294494524706
  470. asin0119 asin 0.10851518277509224 1.5612510908217476 -> 0.058491014243902621 1.2297075725621327
  471. -- values near infinity
  472. asin0200 asin 1.5230241998821499e+308 5.5707228994084525e+307 -> 1.2201446370892068 710.37283486535966
  473. asin0201 asin 8.1334317698672204e+307 -9.2249425197872451e+307 -> 0.72259991284020042 -710.0962453049026
  474. asin0202 asin -9.9138506659241768e+307 6.701544526434995e+307 -> -0.97637511742194594 710.06887486671371
  475. asin0203 asin -1.4141298868173842e+308 -5.401505134514191e+307 -> -1.2059319055160587 -710.30396478954628
  476. asin0204 asin 0.0 9.1618092977897431e+307 -> 0.0 709.80181441050593
  477. asin0205 asin -0.0 6.8064342551939755e+307 -> -0.0 709.50463910853489
  478. asin0206 asin 0.0 -6.4997516454798215e+307 -> 0.0 -709.45853469751592
  479. asin0207 asin -0.0 -1.6767449053345242e+308 -> -0.0 -710.4062101803022
  480. asin0208 asin 5.4242749957378916e+307 0.0 -> 1.5707963267948966 709.27765497888902
  481. asin0209 asin 9.5342145121164749e+307 -0.0 -> 1.5707963267948966 -709.84165758595907
  482. asin0210 asin -7.0445698006201847e+307 0.0 -> -1.5707963267948966 709.53902780872136
  483. asin0211 asin -1.0016025569769706e+308 -0.0 -> -1.5707963267948966 -709.89095709697881
  484. asin0212 asin 1.6552203778877204e+308 0.48761543336249491 -> 1.5707963267948966 710.39328998153474
  485. asin0213 asin 1.2485712830384869e+308 -4.3489311161278899 -> 1.5707963267948966 -710.1113557467786
  486. asin0214 asin -1.5117842813353125e+308 5.123452666102434 -> -1.5707963267948966 710.30264641923031
  487. asin0215 asin -1.3167634313008016e+308 -0.52939679793528982 -> -1.5707963267948966 -710.16453260239768
  488. asin0216 asin 0.80843929176985907 1.0150851827767876e+308 -> 7.9642507396113875e-309 709.90432835561637
  489. asin0217 asin 8.2544809829680901 -1.7423548140539474e+308 -> 4.7375430746865733e-308 -710.44459336242164
  490. asin0218 asin -5.2499000118824295 4.6655578977512214e+307 -> -1.1252459249113292e-307 709.1269781491103
  491. asin0219 asin -5.9904782760833433 -4.7315689314781163e+307 -> -1.2660659419394637e-307 -709.14102757522312
  492. -- special values
  493. asin1000 asin -0.0 0.0 -> -0.0 0.0
  494. asin1001 asin 0.0 0.0 -> 0.0 0.0
  495. asin1002 asin -0.0 -0.0 -> -0.0 -0.0
  496. asin1003 asin 0.0 -0.0 -> 0.0 -0.0
  497. asin1004 asin -inf 0.0 -> -1.5707963267948966 inf
  498. asin1005 asin -inf 2.2999999999999998 -> -1.5707963267948966 inf
  499. asin1006 asin nan 0.0 -> nan nan
  500. asin1007 asin nan 2.2999999999999998 -> nan nan
  501. asin1008 asin -0.0 inf -> -0.0 inf
  502. asin1009 asin -2.2999999999999998 inf -> -0.0 inf
  503. asin1010 asin -inf inf -> -0.78539816339744828 inf
  504. asin1011 asin nan inf -> nan inf
  505. asin1012 asin -0.0 nan -> -0.0 nan
  506. asin1013 asin -2.2999999999999998 nan -> nan nan
  507. asin1014 asin -inf nan -> nan inf ignore-imag-sign
  508. asin1015 asin nan nan -> nan nan
  509. asin1016 asin inf 0.0 -> 1.5707963267948966 inf
  510. asin1017 asin inf 2.2999999999999998 -> 1.5707963267948966 inf
  511. asin1018 asin 0.0 inf -> 0.0 inf
  512. asin1019 asin 2.2999999999999998 inf -> 0.0 inf
  513. asin1020 asin inf inf -> 0.78539816339744828 inf
  514. asin1021 asin 0.0 nan -> 0.0 nan
  515. asin1022 asin 2.2999999999999998 nan -> nan nan
  516. asin1023 asin inf nan -> nan inf ignore-imag-sign
  517. asin1024 asin inf -0.0 -> 1.5707963267948966 -inf
  518. asin1025 asin inf -2.2999999999999998 -> 1.5707963267948966 -inf
  519. asin1026 asin nan -0.0 -> nan nan
  520. asin1027 asin nan -2.2999999999999998 -> nan nan
  521. asin1028 asin 0.0 -inf -> 0.0 -inf
  522. asin1029 asin 2.2999999999999998 -inf -> 0.0 -inf
  523. asin1030 asin inf -inf -> 0.78539816339744828 -inf
  524. asin1031 asin nan -inf -> nan -inf
  525. asin1032 asin -inf -0.0 -> -1.5707963267948966 -inf
  526. asin1033 asin -inf -2.2999999999999998 -> -1.5707963267948966 -inf
  527. asin1034 asin -0.0 -inf -> -0.0 -inf
  528. asin1035 asin -2.2999999999999998 -inf -> -0.0 -inf
  529. asin1036 asin -inf -inf -> -0.78539816339744828 -inf
  530. ------------------------------------
  531. -- asinh: Inverse hyperbolic sine --
  532. ------------------------------------
  533. -- zeros
  534. asinh0000 asinh 0.0 0.0 -> 0.0 0.0
  535. asinh0001 asinh 0.0 -0.0 -> 0.0 -0.0
  536. asinh0002 asinh -0.0 0.0 -> -0.0 0.0
  537. asinh0003 asinh -0.0 -0.0 -> -0.0 -0.0
  538. -- branch points: +/-i
  539. asinh0010 asinh 0.0 1.0 -> 0.0 1.5707963267948966
  540. asinh0011 asinh 0.0 -1.0 -> 0.0 -1.5707963267948966
  541. asinh0012 asinh -0.0 1.0 -> -0.0 1.5707963267948966
  542. asinh0013 asinh -0.0 -1.0 -> -0.0 -1.5707963267948966
  543. -- values along both sides of imaginary axis
  544. asinh0020 asinh 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
  545. asinh0021 asinh -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
  546. asinh0022 asinh 0.0 -1e-305 -> 0.0 -1e-305
  547. asinh0023 asinh -0.0 -1e-305 -> -0.0 -1e-305
  548. asinh0024 asinh 0.0 -1e-150 -> 0.0 -1e-150
  549. asinh0025 asinh -0.0 -1e-150 -> -0.0 -1e-150
  550. asinh0026 asinh 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
  551. asinh0027 asinh -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
  552. asinh0028 asinh 0.0 -0.001 -> 0.0 -0.0010000001666667416
  553. asinh0029 asinh -0.0 -0.001 -> -0.0 -0.0010000001666667416
  554. asinh0030 asinh 0.0 -0.57899999999999996 -> 0.0 -0.61750165481717001
  555. asinh0031 asinh -0.0 -0.57899999999999996 -> -0.0 -0.61750165481717001
  556. asinh0032 asinh 0.0 -0.99999999999999989 -> 0.0 -1.5707963118937354
  557. asinh0033 asinh -0.0 -0.99999999999999989 -> -0.0 -1.5707963118937354
  558. asinh0034 asinh 0.0 -1.0000000000000002 -> 2.1073424255447014e-08 -1.5707963267948966
  559. asinh0035 asinh -0.0 -1.0000000000000002 -> -2.1073424255447014e-08 -1.5707963267948966
  560. asinh0036 asinh 0.0 -1.0009999999999999 -> 0.044717633608306849 -1.5707963267948966
  561. asinh0037 asinh -0.0 -1.0009999999999999 -> -0.044717633608306849 -1.5707963267948966
  562. asinh0038 asinh 0.0 -2.0 -> 1.3169578969248168 -1.5707963267948966
  563. asinh0039 asinh -0.0 -2.0 -> -1.3169578969248168 -1.5707963267948966
  564. asinh0040 asinh 0.0 -20.0 -> 3.6882538673612966 -1.5707963267948966
  565. asinh0041 asinh -0.0 -20.0 -> -3.6882538673612966 -1.5707963267948966
  566. asinh0042 asinh 0.0 -10000000000000000.0 -> 37.534508668464674 -1.5707963267948966
  567. asinh0043 asinh -0.0 -10000000000000000.0 -> -37.534508668464674 -1.5707963267948966
  568. asinh0044 asinh 0.0 -9.9999999999999998e+149 -> 346.08091112966679 -1.5707963267948966
  569. asinh0045 asinh -0.0 -9.9999999999999998e+149 -> -346.08091112966679 -1.5707963267948966
  570. asinh0046 asinh 0.0 -1.0000000000000001e+299 -> 689.16608998577965 -1.5707963267948966
  571. asinh0047 asinh -0.0 -1.0000000000000001e+299 -> -689.16608998577965 -1.5707963267948966
  572. asinh0048 asinh 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
  573. asinh0049 asinh -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
  574. asinh0050 asinh 0.0 1e-305 -> 0.0 1e-305
  575. asinh0051 asinh -0.0 1e-305 -> -0.0 1e-305
  576. asinh0052 asinh 0.0 1e-150 -> 0.0 1e-150
  577. asinh0053 asinh -0.0 1e-150 -> -0.0 1e-150
  578. asinh0054 asinh 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
  579. asinh0055 asinh -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
  580. asinh0056 asinh 0.0 0.001 -> 0.0 0.0010000001666667416
  581. asinh0057 asinh -0.0 0.001 -> -0.0 0.0010000001666667416
  582. asinh0058 asinh 0.0 0.57899999999999996 -> 0.0 0.61750165481717001
  583. asinh0059 asinh -0.0 0.57899999999999996 -> -0.0 0.61750165481717001
  584. asinh0060 asinh 0.0 0.99999999999999989 -> 0.0 1.5707963118937354
  585. asinh0061 asinh -0.0 0.99999999999999989 -> -0.0 1.5707963118937354
  586. asinh0062 asinh 0.0 1.0000000000000002 -> 2.1073424255447014e-08 1.5707963267948966
  587. asinh0063 asinh -0.0 1.0000000000000002 -> -2.1073424255447014e-08 1.5707963267948966
  588. asinh0064 asinh 0.0 1.0009999999999999 -> 0.044717633608306849 1.5707963267948966
  589. asinh0065 asinh -0.0 1.0009999999999999 -> -0.044717633608306849 1.5707963267948966
  590. asinh0066 asinh 0.0 2.0 -> 1.3169578969248168 1.5707963267948966
  591. asinh0067 asinh -0.0 2.0 -> -1.3169578969248168 1.5707963267948966
  592. asinh0068 asinh 0.0 20.0 -> 3.6882538673612966 1.5707963267948966
  593. asinh0069 asinh -0.0 20.0 -> -3.6882538673612966 1.5707963267948966
  594. asinh0070 asinh 0.0 10000000000000000.0 -> 37.534508668464674 1.5707963267948966
  595. asinh0071 asinh -0.0 10000000000000000.0 -> -37.534508668464674 1.5707963267948966
  596. asinh0072 asinh 0.0 9.9999999999999998e+149 -> 346.08091112966679 1.5707963267948966
  597. asinh0073 asinh -0.0 9.9999999999999998e+149 -> -346.08091112966679 1.5707963267948966
  598. asinh0074 asinh 0.0 1.0000000000000001e+299 -> 689.16608998577965 1.5707963267948966
  599. asinh0075 asinh -0.0 1.0000000000000001e+299 -> -689.16608998577965 1.5707963267948966
  600. -- random inputs
  601. asinh0100 asinh -0.5946402853710423 -0.044506548910000145 -> -0.56459775392653022 -0.038256221441536356
  602. asinh0101 asinh -0.19353958046180916 -0.017489624793193454 -> -0.19237926804196651 -0.017171741895336792
  603. asinh0102 asinh -0.033117585138955893 -8.5256414015933757 -> -2.8327758348650969 -1.5668848791092411
  604. asinh0103 asinh -1.5184043184035716 -0.73491245339073275 -> -1.2715891419764005 -0.39204624408542355
  605. asinh0104 asinh -0.60716120271208818 -0.28900743958436542 -> -0.59119299421187232 -0.24745931678118135
  606. asinh0105 asinh -0.0237177865112429 2.8832601052166313 -> -1.7205820772413236 1.5620261702963094
  607. asinh0106 asinh -2.3906812342743979 2.6349216848574013 -> -1.9609636249445124 0.8142142660574706
  608. asinh0107 asinh -0.0027605019787620517 183.85588476550555 -> -5.9072920005445066 1.5707813120847871
  609. asinh0108 asinh -0.99083661164404713 0.028006797051617648 -> -0.8750185251283995 0.019894099615994653
  610. asinh0109 asinh -3.0362951937986393 0.86377266758504867 -> -1.8636030714685221 0.26475058859950168
  611. asinh0110 asinh 0.34438464536152769 -0.71603790174885029 -> 0.43985415690734164 -0.71015037409294324
  612. asinh0111 asinh 4.4925124413876256 -60604595352.871613 -> 25.520783738612078 -1.5707963267207683
  613. asinh0112 asinh 2.3213991428170337 -7.5459667007307258 -> 2.7560464993451643 -1.270073210856117
  614. asinh0113 asinh 0.21291939741682028 -1.2720428814784408 -> 0.77275088137338266 -1.3182099250896895
  615. asinh0114 asinh 6.6447359379455957 -0.97196191666946996 -> 2.602830695139672 -0.14368247412319965
  616. asinh0115 asinh 7.1326256655083746 2.1516360452706857 -> 2.7051146374367212 0.29051701669727581
  617. asinh0116 asinh 0.18846550905063442 3.4705348585339832 -> 1.917697875799296 1.514155593347924
  618. asinh0117 asinh 0.19065075303281598 0.26216814548222012 -> 0.19603050785932474 0.26013422809614117
  619. asinh0118 asinh 2.0242004665739719 0.70510281647495787 -> 1.4970366212896002 0.30526007200481453
  620. asinh0119 asinh 37.336596461576057 717.29157391678234 -> 7.269981997945294 1.5187910219576033
  621. -- values near infinity
  622. asinh0200 asinh 1.0760517500874541e+308 1.1497786241240167e+308 -> 710.34346055651815 0.81850936961793475
  623. asinh0201 asinh 1.1784839328845529e+308 -1.6478429586716638e+308 -> 710.59536255783678 -0.94996311735607697
  624. asinh0202 asinh -4.8777682248909193e+307 1.4103736217538474e+308 -> -710.28970147376992 1.2378239519096443
  625. asinh0203 asinh -1.2832478903233108e+308 -1.5732392613155698e+308 -> -710.59750164290745 -0.88657181439322452
  626. asinh0204 asinh 0.0 6.8431383856345372e+307 -> 709.51001718444604 1.5707963267948966
  627. asinh0205 asinh -0.0 8.601822432238051e+307 -> -709.73874482126689 1.5707963267948966
  628. asinh0206 asinh 0.0 -5.5698396067303782e+307 -> 709.30413698733742 -1.5707963267948966
  629. asinh0207 asinh -0.0 -7.1507777734621804e+307 -> -709.55399186002705 -1.5707963267948966
  630. asinh0208 asinh 1.6025136110019349e+308 0.0 -> 710.3609292261076 0.0
  631. asinh0209 asinh 1.3927819858239114e+308 -0.0 -> 710.22065899832899 -0.0
  632. asinh0210 asinh -6.0442994056210995e+307 0.0 -> -709.38588631057621 0.0
  633. asinh0211 asinh -1.2775271979042634e+308 -0.0 -> -710.13428215553972 -0.0
  634. asinh0212 asinh 1.0687496260268489e+308 1.0255615699476961 -> 709.95584521407841 9.5959010882679093e-309
  635. asinh0213 asinh 1.0050967333370962e+308 -0.87668970117333433 -> 709.89443961168183 -8.7224410556242882e-309
  636. asinh0214 asinh -5.7161452814862392e+307 8.2377808413450122 -> -709.33006540611166 1.4411426644501116e-307
  637. asinh0215 asinh -8.2009040727653315e+307 -6.407409526654976 -> -709.69101513070109 -7.8130526461510088e-308
  638. asinh0216 asinh 6.4239368496483982 1.6365990821551427e+308 -> 710.38197618101287 1.5707963267948966
  639. asinh0217 asinh 5.4729111423315882 -1.1227237438144211e+308 -> 710.00511346983546 -1.5707963267948966
  640. asinh0218 asinh -8.3455818297412723 1.443172020182019e+308 -> -710.25619930551818 1.5707963267948966
  641. asinh0219 asinh -2.6049726230372441 -1.7952291144022702e+308 -> -710.47448847685644 -1.5707963267948966
  642. -- values near 0
  643. asinh0220 asinh 1.2940113339664088e-314 6.9169190417774516e-323 -> 1.2940113339664088e-314 6.9169190417774516e-323
  644. asinh0221 asinh 2.3848478863874649e-315 -3.1907655025717717e-310 -> 2.3848478863874649e-315 -3.1907655025717717e-310
  645. asinh0222 asinh -3.0097643679641622e-316 4.6936236354918422e-322 -> -3.0097643679641622e-316 4.6936236354918422e-322
  646. asinh0223 asinh -1.787997087755751e-308 -8.5619622834902341e-310 -> -1.787997087755751e-308 -8.5619622834902341e-310
  647. asinh0224 asinh 0.0 1.2491433448427325e-314 -> 0.0 1.2491433448427325e-314
  648. asinh0225 asinh -0.0 2.5024072154538062e-308 -> -0.0 2.5024072154538062e-308
  649. asinh0226 asinh 0.0 -2.9643938750474793e-323 -> 0.0 -2.9643938750474793e-323
  650. asinh0227 asinh -0.0 -2.9396905927554169e-320 -> -0.0 -2.9396905927554169e-320
  651. asinh0228 asinh 5.64042930029359e-317 0.0 -> 5.64042930029359e-317 0.0
  652. asinh0229 asinh 3.3833911866596068e-318 -0.0 -> 3.3833911866596068e-318 -0.0
  653. asinh0230 asinh -4.9406564584124654e-324 0.0 -> -4.9406564584124654e-324 0.0
  654. asinh0231 asinh -2.2211379227994845e-308 -0.0 -> -2.2211379227994845e-308 -0.0
  655. -- special values
  656. asinh1000 asinh 0.0 0.0 -> 0.0 0.0
  657. asinh1001 asinh 0.0 -0.0 -> 0.0 -0.0
  658. asinh1002 asinh -0.0 0.0 -> -0.0 0.0
  659. asinh1003 asinh -0.0 -0.0 -> -0.0 -0.0
  660. asinh1004 asinh 0.0 inf -> inf 1.5707963267948966
  661. asinh1005 asinh 2.3 inf -> inf 1.5707963267948966
  662. asinh1006 asinh 0.0 nan -> nan nan
  663. asinh1007 asinh 2.3 nan -> nan nan
  664. asinh1008 asinh inf 0.0 -> inf 0.0
  665. asinh1009 asinh inf 2.3 -> inf 0.0
  666. asinh1010 asinh inf inf -> inf 0.78539816339744828
  667. asinh1011 asinh inf nan -> inf nan
  668. asinh1012 asinh nan 0.0 -> nan 0.0
  669. asinh1013 asinh nan 2.3 -> nan nan
  670. asinh1014 asinh nan inf -> inf nan ignore-real-sign
  671. asinh1015 asinh nan nan -> nan nan
  672. asinh1016 asinh 0.0 -inf -> inf -1.5707963267948966
  673. asinh1017 asinh 2.3 -inf -> inf -1.5707963267948966
  674. asinh1018 asinh inf -0.0 -> inf -0.0
  675. asinh1019 asinh inf -2.3 -> inf -0.0
  676. asinh1020 asinh inf -inf -> inf -0.78539816339744828
  677. asinh1021 asinh nan -0.0 -> nan -0.0
  678. asinh1022 asinh nan -2.3 -> nan nan
  679. asinh1023 asinh nan -inf -> inf nan ignore-real-sign
  680. asinh1024 asinh -0.0 -inf -> -inf -1.5707963267948966
  681. asinh1025 asinh -2.3 -inf -> -inf -1.5707963267948966
  682. asinh1026 asinh -0.0 nan -> nan nan
  683. asinh1027 asinh -2.3 nan -> nan nan
  684. asinh1028 asinh -inf -0.0 -> -inf -0.0
  685. asinh1029 asinh -inf -2.3 -> -inf -0.0
  686. asinh1030 asinh -inf -inf -> -inf -0.78539816339744828
  687. asinh1031 asinh -inf nan -> -inf nan
  688. asinh1032 asinh -0.0 inf -> -inf 1.5707963267948966
  689. asinh1033 asinh -2.3 inf -> -inf 1.5707963267948966
  690. asinh1034 asinh -inf 0.0 -> -inf 0.0
  691. asinh1035 asinh -inf 2.3 -> -inf 0.0
  692. asinh1036 asinh -inf inf -> -inf 0.78539816339744828
  693. ---------------------------
  694. -- atan: Inverse tangent --
  695. ---------------------------
  696. -- zeros
  697. atan0000 atan 0.0 0.0 -> 0.0 0.0
  698. atan0001 atan 0.0 -0.0 -> 0.0 -0.0
  699. atan0002 atan -0.0 0.0 -> -0.0 0.0
  700. atan0003 atan -0.0 -0.0 -> -0.0 -0.0
  701. -- values along both sides of imaginary axis
  702. atan0010 atan 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
  703. atan0011 atan -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
  704. atan0012 atan 0.0 -1e-305 -> 0.0 -1e-305
  705. atan0013 atan -0.0 -1e-305 -> -0.0 -1e-305
  706. atan0014 atan 0.0 -1e-150 -> 0.0 -1e-150
  707. atan0015 atan -0.0 -1e-150 -> -0.0 -1e-150
  708. atan0016 atan 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
  709. atan0017 atan -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
  710. atan0018 atan 0.0 -0.001 -> 0.0 -0.0010000003333335333
  711. atan0019 atan -0.0 -0.001 -> -0.0 -0.0010000003333335333
  712. atan0020 atan 0.0 -0.57899999999999996 -> 0.0 -0.6609570902866303
  713. atan0021 atan -0.0 -0.57899999999999996 -> -0.0 -0.6609570902866303
  714. atan0022 atan 0.0 -0.99999999999999989 -> 0.0 -18.714973875118524
  715. atan0023 atan -0.0 -0.99999999999999989 -> -0.0 -18.714973875118524
  716. atan0024 atan 0.0 -1.0000000000000002 -> 1.5707963267948966 -18.36840028483855
  717. atan0025 atan -0.0 -1.0000000000000002 -> -1.5707963267948966 -18.36840028483855
  718. atan0026 atan 0.0 -1.0009999999999999 -> 1.5707963267948966 -3.8007011672919218
  719. atan0027 atan -0.0 -1.0009999999999999 -> -1.5707963267948966 -3.8007011672919218
  720. atan0028 atan 0.0 -2.0 -> 1.5707963267948966 -0.54930614433405489
  721. atan0029 atan -0.0 -2.0 -> -1.5707963267948966 -0.54930614433405489
  722. atan0030 atan 0.0 -20.0 -> 1.5707963267948966 -0.050041729278491265
  723. atan0031 atan -0.0 -20.0 -> -1.5707963267948966 -0.050041729278491265
  724. atan0032 atan 0.0 -10000000000000000.0 -> 1.5707963267948966 -9.9999999999999998e-17
  725. atan0033 atan -0.0 -10000000000000000.0 -> -1.5707963267948966 -9.9999999999999998e-17
  726. atan0034 atan 0.0 -9.9999999999999998e+149 -> 1.5707963267948966 -1e-150
  727. atan0035 atan -0.0 -9.9999999999999998e+149 -> -1.5707963267948966 -1e-150
  728. atan0036 atan 0.0 -1.0000000000000001e+299 -> 1.5707963267948966 -9.9999999999999999e-300
  729. atan0037 atan -0.0 -1.0000000000000001e+299 -> -1.5707963267948966 -9.9999999999999999e-300
  730. atan0038 atan 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
  731. atan0039 atan -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
  732. atan0040 atan 0.0 1e-305 -> 0.0 1e-305
  733. atan0041 atan -0.0 1e-305 -> -0.0 1e-305
  734. atan0042 atan 0.0 1e-150 -> 0.0 1e-150
  735. atan0043 atan -0.0 1e-150 -> -0.0 1e-150
  736. atan0044 atan 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
  737. atan0045 atan -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
  738. atan0046 atan 0.0 0.001 -> 0.0 0.0010000003333335333
  739. atan0047 atan -0.0 0.001 -> -0.0 0.0010000003333335333
  740. atan0048 atan 0.0 0.57899999999999996 -> 0.0 0.6609570902866303
  741. atan0049 atan -0.0 0.57899999999999996 -> -0.0 0.6609570902866303
  742. atan0050 atan 0.0 0.99999999999999989 -> 0.0 18.714973875118524
  743. atan0051 atan -0.0 0.99999999999999989 -> -0.0 18.714973875118524
  744. atan0052 atan 0.0 1.0000000000000002 -> 1.5707963267948966 18.36840028483855
  745. atan0053 atan -0.0 1.0000000000000002 -> -1.5707963267948966 18.36840028483855
  746. atan0054 atan 0.0 1.0009999999999999 -> 1.5707963267948966 3.8007011672919218
  747. atan0055 atan -0.0 1.0009999999999999 -> -1.5707963267948966 3.8007011672919218
  748. atan0056 atan 0.0 2.0 -> 1.5707963267948966 0.54930614433405489
  749. atan0057 atan -0.0 2.0 -> -1.5707963267948966 0.54930614433405489
  750. atan0058 atan 0.0 20.0 -> 1.5707963267948966 0.050041729278491265
  751. atan0059 atan -0.0 20.0 -> -1.5707963267948966 0.050041729278491265
  752. atan0060 atan 0.0 10000000000000000.0 -> 1.5707963267948966 9.9999999999999998e-17
  753. atan0061 atan -0.0 10000000000000000.0 -> -1.5707963267948966 9.9999999999999998e-17
  754. atan0062 atan 0.0 9.9999999999999998e+149 -> 1.5707963267948966 1e-150
  755. atan0063 atan -0.0 9.9999999999999998e+149 -> -1.5707963267948966 1e-150
  756. atan0064 atan 0.0 1.0000000000000001e+299 -> 1.5707963267948966 9.9999999999999999e-300
  757. atan0065 atan -0.0 1.0000000000000001e+299 -> -1.5707963267948966 9.9999999999999999e-300
  758. -- random inputs
  759. atan0100 atan -0.32538873661060214 -1.5530461550412578 -> -1.3682728427554227 -0.69451401598762041
  760. atan0101 atan -0.45863393495197929 -4799.1747094903594 -> -1.5707963068820623 -0.00020836916050636145
  761. atan0102 atan -8.3006999685976162 -2.6788890251790938 -> -1.4619862771810199 -0.034811669653327826
  762. atan0103 atan -1.8836307682985314 -1.1441976638861771 -> -1.1839984370871612 -0.20630956157312796
  763. atan0104 atan -0.00063230482407491669 -4.9312520961829485 -> -1.5707692093223147 -0.20563867743008304
  764. atan0105 atan -0.84278137150065946 179012.37493146997 -> -1.5707963267685969 5.5862059836425272e-06
  765. atan0106 atan -0.95487853984049287 14.311334539886177 -> -1.5661322859434561 0.069676024526232005
  766. atan0107 atan -1.3513252539663239 6.0500727021632198e-08 -> -0.93371676315220975 2.140800269742656e-08
  767. atan0108 atan -0.20566254458595795 0.11933771944159823 -> -0.20556463711174916 0.11493405387141732
  768. atan0109 atan -