summaryrefslogtreecommitdiff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:14:56 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-08-20 19:14:56 +0200
commitf76453c31593957fec1a99b986bfa5506618b79c (patch)
treeda353c882fb9b2261c9871bcb9e3876a3e6ed7f6 /sysdeps/sparc
parent58695b88a9deaecbcf7794760cc333177edaa2b4 (diff)
parent78bd7499af46d739ce94410eaeea006e874ca9e5 (diff)
Merge tag 'glibc-2.22' into baseline
The GNU C Library ================= The GNU C Library version 2.22 is now available. The GNU C Library is used as *the* C library in the GNU system and in GNU/Linux systems, as well as many other systems that use Linux as the kernel. The GNU C Library is primarily designed to be a portable and high performance C library. It follows all relevant standards including ISO C11 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known. The GNU C Library webpage is at http://www.gnu.org/software/libc/ Packages for the 2.22 release may be downloaded from: http://ftpmirror.gnu.org/libc/ http://ftp.gnu.org/gnu/libc/ The mirror list is at http://www.gnu.org/order/ftp.html NEWS for version 2.22 ===================== * The following bugs are resolved with this release: 438, 4719, 6544, 6792, 11216, 12836, 13028, 13064, 13151, 13152, 14094, 14292, 14841, 14906, 14958, 15319, 15467, 15790, 15969, 16159, 16339, 16350, 16351, 16352, 16353, 16361, 16512, 16526, 16538, 16559, 16560, 16704, 16783, 16850, 17053, 17090, 17195, 17269, 17293, 17322, 17403, 17475, 17523, 17542, 17569, 17581, 17588, 17596, 17620, 17621, 17628, 17631, 17692, 17711, 17715, 17776, 17779, 17792, 17833, 17836, 17841, 17912, 17916, 17930, 17932, 17944, 17949, 17964, 17965, 17967, 17969, 17977, 17978, 17987, 17991, 17996, 17998, 17999, 18007, 18019, 18020, 18029, 18030, 18032, 18034, 18036, 18038, 18039, 18042, 18043, 18046, 18047, 18049, 18068, 18080, 18093, 18100, 18104, 18110, 18111, 18116, 18125, 18128, 18134, 18138, 18185, 18196, 18197, 18206, 18210, 18211, 18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287, 18319, 18324, 18333, 18346, 18371, 18383, 18397, 18400, 18409, 18410, 18412, 18418, 18422, 18434, 18444, 18457, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497, 18498, 18502, 18507, 18508, 18512, 18513, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545, 18546, 18547, 18549, 18553, 18557, 18558, 18569, 18583, 18585, 18586, 18592, 18593, 18594, 18602, 18612, 18613, 18619, 18633, 18641, 18643, 18648, 18657, 18676, 18694, 18696. * Cache information can be queried via sysconf() function on s390 e.g. with _SC_LEVEL1_ICACHE_SIZE as argument. * A buffer overflow in gethostbyname_r and related functions performing DNS requests has been fixed. If the NSS functions were called with a misaligned buffer, the buffer length change due to pointer alignment was not taken into account. This could result in application crashes or, potentially arbitrary code execution, using crafted, but syntactically valid DNS responses. (CVE-2015-1781) * The time zone file parser has been made more robust against crafted time zone files, avoiding heap buffer overflows related to the processing of the tzh_ttisstdcnt and tzh_ttisgmtcnt fields, and a stack overflow due to large time zone data files. Overly long time zone specifiers in the TZ variable no longer result in stack overflows and crashes. * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors for LD and GD on x86 and x86-64, has been implemented. You will need binutils-2.24 or later to enable this optimization. * Character encoding and ctype tables were updated to Unicode 7.0.0, using new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red Hat). These updates cause user visible changes, such as the fix for bug 17998. * CVE-2014-8121 The NSS backends shared internal state between the getXXent and getXXbyYY NSS calls for the same database, causing a denial-of-service condition in some applications. * Added vector math library named libmvec with the following vectorized x86_64 implementations: cos, cosf, sin, sinf, sincos, sincosf, log, logf, exp, expf, pow, powf. The library can be disabled with --disable-mathvec. Use of the functions is enabled with -fopenmp -ffast-math starting from -O1 for GCC version >= 4.9.0. Shared library libmvec.so is linked in as needed when using -lm (no need to specify -lmvec explicitly for not static builds). Visit <https://sourceware.org/glibc/wiki/libmvec> for detailed information. * A new fmemopen implementation has been added with the goal of POSIX compliance. The new implementation fixes the following long-standing issues: BZ#6544, BZ#11216, BZ#12836, BZ#13151, BZ#13152, and BZ#14292. The old implementation is still present for use be by existing binaries. * The 32-bit sparc sigaction ABI was inadvertently broken in the 2.20 and 2.21 releases. It has been fixed to match 2.19 and older, but binaries built against 2.20 and 2.21 might need to be recompiled. See BZ#18694. * Port to Native Client running on ARMv7-A (--host=arm-nacl). Contributed by Roland McGrath (Google). Contributors ============ This release was made possible by the contributions of many people. The maintainers are grateful to everyone who has contributed changes or bug reports. These include: Adhemerval Zanella Alan Modra Alexandre Oliva Andreas Schwab Andrew Senkevich Andriy Rysin Arjun Shankar Aurelien Jarno Benno Schulenberg Brad Hubbard Carlos O'Donell Chris Metcalf Christian Schmidt Chung-Lin Tang Cong Wang Cyril Hrubis Daniel Marjamäki David S. Miller Dmitry V. Levin Eric Rannaud Evangelos Foutras Feng Gao Florian Weimer Gleb Fotengauer-Malinovskiy H.J. Lu Igor Zamyatin J William Piggott James Cowgill James Lemke John David Anglin Joseph Myers Kevin Easton Khem Raj Leonhard Holz Mark Wielaard Marko Myllynen Martin Galvan Martin Sebor Matthew Fortune Mel Gorman Mike Frysinger Miroslav Lichvar Nathan Lynch Ondřej Bílka Paul Eggert Paul Pluzhnikov Pavel Kopyl Pravin Satpute Rajalakshmi Srinivasaraghavan Rical Jasan Richard Henderson Roland McGrath Rüdiger Sonderfeld Samuel Thibault Siddhesh Poyarekar Stefan Liebler Steve Ellcey Szabolcs Nagy Torvald Riegel Tulio Magno Quites Machado Filho Vincent Bernat Wilco Dijkstra Yaakov Selkowitz Zack Weinberg
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/backtrace.c2
-rw-r--r--sysdeps/sparc/bits/huge_vall.h2
-rw-r--r--sysdeps/sparc/bits/hwcap.h4
-rw-r--r--sysdeps/sparc/bits/link.h2
-rw-r--r--sysdeps/sparc/bits/mathdef.h2
-rw-r--r--sysdeps/sparc/bits/string.h5
-rw-r--r--sysdeps/sparc/crti.S2
-rw-r--r--sysdeps/sparc/crtn.S2
-rw-r--r--sysdeps/sparc/dl-dtprocnum.h2
-rw-r--r--sysdeps/sparc/dl-procinfo.c2
-rw-r--r--sysdeps/sparc/dl-procinfo.h2
-rw-r--r--sysdeps/sparc/dl-sysdep.h2
-rw-r--r--sysdeps/sparc/dl-tls.h2
-rw-r--r--sysdeps/sparc/fpu/bits/fenv.h2
-rw-r--r--sysdeps/sparc/fpu/bits/mathinline.h2
-rw-r--r--sysdeps/sparc/fpu/fclrexcpt.c2
-rw-r--r--sysdeps/sparc/fpu/fedisblxcpt.c2
-rw-r--r--sysdeps/sparc/fpu/feenablxcpt.c2
-rw-r--r--sysdeps/sparc/fpu/fegetenv.c3
-rw-r--r--sysdeps/sparc/fpu/fegetexcept.c2
-rw-r--r--sysdeps/sparc/fpu/fegetround.c8
-rw-r--r--sysdeps/sparc/fpu/feholdexcpt.c8
-rw-r--r--sysdeps/sparc/fpu/fenv_private.h64
-rw-r--r--sysdeps/sparc/fpu/fesetenv.c3
-rw-r--r--sysdeps/sparc/fpu/fesetround.c8
-rw-r--r--sysdeps/sparc/fpu/feupdateenv.c7
-rw-r--r--sysdeps/sparc/fpu/fgetexcptflg.c2
-rw-r--r--sysdeps/sparc/fpu/fpu_control.h2
-rw-r--r--sysdeps/sparc/fpu/fraiseexcpt.c3
-rw-r--r--sysdeps/sparc/fpu/fsetexcptflg.c2
-rw-r--r--sysdeps/sparc/fpu/ftestexcept.c2
-rw-r--r--sysdeps/sparc/fpu/libm-test-ulps18793
-rw-r--r--sysdeps/sparc/gccframe.h2
-rw-r--r--sysdeps/sparc/ldsodefs.h2
-rw-r--r--sysdeps/sparc/machine-gmon.h2
-rw-r--r--sysdeps/sparc/memusage.h2
-rw-r--r--sysdeps/sparc/nptl/Makefile8
-rw-r--r--sysdeps/sparc/nptl/bits/pthreadtypes.h228
-rw-r--r--sysdeps/sparc/nptl/bits/semaphore.h40
-rw-r--r--sysdeps/sparc/nptl/pthread_barrier_destroy.c45
-rw-r--r--sysdeps/sparc/nptl/pthread_barrier_init.c56
-rw-r--r--sysdeps/sparc/nptl/pthread_barrier_wait.c81
-rw-r--r--sysdeps/sparc/nptl/sparc-nptl.h33
-rw-r--r--sysdeps/sparc/nptl/tcb-offsets.sym7
-rw-r--r--sysdeps/sparc/nptl/tls.h178
-rw-r--r--sysdeps/sparc/preconfigure24
-rw-r--r--sysdeps/sparc/sparc-ifunc.h2
-rw-r--r--sysdeps/sparc/sparc-mcount.S2
-rw-r--r--sysdeps/sparc/sparc32/Makefile2
-rw-r--r--sysdeps/sparc/sparc32/__longjmp.S2
-rw-r--r--sysdeps/sparc/sparc32/add_n.S2
-rw-r--r--sysdeps/sparc/sparc32/addmul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/alloca.S2
-rw-r--r--sysdeps/sparc/sparc32/bits/atomic.h24
-rw-r--r--sysdeps/sparc/sparc32/bits/setjmp.h2
-rw-r--r--sysdeps/sparc/sparc32/dl-irel.h6
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h17
-rw-r--r--sysdeps/sparc/sparc32/dl-plt.h2
-rw-r--r--sysdeps/sparc/sparc32/dl-trampoline.S2
-rw-r--r--sysdeps/sparc/sparc32/e_sqrt.c2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_copysign.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_copysignf.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fabs.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fabsf.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fdim.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fdimf.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_signbit.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_signbitl.S4
-rw-r--r--sysdeps/sparc/sparc32/fpu/w_sqrt.S2
-rw-r--r--sysdeps/sparc/sparc32/fpu/w_sqrtf.S2
-rw-r--r--sysdeps/sparc/sparc32/ieee754.h2
-rw-r--r--sysdeps/sparc/sparc32/jmpbuf-offsets.h2
-rw-r--r--sysdeps/sparc/sparc32/jmpbuf-unwind.h2
-rw-r--r--sysdeps/sparc/sparc32/lll_timedlock_wait.c1
-rw-r--r--sysdeps/sparc/sparc32/lll_timedwait_tid.c1
-rw-r--r--sysdeps/sparc/sparc32/lowlevellock.c131
-rw-r--r--sysdeps/sparc/sparc32/lshift.S2
-rw-r--r--sysdeps/sparc/sparc32/memchr.S2
-rw-r--r--sysdeps/sparc/sparc32/memcpy.S2
-rw-r--r--sysdeps/sparc/sparc32/memset.S2
-rw-r--r--sysdeps/sparc/sparc32/mul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/pthread_barrier_wait.c97
-rw-r--r--sysdeps/sparc/sparc32/pthread_spin_lock.S (renamed from sysdeps/sparc/sparc32/sparcv9/hp-timing.c)21
-rw-r--r--sysdeps/sparc/sparc32/pthread_spin_trylock.S (renamed from sysdeps/sparc/sparc64/hp-timing.c)18
-rw-r--r--sysdeps/sparc/sparc32/pthreaddef.h33
-rw-r--r--sysdeps/sparc/sparc32/rshift.S2
-rw-r--r--sysdeps/sparc/sparc32/sem_init.c88
-rw-r--r--sysdeps/sparc/sparc32/sem_open.c299
-rw-r--r--sysdeps/sparc/sparc32/sem_post.c82
-rw-r--r--sysdeps/sparc/sparc32/sem_wait.c93
-rw-r--r--sysdeps/sparc/sparc32/sem_waitcommon.c146
-rw-r--r--sysdeps/sparc/sparc32/setjmp.S2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/Makefile2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_add.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_cmp.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_cmpe.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_div.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_dtoq.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_feq.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_fge.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_fgt.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_fle.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_flt.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_fne.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_itoq.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_lltoq.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_mul.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_neg.c19
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtod.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtoi.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtoll.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtos.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtou.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_qtoull.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_sqrt.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_stoq.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_sub.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_util.c2
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/q_utoq.c6
-rw-r--r--sysdeps/sparc/sparc32/soft-fp/sfp-machine.h4
-rw-r--r--sysdeps/sparc/sparc32/sparcv8/addmul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv8/mul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv8/submul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/Makefile14
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/addmul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/bits/atomic.h10
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/cpu_relax.S1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S4
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/hp-timing.h56
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/mul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/pthread_barrier_wait.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/sem_init.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/sem_open.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/sem_post.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/sem_wait.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/sem_waitcommon.c1
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/submul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/start.S2
-rw-r--r--sysdeps/sparc/sparc32/stpcpy.S2
-rw-r--r--sysdeps/sparc/sparc32/strcat.S2
-rw-r--r--sysdeps/sparc/sparc32/strchr.S2
-rw-r--r--sysdeps/sparc/sparc32/strcmp.S2
-rw-r--r--sysdeps/sparc/sparc32/strcpy.S2
-rw-r--r--sysdeps/sparc/sparc32/strlen.S2
-rw-r--r--sysdeps/sparc/sparc32/sub_n.S2
-rw-r--r--sysdeps/sparc/sparc32/submul_1.S2
-rw-r--r--sysdeps/sparc/sparc32/tst-audit.h2
-rw-r--r--sysdeps/sparc/sparc64/Makefile14
-rw-r--r--sysdeps/sparc/sparc64/add_n.S2
-rw-r--r--sysdeps/sparc/sparc64/addmul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/align-cpy.S2
-rw-r--r--sysdeps/sparc/sparc64/bits/atomic.h10
-rw-r--r--sysdeps/sparc/sparc64/cpu_relax.S67
-rw-r--r--sysdeps/sparc/sparc64/dl-irel.h6
-rw-r--r--sysdeps/sparc/sparc64/dl-machine.h17
-rw-r--r--sysdeps/sparc/sparc64/dl-plt.h4
-rw-r--r--sysdeps/sparc/sparc64/dl-trampoline.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/e_sqrtl.c2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_ceil.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_ceilf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_copysign.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_copysignf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fdim.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fdimf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_finite.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_finitef.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_floor.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_floorf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fmax.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fmaxf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fmin.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fminf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_isinf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_isinff.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_isnan.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_isnanf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_lrint.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_lrintf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_nearbyint.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_nearbyintf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_rint.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_rintf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_signbit.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_signbitf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_trunc.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_truncf.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/w_sqrt.S2
-rw-r--r--sysdeps/sparc/sparc64/fpu/w_sqrtf.S2
-rw-r--r--sysdeps/sparc/sparc64/hp-timing.h54
-rw-r--r--sysdeps/sparc/sparc64/jmpbuf-unwind.h2
-rw-r--r--sysdeps/sparc/sparc64/lshift.S2
-rw-r--r--sysdeps/sparc/sparc64/memchr.S5
-rw-r--r--sysdeps/sparc/sparc64/memcmp.S6
-rw-r--r--sysdeps/sparc/sparc64/memcpy.S2
-rw-r--r--sysdeps/sparc/sparc64/memset.S2
-rw-r--r--sysdeps/sparc/sparc64/mul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/add_n-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/add_n.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/addmul_1-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/addmul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/md5-crop.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S5
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memcpy.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memset-niagara1.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memset-niagara4.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/memset.S4
-rw-r--r--sysdeps/sparc/sparc64/multiarch/mul_1-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/mul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/sha256-crop.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/sha512-crop.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/sub_n-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/sub_n.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/submul_1-vis3.S2
-rw-r--r--sysdeps/sparc/sparc64/multiarch/submul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_init.c1
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_lock.S31
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_trylock.S27
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_unlock.S28
-rw-r--r--sysdeps/sparc/sparc64/pthreaddef.h33
-rw-r--r--sysdeps/sparc/sparc64/rawmemchr.S2
-rw-r--r--sysdeps/sparc/sparc64/rshift.S2
-rw-r--r--sysdeps/sparc/sparc64/rtld-memcpy.c1
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/Makefile2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_add.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_cmp.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_div.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_feq.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_fge.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_fgt.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_fle.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_flt.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_fne.c6
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_itoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_mul.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_neg.S2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtod.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtos.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_qtox.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_stoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_sub.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_util.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/s_frexpl.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c4
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c2
-rw-r--r--sysdeps/sparc/sparc64/soft-fp/sfp-machine.h4
-rw-r--r--sysdeps/sparc/sparc64/start.S2
-rw-r--r--sysdeps/sparc/sparc64/stpcpy.S2
-rw-r--r--sysdeps/sparc/sparc64/stpncpy.S2
-rw-r--r--sysdeps/sparc/sparc64/strcat.S2
-rw-r--r--sysdeps/sparc/sparc64/strchr.S2
-rw-r--r--sysdeps/sparc/sparc64/strcmp.S33
-rw-r--r--sysdeps/sparc/sparc64/strcpy.S2
-rw-r--r--sysdeps/sparc/sparc64/strcspn.S2
-rw-r--r--sysdeps/sparc/sparc64/strlen.S2
-rw-r--r--sysdeps/sparc/sparc64/strncmp.S6
-rw-r--r--sysdeps/sparc/sparc64/strncpy.S2
-rw-r--r--sysdeps/sparc/sparc64/strpbrk.S2
-rw-r--r--sysdeps/sparc/sparc64/strspn.S2
-rw-r--r--sysdeps/sparc/sparc64/sub_n.S2
-rw-r--r--sysdeps/sparc/sparc64/submul_1.S2
-rw-r--r--sysdeps/sparc/sparc64/tst-audit.h2
-rw-r--r--sysdeps/sparc/stackinfo.h2
-rw-r--r--sysdeps/sparc/sysdep.h4
365 files changed, 3608 insertions, 18211 deletions
diff --git a/sysdeps/sparc/backtrace.c b/sysdeps/sparc/backtrace.c
index b6eed2cd3d..754f45bfeb 100644
--- a/sysdeps/sparc/backtrace.c
+++ b/sysdeps/sparc/backtrace.c
@@ -1,5 +1,5 @@
/* Return backtrace of current program state.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>
diff --git a/sysdeps/sparc/bits/huge_vall.h b/sysdeps/sparc/bits/huge_vall.h
index f3e54c5290..c739269c09 100644
--- a/sysdeps/sparc/bits/huge_vall.h
+++ b/sysdeps/sparc/bits/huge_vall.h
@@ -1,6 +1,6 @@
/* `HUGE_VALL' constant for IEEE 754 machines (where it is infinity).
Used by <stdlib.h> and <math.h> functions for overflow.
- Copyright (C) 1992-2014 Free Software Foundation, Inc.
+ Copyright (C) 1992-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/bits/hwcap.h b/sysdeps/sparc/bits/hwcap.h
index cf7c3db6c0..0d25601d1c 100644
--- a/sysdeps/sparc/bits/hwcap.h
+++ b/sysdeps/sparc/bits/hwcap.h
@@ -1,5 +1,5 @@
/* Defines for bits in AT_HWCAP.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SYS_AUXV_H
+#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
#endif
diff --git a/sysdeps/sparc/bits/link.h b/sysdeps/sparc/bits/link.h
index 0464a5a4e2..2039bea31c 100644
--- a/sysdeps/sparc/bits/link.h
+++ b/sysdeps/sparc/bits/link.h
@@ -1,5 +1,5 @@
/* Machine-specific audit interfaces for dynamic linker. SPARC version.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/bits/mathdef.h b/sysdeps/sparc/bits/mathdef.h
index 6542207ae6..cb747c576e 100644
--- a/sysdeps/sparc/bits/mathdef.h
+++ b/sysdeps/sparc/bits/mathdef.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/bits/string.h b/sysdeps/sparc/bits/string.h
index 94572e82cf..36fbb4c847 100644
--- a/sysdeps/sparc/bits/string.h
+++ b/sysdeps/sparc/bits/string.h
@@ -1,5 +1,5 @@
/* Optimized, inlined string functions. SPARC version.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -20,6 +20,9 @@
# error "Never use <bits/string.h> directly; include <string.h> instead."
#endif
+/* Define if architecture can access unaligned multi-byte variables. */
+#define _STRING_ARCH_unaligned 0
+
/* sparc32 and sparc64 strchr(x, '\0') perform better than
__rawmemchr(x, '\0'). */
#define _HAVE_STRING_ARCH_strchr 1
diff --git a/sysdeps/sparc/crti.S b/sysdeps/sparc/crti.S
index 642740cedf..c52e04ba7e 100644
--- a/sysdeps/sparc/crti.S
+++ b/sysdeps/sparc/crti.S
@@ -1,5 +1,5 @@
/* Special .init and .fini section support for sparc.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/crtn.S b/sysdeps/sparc/crtn.S
index 14feeb4a7b..1604f59f5f 100644
--- a/sysdeps/sparc/crtn.S
+++ b/sysdeps/sparc/crtn.S
@@ -1,5 +1,5 @@
/* Special .init and .fini section support for sparc.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/dl-dtprocnum.h b/sysdeps/sparc/dl-dtprocnum.h
index 21f70f031e..fb571f49e6 100644
--- a/sysdeps/sparc/dl-dtprocnum.h
+++ b/sysdeps/sparc/dl-dtprocnum.h
@@ -1,5 +1,5 @@
/* Configuration of lookup functions. SPARC version.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/dl-procinfo.c b/sysdeps/sparc/dl-procinfo.c
index 4c563356b8..341deaf960 100644
--- a/sysdeps/sparc/dl-procinfo.c
+++ b/sysdeps/sparc/dl-procinfo.c
@@ -1,5 +1,5 @@
/* Data for Linux/sparc version of processor capability information.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
diff --git a/sysdeps/sparc/dl-procinfo.h b/sysdeps/sparc/dl-procinfo.h
index cd8f6378ef..aca80e259a 100644
--- a/sysdeps/sparc/dl-procinfo.h
+++ b/sysdeps/sparc/dl-procinfo.h
@@ -1,5 +1,5 @@
/* Linux/sparc version of processor capability information handling macros.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
diff --git a/sysdeps/sparc/dl-sysdep.h b/sysdeps/sparc/dl-sysdep.h
index 4a9fcbb02f..be0c911e29 100644
--- a/sysdeps/sparc/dl-sysdep.h
+++ b/sysdeps/sparc/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. SPARC version.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/dl-tls.h b/sysdeps/sparc/dl-tls.h
index 89df1a5c53..9fbe90934c 100644
--- a/sysdeps/sparc/dl-tls.h
+++ b/sysdeps/sparc/dl-tls.h
@@ -1,5 +1,5 @@
/* Thread-local storage handling in the ELF dynamic linker. SPARC version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h
index 6bc56a6c24..184e294bd8 100644
--- a/sysdeps/sparc/fpu/bits/fenv.h
+++ b/sysdeps/sparc/fpu/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h
index 64cba95d4a..7240864214 100644
--- a/sysdeps/sparc/fpu/bits/mathinline.h
+++ b/sysdeps/sparc/fpu/bits/mathinline.h
@@ -1,5 +1,5 @@
/* Inline math functions for SPARC.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>.
diff --git a/sysdeps/sparc/fpu/fclrexcpt.c b/sysdeps/sparc/fpu/fclrexcpt.c
index 2676aaa790..e7e1e4634f 100644
--- a/sysdeps/sparc/fpu/fclrexcpt.c
+++ b/sysdeps/sparc/fpu/fclrexcpt.c
@@ -1,5 +1,5 @@
/* Clear given exceptions in current floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/fedisblxcpt.c b/sysdeps/sparc/fpu/fedisblxcpt.c
index 7650fa2dc7..3ed12026bb 100644
--- a/sysdeps/sparc/fpu/fedisblxcpt.c
+++ b/sysdeps/sparc/fpu/fedisblxcpt.c
@@ -1,5 +1,5 @@
/* Disable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
diff --git a/sysdeps/sparc/fpu/feenablxcpt.c b/sysdeps/sparc/fpu/feenablxcpt.c
index 2361ab1610..863c504e99 100644
--- a/sysdeps/sparc/fpu/feenablxcpt.c
+++ b/sysdeps/sparc/fpu/feenablxcpt.c
@@ -1,5 +1,5 @@
/* Enable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
diff --git a/sysdeps/sparc/fpu/fegetenv.c b/sysdeps/sparc/fpu/fegetenv.c
index 55600d5bec..4f5126d809 100644
--- a/sysdeps/sparc/fpu/fegetenv.c
+++ b/sysdeps/sparc/fpu/fegetenv.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -33,5 +33,6 @@ strong_alias (__fegetenv, __old_fegetenv)
compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
#endif
+libm_hidden_def (__fegetenv)
libm_hidden_ver (__fegetenv, fegetenv)
versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
diff --git a/sysdeps/sparc/fpu/fegetexcept.c b/sysdeps/sparc/fpu/fegetexcept.c
index fa83c2b31f..b19bb2842a 100644
--- a/sysdeps/sparc/fpu/fegetexcept.c
+++ b/sysdeps/sparc/fpu/fegetexcept.c
@@ -1,5 +1,5 @@
/* Get enabled floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
diff --git a/sysdeps/sparc/fpu/fegetround.c b/sysdeps/sparc/fpu/fegetround.c
index 654a347011..ebcf21ca35 100644
--- a/sysdeps/sparc/fpu/fegetround.c
+++ b/sysdeps/sparc/fpu/fegetround.c
@@ -1,5 +1,5 @@
/* Return current rounding direction.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,7 +19,7 @@
#include <fenv.h>
int
-fegetround (void)
+__fegetround (void)
{
fenv_t tmp;
@@ -27,4 +27,6 @@ fegetround (void)
return tmp & __FE_ROUND_MASK;
}
-libm_hidden_def (fegetround)
+libm_hidden_def (__fegetround)
+weak_alias (__fegetround, fegetround)
+libm_hidden_weak (fegetround)
diff --git a/sysdeps/sparc/fpu/feholdexcpt.c b/sysdeps/sparc/fpu/feholdexcpt.c
index fd8573ffea..4c9ac07ce7 100644
--- a/sysdeps/sparc/fpu/feholdexcpt.c
+++ b/sysdeps/sparc/fpu/feholdexcpt.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,7 +19,7 @@
#include <fenv.h>
int
-feholdexcept (fenv_t *envp)
+__feholdexcept (fenv_t *envp)
{
fenv_t tmp;
@@ -32,4 +32,6 @@ feholdexcept (fenv_t *envp)
return 0;
}
-libm_hidden_def (feholdexcept)
+libm_hidden_def (__feholdexcept)
+weak_alias (__feholdexcept, feholdexcept)
+libm_hidden_weak (feholdexcept)
diff --git a/sysdeps/sparc/fpu/fenv_private.h b/sysdeps/sparc/fpu/fenv_private.h
index 8690879ddc..29b5d123cf 100644
--- a/sysdeps/sparc/fpu/fenv_private.h
+++ b/sysdeps/sparc/fpu/fenv_private.h
@@ -115,4 +115,68 @@ libc_feresetround (fenv_t *e)
#define libc_feholdsetroundl libc_feholdsetround
#define libc_feresetroundl libc_feresetround
+/* We have support for rounding mode context. */
+#define HAVE_RM_CTX 1
+
+static __always_inline void
+libc_feholdexcept_setround_sparc_ctx (struct rm_ctx *ctx, int round)
+{
+ fenv_t new;
+
+ __fenv_stfsr(ctx->env);
+ new = ctx->env & ~((0x1f << 23) | FE_ALL_EXCEPT);
+ new = (new & ~__FE_ROUND_MASK) | round;
+ if (__glibc_unlikely (new != ctx->env))
+ {
+ __fenv_ldfsr(new);
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+
+static __always_inline void
+libc_fesetenv_sparc_ctx (struct rm_ctx *ctx)
+{
+ libc_fesetenv(&ctx->env);
+}
+
+static __always_inline void
+libc_feupdateenv_sparc_ctx (struct rm_ctx *ctx)
+{
+ if (__glibc_unlikely (ctx->updated_status))
+ libc_feupdateenv_test (&ctx->env, 0);
+}
+
+static __always_inline void
+libc_feholdsetround_sparc_ctx (struct rm_ctx *ctx, int round)
+{
+ fenv_t new;
+
+ __fenv_stfsr(ctx->env);
+ new = (ctx->env & ~__FE_ROUND_MASK) | round;
+ if (__glibc_unlikely (new != ctx->env))
+ {
+ __fenv_ldfsr(new);
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+#define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_sparc_ctx
+#define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_sparc_ctx
+#define libc_feholdexcept_setroundl_ctx libc_feholdexcept_setround_sparc_ctx
+#define libc_fesetenv_ctx libc_fesetenv_sparc_ctx
+#define libc_fesetenvf_ctx libc_fesetenv_sparc_ctx
+#define libc_fesetenvl_ctx libc_fesetenv_sparc_ctx
+#define libc_feupdateenv_ctx libc_feupdateenv_sparc_ctx
+#define libc_feupdateenvf_ctx libc_feupdateenv_sparc_ctx
+#define libc_feupdateenvl_ctx libc_feupdateenv_sparc_ctx
+#define libc_feresetround_ctx libc_feupdateenv_sparc_ctx
+#define libc_feresetroundf_ctx libc_feupdateenv_sparc_ctx
+#define libc_feresetroundl_ctx libc_feupdateenv_sparc_ctx
+#define libc_feholdsetround_ctx libc_feholdsetround_sparc_ctx
+#define libc_feholdsetroundf_ctx libc_feholdsetround_sparc_ctx
+#define libc_feholdsetroundl_ctx libc_feholdsetround_sparc_ctx
+
#endif /* FENV_PRIVATE_H */
diff --git a/sysdeps/sparc/fpu/fesetenv.c b/sysdeps/sparc/fpu/fesetenv.c
index 1424d58332..3f89ab7411 100644
--- a/sysdeps/sparc/fpu/fesetenv.c
+++ b/sysdeps/sparc/fpu/fesetenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -50,5 +50,6 @@ strong_alias (__fesetenv, __old_fesetenv)
compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
#endif
+libm_hidden_def (__fesetenv)
libm_hidden_ver (__fesetenv, fesetenv)
versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/sysdeps/sparc/fpu/fesetround.c b/sysdeps/sparc/fpu/fesetround.c
index da63b80873..b01447ca7f 100644
--- a/sysdeps/sparc/fpu/fesetround.c
+++ b/sysdeps/sparc/fpu/fesetround.c
@@ -1,5 +1,5 @@
/* Set current rounding direction.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,7 +19,7 @@
#include <fenv.h>
int
-fesetround (int round)
+__fesetround (int round)
{
fenv_t tmp;
@@ -34,4 +34,6 @@ fesetround (int round)
return 0;
}
-libm_hidden_def (fesetround)
+libm_hidden_def (__fesetround)
+weak_alias (__fesetround, fesetround)
+libm_hidden_weak (fesetround)
diff --git a/sysdeps/sparc/fpu/feupdateenv.c b/sysdeps/sparc/fpu/feupdateenv.c
index 79cb1db9fe..f46e6c6529 100644
--- a/sysdeps/sparc/fpu/feupdateenv.c
+++ b/sysdeps/sparc/fpu/feupdateenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment and raise exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -29,12 +29,12 @@ __feupdateenv (const fenv_t *envp)
tmp &= FE_ALL_EXCEPT;
/* Install new environment. */
- fesetenv (envp);
+ __fesetenv (envp);
/* Raise the safed exception. Incidently for us the implementation
defined format of the values in objects of type fexcept_t is the
same as the ones specified using the FE_* constants. */
- feraiseexcept ((int) tmp);
+ __feraiseexcept ((int) tmp);
/* Success. */
return 0;
@@ -45,5 +45,6 @@ strong_alias (__feupdateenv, __old_feupdateenv)
compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
#endif
+libm_hidden_def (__feupdateenv)
libm_hidden_ver (__feupdateenv, feupdateenv)
versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/sysdeps/sparc/fpu/fgetexcptflg.c b/sysdeps/sparc/fpu/fgetexcptflg.c
index 21eda916a6..927d5dd779 100644
--- a/sysdeps/sparc/fpu/fgetexcptflg.c
+++ b/sysdeps/sparc/fpu/fgetexcptflg.c
@@ -1,5 +1,5 @@
/* Store current representation for exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/fpu_control.h b/sysdeps/sparc/fpu/fpu_control.h
index 293adbdcd8..7bdf9b8617 100644
--- a/sysdeps/sparc/fpu/fpu_control.h
+++ b/sysdeps/sparc/fpu/fpu_control.h
@@ -1,5 +1,5 @@
/* FPU control word bits. SPARC version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Miguel de Icaza
diff --git a/sysdeps/sparc/fpu/fraiseexcpt.c b/sysdeps/sparc/fpu/fraiseexcpt.c
index e1c63dd895..6bedca8e9b 100644
--- a/sysdeps/sparc/fpu/fraiseexcpt.c
+++ b/sysdeps/sparc/fpu/fraiseexcpt.c
@@ -1,5 +1,5 @@
/* Raise given exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -86,5 +86,6 @@ strong_alias (__feraiseexcept, __old_feraiseexcept)
compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
#endif
+libm_hidden_def (__feraiseexcept)
libm_hidden_ver (__feraiseexcept, feraiseexcept)
versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/sysdeps/sparc/fpu/fsetexcptflg.c b/sysdeps/sparc/fpu/fsetexcptflg.c
index 917e089814..ff55c9c72d 100644
--- a/sysdeps/sparc/fpu/fsetexcptflg.c
+++ b/sysdeps/sparc/fpu/fsetexcptflg.c
@@ -1,5 +1,5 @@
/* Set floating-point environment exception handling.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/ftestexcept.c b/sysdeps/sparc/fpu/ftestexcept.c
index 3bccaf71e7..d8b9fbd1ce 100644
--- a/sysdeps/sparc/fpu/ftestexcept.c
+++ b/sysdeps/sparc/fpu/ftestexcept.c
@@ -1,5 +1,5 @@
/* Test exception in current environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps
index bf3cd45ddc..b8fe2e003c 100644
--- a/sysdeps/sparc/fpu/libm-test-ulps
+++ b/sysdeps/sparc/fpu/libm-test-ulps
@@ -1,11308 +1,467 @@
# Begin of automatic generation
-# acos_downward
-Test "acos_downward (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_towardzero
-Test "acos_towardzero (-0x8p-4)":
+# Maximal error of functions:
+Function: "acos":
float: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_upward
-Test "acos_upward (+0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x1p+0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-1024)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-1076)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-128)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x8p-152)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x8p-972)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54646d496p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54646d497p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef56p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-1024)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-1076)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-128)":
-double: 1
-idouble: 1
-Test "acos_upward (0x8p-152)":
-double: 1
-idouble: 1
-Test "acos_upward (0x8p-972)":
-double: 1
-idouble: 1
-
-# acosh
-Test "acosh (0x6.4p+4)":
-double: 1
-idouble: 1
-Test "acosh (0xf.ffffffffffff8p+1020)":
-double: 1
-Test "acosh (0xf.fffffp+124)":
-ldouble: 1
-
-# asin
-Test "asin (-0xf.ffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "asin (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-# asin_downward
-Test "asin_downward (-0x1p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0x8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffffffffp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffp-4)":
+Function: "acos_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "asin_downward (0x8p-4)":
-float: 1
-ifloat: 1
-Test "asin_downward (0xcp-4)":
ildouble: 1
ldouble: 1
-# asin_tonearest
-Test "asin_tonearest (-0xf.ffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_tonearest (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-
-# asin_towardzero
-Test "asin_towardzero (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-152)":
+Function: "acos_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "asin_towardzero (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0xf.fffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
-# asin_upward
-Test "asin_upward (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-4)":
+Function: "acos_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "asin_upward (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffffffffp-4)":
+
+Function: "acosh":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "asin_upward (-0xf.fffffp-4)":
+
+Function: "acosh_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
-Test "asin_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "asin_upward (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# asinh
-Test "asinh (-0xf.ffffffffffff8p+1020)":
-double: 1
-Test "asinh (-0xf.fffffp+124)":
-ldouble: 1
-Test "asinh (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asinh (0x1p+100)":
-ildouble: 1
-ldouble: 1
-Test "asinh (0xap+0)":
-float: 1
-ifloat: 1
-Test "asinh (0xf.ffffffffffff8p+1020)":
-double: 1
-Test "asinh (0xf.fffffp+124)":
-ldouble: 1
-# atan2
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1ep-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1ep-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x2p-16384, -0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x4p-16384, -0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x4p-16448, -0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x8p-16448, -0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xcp-4, -0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xf.fffffffffffffffffffffffffff8p+16380, 0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xf.fffffp+124, -0x4p-128)":
-float: 1
-ifloat: 1
-Test "atan2 (-0xf.fffffp+124, -0x8p-152)":
-float: 1
-ifloat: 1
-Test "atan2 (0x1.000002p+0, 0x1.0000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x1.000002p+0, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x1.64p+0, 0xe.ep-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x4p-16384, -0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x6.4p-4, 0x1.301648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x6.4p-4, 0x1.30164ap-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x8p-16448, -0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0xcp-4, -0x1p+0)":
+Function: "acosh_towardzero":
+double: 2
float: 1
+idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
-Test "atan2 (0xf.fffffffffffffffp+16380, 0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0xf.fffffp+124, -0x4p-128)":
-float: 1
-ifloat: 1
-Test "atan2 (0xf.fffffp+124, -0x8p-152)":
-float: 1
-ifloat: 1
-# atanh
-Test "atanh (-0xcp-4)":
-float: 1
-ifloat: 1
-Test "atanh (0x1.2345p-20)":
-ildouble: 1
-ldouble: 1
-Test "atanh (0x4p-4)":
-ildouble: 1
-ldouble: 1
-Test "atanh (0xcp-4)":
+Function: "acosh_upward":
+double: 2
float: 1
+idouble: 2
ifloat: 1
+ildouble: 2
+ldouble: 2
-# cacos
-Test "Imaginary part of: cacos (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)":
-double: 1
+Function: "asin":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)":
+
+Function: "asin_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)":
+
+Function: "asin_towardzero":
double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)":
float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
idouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-2 - 3 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-63 i)":
+
+Function: "asin_upward":
double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 1.0 i)":
float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 1.0 i)":
-float: 1
ifloat: 1
-Test "Imaginary part of: cacos (0.5 - 1.0 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+
+Function: "asinh":
double: 1
-idouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)":
float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)":
+
+Function: "asinh_downward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
+
+Function: "asinh_towardzero":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)":
+
+Function: "asinh_upward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
+
+Function: "atan":
float: 1
ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)":
+
+Function: "atan2":
float: 1
ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 - 1.0 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: cacos (1.0 + 0.25 i)":
+
+Function: "atan2_downward":
double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-10 i)":
float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0.25 i)":
-double: 1
idouble: 1
-Test "Real part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 2
ifloat: 2
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-# cacosh
-Test "Real part of: cacosh (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 1.0 i)":
+Function: "atan2_towardzero":
double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
+
+Function: "atan2_upward":
double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
float: 2
+idouble: 1
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)":
ildouble: 2
ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
+
+Function: "atan_downward":
double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
-double: 1
idouble: 1
-Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)":
+
+Function: "atan_towardzero":
double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-23 - 0.5 i)":
float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
-float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0.25 i)":
+
+Function: "atan_upward":
double: 1
-idouble: 1
-Test "Real part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0.25 i)":
-double: 1
idouble: 1
-Test "Real part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 2
ifloat: 2
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-# casin
-Test "Imaginary part of: casin (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
+Function: "atanh":
double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
float: 2
-ifloat: 2
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
ifloat: 2
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-# casinh
-Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.25 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
+Function: "atanh_downward":
+double: 3
float: 2
+idouble: 3
ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
+ildouble: 3
+ldouble: 3
+
+Function: "atanh_towardzero":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.25 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.25 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-# catan
-Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catan (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-16380 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-16380 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# catanh
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
+Function: "atanh_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 3
+ldouble: 3
-# cbrt
-Test "cbrt (-0x1.bp+4)":
-double: 1
-idouble: 1
-Test "cbrt (-0x4.189374bc6a7ecp-12)":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-0x4.189374bc6a7ef9ep-12)":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-0x4.18937p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cbrt (0xcp-4)":
-double: 1
-idouble: 1
-Test "cbrt (0xf.ep-4)":
+Function: "cabs":
double: 1
idouble: 1
-# ccos
-Test "Real part of: ccos (-0x2p+0 - 0x3p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)":
+Function: "cabs_downward":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0x1p-120 + 0x8p-32 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0x4p-16436 + 0x5.8cap+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0x8p-32 + 0x1p-120 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccos (0xcp-4 + 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (0xcp-4 - 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-# ccosh
-Test "Imaginary part of: ccosh (-0x2.c5d4p+12 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2.c5d4p+12 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2.c68p+8 + 0xcp-4 i)":
+Function: "cabs_towardzero":
double: 1
idouble: 1
-Test "Imaginary part of: ccosh (-0x2.c68p+8 - 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c5d4p+12 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c5d4p+12 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c68p+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c68p+8 - 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (0x5.8cap+12 + 0x4p-16436 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0x5.ap+8 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-# cexp
-Test "Imaginary part of: cexp (+0 + 0x2.1e19e0c9bab24p+72 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (+0 + 0x2p+64 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.dp+8 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x5.fp+4 + 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (0x1.f4p+8 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (0x1.f4p+8 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x3.2p+4 + 0x8p+124 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)":
+Function: "cabs_upward":
double: 1
idouble: 1
-Test "Imaginary part of: cexp (0x5.8cap+12 + 0x4p-16436 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x5.ap+8 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-# clog
-Test "Real part of: clog (+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d1598p-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d159ep-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.000002p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d1598p-32 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x4p-1076 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-1076 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16496 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16496 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-0x8p-152 + 0xf.fffffp+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x8p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+124 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0xf.8p+124 - 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0xf.8p+16380 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234568p-60 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.000002p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.234566p-60 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.23456789p-60 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c63p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c63p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c64p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdfbf6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-16440 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-16440 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a38p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a38p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2p-148 + 0x2p-148 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae888p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae889p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfdp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d118p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d118p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfdp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d12p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b4p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3ce8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3cfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d76p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d758p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d76p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d758p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x4.d9e8cp-4 + 0xf.3f30281507d8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4p-1076 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16496 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16496 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22364p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989d9b5cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22364p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d9b5cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452b965da9fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452b965da9fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452bp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452b965da9fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x5.ba8cep-4 + 0xe.f0742p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.dbd1p-4 + 0xe.e387ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e21p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2086dcca8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e21p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x6.02fd58p-4 + 0xe.d3e2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.02fd5p-4 + 0xe.d3e21p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x6.02fd5p-4 + 0xe.d3e2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c2018b428p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2018b428p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428257p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c3p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x6.1c643p-4 + 0xe.c97c2018b4288p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cb019p-4 + 0xe.c36a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86bbp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86baf8febep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf8fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86ba8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86ba8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86baf9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.59feap-4 + 0xe.af6f9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb449253a1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb449253a1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e5108p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf04f3688p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f4b088p-4 + 0xd.e1bfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f4b08p-4 + 0xd.e1bf04f3688p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8.88fafp-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.479468b09a37p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.47946p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x8p-1076 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-1076 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-1076 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8p-152 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8p-152 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.a9cp-4 + 0xc.c0ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b4085cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b408p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b57bp-4 + 0xc.b7b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8b1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df58ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df589p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df589p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342ep-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df58ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc58p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867ap-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc67818f89d2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc67818f89d2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cbp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.e7de8p-4 + 0xb.b51cb9f04d4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cb9f04d4dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51ccp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a043561d0f42p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f25p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+124 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xf.8p+124 - 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xf.8p+16380 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp+124 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xf.fffffp+124 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.ffffffffffff8p-1004 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffffffffffffp-15004 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + inf i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-inf - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
+Function: Real part of "cacos":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-60 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-50 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-60 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1415bcaf2105940d49a636e98ae59p-115 + 0x7e6a150adfcd1b0921d44b31f40f4p-115 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)":
ildouble: 2
ldouble: 2
-Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-# cos
-Test "cos (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1p+120)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x7p+0)":
-float: 1
-ifloat: 1
-Test "cos (0x8p+124)":
-float: 1
-ifloat: 1
-Test "cos (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-
-# cos_downward
-Test "cos_downward (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000000cf4a2a2p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.0000010b239a9p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.00000162a932bp+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000002d452a1p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000002p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x1.000004p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.000006p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.0c1522p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.0c152382d7365p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.0c1524p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.921fb4p+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb6p+0)":
+Function: Imaginary part of "cacos":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "cos_downward (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x1p+120)":
+
+Function: Real part of "cacos_downward":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1p+28)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a44p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x2.182a4705ae6cap+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb09p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a48p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x3p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p+48)":
-double: 1
-idouble: 1
-Test "cos_downward (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p+0)":
-float: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "cos_downward (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xa.217bap+12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xc.d4966p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos_downward (0xcp-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.fffffffffffffffp+16380)":
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-
-# cos_tonearest
-Test "cos_tonearest (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1p+120)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x7p+0)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0x8p+124)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-# cos_towardzero
-Test "cos_towardzero (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.0000010b239a9p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.00000162a932bp+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000002d452a1p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000002p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.0c152382d7365p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_towardzero (0x2.182a44p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6cap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6cb08cb7665c1eacp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6ccp+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.182a48p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p+48)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p+1020)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xa.217bap+12)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xf.fffffp+124)":
-double: 1
-idouble: 1
+Function: Imaginary part of "cacos_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 5
+ldouble: 5
-# cos_upward
-Test "cos_upward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "cos_upward (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.000002p+0)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x1.000004p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.000005bc7d86dp+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.000006p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.0c1522p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.0c152382d7366p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.0c1524p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.921fb4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x1.921fb6p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1p+0)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a44p+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cap+0)":
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacp+0)":
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb09p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6ccp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a48p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.1e19e4p+72)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2p+64)":
-double: 1
-idouble: 1
-Test "cos_upward (0x3p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x5p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x6p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x7p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x8p+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x9p+0)":
+Function: Real part of "cacos_towardzero":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xa.217bap+12)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "cos_upward (0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xc.d4966p-4)":
-float: 1
-ifloat: 1
-Test "cos_upward (0xc.d4967p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "cos_upward (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-# cosh
-Test "cosh (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh (-0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh (-0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh (0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh (0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh (0x2.c679dp+8)":
-double: 1
-idouble: 1
-
-# cosh_downward
-Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-Test "cosh_downward (0x1.6p+4)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (0x2.c679dp+8)":
-double: 1
-idouble: 1
-
-# cosh_towardzero
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-Test "cosh_towardzero (0x1.6p+4)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x5.96a7ep+4)":
-float: 1
-ifloat: 1
+Function: Imaginary part of "cacos_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 5
+ldouble: 5
-# cosh_upward
-Test "cosh_upward (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (-0x2.c5d374p+12)":
-ldouble: 3
-Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 2
-Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x5.96a7e8p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x5.96a7ep+4)":
-double: 1
+Function: Real part of "cacos_upward":
+double: 2
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
-Test "cosh_upward (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (0x1.8p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (0x2.c5d374p+12)":
+ildouble: 3
ldouble: 3
-Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 2
-Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x3.2p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x5.96a7e8p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x5.96a7ep+4)":
+
+Function: Imaginary part of "cacos_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 5
+ldouble: 5
+
+Function: Real part of "cacosh":
double: 1
float: 2
idouble: 1
ifloat: 2
-
-# cpow
-Test "Real part of: cpow (0x2p+0 + +0 i, 0xap+0 + +0 i)":
ildouble: 2
ldouble: 2
-Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
+
+Function: Imaginary part of "cacosh":
double: 1
-float: 4
+float: 2
idouble: 1
-ifloat: 4
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
+
+Function: Real part of "cacosh_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "cacosh_downward":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)":
-double: 2
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "cacosh_towardzero":
+double: 5
float: 3
-idouble: 2
+idouble: 5
ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "cacosh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)":
-double: 1
+
+Function: Real part of "cacosh_upward":
+double: 4
float: 4
-idouble: 1
+idouble: 4
ifloat: 4
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
-# csin
-Test "Real part of: csin (-0.75 + 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-0.75 + 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-0.75 - 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (0.75 + 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (0.75 - 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0x1p-16434 + 22730 i)":
-ildouble: 1
-ldouble: 1
+Function: Imaginary part of "cacosh_upward":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 3
+ldouble: 3
-# csinh
-Test "Imaginary part of: csinh (-11357.25 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-11357.25 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-2 - 3 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-89.5 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-89.5 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (11357.25 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (11357.25 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (22730 + 0x1p-16434 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (89.5 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (89.5 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (89.5 - 0.75 i)":
+Function: "carg":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-# csqrt
-Test "Imaginary part of: csqrt (-0 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x2p+0 + 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)":
-double: 1
-idouble: 1
-Test "Real part of: csqrt (-0x4p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-16440 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-16440 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-5000 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000004p-1024 + 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.000008p-128 + 0x4.000008p-128 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x4p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16496 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+1020 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x8p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.8p+16380 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)":
+Function: "carg_downward":
double: 1
+float: 2
idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ifloat: 2
ildouble: 1
ldouble: 1
-# ctan
-Test "Real part of: ctan (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + +0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p+0 + 0x2.dp+4 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p+0 + 0x2.fp+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)":
+Function: "carg_towardzero":
double: 1
+float: 2
idouble: 1
-Test "Imaginary part of: ctan (0x8p+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x8p+124 + 0x1p+0 i)":
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)":
+
+Function: "carg_upward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "Real part of: ctan (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)":
+
+Function: Real part of "casin":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 2
ldouble: 2
-Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
+
+Function: Imaginary part of "casin":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-# ctan_downward
-Test "Real part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
+Function: Real part of "casin_downward":
double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
float: 1
+idouble: 3
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
ildouble: 3
ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + +0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+
+Function: Imaginary part of "casin_downward":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
ildouble: 5
ldouble: 5
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1p+0 + 0x2.dp+4 i)":
-double: 1
+
+Function: Real part of "casin_towardzero":
+double: 3
float: 1
-idouble: 1
+idouble: 3
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
-double: 6
-idouble: 6
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
-double: 4
+
+Function: Imaginary part of "casin_towardzero":
+double: 5
float: 3
-idouble: 4
+idouble: 5
ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
+ildouble: 5
+ldouble: 5
+
+Function: Real part of "casin_upward":
double: 2
float: 1
idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-# ctan_tonearest
-Test "Real part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + +0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.dp+4 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.fp+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
+Function: Imaginary part of "casin_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 5
+ldouble: 5
+
+Function: Real part of "casinh":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
+
+Function: Imaginary part of "casinh":
double: 1
float: 1
idouble: 1
@@ -11310,6655 +469,1511 @@ ifloat: 1
ildouble: 2
ldouble: 2
-# ctan_towardzero
-Test "Real part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
+Function: Real part of "casinh_downward":
double: 5
float: 3
idouble: 5
ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
ildouble: 5
ldouble: 5
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
+
+Function: Imaginary part of "casinh_downward":
+double: 3
float: 1
-idouble: 1
+idouble: 3
ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.dp+4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "casinh_towardzero":
double: 5
-idouble: 5
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
-double: 4
float: 3
-idouble: 4
+idouble: 5
ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)":
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "casinh_towardzero":
+double: 3
float: 1
+idouble: 3
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "casinh_upward":
double: 4
-float: 2
+float: 4
idouble: 4
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
+ifloat: 4
+ildouble: 5
+ldouble: 5
-# ctan_upward
-Test "Real part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
+Function: Imaginary part of "casinh_upward":
double: 2
-float: 3
+float: 2
idouble: 2
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
-double: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "catan":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctan_upward (-0xc.35p+12 + 0xc.35p+12 i)":
+
+Function: Imaginary part of "catan":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctan_upward (-0xc.35p+12 - 0xc.35p+12 i)":
+
+Function: Real part of "catan_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
ildouble: 2
ldouble: 2
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
+
+Function: Imaginary part of "catan_downward":
double: 2
+float: 2
idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + +0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63ap+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
+
+Function: Real part of "catan_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
+
+Function: Imaginary part of "catan_towardzero":
double: 2
float: 1
idouble: 2
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
-double: 2
-idouble: 2
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
-double: 2
-idouble: 2
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_upward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
-double: 1
+
+Function: Real part of "catan_upward":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: ctan_upward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 2
+
+Function: Imaginary part of "catan_upward":
+double: 3
float: 3
-idouble: 2
+idouble: 3
ifloat: 3
-ildouble: 2
-ldouble: 2
-
-# ctanh
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d18p+0 i)":
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdap-4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)":
+
+Function: Real part of "catanh":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "Imaginary part of: ctanh (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1.6dp+8 + 0x1p+0 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0x8p+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0x8p+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+124 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
+
+Function: Imaginary part of "catanh":
float: 1
-idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh (0x2.dp+4 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x2.fp+4 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+
+Function: Real part of "catanh_downward":
double: 2
+float: 2
idouble: 2
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+
+Function: Imaginary part of "catanh_downward":
double: 1
+float: 2
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
+
+Function: Real part of "catanh_towardzero":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-# ctanh_downward
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb6p+0 i)":
+Function: Imaginary part of "catanh_towardzero":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdap-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
+
+Function: Real part of "catanh_upward":
double: 4
-float: 1
+float: 3
idouble: 4
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
-double: 1
+ifloat: 3
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "catanh_upward":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
-double: 6
-idouble: 6
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
-double: 2
+
+Function: "cbrt":
+double: 3
float: 1
-idouble: 2
+idouble: 3
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
+
+Function: "cbrt_downward":
double: 4
-float: 3
+float: 1
idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+
+Function: "cbrt_towardzero":
double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x2.dp+4 + 0x1p+0 i)":
-double: 1
float: 1
-idouble: 1
+idouble: 3
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
+
+Function: "cbrt_upward":
+double: 4
float: 1
+idouble: 4
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
+
+Function: Real part of "ccos":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
-# ctanh_tonearest
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)":
+Function: Imaginary part of "ccos":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d19p+0 i)":
+
+Function: Real part of "ccos_downward":
double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)":
float: 1
+idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234p-4 i)":
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdap-4 i)":
+
+Function: Imaginary part of "ccos_downward":
double: 2
-float: 1
+float: 3
idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
+
+Function: Real part of "ccos_towardzero":
double: 1
+float: 2
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x2.dp+4 + 0x1p+0 i)":
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x2.fp+4 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+
+Function: Imaginary part of "ccos_towardzero":
double: 2
+float: 3
idouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
+
+Function: Real part of "ccos_upward":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+
+Function: Imaginary part of "ccos_upward":
double: 2
+float: 2
idouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-# ctanh_towardzero
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d18p+0 i)":
+Function: Real part of "ccosh":
double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb6p+0 i)":
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: ctanh_towardzero (-0xc.35p+12 + 0xc.35p+12 i)":
+
+Function: Imaginary part of "ccosh":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
+
+Function: Real part of "ccosh_downward":
double: 1
-float: 1
+float: 3
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
-double: 5
-idouble: 5
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
+
+Function: Imaginary part of "ccosh_downward":
double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
-double: 4
float: 3
-idouble: 4
+idouble: 2
ifloat: 3
ildouble: 2
ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
+
+Function: Real part of "ccosh_towardzero":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+
+Function: Imaginary part of "ccosh_towardzero":
double: 2
+float: 3
idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
+
+Function: Real part of "ccosh_upward":
double: 1
+float: 2
idouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
-double: 4
+ifloat: 2
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "ccosh_upward":
+double: 2
float: 2
-idouble: 4
+idouble: 2
ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x2.dp+4 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
+
+Function: Real part of "cexp":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
+
+Function: Imaginary part of "cexp":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
+
+Function: Real part of "cexp_downward":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-# ctanh_upward
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d19p+0 i)":
+Function: Imaginary part of "cexp_downward":
double: 1
+float: 3
idouble: 1
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdap-4 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
+
+Function: Real part of "cexp_towardzero":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Real part of: ctanh_upward (-0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63ap+12 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63p+12 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
+
+Function: Imaginary part of "cexp_towardzero":
double: 1
-float: 1
+float: 3
idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
-double: 2
-idouble: 2
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
+
+Function: Real part of "cexp_upward":
double: 1
+float: 2
idouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
-double: 2
-idouble: 2
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
+
+Function: Imaginary part of "cexp_upward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
-double: 2
+
+Function: Real part of "clog":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "clog":
float: 1
-idouble: 2
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
+
+Function: Real part of "clog10":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "clog10":
double: 2
+float: 2
idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
+
+Function: Real part of "clog10_downward":
+double: 6
+float: 6
+idouble: 6
+ifloat: 6
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "clog10_downward":
double: 2
+float: 4
idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
+ifloat: 4
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "clog10_towardzero":
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
+ildouble: 6
+ldouble: 6
+
+Function: Imaginary part of "clog10_towardzero":
double: 2
-float: 1
+float: 4
idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
+ifloat: 4
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
+
+Function: Real part of "clog10_upward":
+double: 8
+float: 5
+idouble: 8
+ifloat: 5
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "clog10_upward":
double: 2
-float: 1
+float: 3
idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
+ifloat: 3
ildouble: 3
ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-# erf
-Test "erf (-0x7.ffffffffffffcp-4)":
-ildouble: 1
-ldouble: 1
-Test "erf (0x1.4p+0)":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.ap+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x2p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x3.ee6078p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x4.2p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x6.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x6.a8p+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x7.fe8008p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "erfc (0x7.fffd6p+0)":
-float: 1
-ifloat: 1
-Test "erfc (0x7.ffff2p+0)":
-ildouble: 1
-ldouble: 1
+Function: Real part of "clog_downward":
+double: 7
+float: 5
+idouble: 7
+ifloat: 5
+ildouble: 6
+ldouble: 6
-# exp10
-Test "exp10 (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "exp10 (-0x1p+0)":
-double: 1
-idouble: 1
-Test "exp10 (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "exp10 (0x3p+0)":
+Function: Imaginary part of "clog_downward":
double: 1
+float: 2
idouble: 1
-
-# exp10_downward
-Test "exp10_downward (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (-0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (-0x1p+0)":
-ildouble: 2
-ldouble: 2
-Test "exp10_downward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e44p+8)":
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "exp10_downward (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e45573a1ddp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x2.4p+4)":
+
+Function: Real part of "clog_towardzero":
+double: 7
+float: 5
+idouble: 7
+ifloat: 5
+ildouble: 6
+ldouble: 6
+
+Function: Imaginary part of "clog_towardzero":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "exp10_downward (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0xcp-4)":
-ildouble: 1
-ldouble: 1
-# exp10_tonearest
-Test "exp10_tonearest (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (-0x1p+0)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (0x3p+0)":
-double: 1
-idouble: 1
+Function: Real part of "clog_upward":
+double: 8
+float: 5
+idouble: 8
+ifloat: 5
+ildouble: 6
+ldouble: 6
-# exp10_towardzero
-Test "exp10_towardzero (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (-0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (-0x1p+0)":
-ildouble: 2
-ldouble: 2
-Test "exp10_towardzero (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e44p+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_towardzero (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e45573a1ddp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x2.4p+4)":
+Function: Imaginary part of "clog_upward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "exp10_towardzero (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
-# exp10_upward
-Test "exp10_upward (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (-0x1.344p+12)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0x1.86ap+16)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (-0xf.424p+16)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0xf.fffffp+124)":
-float: 1
-ifloat: 1
-Test "exp10_upward (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.344p+12)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e44p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.348e45573a1dd72cp+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e45573a1ddp+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.348e46p+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x3p+0)":
-double: 1
+Function: "cos":
float: 1
-idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0xcp-4)":
-ildouble: 2
-ldouble: 2
-
-# exp2
-Test "exp2 (0x6.48p+4)":
ildouble: 1
ldouble: 1
-# exp_downward
-Test "exp_downward (0x2p+0)":
-double: 1
-idouble: 1
-Test "exp_downward (0x3p+0)":
-double: 1
-idouble: 1
-Test "exp_downward (0x5.8b9028p+4)":
-double: 1
-idouble: 1
-Test "exp_downward (0xcp-4)":
-double: 1
-idouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0x3p+0)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0x5.8b9028p+4)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-
-# exp_upward
-Test "exp_upward (-0x2.e870a4p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a7e5e88c2p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a7e5e88cp+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a8p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe224p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe227861639p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe228p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x4.d2p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp_upward (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "exp_upward (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "exp_upward (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "exp_upward (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "exp_upward (0x2.c5cp+8)":
-double: 1
-idouble: 1
-Test "exp_upward (0x3.2p+4)":
+Function: "cos_downward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
-# expm1
-Test "expm1 (-0x1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x2.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x2.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x4.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x8p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1 (0x1p+0)":
+Function: "cos_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "expm1 (0xcp-4)":
-double: 1
-idouble: 1
-
-# expm1_downward
-Test "expm1_downward (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x1p-100)":
ildouble: 1
ldouble: 1
-Test "expm1_downward (-0x1p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_downward (0x3.2p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_downward (0x7.fp+4)":
-double: 1
-idouble: 1
-# expm1_tonearest
-Test "expm1_tonearest (-0x1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x2.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x2.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x4.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x8p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_tonearest (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_tonearest (0xcp-4)":
+Function: "cos_upward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
+ildouble: 2
+ldouble: 2
-# expm1_towardzero
-Test "expm1_towardzero (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-32)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-64)":
+Function: "cosh":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "expm1_towardzero (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_towardzero (-0x8p-32)":
-float: 1
-ifloat: 1
-Test "expm1_towardzero (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_towardzero (0x3.2p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_towardzero (0x7.fp+4)":
-double: 1
-idouble: 1
-# expm1_upward
-Test "expm1_upward (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-32)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-64)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_upward (-0x8p-32)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_upward (0x1p-32)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x1p-64)":
+Function: "cosh_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "expm1_upward (0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x7.fp+4)":
ildouble: 1
-ldouble: 1
-Test "expm1_upward (0x8p-32)":
-float: 1
-ifloat: 1
+ldouble: 2
-# gamma
-Test "gamma (-0x1p-20)":
-double: 1
-idouble: 1
-Test "gamma (-0x1p-40)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x2p-16)":
+Function: "cosh_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "gamma (-0x4p-12)":
-double: 1
-idouble: 1
-Test "gamma (-0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-28)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-8)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1.3333333333333332p+0)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1.3333333333333333333333333333p+0)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-32)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x8p-8)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.333333333333p-4)":
-double: 1
-idouble: 1
-Test "gamma (0xb.33333p-4)":
-double: 1
-idouble: 1
-
-# hypot
-Test "hypot (-0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333334p-4, -0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333334p-4, 0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, -0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (-0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, 0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666p+0, -0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666p+0, 0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666667p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666667p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666668p+0, -0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.6666666666668p+0, 0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdef0123456789ab8p-500, 0x1.23456789abcdep-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdef02p-500, 0x1.23456789abcdfp-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdfp-500)":
ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdep-500, 0x1.23456789abcdef0123456789ab8p-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdef02p-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333334p-4, -0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333334p-4, 0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, -0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, 0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666p+0, -0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666p+0, 0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666667p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666667p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666668p+0, -0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (0xc.6666666666668p+0, 0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-
-# j0
-Test "j0 (-0x2.002000002p+592)":
-ildouble: 2
ldouble: 2
-Test "j0 (-0x4p+0)":
+
+Function: "cosh_upward":
double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (-0xf.fffffp+124)":
-double: 2
float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (0x2p+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (0x4p+0)":
-double: 1
-float: 1
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+1020)":
+ifloat: 2
ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "j0 (0xap+0)":
+ldouble: 3
+
+Function: Real part of "cpow":
double: 2
-float: 1
+float: 4
idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "j0 (0xcp-4)":
-float: 1
-ifloat: 1
-Test "j0 (0xe.be71dp+104)":
+ifloat: 4
+ildouble: 4
+ldouble: 4
+
+Function: Imaginary part of "cpow":
float: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Test "j0 (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0xf.fffffp+124)":
-double: 2
+
+Function: Real part of "cpow_downward":
+double: 4
+float: 8
+idouble: 4
+ifloat: 8
+ildouble: 6
+ldouble: 6
+
+Function: Imaginary part of "cpow_downward":
+double: 1
float: 2
-idouble: 2
+idouble: 1
ifloat: 2
ildouble: 2
ldouble: 2
-# j1
-Test "j1 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x2p+0)":
-double: 1
-idouble: 1
-Test "j1 (0x4.ffcp+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x8p+0)":
+Function: Real part of "cpow_towardzero":
+double: 4
+float: 8
+idouble: 4
+ifloat: 8
+ildouble: 6
+ldouble: 6
+
+Function: Imaginary part of "cpow_towardzero":
double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "j1 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "j1 (0xap+0)":
float: 2
+idouble: 1
ifloat: 2
ildouble: 2
ldouble: 2
-Test "j1 (0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "j1 (0xf.fffffp+124)":
-double: 1
+
+Function: Real part of "cpow_upward":
+double: 4
float: 1
-idouble: 1
+idouble: 4
ifloat: 1
+ildouble: 3
+ldouble: 3
-# jn
-Test "jn (0, -0x4p+0)":
+Function: Imaginary part of "cpow_upward":
double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (0, 0x2p+0)":
float: 2
+idouble: 1
ifloat: 2
ildouble: 2
ldouble: 2
-Test "jn (0, 0x4p+0)":
+
+Function: Real part of "csin":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "jn (0, 0x8p+0)":
-float: 1
-ifloat: 1
+
+Function: Imaginary part of "csin":
ildouble: 1
ldouble: 1
-Test "jn (0, 0xap+0)":
+
+Function: Real part of "csin_downward":
double: 2
-float: 1
+float: 3
idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (0, 0xcp-4)":
-float: 1
-ifloat: 1
-Test "jn (1, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (1, 0x2p+0)":
-double: 1
-idouble: 1
-Test "jn (1, 0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (1, 0xap+0)":
-float: 2
-ifloat: 2
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "jn (1, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, -0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0x2p+0)":
+
+Function: Imaginary part of "csin_downward":
double: 1
float: 2
idouble: 1
ifloat: 2
-Test "jn (10, 0x2p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0xap+0)":
-double: 4
-float: 2
-idouble: 4
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (10, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (2, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (2, 0x2.67a2a5d2e36801p+0)":
ildouble: 3
ldouble: 3
-Test "jn (2, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-Test "jn (2, 0x2.67a2a5d2e368p+0)":
+
+Function: Real part of "csin_towardzero":
double: 2
-idouble: 2
-ildouble: 3
-ldouble: 3
-Test "jn (2, 0x2.67a2a8p+0)":
-double: 1
float: 3
-idouble: 1
+idouble: 2
ifloat: 3
-Test "jn (2, 0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x8p+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x8p+16380)":
ildouble: 2
ldouble: 2
-Test "jn (2, 0xf.fffb1p+96)":
+
+Function: Imaginary part of "csin_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-Test "jn (2, 0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0xf.fffffp+124)":
+ildouble: 3
+ldouble: 3
+
+Function: Real part of "csin_upward":
double: 2
-float: 2
+float: 3
idouble: 2
-ifloat: 2
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "jn (3, 0x2.67a2a4p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 5
-ldouble: 5
-Test "jn (3, 0x2.67a2a5d2e36801p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (3, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a8p+0)":
+
+Function: Imaginary part of "csin_upward":
double: 1
float: 3
idouble: 1
ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2p+0)":
-float: 1
-ifloat: 1
-Test "jn (3, 0x2p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0xap+0)":
-double: 3
-idouble: 3
-ildouble: 2
-ldouble: 2
-Test "jn (3, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (4, 0x2.67a2a4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fcp+0)":
ildouble: 3
ldouble: 3
-Test "jn (4, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (4, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e368p+0)":
-double: 1
-idouble: 1
-Test "jn (4, 0x2.67a2a8p+0)":
+
+Function: Real part of "csinh":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "jn (5, 0x2.67a2a4p+0)":
+
+Function: Imaginary part of "csinh":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e36800fcp+0)":
ildouble: 1
ldouble: 1
-Test "jn (5, 0x2.67a2a5d2e36801p+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "jn (5, 0x2.67a2a5d2e368p+0)":
+
+Function: Real part of "csinh_downward":
double: 2
-idouble: 2
-Test "jn (5, 0x2.67a2a8p+0)":
float: 2
+idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a4p+0)":
+ildouble: 3
+ldouble: 3
+
+Function: Imaginary part of "csinh_downward":
double: 2
-float: 1
+float: 3
idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 5
-ldouble: 5
-Test "jn (6, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (6, 0x2.67a2a5d2e3682p+0)":
+
+Function: Real part of "csinh_towardzero":
double: 2
+float: 2
idouble: 2
-ildouble: 1
-ldouble: 1
-Test "jn (6, 0x2.67a2a5d2e368p+0)":
-double: 4
-idouble: 4
+ifloat: 2
ildouble: 3
ldouble: 3
-Test "jn (6, 0x2.67a2a8p+0)":
+
+Function: Imaginary part of "csinh_towardzero":
double: 2
float: 3
idouble: 2
ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a4p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
ildouble: 3
ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e36801p+0)":
+
+Function: Real part of "csinh_upward":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
ildouble: 3
ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e3682p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-ildouble: 2
-ldouble: 2
-Test "jn (7, 0x2.67a2a8p+0)":
+
+Function: Imaginary part of "csinh_upward":
double: 2
float: 3
idouble: 2
ifloat: 3
-Test "jn (8, 0x2.67a2a4p+0)":
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "csqrt":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
+ildouble: 1
+ldouble: 1
+
+Function: Imaginary part of "csqrt":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "csqrt_downward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
ildouble: 3
ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
+
+Function: Imaginary part of "csqrt_downward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36801p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (8, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-Test "jn (8, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-Test "jn (8, 0x2.67a2a8p+0)":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-Test "jn (9, 0x2.67a2a4p+0)":
+
+Function: Real part of "csqrt_towardzero":
double: 3
float: 3
idouble: 3
ifloat: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (9, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 7
-ldouble: 7
-Test "jn (9, 0x2.67a2a5d2e36801p+0)":
ildouble: 2
ldouble: 2
-Test "jn (9, 0x2.67a2a5d2e3682p+0)":
+
+Function: Imaginary part of "csqrt_towardzero":
double: 4
+float: 3
idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+
+Function: Real part of "csqrt_upward":
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
ildouble: 3
ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e368p+0)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (9, 0x2.67a2a8p+0)":
+
+Function: Imaginary part of "csqrt_upward":
double: 3
float: 3
idouble: 3
ifloat: 3
+ildouble: 2
+ldouble: 2
-# lgamma
-Test "lgamma (-0x1p-20)":
-double: 1
-idouble: 1
-Test "lgamma (-0x1p-40)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x2p-16)":
+Function: Real part of "ctan":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "lgamma (-0x4p-12)":
-double: 1
-idouble: 1
-Test "lgamma (-0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-28)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-8)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1.3333333333333332p+0)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1.3333333333333333333333333333p+0)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-32)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x8p-8)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.333333333333p-4)":
-double: 1
-idouble: 1
-Test "lgamma (0xb.33333p-4)":
-double: 1
-idouble: 1
+ildouble: 3
+ldouble: 3
-# log
-Test "log (0x2.b7e151628aed2a68p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e151628aed2a6abf7158809cf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e151628aed2p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e15p+0)":
+Function: Imaginary part of "ctan":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-Test "log (0x4p-1076)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "log (0x8p-152)":
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
-# log10
-Test "log10 (0x1.999998p-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x1.999999999999ap-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x1.99999ap-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x2.b7e151628aed2a6cp+0)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x2.b7e154p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "log10 (0x4p-1024)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0xcp-4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
+Function: Real part of "ctan_downward":
+double: 6
+float: 5
+idouble: 6
+ifloat: 5
+ildouble: 4
+ldouble: 4
-# log1p
-Test "log1p (-0x4p-4)":
-float: 1
-ifloat: 1
-Test "log1p (0x1.b7e151628aed2p+0)":
-ildouble: 1
-ldouble: 1
-Test "log1p (0x1.b7e15p+0)":
+Function: Imaginary part of "ctan_downward":
+double: 2
float: 1
+idouble: 2
ifloat: 1
+ildouble: 5
+ldouble: 5
-# log2
-Test "log2 (0x2.b7e151628aed2a6cp+0)":
-ildouble: 1
-ldouble: 1
-Test "log2 (0xcp-4)":
-ildouble: 1
-ldouble: 1
+Function: Real part of "ctan_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+ildouble: 4
+ldouble: 4
-# pow
-Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.0000000000001p+0, -0x2.468adp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.000002p+0, 0x1p+24)":
-float: 1
-ifloat: 1
-Test "pow (0xap+0, -0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.341p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.343p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffp-4, -0x1p+24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffp-4, 0x1p+24)":
-float: 1
-ifloat: 1
+Function: Imaginary part of "ctan_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 5
+ldouble: 5
-# pow10
-Test "pow10 (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "pow10 (-0x1p+0)":
-double: 1
-idouble: 1
-Test "pow10 (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "pow10 (0x3p+0)":
-double: 1
-idouble: 1
+Function: Real part of "ctan_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
-# pow_downward
-Test "pow_downward (1.5, 1.03125)":
-float: 1
-ifloat: 1
+Function: Imaginary part of "ctan_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
-# pow_tonearest
-Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.0000000000001p+0, -0x2.468adp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.000002p+0, 0x1p+24)":
-float: 1
-ifloat: 1
-Test "pow_tonearest (0xap+0, -0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.341p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.343p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)":
+Function: Real part of "ctanh":
+double: 2
float: 1
+idouble: 2
ifloat: 1
+ildouble: 3
+ldouble: 3
-# pow_towardzero
-Test "pow_towardzero (1.5, 1.03125)":
-float: 1
-ifloat: 1
+Function: Imaginary part of "ctanh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 3
+ldouble: 3
-# pow_upward
-Test "pow_upward (1.0625, 1.125)":
+Function: Real part of "ctanh_downward":
+double: 4
float: 1
+idouble: 4
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 5
+ldouble: 5
-# sin
-Test "sin (-0x1.921fb4p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.be736p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d08p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
+Function: Imaginary part of "ctanh_downward":
+double: 6
+float: 5
+idouble: 6
+ifloat: 5
+ildouble: 4
+ldouble: 4
-# sin_downward
-Test "sin_downward (-0x1.921fb4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb6p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "sin_downward (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707abp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c23p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c24p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b3p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (-0x8.60a92p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x1p+120)":
-float: 1
-ifloat: 1
-Test "sin_downward (0x1p+28)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.1e19e4p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.1e19ep+72)":
+Function: Real part of "ctanh_towardzero":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-Test "sin_downward (0x2.553534p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.5535376715bap+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x2p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x3.be735c19be9fep+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9ffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffeap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be736p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a0000000000000072p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a0004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a2p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032ap+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2ap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093385688a2d1508p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093385688a2d4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093388p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f70800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f7084p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x4.1237e153f708p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237ep+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d08p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4p+48)":
-double: 1
-idouble: 1
-Test "sin_downward (0x5.fbec7477d4a8000000000000009cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7477d4a84p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7477d4a8p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x5.fbec78p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x6p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x8p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x8p+1020)":
-double: 1
-idouble: 1
-Test "sin_downward (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "sin_downward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# sin_tonearest
-Test "sin_tonearest (-0x1.921fb4p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin_tonearest (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.be736p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d08p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
-
-# sin_towardzero
-Test "sin_towardzero (-0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (-0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (-0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x8.60a91p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2.1e19ep+72)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x2.553534p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2.5535376715bap+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.be735c19beap+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.be735cp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_towardzero (0x3.ec2a0250032a000000000000007p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.ec2a04p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_towardzero (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093385688a2d1508p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093385688a2d4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093388p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.1237e153f7084p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.1237e8p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.1237ep+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bf0000000000000008cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bfp+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4p+48)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a80000000000000098p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a80008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x8p+1020)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x9p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xb.fa09ap+100)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0xe.ef3afp-4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
+ildouble: 5
+ldouble: 5
-# sin_upward
-Test "sin_upward (-0x1.921fb4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb6p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
+Function: Imaginary part of "ctanh_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
ildouble: 3
ldouble: 3
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707abp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c23p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c24p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b3p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91p-4)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (-0x8.60a92p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x1.921fb4p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1.921fb6p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_upward (0x1p+28)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x2.1e19ep+72)":
+
+Function: Real part of "ctanh_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: Imaginary part of "ctanh_upward":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: "erf":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x2.5535376715b9ep+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x2.553538p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x2p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fep+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9ffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffeap+0)":
ildouble: 1
ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19beap+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x3.be735cp+0)":
+
+Function: "erf_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be736p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a0000000000000072p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a000000000000007p+0)":
ildouble: 2
ldouble: 2
-Test "sin_upward (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a0004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a04p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3p+0)":
+
+Function: "erf_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x4.093385688a2d4p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.093385688a2dp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.09338p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.1237e153f7080000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "sin_upward (0x4.1237e153f70800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e153f7084p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x4.1237e153f708p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237ep+0)":
+
+Function: "erf_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d08p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf0000000000000008cp+0)":
ildouble: 2
ldouble: 2
-Test "sin_upward (0x4.c92d0ffa4bf000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf04p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bfp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4p+0)":
+
+Function: "erfc":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4p+48)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a80000000000000098p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a8000000000000009cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a800000000000002p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a80008p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a8p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x6p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x7p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_upward (0x8.60a91c16b9b3p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8.60a91p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8.60a92p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0x8p+124)":
-double: 1
-idouble: 1
-Test "sin_upward (0x9p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0xap+0)":
-float: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Test "sin_upward (0xb.fa09ap+100)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xc.d4967p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xcp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3af1b5d8008p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3af1b5d8p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3afp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3bp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xf.ffffcp+124)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0xf.ffffffffffff8p+1020)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0xf.fffffp+124)":
-ildouble: 1
-ldouble: 1
-
-# sincos
-Test "sincos (0x1.0c1522p+0) extra output 1":
-float: 1
-ifloat: 1
-Test "sincos (0x1.921fb54442d1846ap+0) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1.921fb54442d18p+0) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1p+120) extra output 2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1p+28) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x2.1e19e0c9bab24p+72) extra output 1":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x2p+64) extra output 1":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x8.60a92p-4) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0x8p+124) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0xc.d4967p-4) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0xf.ffffffffffff8p+1020) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0xf.ffffffffffffbffffffffffffcp+1020) extra output 2":
-ildouble: 1
-ldouble: 1
-# sinh_downward
-Test "sinh_downward (0x1.6p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0x1.8p+4)":
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0xcp-4)":
-ildouble: 1
-ldouble: 1
+Function: "erfc_downward":
+double: 4
+float: 6
+idouble: 4
+ifloat: 6
+ildouble: 3
+ldouble: 3
-# sinh_towardzero
-Test "sinh_towardzero (0x1.6p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_towardzero (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
+Function: "erfc_towardzero":
+double: 3
+float: 4
+idouble: 3
+ifloat: 4
+ildouble: 3
+ldouble: 3
-# sinh_upward
-Test "sinh_upward (0x1.7p+4)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (0x1.8p+4)":
-double: 1
-idouble: 1
-Test "sinh_upward (0x8p-32)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (0xcp-4)":
-ildouble: 1
-ldouble: 1
+Function: "erfc_upward":
+double: 4
+float: 6
+idouble: 4
+ifloat: 6
+ildouble: 3
+ldouble: 3
-# tan
-Test "tan (-0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fdp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan (0x6p+0)":
+Function: "exp10":
+double: 2
+idouble: 2
ildouble: 1
ldouble: 1
-# tan_downward
-Test "tan_downward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "tan_downward (-0xc.908p-4)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90cp-4)":
-float: 1
-ifloat: 1
-Test "tan_downward (-0xc.90ep-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90f8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fcp-4)":
-float: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fd8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdap-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdbp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdp-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90fep-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.91p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.92p-4)":
-double: 1
-idouble: 1
-Test "tan_downward (-0xc.98p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.9p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.ap-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x1p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2.1e19ep+72)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x3p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x4p+0)":
+Function: "exp10_downward":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x6p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.908p-4)":
-double: 1
+ildouble: 3
+ldouble: 3
+
+Function: "exp10_towardzero":
+double: 2
float: 1
-idouble: 1
+idouble: 2
ifloat: 1
-Test "tan_downward (0xc.90cp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fcp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fdaa22168c8p-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fdbp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fep-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.91p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.92p-4)":
+ildouble: 3
+ldouble: 3
+
+Function: "exp10_upward":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.94p-4)":
+ildouble: 2
+ldouble: 2
+
+Function: "exp2":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_downward (0xc.98p-4)":
+
+Function: "exp2_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_downward (0xc.ap-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xcp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xf.fffffp+124)":
-ildouble: 1
-ldouble: 1
-
-# tan_tonearest
-Test "tan_tonearest (-0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (-0xc.90fdp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (-0xc.90fp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (0x6p+0)":
-ildouble: 1
-ldouble: 1
-# tan_towardzero
-Test "tan_towardzero (-0x2p+64)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.908p-4)":
+Function: "exp2_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tan_towardzero (-0xc.90cp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90f8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fcp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.91p-4)":
ildouble: 1
ldouble: 1
-Test "tan_towardzero (-0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.98p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.ap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x1p+0)":
+
+Function: "exp2_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_towardzero (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x5p+0)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0x7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_towardzero (0xc.908p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_towardzero (0xc.90cp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fcp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fdaa22168c8p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.98p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xf.ffffffffffff8p+1020)":
+
+Function: "exp_downward":
double: 1
idouble: 1
-Test "tan_towardzero (0xf.fffffp+124)":
+
+Function: "exp_towardzero":
double: 1
idouble: 1
-# tan_upward
-Test "tan_upward (-0xc.908p-4)":
+Function: "exp_upward":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.90cp-4)":
+
+Function: "expm1":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90ep-4)":
-float: 1
-ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (-0xc.90f8p-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fcp-4)":
+
+Function: "expm1_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
-Test "tan_upward (-0xc.90fd8p-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fdap-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fdbp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fdcp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fdp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.90fep-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fp-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.91p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (-0xc.98p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.9p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.ap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x1p+0)":
-float: 1
-ifloat: 1
-Test "tan_upward (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "tan_upward (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x5p+0)":
-double: 1
-idouble: 1
-Test "tan_upward (0x7p+0)":
-float: 1
-ifloat: 1
-Test "tan_upward (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x9p+0)":
-double: 1
-idouble: 1
-Test "tan_upward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_upward (0xc.908p-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (0xc.90ep-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90f8p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fd8p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fdap-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fdbp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fdcp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fep-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fp-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.91p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.92p-4)":
+
+Function: "expm1_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.94p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.98p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.9p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.ap-4)":
+ildouble: 3
+ldouble: 3
+
+Function: "expm1_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xcp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "tan_upward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# tanh
-Test "tanh (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "tanh (-0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0xcp-4)":
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
-# tgamma
-Test "tgamma (-0x1.0000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.0000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.000002p+0)":
+Function: "gamma":
double: 2
-idouble: 2
-Test "tgamma (-0x1.3ffffep+4)":
float: 2
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.3ffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.3fffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.3ffffffffffffp+4)":
+
+Function: "gamma_downward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "tgamma (-0x1.4000000000000000000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.4000000000001p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.400002p+4)":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "tgamma (-0x1.dffffep+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.dfffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.dffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000000000000000000001p+4)":
+
+Function: "gamma_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+ildouble: 2
+ldouble: 2
+
+Function: "gamma_upward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 3
ldouble: 3
-Test "tgamma (-0x1.e00000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000001p+4)":
-double: 3
-idouble: 3
-Test "tgamma (-0x1.e00002p+4)":
+
+Function: "hypot":
double: 1
-float: 1
idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.f3ffffffffffffffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f3ffffffffffffffffffffffffffp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f3fffffffffffp+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.f40000000000000000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f40002p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.fffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.fffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.0000000000000000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.00000000000000000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.0000000000002p+0)":
+
+Function: "hypot_downward":
double: 1
idouble: 1
-Test "tgamma (-0x2.000004p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.146544p+4)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.7fffffffffffep+4)":
+
+Function: "hypot_towardzero":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.7ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.7ffffffffffffffffffffffffffep+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.7fffffffffffffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.80000000000000000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8000000000002p+4)":
+
+Function: "hypot_upward":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.800004p+4)":
+
+Function: "j0":
double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.8ffffcp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.8fffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8p+0)":
-double: 1
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
-Test "tgamma (-0x2.9000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.90000000000000000000000001p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x2.900004p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.9ffffcp+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.9fffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9fffffffffffffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a00004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edfffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edfffffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee00000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee00000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.ee00000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee0004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffcp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x2.ffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.00000000000000000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.000004p+0)":
+
+Function: "j0_downward":
double: 2
-float: 1
+float: 3
idouble: 2
-ifloat: 1
-Test "tgamma (-0x3.1ffffcp+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.1fffffffffffep+4)":
+ifloat: 3
+ildouble: 4
+ldouble: 4
+
+Function: "j0_towardzero":
double: 3
+float: 2
idouble: 3
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "tgamma (-0x3.1ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.1ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.1fffffffffffffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.2000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.2000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.200004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7fffffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7fffffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7ffffffffffffffffffffffffp+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000000000000000000002p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e8000000000000000000000001p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e80004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.fffffcp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x3.ffffffffffffep+0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x3.fffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.fffffffffffffffffffffffffffep+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x4.000008p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e1fffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e2000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e200000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e200000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e20008p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x4.fffff8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.000008p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x5.8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x5.dbfffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dbfffffffffffffffffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc00000000000000000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x5.dc000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc00000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc0008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffffffffffffff8p+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x5.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.00000000000000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.000008p+0)":
+
+Function: "j0_upward":
+double: 3
float: 2
+idouble: 3
ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.3ffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.3fffffffffffcp+4)":
-double: 2
-idouble: 2
-Test "tgamma (-0x6.3ffffffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.3ffffffffffffffffffffffffep+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.4000000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.40000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.4000000000004p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.400008p+4)":
+ildouble: 5
+ldouble: 5
+
+Function: "j1":
double: 1
+float: 2
idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5ffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d600000000000000000000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d6000000000000000000000002p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.d600000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d600000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.e2fffffffffffffffffffffffep+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.e300000000000000000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.e3000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.fffff8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x6.ffffffffffffcp+0)":
-double: 4
-idouble: 4
-Test "tgamma (-0x6.fffffffffffffff8p+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000004p+0)":
+ifloat: 2
+ildouble: 4
+ldouble: 4
+
+Function: "j1_downward":
double: 3
+float: 2
idouble: 3
-Test "tgamma (-0x7.000008p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x7.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x7.fffff8p+0)":
+ifloat: 2
+ildouble: 4
+ldouble: 4
+
+Function: "j1_towardzero":
double: 3
-float: 1
+float: 2
idouble: 3
-ifloat: 1
-Test "tgamma (-0x7.ffffffffffffcp+0)":
+ifloat: 2
+ildouble: 4
+ldouble: 4
+
+Function: "j1_upward":
double: 3
+float: 5
idouble: 3
-Test "tgamma (-0x7.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.0000000000000000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.0000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00001p+0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x9.5ffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.5ffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.60000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.600000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x9.6000000000008p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.60001p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.ffffffffffff8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.fffffffffffffffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.fffffp+0)":
-float: 1
-ifloat: 1
-Test "tgamma (-0xa.00001p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xa.c000000400008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xa.c0001p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.50000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.500000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.5000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.5ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.5ffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.60000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.600000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6fffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6ffffffffffffffffffffffffff8p+4)":
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0xb.7000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.700000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.7000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.70001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.7ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.7ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.800000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.bfffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.bffffffffffffffffffffffffcp+4)":
+ifloat: 5
ildouble: 3
ldouble: 3
-Test "tgamma (-0xb.bffffffffffffffffffffffffff8p+4)":
-ildouble: 4
-ldouble: 4
-Test "tgamma (-0xb.bffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.c000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.c0000000000000000000000004p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c00000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c000000000008p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cfffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.cffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.d000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.d00000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.dfffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.dffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.dffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.e000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.e000000000008p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.e0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.efffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.effffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.effffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f0000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f00000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.9fffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.9ffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.9ffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.a000000000000000000000000008p+4)":
+
+Function: "jn":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 7
+ldouble: 7
+
+Function: "jn_downward":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 8
+ldouble: 8
+
+Function: "jn_towardzero":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 8
+ldouble: 8
+
+Function: "jn_upward":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 7
+ldouble: 7
+
+Function: "lgamma":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (-0xf.a0000000000000000000000004p+4)":
+
+Function: "lgamma_downward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "tgamma (-0xf.a000000000008p+4)":
+
+Function: "lgamma_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 2
ldouble: 2
-Test "tgamma (-0xf.a0001p+4)":
+
+Function: "lgamma_upward":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
ildouble: 3
ldouble: 3
-Test "tgamma (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-Test "tgamma (-0xf.fffffffffffffffffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.fffffp-4)":
+
+Function: "log":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (0x1.28p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.38p+4)":
+
+Function: "log10":
double: 2
+float: 2
idouble: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0x1.78p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.d8p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.e8p+4)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1.fffffep+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1.fffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.ffffffffffffffffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.fffffffffffffp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1p-24)":
-float: 1
-ifloat: 1
-Test "tgamma (0x2.08p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x2.18p+4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x2.28p+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (0x2.30a43cp+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (0x2.8p+0)":
-float: 2
-ifloat: 2
-Test "tgamma (0x2.fffffcp+0)":
+
+Function: "log10_downward":
+double: 2
float: 3
+idouble: 2
ifloat: 3
-Test "tgamma (0x2.ffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.0000000000002p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x3.8p+0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffcp+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x3.ffffffffffffep+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x4.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x4.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x5.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x5.000008p+0)":
+
+Function: "log10_towardzero":
+double: 2
float: 2
+idouble: 2
ifloat: 2
-Test "tgamma (0x5.fffff8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x5.ffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.0000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x6.000008p+0)":
+
+Function: "log10_upward":
+double: 2
float: 2
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.8p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x6.db8c603359a94p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.fffff8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.ffffffffffffcp+0)":
-double: 4
-idouble: 4
-Test "tgamma (0x6.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x7.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.0000000000004p+0)":
-double: 4
-idouble: 4
-Test "tgamma (0x7.000008p+0)":
+
+Function: "log1p":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (0x7.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (0x7.fffff8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (0x7.ffffffffffffcp+0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x7p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x8.0000000000000000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.0000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.00001p+0)":
+
+Function: "log1p_downward":
double: 2
+float: 2
idouble: 2
-Test "tgamma (0x8.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x8p-116)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8p-4)":
-float: 1
-ifloat: 1
-Test "tgamma (0x8p-56)":
-double: 1
-idouble: 1
-Test "tgamma (0x9.8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x9p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (0xa.b9fd72b0fb23a9dp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ep+4)":
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0xa.b9fd7p+4)":
+
+Function: "log1p_towardzero":
double: 2
+float: 2
idouble: 2
-Test "tgamma (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xb.3333333333338p-4)":
+ifloat: 2
ildouble: 1
ldouble: 1
-# y0
-Test "y0 (0x1.8p+0)":
+Function: "log1p_upward":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
-Test "y0 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "y0 (0x1p+0)":
+
+Function: "log2":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "y0 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-20)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-40)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-80)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x4.ffcp+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-112)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-12)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-32)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y0 (0x4p-52)":
-float: 1
-ifloat: 1
-Test "y0 (0x4p-72)":
-double: 1
-idouble: 1
-Test "y0 (0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "y0 (0x8p+1020)":
ildouble: 1
ldouble: 1
-Test "y0 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "y0 (0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "y0 (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "y0 (0xf.fffffp+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-# y1
-Test "y1 (0x1.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-20)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-80)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x2.002000002p+592)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (0x2p-4)":
-double: 1
-idouble: 1
-Test "y1 (0x4p-112)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-12)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-92)":
+Function: "log2_downward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
ildouble: 1
ldouble: 1
-Test "y1 (0x8p+0)":
-double: 1
+
+Function: "log2_towardzero":
+double: 2
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Test "y1 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "y1 (0x9.3f102p+96)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0xap+0)":
+
+Function: "log2_upward":
double: 3
-float: 1
+float: 3
idouble: 3
-ifloat: 1
-Test "y1 (0xf.ffffffffffff8p+1020)":
+ifloat: 3
ildouble: 1
ldouble: 1
-Test "y1 (0xf.ffffffffffffbffffffffffffcp+1020)":
+
+Function: "log_downward":
+float: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "y1 (0xf.fffffp+124)":
-double: 2
+
+Function: "log_towardzero":
float: 2
-idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
-# yn
-Test "yn (-10, 0x1p+0)":
-double: 1
+Function: "log_upward":
float: 2
-idouble: 1
ifloat: 2
ildouble: 1
ldouble: 1
-Test "yn (0, 0x1.8p+0)":
+
+Function: "pow":
+float: 3
+ifloat: 3
+ildouble: 1
+ldouble: 1
+
+Function: "pow10":
double: 2
-float: 1
idouble: 2
-ifloat: 1
-Test "yn (0, 0x1p+0)":
+ildouble: 1
+ldouble: 1
+
+Function: "pow10_downward":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "yn (0, 0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 3
ldouble: 3
-Test "yn (0, 0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (1, 0x1.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 0x2p-4)":
-double: 1
-idouble: 1
-Test "yn (1, 0x8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0xap+0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (10, 0x1p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (10, 0x2p+0)":
+
+Function: "pow10_towardzero":
double: 2
float: 1
idouble: 2
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 0x2p-4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 3
ldouble: 3
-Test "yn (10, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "yn (2, 0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0x8p+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "yn (2, 0xf.fffb1p+96)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0xf.fffffp+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 0x2p+0)":
-double: 1
-idouble: 1
-Test "yn (3, 0x2p-4)":
-double: 1
-idouble: 1
-Test "yn (3, 0xap+0)":
-double: 1
+
+Function: "pow10_upward":
+double: 2
float: 1
-idouble: 1
+idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (3, 0xcp-4)":
-double: 1
-idouble: 1
ildouble: 2
ldouble: 2
-# Maximal error of functions:
-Function: "acos_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_upward":
-double: 1
-idouble: 1
-
-Function: "acosh":
-double: 1
-idouble: 1
-ldouble: 1
-
-Function: "asin":
-ildouble: 1
-ldouble: 1
-
-Function: "asin_downward":
+Function: "pow_downward":
double: 1
-float: 1
+float: 3
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_tonearest":
+ifloat: 3
ildouble: 1
ldouble: 1
-Function: "asin_towardzero":
+Function: "pow_towardzero":
double: 1
-float: 1
+float: 4
idouble: 1
-ifloat: 1
+ifloat: 4
ildouble: 1
ldouble: 1
-Function: "asin_upward":
+Function: "pow_upward":
double: 1
-float: 1
+float: 4
idouble: 1
-ifloat: 1
+ifloat: 4
ildouble: 2
ldouble: 2
-Function: "asinh":
-double: 1
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh":
+Function: "sin":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacosh":
+Function: "sin_downward":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
-Function: Real part of "casin":
+Function: "sin_towardzero":
double: 1
float: 1
idouble: 1
@@ -17966,15 +1981,7 @@ ifloat: 1
ildouble: 2
ldouble: 2
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "casinh":
+Function: "sin_upward":
double: 1
float: 2
idouble: 1
@@ -17982,181 +1989,81 @@ ifloat: 2
ildouble: 2
ldouble: 2
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cbrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccos":
-double: 1
+Function: "sincos":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Function: Imaginary part of "ccos":
+Function: "sincos_downward":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
-Function: Real part of "ccosh":
+Function: "sincos_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
-Function: Imaginary part of "ccosh":
+Function: "sincos_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
-Function: Real part of "cexp":
+Function: "sinh":
double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "cexp":
-double: 1
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+Function: "sinh_downward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 2
+ldouble: 2
-Function: Real part of "clog10":
+Function: "sinh_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 2
ldouble: 2
-Function: "cos":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_downward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+Function: "sinh_upward":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
ildouble: 2
ldouble: 2
-Function: "cos_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_towardzero":
-double: 1
+Function: "tan":
float: 1
-idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Function: "cos_upward":
+Function: "tan_downward":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "cosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
ildouble: 1
ldouble: 1
-Function: "cosh_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 2
-
-Function: "cosh_tonearest":
+Function: "tan_towardzero":
double: 1
float: 1
idouble: 1
@@ -18164,191 +2071,79 @@ ifloat: 1
ildouble: 1
ldouble: 1
-Function: "cosh_towardzero":
+Function: "tan_upward":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
-ldouble: 2
-
-Function: "cosh_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 3
+ldouble: 1
-Function: Real part of "cpow":
+Function: "tanh":
double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "cpow":
float: 2
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctan_downward":
-double: 6
-float: 5
-idouble: 6
-ifloat: 5
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "ctan_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-Function: Real part of "ctan_tonearest":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan_tonearest":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctan_towardzero":
-double: 5
+Function: "tanh_downward":
+double: 3
float: 3
-idouble: 5
+idouble: 3
ifloat: 3
-ildouble: 4
-ldouble: 4
+ildouble: 2
+ldouble: 2
-Function: Imaginary part of "ctan_towardzero":
+Function: "tanh_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 5
-ldouble: 5
-
-Function: Real part of "ctan_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 5
-ldouble: 5
+ildouble: 2
+ldouble: 2
-Function: Imaginary part of "ctan_upward":
-double: 2
+Function: "tanh_upward":
+double: 3
float: 3
-idouble: 2
+idouble: 3
ifloat: 3
ildouble: 3
ldouble: 3
-Function: Real part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_downward":
+Function: "tgamma":
double: 4
-float: 1
+float: 5
idouble: 4
-ifloat: 1
+ifloat: 5
+ildouble: 4
+ldouble: 4
+
+Function: "tgamma_downward":
+double: 3
+float: 4
+idouble: 3
+ifloat: 4
ildouble: 5
ldouble: 5
-Function: Imaginary part of "ctanh_downward":
-double: 6
+Function: "tgamma_towardzero":
+double: 3
float: 5
-idouble: 6
+idouble: 3
+ifloat: 5
+ildouble: 5
+ldouble: 5
+
+Function: "tgamma_upward":
+double: 3
+float: 5
+idouble: 3
ifloat: 5
ildouble: 4
ldouble: 4
-Function: Real part of "ctanh_tonearest":
+Function: "y0":
double: 2
float: 1
idouble: 2
@@ -18356,380 +2151,92 @@ ifloat: 1
ildouble: 3
ldouble: 3
-Function: Imaginary part of "ctanh_tonearest":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_towardzero":
-double: 2
+Function: "y0_downward":
+double: 3
float: 2
-idouble: 2
+idouble: 3
ifloat: 2
-ildouble: 5
-ldouble: 5
+ildouble: 4
+ldouble: 4
-Function: Imaginary part of "ctanh_towardzero":
-double: 5
+Function: "y0_towardzero":
+double: 3
float: 3
-idouble: 5
+idouble: 3
ifloat: 3
ildouble: 3
ldouble: 3
-Function: Real part of "ctanh_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
+Function: "y0_upward":
+double: 3
+float: 4
+idouble: 3
+ifloat: 4
ildouble: 3
ldouble: 3
-Function: Imaginary part of "ctanh_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 5
-ldouble: 5
-
-Function: "erf":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10_downward":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp10_tonearest":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10_towardzero":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp2":
-ildouble: 1
-ldouble: 1
-
-Function: "exp_downward":
-double: 1
-idouble: 1
-
-Function: "exp_towardzero":
-double: 1
-idouble: 1
-
-Function: "exp_upward":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_tonearest":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "hypot":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "j0":
-double: 2
+Function: "y1":
+double: 3
float: 2
-idouble: 2
+idouble: 3
ifloat: 2
ildouble: 2
ldouble: 2
-Function: "j1":
-double: 1
+Function: "y1_downward":
+double: 3
float: 2
-idouble: 1
+idouble: 3
ifloat: 2
ildouble: 4
ldouble: 4
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-ildouble: 7
-ldouble: 7
-
-Function: "lgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log10":
-double: 1
+Function: "y1_towardzero":
+double: 3
float: 2
-idouble: 1
+idouble: 3
ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log1p":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log2":
-ildouble: 1
-ldouble: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_downward":
-float: 1
-ifloat: 1
-
-Function: "pow_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_towardzero":
-float: 1
-ifloat: 1
-
-Function: "pow_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
-Function: "sin_downward":
-double: 1
+Function: "y1_upward":
+double: 7
float: 2
-idouble: 1
+idouble: 7
ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "sin_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "sincos":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_downward":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_towardzero":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "tan":
-ildouble: 1
-ldouble: 1
+ildouble: 5
+ldouble: 5
-Function: "tan_downward":
-double: 1
+Function: "yn":
+double: 3
float: 2
-idouble: 1
+idouble: 3
ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "tan_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "tan_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "tan_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tanh":
-ildouble: 1
-ldouble: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 5
+ldouble: 5
-Function: "y1":
+Function: "yn_downward":
double: 3
float: 2
idouble: 3
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 5
+ldouble: 5
-Function: "yn":
+Function: "yn_towardzero":
double: 3
-float: 2
+float: 3
idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
+ifloat: 3
+ildouble: 5
+ldouble: 5
+
+Function: "yn_upward":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 5
+ldouble: 5
# end of automatic generation
diff --git a/sysdeps/sparc/gccframe.h b/sysdeps/sparc/gccframe.h
index 9050e12d8e..a187a9a047 100644
--- a/sysdeps/sparc/gccframe.h
+++ b/sysdeps/sparc/gccframe.h
@@ -1,5 +1,5 @@
/* Definition of object in frame unwind info. sparc version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/ldsodefs.h b/sysdeps/sparc/ldsodefs.h
index ef8613a8fd..76c23e94a2 100644
--- a/sysdeps/sparc/ldsodefs.h
+++ b/sysdeps/sparc/ldsodefs.h
@@ -1,5 +1,5 @@
/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/machine-gmon.h b/sysdeps/sparc/machine-gmon.h
index 7d60653c25..75799682eb 100644
--- a/sysdeps/sparc/machine-gmon.h
+++ b/sysdeps/sparc/machine-gmon.h
@@ -1,5 +1,5 @@
/* sparc-specific implementation of profiling support.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2008
diff --git a/sysdeps/sparc/memusage.h b/sysdeps/sparc/memusage.h
index 01fc5c6c0a..8160614266 100644
--- a/sysdeps/sparc/memusage.h
+++ b/sysdeps/sparc/memusage.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/nptl/Makefile b/sysdeps/sparc/nptl/Makefile
new file mode 100644
index 0000000000..5372867dbd
--- /dev/null
+++ b/sysdeps/sparc/nptl/Makefile
@@ -0,0 +1,8 @@
+ifeq ($(subdir),csu)
+gen-as-const-headers += tcb-offsets.sym
+endif
+
+ifeq ($(subdir),nptl)
+CPPFLAGS-pt-crti.S += -fPIC
+CPPFLAGS-crtn.S += -fPIC
+endif
diff --git a/sysdeps/sparc/nptl/bits/pthreadtypes.h b/sysdeps/sparc/nptl/bits/pthreadtypes.h
new file mode 100644
index 0000000000..6faf8b2460
--- /dev/null
+++ b/sysdeps/sparc/nptl/bits/pthreadtypes.h
@@ -0,0 +1,228 @@
+/* Machine-specific pthread type layouts. SPARC version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_PTHREADTYPES_H
+#define _BITS_PTHREADTYPES_H 1
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+# define __SIZEOF_PTHREAD_ATTR_T 56
+# define __SIZEOF_PTHREAD_MUTEX_T 40
+# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
+# define __SIZEOF_PTHREAD_COND_T 48
+# define __SIZEOF_PTHREAD_CONDATTR_T 4
+# define __SIZEOF_PTHREAD_RWLOCK_T 56
+# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
+# define __SIZEOF_PTHREAD_BARRIER_T 32
+# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+#else
+# define __SIZEOF_PTHREAD_ATTR_T 36
+# define __SIZEOF_PTHREAD_MUTEX_T 24
+# define __SIZEOF_PTHREAD_MUTEXATTR_T 4
+# define __SIZEOF_PTHREAD_COND_T 48
+# define __SIZEOF_PTHREAD_CONDATTR_T 4
+# define __SIZEOF_PTHREAD_RWLOCK_T 32
+# define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
+# define __SIZEOF_PTHREAD_BARRIER_T 20
+# define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+#endif
+
+
+/* Thread identifiers. The structure of the attribute type is
+ deliberately not exposed. */
+typedef unsigned long int pthread_t;
+
+
+union pthread_attr_t
+{
+ char __size[__SIZEOF_PTHREAD_ATTR_T];
+ long int __align;
+};
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
+
+
+#if __WORDSIZE == 64
+typedef struct __pthread_internal_list
+{
+ struct __pthread_internal_list *__prev;
+ struct __pthread_internal_list *__next;
+} __pthread_list_t;
+#else
+typedef struct __pthread_internal_slist
+{
+ struct __pthread_internal_slist *__next;
+} __pthread_slist_t;
+#endif
+
+
+/* Data structures for mutex handling. The structure of the attribute
+ type is deliberately not exposed. */
+typedef union
+{
+ struct __pthread_mutex_s
+ {
+ int __lock;
+ unsigned int __count;
+ int __owner;
+#if __WORDSIZE == 64
+ unsigned int __nusers;
+#endif
+ /* KIND must stay at this position in the structure to maintain
+ binary compatibility. */
+ int __kind;
+#if __WORDSIZE == 64
+ int __spins;
+ __pthread_list_t __list;
+# define __PTHREAD_MUTEX_HAVE_PREV 1
+#else
+ unsigned int __nusers;
+ __extension__ union
+ {
+ int __spins;
+ __pthread_slist_t __list;
+ };
+#endif
+ } __data;
+ char __size[__SIZEOF_PTHREAD_MUTEX_T];
+ long int __align;
+} pthread_mutex_t;
+
+/* Mutex __spins initializer used by PTHREAD_MUTEX_INITIALIZER. */
+#define __PTHREAD_SPINS 0
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
+ int __align;
+} pthread_mutexattr_t;
+
+
+/* Data structure for conditional variable handling. The structure of
+ the attribute type is deliberately not exposed. */
+typedef union
+{
+ struct
+ {
+ int __lock;
+ unsigned int __futex;
+ __extension__ unsigned long long int __total_seq;
+ __extension__ unsigned long long int __wakeup_seq;
+ __extension__ unsigned long long int __woken_seq;
+ void *__mutex;
+ unsigned int __nwaiters;
+ unsigned int __broadcast_seq;
+ } __data;
+ char __size[__SIZEOF_PTHREAD_COND_T];
+ __extension__ long long int __align;
+} pthread_cond_t;
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_CONDATTR_T];
+ int __align;
+} pthread_condattr_t;
+
+
+/* Keys for thread-specific data */
+typedef unsigned int pthread_key_t;
+
+
+/* Once-only execution */
+typedef int pthread_once_t;
+
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K
+/* Data structure for read-write lock variable handling. The
+ structure of the attribute type is deliberately not exposed. */
+typedef union
+{
+# if __WORDSIZE == 64
+ struct
+ {
+ int __lock;
+ unsigned int __nr_readers;
+ unsigned int __readers_wakeup;
+ unsigned int __writer_wakeup;
+ unsigned int __nr_readers_queued;
+ unsigned int __nr_writers_queued;
+ int __writer;
+ int __shared;
+ unsigned long int __pad1;
+ unsigned long int __pad2;
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned int __flags;
+ } __data;
+# else
+ struct
+ {
+ int __lock;
+ unsigned int __nr_readers;
+ unsigned int __readers_wakeup;
+ unsigned int __writer_wakeup;
+ unsigned int __nr_readers_queued;
+ unsigned int __nr_writers_queued;
+ unsigned char __pad1;
+ unsigned char __pad2;
+ unsigned char __shared;
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned char __flags;
+ int __writer;
+ } __data;
+# endif
+ char __size[__SIZEOF_PTHREAD_RWLOCK_T];
+ long int __align;
+} pthread_rwlock_t;
+
+#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
+ long int __align;
+} pthread_rwlockattr_t;
+#endif
+
+
+#ifdef __USE_XOPEN2K
+/* POSIX spinlock data type. */
+typedef volatile int pthread_spinlock_t;
+
+
+/* POSIX barriers data type. The structure of the type is
+ deliberately not exposed. */
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_BARRIER_T];
+ long int __align;
+} pthread_barrier_t;
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
+ int __align;
+} pthread_barrierattr_t;
+#endif
+
+
+#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/sparc/nptl/bits/semaphore.h b/sysdeps/sparc/nptl/bits/semaphore.h
new file mode 100644
index 0000000000..b3c8f7fe76
--- /dev/null
+++ b/sysdeps/sparc/nptl/bits/semaphore.h
@@ -0,0 +1,40 @@
+/* Machine-specific POSIX semaphore type layouts. SPARC version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SEMAPHORE_H
+# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
+#endif
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 64
+# define __SIZEOF_SEM_T 32
+#else
+# define __SIZEOF_SEM_T 16
+#endif
+
+/* Value returned if `sem_open' failed. */
+#define SEM_FAILED ((sem_t *) 0)
+
+
+typedef union
+{
+ char __size[__SIZEOF_SEM_T];
+ long int __align;
+} sem_t;
diff --git a/sysdeps/sparc/nptl/pthread_barrier_destroy.c b/sysdeps/sparc/nptl/pthread_barrier_destroy.c
new file mode 100644
index 0000000000..e8044a757c
--- /dev/null
+++ b/sysdeps/sparc/nptl/pthread_barrier_destroy.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include "pthreadP.h"
+#include <lowlevellock.h>
+#include <sparc-nptl.h>
+
+int
+pthread_barrier_destroy (barrier)
+ pthread_barrier_t *barrier;
+{
+ union sparc_pthread_barrier *ibarrier;
+ int result = EBUSY;
+
+ ibarrier = (union sparc_pthread_barrier *) barrier;
+
+ int private = ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE;
+
+ lll_lock (ibarrier->b.lock, private);
+
+ if (__glibc_likely (ibarrier->b.left == ibarrier->b.init_count))
+ /* The barrier is not used anymore. */
+ result = 0;
+ else
+ /* Still used, return with an error. */
+ lll_unlock (ibarrier->b.lock, private);
+
+ return result;
+}
diff --git a/sysdeps/sparc/nptl/pthread_barrier_init.c b/sysdeps/sparc/nptl/pthread_barrier_init.c
new file mode 100644
index 0000000000..d13c32afbb
--- /dev/null
+++ b/sysdeps/sparc/nptl/pthread_barrier_init.c
@@ -0,0 +1,56 @@
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include "pthreadP.h"
+#include <lowlevellock.h>
+#include <futex-internal.h>
+#include <sparc-nptl.h>
+
+int
+__pthread_barrier_init (barrier, attr, count)
+ pthread_barrier_t *barrier;
+ const pthread_barrierattr_t *attr;
+ unsigned int count;
+{
+ union sparc_pthread_barrier *ibarrier;
+
+ if (__glibc_unlikely (count == 0))
+ return EINVAL;
+
+ struct pthread_barrierattr *iattr = (struct pthread_barrierattr *) attr;
+ if (iattr != NULL)
+ {
+ int err = futex_supports_pshared (iattr->pshared);
+ if (err != 0)
+ return err;
+ }
+
+ ibarrier = (union sparc_pthread_barrier *) barrier;
+
+ /* Initialize the individual fields. */
+ ibarrier->b.lock = LLL_LOCK_INITIALIZER;
+ ibarrier->b.left = count;
+ ibarrier->b.init_count = count;
+ ibarrier->b.curr_event = 0;
+ ibarrier->s.left_lock = 0;
+ ibarrier->s.pshared = (iattr && iattr->pshared == PTHREAD_PROCESS_SHARED);
+
+ return 0;
+}
+weak_alias (__pthread_barrier_init, pthread_barrier_init)
diff --git a/sysdeps/sparc/nptl/pthread_barrier_wait.c b/sysdeps/sparc/nptl/pthread_barrier_wait.c
new file mode 100644
index 0000000000..9e9806a31a
--- /dev/null
+++ b/sysdeps/sparc/nptl/pthread_barrier_wait.c
@@ -0,0 +1,81 @@
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <lowlevellock.h>
+#include <pthreadP.h>
+#include <sparc-nptl.h>
+#include <futex-internal.h>
+
+/* Wait on barrier. */
+int
+__pthread_barrier_wait (barrier)
+ pthread_barrier_t *barrier;
+{
+ union sparc_pthread_barrier *ibarrier
+ = (union sparc_pthread_barrier *) barrier;
+ int result = 0;
+ int private = ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE;
+ int futex_private = ibarrier->s.pshared ? FUTEX_SHARED : FUTEX_PRIVATE;
+
+ /* Make sure we are alone. */
+ lll_lock (ibarrier->b.lock, private);
+
+ /* One more arrival. */
+ --ibarrier->b.left;
+
+ /* Are these all? */
+ if (ibarrier->b.left == 0)
+ {
+ /* Yes. Increment the event counter to avoid invalid wake-ups and
+ tell the current waiters that it is their turn. */
+ ++ibarrier->b.curr_event;
+
+ /* Wake up everybody. */
+ futex_wake (&ibarrier->b.curr_event, INT_MAX, futex_private);
+
+ /* This is the thread which finished the serialization. */
+ result = PTHREAD_BARRIER_SERIAL_THREAD;
+ }
+ else
+ {
+ /* The number of the event we are waiting for. The barrier's event
+ number must be bumped before we continue. */
+ unsigned int event = ibarrier->b.curr_event;
+
+ /* Before suspending, make the barrier available to others. */
+ lll_unlock (ibarrier->b.lock, private);
+
+ /* Wait for the event counter of the barrier to change. */
+ do
+ futex_wait_simple (&ibarrier->b.curr_event, event, futex_private);
+ while (event == ibarrier->b.curr_event);
+ }
+
+ /* Make sure the init_count is stored locally or in a register. */
+ unsigned int init_count = ibarrier->b.init_count;
+
+ /* If this was the last woken thread, unlock. */
+ if (atomic_increment_val (&ibarrier->b.left) == init_count)
+ /* We are done. */
+ lll_unlock (ibarrier->b.lock, private);
+
+ return result;
+}
+weak_alias (__pthread_barrier_wait, pthread_barrier_wait)
diff --git a/sysdeps/sparc/nptl/sparc-nptl.h b/sysdeps/sparc/nptl/sparc-nptl.h
new file mode 100644
index 0000000000..baff918288
--- /dev/null
+++ b/sysdeps/sparc/nptl/sparc-nptl.h
@@ -0,0 +1,33 @@
+#ifndef _SPARC_NPTL_H
+
+union sparc_pthread_barrier
+{
+ struct pthread_barrier b;
+ struct sparc_pthread_barrier_s
+ {
+ unsigned int curr_event;
+ int lock;
+ unsigned int left;
+ unsigned int init_count;
+ unsigned char left_lock;
+ unsigned char pshared;
+ } s;
+};
+
+struct sparc_new_sem
+{
+ unsigned int value;
+ unsigned char lock;
+ unsigned char private;
+ unsigned char pad[2];
+ unsigned long int nwaiters;
+};
+
+struct sparc_old_sem
+{
+ unsigned int value;
+ unsigned char lock;
+ unsigned char private;
+};
+
+#endif
diff --git a/sysdeps/sparc/nptl/tcb-offsets.sym b/sysdeps/sparc/nptl/tcb-offsets.sym
new file mode 100644
index 0000000000..923af8a5b7
--- /dev/null
+++ b/sysdeps/sparc/nptl/tcb-offsets.sym
@@ -0,0 +1,7 @@
+#include <sysdep.h>
+#include <tls.h>
+
+MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
+POINTER_GUARD offsetof (tcbhead_t, pointer_guard)
+PID offsetof (struct pthread, pid)
+TID offsetof (struct pthread, tid)
diff --git a/sysdeps/sparc/nptl/tls.h b/sysdeps/sparc/nptl/tls.h
new file mode 100644
index 0000000000..54bce7e950
--- /dev/null
+++ b/sysdeps/sparc/nptl/tls.h
@@ -0,0 +1,178 @@
+/* Definitions for thread-local data handling. NPTL/sparc version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _TLS_H
+#define _TLS_H
+
+#include <dl-sysdep.h>
+#ifndef __ASSEMBLER__
+# include <stdbool.h>
+# include <stddef.h>
+# include <stdint.h>
+# include <stdlib.h>
+# include <list.h>
+# include <kernel-features.h>
+
+/* Type for the dtv. */
+typedef union dtv
+{
+ size_t counter;
+ struct
+ {
+ void *val;
+ bool is_static;
+ } pointer;
+} dtv_t;
+
+typedef struct
+{
+ void *tcb; /* Pointer to the TCB. Not necessary the
+ thread descriptor used by libpthread. */
+ dtv_t *dtv;
+ void *self;
+ int multiple_threads;
+#if __WORDSIZE == 64
+ int gscope_flag;
+#endif
+ uintptr_t sysinfo;
+ uintptr_t stack_guard;
+ uintptr_t pointer_guard;
+#if __WORDSIZE != 64
+ int gscope_flag;
+#endif
+#ifndef __ASSUME_PRIVATE_FUTEX
+ int private_futex;
+#endif
+} tcbhead_t;
+
+#else /* __ASSEMBLER__ */
+# include <tcb-offsets.h>
+#endif /* __ASSEMBLER__ */
+
+
+#ifndef __ASSEMBLER__
+/* Get system call information. */
+# include <sysdep.h>
+
+register struct pthread *__thread_self __asm__("%g7");
+
+/* This is the size of the initial TCB. Can't be just sizeof (tcbhead_t),
+ because NPTL getpid, __libc_alloca_cutoff etc. need (almost) the whole
+ struct pthread even when not linked with -lpthread. */
+# define TLS_INIT_TCB_SIZE sizeof (struct pthread)
+
+/* Alignment requirements for the initial TCB. */
+# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
+
+/* This is the size of the TCB. */
+# define TLS_TCB_SIZE sizeof (struct pthread)
+
+/* Alignment requirements for the TCB. */
+# define TLS_TCB_ALIGN __alignof__ (struct pthread)
+
+/* The TCB can have any size and the memory following the address the
+ thread pointer points to is unspecified. Allocate the TCB there. */
+# define TLS_TCB_AT_TP 1
+# define TLS_DTV_AT_TP 0
+
+/* Get the thread descriptor definition. */
+# include <nptl/descr.h>
+
+/* Install the dtv pointer. The pointer passed is to the element with
+ index -1 which contain the length. */
+# define INSTALL_DTV(descr, dtvp) \
+ ((tcbhead_t *) (descr))->dtv = (dtvp) + 1
+
+/* Install new dtv for current thread. */
+# define INSTALL_NEW_DTV(DTV) \
+ (((tcbhead_t *) __thread_self)->dtv = (DTV))
+
+/* Return dtv of given thread descriptor. */
+# define GET_DTV(descr) \
+ (((tcbhead_t *) (descr))->dtv)
+
+/* Code to initially initialize the thread pointer. */
+# define TLS_INIT_TP(descr) \
+ (__thread_self = (__typeof (__thread_self)) (descr), NULL)
+
+/* Value passed to 'clone' for initialization of the thread register. */
+# define TLS_DEFINE_INIT_TP(tp, pd) void *tp = (pd)
+
+/* Return the address of the dtv for the current thread. */
+# define THREAD_DTV() \
+ (((tcbhead_t *) __thread_self)->dtv)
+
+/* Return the thread descriptor for the current thread. */
+#define THREAD_SELF __thread_self
+
+/* Magic for libthread_db to know how to do THREAD_SELF. */
+# define DB_THREAD_SELF \
+ REGISTER (32, 32, 10 * 4, 0) \
+ REGISTER (64, __WORDSIZE, (6 * 8) + (__WORDSIZE==64?0:4), 0)
+
+/* Access to data in the thread descriptor is easy. */
+#define THREAD_GETMEM(descr, member) \
+ descr->member
+#define THREAD_GETMEM_NC(descr, member, idx) \
+ descr->member[idx]
+#define THREAD_SETMEM(descr, member, value) \
+ descr->member = (value)
+#define THREAD_SETMEM_NC(descr, member, idx, value) \
+ descr->member[idx] = (value)
+
+/* Set the stack guard field in TCB head. */
+#define THREAD_SET_STACK_GUARD(value) \
+ THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)
+# define THREAD_COPY_STACK_GUARD(descr) \
+ ((descr)->header.stack_guard \
+ = THREAD_GETMEM (THREAD_SELF, header.stack_guard))
+
+/* Get/set the stack guard field in TCB head. */
+#define THREAD_GET_POINTER_GUARD() \
+ THREAD_GETMEM (THREAD_SELF, header.pointer_guard)
+#define THREAD_SET_POINTER_GUARD(value) \
+ THREAD_SETMEM (THREAD_SELF, header.pointer_guard, value)
+# define THREAD_COPY_POINTER_GUARD(descr) \
+ ((descr)->header.pointer_guard = THREAD_GET_POINTER_GUARD ())
+
+/* Get and set the global scope generation counter in struct pthread. */
+#define THREAD_GSCOPE_FLAG_UNUSED 0
+#define THREAD_GSCOPE_FLAG_USED 1
+#define THREAD_GSCOPE_FLAG_WAIT 2
+#define THREAD_GSCOPE_RESET_FLAG() \
+ do \
+ { int __res \
+ = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \
+ THREAD_GSCOPE_FLAG_UNUSED); \
+ if (__res == THREAD_GSCOPE_FLAG_WAIT) \
+ lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \
+ } \
+ while (0)
+#define THREAD_GSCOPE_SET_FLAG() \
+ do \
+ { \
+ THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \
+ atomic_write_barrier (); \
+ } \
+ while (0)
+#define THREAD_GSCOPE_WAIT() \
+ GL(dl_wait_lookup_done) ()
+
+#endif /* !ASSEMBLER */
+
+#endif /* tls.h */
diff --git a/sysdeps/sparc/preconfigure b/sysdeps/sparc/preconfigure
new file mode 100644
index 0000000000..de86749573
--- /dev/null
+++ b/sysdeps/sparc/preconfigure
@@ -0,0 +1,24 @@
+# preconfigure fragment for sparc.
+
+case "$machine" in
+sparc | sparcv[67])
+ base_machine=sparc machine=sparc/sparc32 ;;
+sparcv8 | supersparc | hypersparc)
+ base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
+sparcv8plus | sparcv8plusa | sparcv9)
+ base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
+sparcv8plusb | sparcv9b)
+ base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
+sparcv9v)
+ base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
+sparcv9v2)
+ base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
+sparc64)
+ base_machine=sparc machine=sparc/sparc64 ;;
+sparc64b)
+ base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
+sparc64v)
+ base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
+sparc64v2)
+ base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
+esac
diff --git a/sysdeps/sparc/sparc-ifunc.h b/sysdeps/sparc/sparc-ifunc.h
index 39bfba9bed..b0ac81bc35 100644
--- a/sysdeps/sparc/sparc-ifunc.h
+++ b/sysdeps/sparc/sparc-ifunc.h
@@ -1,5 +1,5 @@
/* This file is part of the GNU C Library.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/sysdeps/sparc/sparc-mcount.S b/sysdeps/sparc/sparc-mcount.S
index 2781623c26..dcc3739f3d 100644
--- a/sysdeps/sparc/sparc-mcount.S
+++ b/sysdeps/sparc/sparc-mcount.S
@@ -1,5 +1,5 @@
/* sparc-specific implemetation of profiling support.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2008.
diff --git a/sysdeps/sparc/sparc32/Makefile b/sysdeps/sparc/sparc32/Makefile
index 59edf2b616..308fc318b3 100644
--- a/sysdeps/sparc/sparc32/Makefile
+++ b/sysdeps/sparc/sparc32/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2014 Free Software Foundation, Inc.
+# Copyright (C) 1991-2015 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/__longjmp.S b/sysdeps/sparc/sparc32/__longjmp.S
index c8d6328063..fbf575e9cb 100644
--- a/sysdeps/sparc/sparc32/__longjmp.S
+++ b/sysdeps/sparc/sparc32/__longjmp.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/add_n.S b/sysdeps/sparc/sparc32/add_n.S
index 63291cc301..ca2448ea50 100644
--- a/sysdeps/sparc/sparc32/add_n.S
+++ b/sysdeps/sparc/sparc32/add_n.S
@@ -1,7 +1,7 @@
! SPARC __mpn_add_n -- Add two limb vectors of the same length > 0 and store
! sum in a third limb vector.
!
-! Copyright (C) 1995-2014 Free Software Foundation, Inc.
+! Copyright (C) 1995-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/addmul_1.S b/sysdeps/sparc/sparc32/addmul_1.S
index 66630efb6b..a44d4ed70e 100644
--- a/sysdeps/sparc/sparc32/addmul_1.S
+++ b/sysdeps/sparc/sparc32/addmul_1.S
@@ -1,7 +1,7 @@
! SPARC __mpn_addmul_1 -- Multiply a limb vector with a limb and add
! the result to a second limb vector.
!
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/alloca.S b/sysdeps/sparc/sparc32/alloca.S
index 2536d97422..f4e9daffcb 100644
--- a/sysdeps/sparc/sparc32/alloca.S
+++ b/sysdeps/sparc/sparc32/alloca.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/bits/atomic.h b/sysdeps/sparc/sparc32/bits/atomic.h
index 39c2b37655..4242ba831a 100644
--- a/sysdeps/sparc/sparc32/bits/atomic.h
+++ b/sysdeps/sparc/sparc32/bits/atomic.h
@@ -1,5 +1,5 @@
/* Atomic operations. sparc32 version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@@ -47,6 +47,9 @@ typedef uintptr_t uatomicptr_t;
typedef intmax_t atomic_max_t;
typedef uintmax_t uatomic_max_t;
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
/* We have no compare and swap, just test and set.
The following implementation contends on 64 global locks
@@ -102,27 +105,28 @@ volatile unsigned char __sparc32_atomic_locks[64]
#define __sparc32_atomic_do_unlock24(addr) \
do \
{ \
- *(char *) (addr) = 0; \
__asm __volatile ("" ::: "memory"); \
+ *(char *) (addr) = 0; \
} \
while (0)
#ifndef SHARED
# define __v9_compare_and_exchange_val_32_acq(mem, newval, oldval) \
-({ \
- register __typeof (*(mem)) __acev_tmp __asm ("%g6"); \
+({union { __typeof (oldval) a; uint32_t v; } oldval_arg = { .a = (oldval) }; \
+ union { __typeof (newval) a; uint32_t v; } newval_arg = { .a = (newval) }; \
+ register uint32_t __acev_tmp __asm ("%g6"); \
register __typeof (mem) __acev_mem __asm ("%g1") = (mem); \
- register __typeof (*(mem)) __acev_oldval __asm ("%g5"); \
- __acev_tmp = (newval); \
- __acev_oldval = (oldval); \
+ register uint32_t __acev_oldval __asm ("%g5"); \
+ __acev_tmp = newval_arg.v; \
+ __acev_oldval = oldval_arg.v; \
/* .word 0xcde05005 is cas [%g1], %g5, %g6. Can't use cas here though, \
because as will then mark the object file as V8+ arch. */ \
__asm __volatile (".word 0xcde05005" \
: "+r" (__acev_tmp), "=m" (*__acev_mem) \
: "r" (__acev_oldval), "m" (*__acev_mem), \
"r" (__acev_mem) : "memory"); \
- __acev_tmp; })
+ (__typeof (oldval)) __acev_tmp; })
#endif
/* The only basic operation needed is compare and exchange. */
@@ -343,8 +347,8 @@ extern uint64_t _dl_hwcap __attribute__((weak));
#define atomic_write_barrier() \
do { \
if (__atomic_is_v9) \
- /* membar #StoreLoad | #StoreStore */ \
- __asm __volatile (".word 0x8143e00a" : : : "memory"); \
+ /* membar #LoadStore | #StoreStore */ \
+ __asm __volatile (".word 0x8143e00c" : : : "memory"); \
else \
__asm __volatile ("" : : : "memory"); \
} while (0)
diff --git a/sysdeps/sparc/sparc32/bits/setjmp.h b/sysdeps/sparc/sparc32/bits/setjmp.h
index 1608199f3a..287b9db38f 100644
--- a/sysdeps/sparc/sparc32/bits/setjmp.h
+++ b/sysdeps/sparc/sparc32/bits/setjmp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/dl-irel.h b/sysdeps/sparc/sparc32/dl-irel.h
index 03441ec4a5..ac3e88ecb2 100644
--- a/sysdeps/sparc/sparc32/dl-irel.h
+++ b/sysdeps/sparc/sparc32/dl-irel.h
@@ -1,6 +1,6 @@
/* Machine-dependent ELF indirect relocation inline functions.
SPARC 32-bit version.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -40,13 +40,13 @@ elf_irela (const Elf32_Rela *reloc)
{
unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
- if (__builtin_expect (r_type == R_SPARC_IRELATIVE, 1))
+ if (__glibc_likely (r_type == R_SPARC_IRELATIVE))
{
Elf32_Addr *const reloc_addr = (void *) reloc->r_offset;
Elf32_Addr value = elf_ifunc_invoke(reloc->r_addend);
*reloc_addr = value;
}
- else if (__builtin_expect (r_type == R_SPARC_JMP_IREL, 1))
+ else if (__glibc_likely (r_type == R_SPARC_JMP_IREL))
{
Elf32_Addr *const reloc_addr = (void *) reloc->r_offset;
Elf32_Addr value = elf_ifunc_invoke(reloc->r_addend);
diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h
index 91b125dd7a..b9c5ddc778 100644
--- a/sysdeps/sparc/sparc32/dl-machine.h
+++ b/sysdeps/sparc/sparc32/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. SPARC version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -184,7 +184,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
PLT entries should not be allowed to define the value.
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
+ ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one
of the main executable's symbols, as for a COPY reloc. */
#define elf_machine_type_class(type) \
((((type) == R_SPARC_JMP_SLOT \
@@ -197,6 +197,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
/* The SPARC never uses Elf32_Rel relocations. */
#define ELF_MACHINE_NO_REL 1
+#define ELF_MACHINE_NO_RELA 0
/* Undo the sub %sp, 6*4, %sp; add %sp, 22*4, %o0 below to get at the
value we want in __libc_stack_end. */
@@ -281,7 +282,7 @@ _dl_start_user:\n\
add %o3, 4, %o3\n\
mov %i5, %o1\n\
add %o2, %o3, %o3\n\
- call _dl_init_internal\n\
+ call _dl_init\n\
ld [%o0], %o0\n\
/* Pass our finalizer function to the user in %g1. */\n\
" RTLD_GOT_ADDRESS(%l7, %g1, _dl_fini) "\n\
@@ -350,17 +351,17 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
weak_extern (_dl_rtld_map);
#endif
- if (__builtin_expect (r_type == R_SPARC_NONE, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_NONE))
return;
- if (__builtin_expect (r_type == R_SPARC_SIZE32, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_SIZE32))
{
*reloc_addr = sym->st_size + reloc->r_addend;
return;
}
#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
- if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_RELATIVE))
{
# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
if (map != &_dl_rtld_map) /* Already done in rtld itself. */
@@ -549,12 +550,12 @@ elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
- if (__builtin_expect (r_type == R_SPARC_JMP_SLOT, 1))
+ if (__glibc_likely (r_type == R_SPARC_JMP_SLOT))
;
else if (r_type == R_SPARC_JMP_IREL)
{
Elf32_Addr value = map->l_addr + reloc->r_addend;
- if (__builtin_expect (!skip_ifunc, 1))
+ if (__glibc_likely (!skip_ifunc))
value = ((Elf32_Addr (*) (int)) value) (GLRO(dl_hwcap));
sparc_fixup_plt (reloc, reloc_addr, value, 1, 1);
}
diff --git a/sysdeps/sparc/sparc32/dl-plt.h b/sysdeps/sparc/sparc32/dl-plt.h
index 4466f41382..7e09ae5de8 100644
--- a/sysdeps/sparc/sparc32/dl-plt.h
+++ b/sysdeps/sparc/sparc32/dl-plt.h
@@ -1,5 +1,5 @@
/* PLT fixups. Sparc 32-bit version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/dl-trampoline.S b/sysdeps/sparc/sparc32/dl-trampoline.S
index 2aa2bf1c83..0ac2309a91 100644
--- a/sysdeps/sparc/sparc32/dl-trampoline.S
+++ b/sysdeps/sparc/sparc32/dl-trampoline.S
@@ -1,5 +1,5 @@
/* PLT trampolines. Sparc 32-bit version.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/e_sqrt.c b/sysdeps/sparc/sparc32/e_sqrt.c
index c13f6fd9e5..587fd1ee6a 100644
--- a/sysdeps/sparc/sparc32/e_sqrt.c
+++ b/sysdeps/sparc/sparc32/e_sqrt.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysign.S b/sysdeps/sparc/sparc32/fpu/s_copysign.S
index e371bdd770..322ede68eb 100644
--- a/sysdeps/sparc/sparc32/fpu/s_copysign.S
+++ b/sysdeps/sparc/sparc32/fpu/s_copysign.S
@@ -1,5 +1,5 @@
/* copysign function, sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysignf.S b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
index dbf7897b53..fd12674527 100644
--- a/sysdeps/sparc/sparc32/fpu/s_copysignf.S
+++ b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
@@ -1,5 +1,5 @@
/* float copysign function, sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/fpu/s_fabs.S b/sysdeps/sparc/sparc32/fpu/s_fabs.S
index 28331120f6..8c4873d5bb 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fabs.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fabs.S
@@ -1,5 +1,5 @@
/* Float absolute value, sparc32 version.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/fpu/s_fabsf.S b/sysdeps/sparc/sparc32/fpu/s_fabsf.S
index a8b6fcff27..6648d61c87 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fabsf.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fabsf.S
@@ -1,5 +1,5 @@
/* Float absolute value, sparc32 version.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2006.
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdim.S b/sysdeps/sparc/sparc32/fpu/s_fdim.S
index 04a410ea61..3a77b85419 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fdim.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fdim.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/fpu/s_fdimf.S b/sysdeps/sparc/sparc32/fpu/s_fdimf.S
index a29ed84bae..1721372ae9 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fdimf.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fdimf.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/fpu/s_signbit.S b/sysdeps/sparc/sparc32/fpu/s_signbit.S
index 94403c0c94..dfaae00e3d 100644
--- a/sysdeps/sparc/sparc32/fpu/s_signbit.S
+++ b/sysdeps/sparc/sparc32/fpu/s_signbit.S
@@ -1,5 +1,5 @@
/* signbit(). sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/fpu/s_signbitl.S b/sysdeps/sparc/sparc32/fpu/s_signbitl.S
index 64813f1913..b6b030de77 100644
--- a/sysdeps/sparc/sparc32/fpu/s_signbitl.S
+++ b/sysdeps/sparc/sparc32/fpu/s_signbitl.S
@@ -1,5 +1,5 @@
/* signbitl(). sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,7 @@ ENTRY (___signbitl)
srl %o1, 31, %o0
END (___signbitl)
-#ifdef IS_IN_libm
+#if IS_IN (libm)
long_double_symbol (libm, ___signbitl, __signbitl);
#else
long_double_symbol (libc, ___signbitl, __signbitl);
diff --git a/sysdeps/sparc/sparc32/fpu/w_sqrt.S b/sysdeps/sparc/sparc32/fpu/w_sqrt.S
index 786308a57b..ed5eac5944 100644
--- a/sysdeps/sparc/sparc32/fpu/w_sqrt.S
+++ b/sysdeps/sparc/sparc32/fpu/w_sqrt.S
@@ -1,5 +1,5 @@
/* sqrt function. sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/fpu/w_sqrtf.S b/sysdeps/sparc/sparc32/fpu/w_sqrtf.S
index e8930a55c5..6dd25dab43 100644
--- a/sysdeps/sparc/sparc32/fpu/w_sqrtf.S
+++ b/sysdeps/sparc/sparc32/fpu/w_sqrtf.S
@@ -1,5 +1,5 @@
/* sqrtf function. sparc32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/ieee754.h b/sysdeps/sparc/sparc32/ieee754.h
index d77b83592f..d8d7aa69a2 100644
--- a/sysdeps/sparc/sparc32/ieee754.h
+++ b/sysdeps/sparc/sparc32/ieee754.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/jmpbuf-offsets.h b/sysdeps/sparc/sparc32/jmpbuf-offsets.h
index 14c45551c7..4301077c54 100644
--- a/sysdeps/sparc/sparc32/jmpbuf-offsets.h
+++ b/sysdeps/sparc/sparc32/jmpbuf-offsets.h
@@ -1,5 +1,5 @@
/* Private macros for accessing __jmp_buf contents. SPARC version.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/jmpbuf-unwind.h b/sysdeps/sparc/sparc32/jmpbuf-unwind.h
index 3ec444a62f..813010bfe6 100644
--- a/sysdeps/sparc/sparc32/jmpbuf-unwind.h
+++ b/sysdeps/sparc/sparc32/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/sysdeps/sparc/sparc32/lll_timedlock_wait.c b/sysdeps/sparc/sparc32/lll_timedlock_wait.c
new file mode 100644
index 0000000000..c2c93faf1b
--- /dev/null
+++ b/sysdeps/sparc/sparc32/lll_timedlock_wait.c
@@ -0,0 +1 @@
+/* __lll_timedlock_wait is in lowlevellock.c. */
diff --git a/sysdeps/sparc/sparc32/lll_timedwait_tid.c b/sysdeps/sparc/sparc32/lll_timedwait_tid.c
new file mode 100644
index 0000000000..511608ead9
--- /dev/null
+++ b/sysdeps/sparc/sparc32/lll_timedwait_tid.c
@@ -0,0 +1 @@
+/* __lll_timedwait_tid is in lowlevellock.c. */
diff --git a/sysdeps/sparc/sparc32/lowlevellock.c b/sysdeps/sparc/sparc32/lowlevellock.c
new file mode 100644
index 0000000000..a2c6ca7dfd
--- /dev/null
+++ b/sysdeps/sparc/sparc32/lowlevellock.c
@@ -0,0 +1,131 @@
+/* low level locking for pthread library. SPARC version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <lowlevellock.h>
+#include <sys/time.h>
+
+
+void
+__lll_lock_wait_private (int *futex)
+{
+ do
+ {
+ int oldval = atomic_compare_and_exchange_val_24_acq (futex, 2, 1);
+ if (oldval != 0)
+ lll_futex_wait (futex, 2, LLL_PRIVATE);
+ }
+ while (atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0);
+}
+
+
+/* These functions don't get included in libc.so */
+#if IS_IN (libpthread)
+void
+__lll_lock_wait (int *futex, int private)
+{
+ do
+ {
+ int oldval = atomic_compare_and_exchange_val_24_acq (futex, 2, 1);
+ if (oldval != 0)
+ lll_futex_wait (futex, 2, private);
+ }
+ while (atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0);
+}
+
+
+int
+__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private)
+{
+ /* Reject invalid timeouts. */
+ if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
+ return EINVAL;
+
+ do
+ {
+ struct timeval tv;
+ struct timespec rt;
+
+ /* Get the current time. */
+ (void) __gettimeofday (&tv, NULL);
+
+ /* Compute relative timeout. */
+ rt.tv_sec = abstime->tv_sec - tv.tv_sec;
+ rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
+ if (rt.tv_nsec < 0)
+ {
+ rt.tv_nsec += 1000000000;
+ --rt.tv_sec;
+ }
+
+ /* Already timed out? */
+ if (rt.tv_sec < 0)
+ return ETIMEDOUT;
+
+ /* Wait. */
+ int oldval = atomic_compare_and_exchange_val_24_acq (futex, 2, 1);
+ if (oldval != 0)
+ lll_futex_timed_wait (futex, 2, &rt, private);
+ }
+ while (atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0);
+
+ return 0;
+}
+
+
+int
+__lll_timedwait_tid (int *tidp, const struct timespec *abstime)
+{
+ int tid;
+
+ if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
+ return EINVAL;
+
+ /* Repeat until thread terminated. */
+ while ((tid = *tidp) != 0)
+ {
+ struct timeval tv;
+ struct timespec rt;
+
+ /* Get the current time. */
+ (void) __gettimeofday (&tv, NULL);
+
+ /* Compute relative timeout. */
+ rt.tv_sec = abstime->tv_sec - tv.tv_sec;
+ rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
+ if (rt.tv_nsec < 0)
+ {
+ rt.tv_nsec += 1000000000;
+ --rt.tv_sec;
+ }
+
+ /* Already timed out? */
+ if (rt.tv_sec < 0)
+ return ETIMEDOUT;
+
+ /* Wait until thread terminates. The kernel so far does not use
+ the private futex operations for this. */
+ if (lll_futex_timed_wait (tidp, tid, &rt, LLL_SHARED) == -ETIMEDOUT)
+ return ETIMEDOUT;
+ }
+
+ return 0;
+}
+#endif
diff --git a/sysdeps/sparc/sparc32/lshift.S b/sysdeps/sparc/sparc32/lshift.S
index be319b1a17..aa531afa61 100644
--- a/sysdeps/sparc/sparc32/lshift.S
+++ b/sysdeps/sparc/sparc32/lshift.S
@@ -1,6 +1,6 @@
! Sparc __mpn_lshift --
!
-! Copyright (C) 1995-2014 Free Software Foundation, Inc.
+! Copyright (C) 1995-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/memchr.S b/sysdeps/sparc/sparc32/memchr.S
index 088e538d77..1fa0f82863 100644
--- a/sysdeps/sparc/sparc32/memchr.S
+++ b/sysdeps/sparc/sparc32/memchr.S
@@ -1,7 +1,7 @@
/* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less
than N.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
David S. Miller <davem@caip.rutgers.edu>.
diff --git a/sysdeps/sparc/sparc32/memcpy.S b/sysdeps/sparc/sparc32/memcpy.S
index 643add8900..63b7ea3820 100644
--- a/sysdeps/sparc/sparc32/memcpy.S
+++ b/sysdeps/sparc/sparc32/memcpy.S
@@ -1,6 +1,6 @@
/* Copy SIZE bytes from SRC to DEST.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@caip.rutgers.edu>,
Eddie C. Dost <ecd@skynet.be> and
diff --git a/sysdeps/sparc/sparc32/memset.S b/sysdeps/sparc/sparc32/memset.S
index 9120a1c657..7021ce44fe 100644
--- a/sysdeps/sparc/sparc32/memset.S
+++ b/sysdeps/sparc/sparc32/memset.S
@@ -1,6 +1,6 @@
/* Set a block of memory to some byte value.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@caip.rutgers.edu> and
Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc32/mul_1.S b/sysdeps/sparc/sparc32/mul_1.S
index 08431ef496..709a3a073d 100644
--- a/sysdeps/sparc/sparc32/mul_1.S
+++ b/sysdeps/sparc/sparc32/mul_1.S
@@ -1,7 +1,7 @@
! SPARC __mpn_mul_1 -- Multiply a limb vector with a limb and store
! the result in a second limb vector.
!
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/pthread_barrier_wait.c b/sysdeps/sparc/sparc32/pthread_barrier_wait.c
new file mode 100644
index 0000000000..5e1aa1159c
--- /dev/null
+++ b/sysdeps/sparc/sparc32/pthread_barrier_wait.c
@@ -0,0 +1,97 @@
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <lowlevellock.h>
+#include <pthreadP.h>
+#include <sparc-nptl.h>
+#include <futex-internal.h>
+
+/* Wait on barrier. */
+int
+__pthread_barrier_wait (barrier)
+ pthread_barrier_t *barrier;
+{
+ union sparc_pthread_barrier *ibarrier
+ = (union sparc_pthread_barrier *) barrier;
+ int result = 0;
+ int private = ibarrier->s.pshared ? LLL_SHARED : LLL_PRIVATE;
+ int futex_private = ibarrier->s.pshared ? FUTEX_SHARED : FUTEX_PRIVATE;
+
+ /* Make sure we are alone. */
+ lll_lock (ibarrier->b.lock, private);
+
+ /* One more arrival. */
+ --ibarrier->b.left;
+
+ /* Are these all? */
+ if (ibarrier->b.left == 0)
+ {
+ /* Yes. Increment the event counter to avoid invalid wake-ups and
+ tell the current waiters that it is their turn. */
+ ++ibarrier->b.curr_event;
+
+ /* Wake up everybody. */
+ futex_wake (&ibarrier->b.curr_event, INT_MAX, futex_private);
+
+ /* This is the thread which finished the serialization. */
+ result = PTHREAD_BARRIER_SERIAL_THREAD;
+ }
+ else
+ {
+ /* The number of the event we are waiting for. The barrier's event
+ number must be bumped before we continue. */
+ unsigned int event = ibarrier->b.curr_event;
+
+ /* Before suspending, make the barrier available to others. */
+ lll_unlock (ibarrier->b.lock, private);
+
+ /* Wait for the event counter of the barrier to change. */
+ do
+ futex_wait_simple (&ibarrier->b.curr_event, event, futex_private);
+ while (event == ibarrier->b.curr_event);
+ }
+
+ /* Make sure the init_count is stored locally or in a register. */
+ unsigned int init_count = ibarrier->b.init_count;
+
+ /* If this was the last woken thread, unlock. */
+ if (__atomic_is_v9 || ibarrier->s.pshared == 0)
+ {
+ if (atomic_increment_val (&ibarrier->b.left) == init_count)
+ /* We are done. */
+ lll_unlock (ibarrier->b.lock, private);
+ }
+ else
+ {
+ unsigned int left;
+ /* Slightly more complicated. On pre-v9 CPUs, atomic_increment_val
+ is only atomic for threads within the same process, not for
+ multiple processes. */
+ __sparc32_atomic_do_lock24 (&ibarrier->s.left_lock);
+ left = ++ibarrier->b.left;
+ __sparc32_atomic_do_unlock24 (&ibarrier->s.left_lock);
+ if (left == init_count)
+ /* We are done. */
+ lll_unlock (ibarrier->b.lock, private);
+ }
+
+ return result;
+}
+weak_alias (__pthread_barrier_wait, pthread_barrier_wait)
diff --git a/sysdeps/sparc/sparc32/sparcv9/hp-timing.c b/sysdeps/sparc/sparc32/pthread_spin_lock.S
index 2224099940..9ed3122aa3 100644
--- a/sysdeps/sparc/sparc32/sparcv9/hp-timing.c
+++ b/sysdeps/sparc/sparc32/pthread_spin_lock.S
@@ -1,7 +1,5 @@
-/* Support for high precision, low overhead timing functions. sparcv9 version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@redhat.com>, 2001.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -17,7 +15,18 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <hp-timing.h>
+#include <sysdep.h>
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
+ .text
+ENTRY(pthread_spin_lock)
+1: ldstub [%o0], %g1
+ orcc %g1, 0x0, %g0
+ bne,a 2f
+ ldub [%o0], %g1
+ retl
+ mov 0, %o0
+2: orcc %g1, 0x0, %g0
+ bne,a 2b
+ ldub [%o0], %g1
+ ba,a 1b
+END(pthread_spin_lock)
diff --git a/sysdeps/sparc/sparc64/hp-timing.c b/sysdeps/sparc/sparc32/pthread_spin_trylock.S
index 0a425eddb4..4223d5577b 100644
--- a/sysdeps/sparc/sparc64/hp-timing.c
+++ b/sysdeps/sparc/sparc32/pthread_spin_trylock.S
@@ -1,7 +1,5 @@
-/* Support for high precision, low overhead timing functions. sparc64 version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by David S. Miller <davem@redhat.com>, 2001.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -17,7 +15,15 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <hp-timing.h>
+#include <sysdep.h>
+#include <pthread-errnos.h>
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
+ .text
+ENTRY(pthread_spin_trylock)
+ ldstub [%o0], %o0
+ cmp %o0, 0
+ bne,a 1f
+ mov EBUSY, %o0
+1: retl
+ nop
+END(pthread_spin_trylock)
diff --git a/sysdeps/sparc/sparc32/pthreaddef.h b/sysdeps/sparc/sparc32/pthreaddef.h
new file mode 100644
index 0000000000..6dcde37894
--- /dev/null
+++ b/sysdeps/sparc/sparc32/pthreaddef.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* Default stack size. */
+#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024)
+
+/* Required stack pointer alignment at beginning. */
+#define STACK_ALIGN 16
+
+/* Minimal stack size after allocating thread descriptor and guard size. */
+#define MINIMAL_REST_STACK 2048
+
+/* Alignment requirement for TCB. */
+#define TCB_ALIGNMENT 16
+
+
+/* Location of current stack frame. */
+#define CURRENT_STACK_FRAME (stack_pointer + (2 * 64))
+register char *stack_pointer __asm__("%sp");
diff --git a/sysdeps/sparc/sparc32/rshift.S b/sysdeps/sparc/sparc32/rshift.S
index 3cc1e72f71..422ebfbbc0 100644
--- a/sysdeps/sparc/sparc32/rshift.S
+++ b/sysdeps/sparc/sparc32/rshift.S
@@ -1,6 +1,6 @@
! sparc __mpn_rshift --
!
-! Copyright (C) 1995-2014 Free Software Foundation, Inc.
+! Copyright (C) 1995-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/sem_init.c b/sysdeps/sparc/sparc32/sem_init.c
new file mode 100644
index 0000000000..1c7c455617
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sem_init.c
@@ -0,0 +1,88 @@
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <semaphore.h>
+#include <shlib-compat.h>
+#include "semaphoreP.h"
+#include <futex-internal.h>
+
+
+int
+__new_sem_init (sem_t *sem, int pshared, unsigned int value)
+{
+ /* Parameter sanity check. */
+ if (__glibc_unlikely (value > SEM_VALUE_MAX))
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ pshared = pshared != 0 ? PTHREAD_PROCESS_SHARED : PTHREAD_PROCESS_PRIVATE;
+ int err = futex_supports_pshared (pshared);
+ if (err != 0)
+ {
+ __set_errno (err);
+ return -1;
+ }
+
+ /* Map to the internal type. */
+ struct new_sem *isem = (struct new_sem *) sem;
+
+ /* Use the values the caller provided. */
+ isem->value = value << SEM_VALUE_SHIFT;
+ isem->pad = 0;
+ isem->nwaiters = 0;
+
+ isem->private = (pshared == PTHREAD_PROCESS_PRIVATE
+ ? FUTEX_PRIVATE : FUTEX_SHARED);
+
+ return 0;
+}
+versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
+
+
+
+#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
+int
+attribute_compat_text_section
+__old_sem_init (sem, pshared, value)
+ sem_t *sem;
+ int pshared;
+ unsigned int value;
+{
+ /* Parameter sanity check. */
+ if (__glibc_unlikely (value > SEM_VALUE_MAX))
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ /* Map to the internal type. */
+ struct old_sem *isem = (struct old_sem *) sem;
+
+ /* Use the value the user provided. */
+ isem->value = value;
+
+ /* We cannot store the PSHARED attribute. So we always use the
+ operations needed for shared semaphores. */
+
+ return 0;
+}
+compat_symbol (libpthread, __old_sem_init, sem_init, GLIBC_2_0);
+#endif
diff --git a/sysdeps/sparc/sparc32/sem_open.c b/sysdeps/sparc/sparc32/sem_open.c
new file mode 100644
index 0000000000..16cb9ad591
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sem_open.c
@@ -0,0 +1,299 @@
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <pthread.h>
+#include <search.h>
+#include <semaphore.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include "semaphoreP.h"
+#include <shm-directory.h>
+
+
+/* Comparison function for search of existing mapping. */
+int
+attribute_hidden
+__sem_search (const void *a, const void *b)
+{
+ const struct inuse_sem *as = (const struct inuse_sem *) a;
+ const struct inuse_sem *bs = (const struct inuse_sem *) b;
+
+ if (as->ino != bs->ino)
+ /* Cannot return the difference the type is larger than int. */
+ return as->ino < bs->ino ? -1 : (as->ino == bs->ino ? 0 : 1);
+
+ if (as->dev != bs->dev)
+ /* Cannot return the difference the type is larger than int. */
+ return as->dev < bs->dev ? -1 : (as->dev == bs->dev ? 0 : 1);
+
+ return strcmp (as->name, bs->name);
+}
+
+
+/* The search tree for existing mappings. */
+void *__sem_mappings attribute_hidden;
+
+/* Lock to protect the search tree. */
+int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
+
+
+/* Search for existing mapping and if possible add the one provided. */
+static sem_t *
+check_add_mapping (const char *name, size_t namelen, int fd, sem_t *existing)
+{
+ sem_t *result = SEM_FAILED;
+
+ /* Get the information about the file. */
+ struct stat64 st;
+ if (__fxstat64 (_STAT_VER, fd, &st) == 0)
+ {
+ /* Get the lock. */
+ lll_lock (__sem_mappings_lock, LLL_PRIVATE);
+
+ /* Search for an existing mapping given the information we have. */
+ struct inuse_sem *fake;
+ fake = (struct inuse_sem *) alloca (sizeof (*fake) + namelen);
+ memcpy (fake->name, name, namelen);
+ fake->dev = st.st_dev;
+ fake->ino = st.st_ino;
+
+ struct inuse_sem **foundp = __tfind (fake, &__sem_mappings,
+ __sem_search);
+ if (foundp != NULL)
+ {
+ /* There is already a mapping. Use it. */
+ result = (*foundp)->sem;
+ ++(*foundp)->refcnt;
+ }
+ else
+ {
+ /* We haven't found a mapping. Install ione. */
+ struct inuse_sem *newp;
+
+ newp = (struct inuse_sem *) malloc (sizeof (*newp) + namelen);
+ if (newp != NULL)
+ {
+ /* If the caller hasn't provided any map it now. */
+ if (existing == SEM_FAILED)
+ existing = (sem_t *) mmap (NULL, sizeof (sem_t),
+ PROT_READ | PROT_WRITE, MAP_SHARED,
+ fd, 0);
+
+ newp->dev = st.st_dev;
+ newp->ino = st.st_ino;
+ newp->refcnt = 1;
+ newp->sem = existing;
+ memcpy (newp->name, name, namelen);
+
+ /* Insert the new value. */
+ if (existing != MAP_FAILED
+ && __tsearch (newp, &__sem_mappings, __sem_search) != NULL)
+ /* Successful. */
+ result = existing;
+ else
+ /* Something went wrong while inserting the new
+ value. We fail completely. */
+ free (newp);
+ }
+ }
+
+ /* Release the lock. */
+ lll_unlock (__sem_mappings_lock, LLL_PRIVATE);
+ }
+
+ if (result != existing && existing != SEM_FAILED && existing != MAP_FAILED)
+ {
+ /* Do not disturb errno. */
+ int save = errno;
+ munmap (existing, sizeof (sem_t));
+ errno = save;
+ }
+
+ return result;
+}
+
+
+sem_t *
+sem_open (const char *name, int oflag, ...)
+{
+ int fd;
+ sem_t *result;
+
+ /* Create the name of the final file in local variable SHM_NAME. */
+ SHM_GET_NAME (EINVAL, SEM_FAILED, SEM_SHM_PREFIX);
+
+ /* If the semaphore object has to exist simply open it. */
+ if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
+ {
+ try_again:
+ fd = __libc_open (shm_name,
+ (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
+
+ if (fd == -1)
+ {
+ /* If we are supposed to create the file try this next. */
+ if ((oflag & O_CREAT) != 0 && errno == ENOENT)
+ goto try_create;
+
+ /* Return. errno is already set. */
+ }
+ else
+ /* Check whether we already have this semaphore mapped and
+ create one if necessary. */
+ result = check_add_mapping (name, namelen, fd, SEM_FAILED);
+ }
+ else
+ {
+ /* We have to open a temporary file first since it must have the
+ correct form before we can start using it. */
+ char *tmpfname;
+ mode_t mode;
+ unsigned int value;
+ va_list ap;
+
+ try_create:
+ va_start (ap, oflag);
+
+ mode = va_arg (ap, mode_t);
+ value = va_arg (ap, unsigned int);
+
+ va_end (ap);
+
+ if (value > SEM_VALUE_MAX)
+ {
+ __set_errno (EINVAL);
+ return SEM_FAILED;
+ }
+
+ /* Create the initial file content. */
+ union
+ {
+ sem_t initsem;
+ struct new_sem newsem;
+ } sem;
+
+ sem.newsem.value = value << SEM_VALUE_SHIFT;
+ sem.newsem.pad = 0;
+ sem.newsem.nwaiters = 0;
+
+ /* This always is a shared semaphore. */
+ sem.newsem.private = FUTEX_SHARED;
+
+ /* Initialize the remaining bytes as well. */
+ memset ((char *) &sem.initsem + sizeof (struct new_sem), '\0',
+ sizeof (sem_t) - sizeof (struct new_sem));
+
+ tmpfname = __alloca (shm_dirlen + sizeof SEM_SHM_PREFIX + 6);
+ char *xxxxxx = __mempcpy (tmpfname, shm_dir, shm_dirlen);
+
+ int retries = 0;
+#define NRETRIES 50
+ while (1)
+ {
+ /* Add the suffix for mktemp. */
+ strcpy (xxxxxx, "XXXXXX");
+
+ /* We really want to use mktemp here. We cannot use mkstemp
+ since the file must be opened with a specific mode. The
+ mode cannot later be set since then we cannot apply the
+ file create mask. */
+ if (__mktemp (tmpfname) == NULL)
+ return SEM_FAILED;
+
+ /* Open the file. Make sure we do not overwrite anything. */
+ fd = __libc_open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
+ if (fd == -1)
+ {
+ if (errno == EEXIST)
+ {
+ if (++retries < NRETRIES)
+ continue;
+
+ __set_errno (EAGAIN);
+ }
+
+ return SEM_FAILED;
+ }
+
+ /* We got a file. */
+ break;
+ }
+
+ if (TEMP_FAILURE_RETRY (__libc_write (fd, &sem.initsem, sizeof (sem_t)))
+ == sizeof (sem_t)
+ /* Map the sem_t structure from the file. */
+ && (result = (sem_t *) mmap (NULL, sizeof (sem_t),
+ PROT_READ | PROT_WRITE, MAP_SHARED,
+ fd, 0)) != MAP_FAILED)
+ {
+ /* Create the file. Don't overwrite an existing file. */
+ if (link (tmpfname, shm_name) != 0)
+ {
+ /* Undo the mapping. */
+ (void) munmap (result, sizeof (sem_t));
+
+ /* Reinitialize 'result'. */
+ result = SEM_FAILED;
+
+ /* This failed. If O_EXCL is not set and the problem was
+ that the file exists, try again. */
+ if ((oflag & O_EXCL) == 0 && errno == EEXIST)
+ {
+ /* Remove the file. */
+ (void) unlink (tmpfname);
+
+ /* Close the file. */
+ (void) __libc_close (fd);
+
+ goto try_again;
+ }
+ }
+ else
+ /* Insert the mapping into the search tree. This also
+ determines whether another thread sneaked by and already
+ added such a mapping despite the fact that we created it. */
+ result = check_add_mapping (name, namelen, fd, result);
+ }
+
+ /* Now remove the temporary name. This should never fail. If
+ it fails we leak a file name. Better fix the kernel. */
+ (void) unlink (tmpfname);
+ }
+
+ /* Map the mmap error to the error we need. */
+ if (MAP_FAILED != (void *) SEM_FAILED && result == MAP_FAILED)
+ result = SEM_FAILED;
+
+ /* We don't need the file descriptor anymore. */
+ if (fd != -1)
+ {
+ /* Do not disturb errno. */
+ int save = errno;
+ __libc_close (fd);
+ errno = save;
+ }
+
+ return result;
+}
diff --git a/sysdeps/sparc/sparc32/sem_post.c b/sysdeps/sparc/sparc32/sem_post.c
new file mode 100644
index 0000000000..fd1a2fe910
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sem_post.c
@@ -0,0 +1,82 @@
+/* sem_post -- post to a POSIX semaphore. Generic futex-using version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <atomic.h>
+#include <errno.h>
+#include <sysdep.h>
+#include <lowlevellock.h>
+#include <internaltypes.h>
+#include <semaphore.h>
+#include <futex-internal.h>
+
+#include <shlib-compat.h>
+
+
+/* See sem_wait for an explanation of the algorithm. */
+int
+__new_sem_post (sem_t *sem)
+{
+ struct new_sem *isem = (struct new_sem *) sem;
+ int private = isem->private;
+ unsigned int v;
+
+ __sparc32_atomic_do_lock24 (&isem->pad);
+
+ v = isem->value;
+ if ((v >> SEM_VALUE_SHIFT) == SEM_VALUE_MAX)
+ {
+ __sparc32_atomic_do_unlock24 (&isem->pad);
+
+ __set_errno (EOVERFLOW);
+ return -1;
+ }
+ isem->value = v + (1 << SEM_VALUE_SHIFT);
+
+ __sparc32_atomic_do_unlock24 (&isem->pad);
+
+ if ((v & SEM_NWAITERS_MASK) != 0)
+ futex_wake (&isem->value, 1, private);
+
+ return 0;
+}
+versioned_symbol (libpthread, __new_sem_post, sem_post, GLIBC_2_1);
+
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+int
+attribute_compat_text_section
+__old_sem_post (sem_t *sem)
+{
+ int *futex = (int *) sem;
+
+ /* We must need to synchronize with consumers of this token, so the atomic
+ increment must have release MO semantics. */
+ atomic_write_barrier ();
+ (void) atomic_increment_val (futex);
+ /* We always have to assume it is a shared semaphore. */
+ int err = lll_futex_wake (futex, 1, LLL_SHARED);
+ if (__builtin_expect (err, 0) < 0)
+ {
+ __set_errno (-err);
+ return -1;
+ }
+ return 0;
+}
+compat_symbol (libpthread, __old_sem_post, sem_post, GLIBC_2_0);
+#endif
diff --git a/sysdeps/sparc/sparc32/sem_wait.c b/sysdeps/sparc/sparc32/sem_wait.c
new file mode 100644
index 0000000000..fce7ed43ee
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sem_wait.c
@@ -0,0 +1,93 @@
+/* sem_wait -- wait on a semaphore. Generic futex-using version.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <lowlevellock.h> /* lll_futex* used by the old code. */
+#include "sem_waitcommon.c"
+
+int
+__new_sem_wait (sem_t *sem)
+{
+ if (__new_sem_wait_fast ((struct new_sem *) sem, 0) == 0)
+ return 0;
+ else
+ return __new_sem_wait_slow((struct new_sem *) sem, NULL);
+}
+versioned_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1);
+
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+int
+attribute_compat_text_section
+__old_sem_wait (sem_t *sem)
+{
+ int *futex = (int *) sem;
+ int err;
+
+ do
+ {
+ if (atomic_decrement_if_positive (futex) > 0)
+ return 0;
+
+ /* Enable asynchronous cancellation. Required by the standard. */
+ int oldtype = __pthread_enable_asynccancel ();
+
+ /* Always assume the semaphore is shared. */
+ err = lll_futex_wait (futex, 0, LLL_SHARED);
+
+ /* Disable asynchronous cancellation. */
+ __pthread_disable_asynccancel (oldtype);
+ }
+ while (err == 0 || err == -EWOULDBLOCK);
+
+ __set_errno (-err);
+ return -1;
+}
+
+compat_symbol (libpthread, __old_sem_wait, sem_wait, GLIBC_2_0);
+#endif
+
+int
+__new_sem_trywait (sem_t *sem)
+{
+ /* We must not fail spuriously, so require a definitive result even if this
+ may lead to a long execution time. */
+ if (__new_sem_wait_fast ((struct new_sem *) sem, 1) == 0)
+ return 0;
+ __set_errno (EAGAIN);
+ return -1;
+}
+versioned_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1);
+#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1)
+int
+__old_sem_trywait (sem_t *sem)
+{
+ int *futex = (int *) sem;
+ int val;
+
+ if (*futex > 0)
+ {
+ val = atomic_decrement_if_positive (futex);
+ if (val > 0)
+ return 0;
+ }
+
+ __set_errno (EAGAIN);
+ return -1;
+}
+compat_symbol (libpthread, __old_sem_trywait, sem_trywait, GLIBC_2_0);
+#endif
diff --git a/sysdeps/sparc/sparc32/sem_waitcommon.c b/sysdeps/sparc/sparc32/sem_waitcommon.c
new file mode 100644
index 0000000000..9e43d45431
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sem_waitcommon.c
@@ -0,0 +1,146 @@
+/* sem_waitcommon -- wait on a semaphore, shared code.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <errno.h>
+#include <sysdep.h>
+#include <futex-internal.h>
+#include <internaltypes.h>
+#include <semaphore.h>
+#include <sys/time.h>
+
+#include <pthreadP.h>
+#include <shlib-compat.h>
+#include <atomic.h>
+
+
+static void
+__sem_wait_32_finish (struct new_sem *sem);
+
+static void
+__sem_wait_cleanup (void *arg)
+{
+ struct new_sem *sem = (struct new_sem *) arg;
+
+ __sem_wait_32_finish (sem);
+}
+
+/* Wait until at least one token is available, possibly with a timeout.
+ This is in a separate function in order to make sure gcc
+ puts the call site into an exception region, and thus the
+ cleanups get properly run. TODO still necessary? Other futex_wait
+ users don't seem to need it. */
+static int
+__attribute__ ((noinline))
+do_futex_wait (struct new_sem *sem, const struct timespec *abstime)
+{
+ int err;
+
+ err = futex_abstimed_wait_cancelable (&sem->value, SEM_NWAITERS_MASK,
+ abstime, sem->private);
+
+ return err;
+}
+
+/* Fast path: Try to grab a token without blocking. */
+static int
+__new_sem_wait_fast (struct new_sem *sem, int definitive_result)
+{
+ unsigned int v;
+ int ret = 0;
+
+ __sparc32_atomic_do_lock24(&sem->pad);
+
+ v = sem->value;
+ if ((v >> SEM_VALUE_SHIFT) == 0)
+ ret = -1;
+ else
+ sem->value = v - (1 << SEM_VALUE_SHIFT);
+
+ __sparc32_atomic_do_unlock24(&sem->pad);
+
+ return ret;
+}
+
+/* Slow path that blocks. */
+static int
+__attribute__ ((noinline))
+__new_sem_wait_slow (struct new_sem *sem, const struct timespec *abstime)
+{
+ unsigned int v;
+ int err = 0;
+
+ __sparc32_atomic_do_lock24(&sem->pad);
+
+ sem->nwaiters++;
+
+ pthread_cleanup_push (__sem_wait_cleanup, sem);
+
+ /* Wait for a token to be available. Retry until we can grab one. */
+ v = sem->value;
+ do
+ {
+ if (!(v & SEM_NWAITERS_MASK))
+ sem->value = v | SEM_NWAITERS_MASK;
+
+ /* If there is no token, wait. */
+ if ((v >> SEM_VALUE_SHIFT) == 0)
+ {
+ __sparc32_atomic_do_unlock24(&sem->pad);
+
+ err = do_futex_wait(sem, abstime);
+ if (err == ETIMEDOUT || err == EINTR)
+ {
+ __set_errno (err);
+ err = -1;
+ goto error;
+ }
+ err = 0;
+
+ __sparc32_atomic_do_lock24(&sem->pad);
+
+ /* We blocked, so there might be a token now. */
+ v = sem->value;
+ }
+ }
+ /* If there is no token, we must not try to grab one. */
+ while ((v >> SEM_VALUE_SHIFT) == 0);
+
+ sem->value = v - (1 << SEM_VALUE_SHIFT);
+
+ __sparc32_atomic_do_unlock24(&sem->pad);
+
+error:
+ pthread_cleanup_pop (0);
+
+ __sem_wait_32_finish (sem);
+
+ return err;
+}
+
+/* Stop being a registered waiter (non-64b-atomics code only). */
+static void
+__sem_wait_32_finish (struct new_sem *sem)
+{
+ __sparc32_atomic_do_lock24(&sem->pad);
+
+ if (--sem->nwaiters == 0)
+ sem->value &= ~SEM_NWAITERS_MASK;
+
+ __sparc32_atomic_do_unlock24(&sem->pad);
+}
diff --git a/sysdeps/sparc/sparc32/setjmp.S b/sysdeps/sparc/sparc32/setjmp.S
index 64dccdecb5..2a7ed2b8f5 100644
--- a/sysdeps/sparc/sparc32/setjmp.S
+++ b/sysdeps/sparc/sparc32/setjmp.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/soft-fp/Makefile b/sysdeps/sparc/sparc32/soft-fp/Makefile
index 38d14e714b..323773afd2 100644
--- a/sysdeps/sparc/sparc32/soft-fp/Makefile
+++ b/sysdeps/sparc/sparc32/soft-fp/Makefile
@@ -1,6 +1,6 @@
# Software floating-point emulation.
# Makefile for SPARC v8 long double utility functions (_Q_*).
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2015 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Jakub Jelinek (jj@ultra.linux.cz).
#
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_add.c b/sysdeps/sparc/sparc32/soft-fp/q_add.c
index ec8c1c2e9c..0e0723cc85 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_add.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_add.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a + b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_cmp.c b/sysdeps/sparc/sparc32/soft-fp/q_cmp.c
index 837b3dd091..36dfe95348 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_cmp.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_cmp.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Compare a and b, return float condition code.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,10 +30,8 @@ int _Q_cmp(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, 3);
+ FP_CMP_Q(r, B, A, 3, 1);
if (r == -1) r = 2;
- if (r == 3 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
FP_HANDLE_EXCEPTIONS;
return r;
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_cmpe.c b/sysdeps/sparc/sparc32/soft-fp/q_cmpe.c
index d4ac7bd67c..d05db4e160 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_cmpe.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_cmpe.c
@@ -1,7 +1,7 @@
/* Software floating-point emulation.
Compare a and b, return float condition code.
Signal exception (unless masked) if unordered.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,10 +31,8 @@ int _Q_cmpe(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, 3);
+ FP_CMP_Q(r, B, A, 3, 2);
if (r == -1) r = 2;
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
FP_HANDLE_EXCEPTIONS;
return r;
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_div.c b/sysdeps/sparc/sparc32/soft-fp/q_div.c
index 39105d1975..3e86a97394 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_div.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_div.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a / b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_dtoq.c b/sysdeps/sparc/sparc32/soft-fp/q_dtoq.c
index 8f20594029..915734f5c9 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_dtoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_dtoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_feq.c b/sysdeps/sparc/sparc32/soft-fp/q_feq.c
index 61a8ff1b18..eb462247d6 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_feq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_feq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a == b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_feq(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_EQ_Q(r, A, B);
- if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_EQ_Q(r, A, B, 1);
FP_HANDLE_EXCEPTIONS;
return !r;
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_fge.c b/sysdeps/sparc/sparc32/soft-fp/q_fge.c
index 7fca34926a..bc20230bbb 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_fge.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_fge.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a >= b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_fge(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
FP_HANDLE_EXCEPTIONS;
return (r <= 0);
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_fgt.c b/sysdeps/sparc/sparc32/soft-fp/q_fgt.c
index f5b2acf4c4..5a767ff180 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_fgt.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_fgt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a > b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_fgt(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
FP_HANDLE_EXCEPTIONS;
return (r == -1);
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_fle.c b/sysdeps/sparc/sparc32/soft-fp/q_fle.c
index c108fb9e3f..bdd1b85078 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_fle.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_fle.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a <= b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_fle(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, -2);
- if (r == -2)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, -2, 2);
FP_HANDLE_EXCEPTIONS;
return (r >= 0);
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_flt.c b/sysdeps/sparc/sparc32/soft-fp/q_flt.c
index 56d140e6e9..b6ffca5082 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_flt.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_flt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a < b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_flt(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
FP_HANDLE_EXCEPTIONS;
return (r == 1);
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_fne.c b/sysdeps/sparc/sparc32/soft-fp/q_fne.c
index 78c2d6f971..7d4806f8a3 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_fne.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_fne.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if a != b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -30,9 +30,7 @@ int _Q_fne(const long double a, const long double b)
FP_UNPACK_RAW_Q(A, a);
FP_UNPACK_RAW_Q(B, b);
- FP_CMP_EQ_Q(r, A, B);
- if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_EQ_Q(r, A, B, 1);
FP_HANDLE_EXCEPTIONS;
return r;
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_itoq.c b/sysdeps/sparc/sparc32/soft-fp/q_itoq.c
index 3640506973..47c4a925bc 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_itoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_itoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -19,19 +19,17 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#define FP_NO_EXCEPTIONS
#include "soft-fp.h"
#include "quad.h"
long double _Q_itoq(const int a)
{
- FP_DECL_EX;
FP_DECL_Q(C);
int b = a;
long double c;
FP_FROM_INT_Q(C, b, 32, unsigned int);
FP_PACK_RAW_Q(c, C);
- FP_CLEAR_EXCEPTIONS;
- FP_HANDLE_EXCEPTIONS;
return c;
}
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c b/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c
index 52b2712161..785caa8e87 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_lltoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long double)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -19,19 +19,17 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#define FP_NO_EXCEPTIONS
#include "soft-fp.h"
#include "quad.h"
long double _Q_lltoq(const long long a)
{
- FP_DECL_EX;
FP_DECL_Q(C);
long double c;
long long b = a;
FP_FROM_INT_Q(C, b, 64, unsigned long long);
FP_PACK_RAW_Q(c, C);
- FP_CLEAR_EXCEPTIONS;
- FP_HANDLE_EXCEPTIONS;
return c;
}
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_mul.c b/sysdeps/sparc/sparc32/soft-fp/q_mul.c
index e4845ab1f3..2fb16095c6 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_mul.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_mul.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return a * b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_neg.c b/sysdeps/sparc/sparc32/soft-fp/q_neg.c
index b5049cd6df..2fd7e9478f 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_neg.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_neg.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return !a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -24,20 +24,25 @@
long double _Q_neg(const long double a)
{
- long double c = a;
+ union {
+ long double ldbl;
+ UWtype words[4];
+ } c;
+
+ c.ldbl = a;
#if (__BYTE_ORDER == __BIG_ENDIAN)
- ((UWtype *)&c)[0] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
+ c.words[0] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 64)
- ((UWtype *)&c)[1] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
+ c.words[1] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#elif (__BYTE_ORDER == __LITTLE_ENDIAN) && (W_TYPE_SIZE == 32)
- ((UWtype *)&c)[3] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
+ c.words[3] ^= (((UWtype)1) << (W_TYPE_SIZE - 1));
#else
FP_DECL_Q(A); FP_DECL_Q(C);
FP_UNPACK_RAW_Q(A, a);
FP_NEG_Q(C, A);
- FP_PACK_RAW_Q(c, C);
+ FP_PACK_RAW_Q(c.ldbl, C);
#endif
- return c;
+ return c.ldbl;
}
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtod.c b/sysdeps/sparc/sparc32/soft-fp/q_qtod.c
index 41527e7275..351c28b273 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtod.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtod.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (double)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtoi.c b/sysdeps/sparc/sparc32/soft-fp/q_qtoi.c
index 4f116cbc8c..967e784e58 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtoi.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtoi.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (int)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c b/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c
index 77530964f6..5d15dff9bb 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtoll.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long long)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtos.c b/sysdeps/sparc/sparc32/soft-fp/q_qtos.c
index c8c2fd89c1..bdc96d9550 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtos.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtos.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (float)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtou.c b/sysdeps/sparc/sparc32/soft-fp/q_qtou.c
index 7b75902996..65a50a6b5b 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtou.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtou.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (unsigned int)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c b/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c
index 4980de8ccf..07f50afb9a 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_qtoull.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (unsigned long long)a
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c b/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c
index 3b411ff9ac..520e468820 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_sqrt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return sqrtl(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_stoq.c b/sysdeps/sparc/sparc32/soft-fp/q_stoq.c
index bf6c5cd046..c8baa19ec7 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_stoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_stoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
c = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_sub.c b/sysdeps/sparc/sparc32/soft-fp/q_sub.c
index f186ead4d4..ca408b6bb7 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_sub.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_sub.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
c = a - b
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c b/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c
index 7512557f9a..85d1db8ca5 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -19,19 +19,17 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#define FP_NO_EXCEPTIONS
#include "soft-fp.h"
#include "quad.h"
long double _Q_ulltoq(const unsigned long long a)
{
- FP_DECL_EX;
FP_DECL_Q(C);
long double c;
unsigned long long b = a;
FP_FROM_INT_Q(C, b, 64, unsigned long long);
FP_PACK_RAW_Q(c, C);
- FP_CLEAR_EXCEPTIONS;
- FP_HANDLE_EXCEPTIONS;
return c;
}
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_util.c b/sysdeps/sparc/sparc32/soft-fp/q_util.c
index eb9b6259bb..39fcaed657 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_util.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_util.c
@@ -1,7 +1,7 @@
/* Software floating-point emulation.
Helper routine for _Q_* routines.
Simulate exceptions using double arithmetics.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc32/soft-fp/q_utoq.c b/sysdeps/sparc/sparc32/soft-fp/q_utoq.c
index 0fb645c5de..81ab91b465 100644
--- a/sysdeps/sparc/sparc32/soft-fp/q_utoq.c
+++ b/sysdeps/sparc/sparc32/soft-fp/q_utoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
c = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -19,19 +19,17 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#define FP_NO_EXCEPTIONS
#include "soft-fp.h"
#include "quad.h"
long double _Q_utoq(const unsigned int a)
{
- FP_DECL_EX;
FP_DECL_Q(C);
long double c;
unsigned int b = a;
FP_FROM_INT_Q(C, b, 32, unsigned int);
FP_PACK_RAW_Q(c, C);
- FP_CLEAR_EXCEPTIONS;
- FP_HANDLE_EXCEPTIONS;
return c;
}
diff --git a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
index 025b3ab196..19b471d6a9 100644
--- a/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
+++ b/sysdeps/sparc/sparc32/soft-fp/sfp-machine.h
@@ -1,6 +1,6 @@
/* Machine-dependent software floating-point definitions.
Sparc userland (_Q_*) version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz) and
@@ -185,6 +185,8 @@
#define FP_EX_DIVZERO (1 << 1)
#define FP_EX_INEXACT (1 << 0)
+#define _FP_TININESS_AFTER_ROUNDING 0
+
#define _FP_DECL_EX \
fpu_control_t _fcw __attribute__ ((unused)) = (FP_RND_NEAREST << 30)
diff --git a/sysdeps/sparc/sparc32/sparcv8/addmul_1.S b/sysdeps/sparc/sparc32/sparcv8/addmul_1.S
index bb81915397..8b0fc3da64 100644
--- a/sysdeps/sparc/sparc32/sparcv8/addmul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv8/addmul_1.S
@@ -1,7 +1,7 @@
! SPARC v8 __mpn_addmul_1 -- Multiply a limb vector with a limb and
! add the result to a second limb vector.
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
! This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc32/sparcv8/mul_1.S b/sysdeps/sparc/sparc32/sparcv8/mul_1.S
index 4532eb1789..1a98338b50 100644
--- a/sysdeps/sparc/sparc32/sparcv8/mul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv8/mul_1.S
@@ -1,7 +1,7 @@
! SPARC v8 __mpn_mul_1 -- Multiply a limb vector with a single limb and
! store the product in a second limb vector.
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
! This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc32/sparcv8/submul_1.S b/sysdeps/sparc/sparc32/sparcv8/submul_1.S
index 7f3b0492d8..da72e60745 100644
--- a/sysdeps/sparc/sparc32/sparcv8/submul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv8/submul_1.S
@@ -1,7 +1,7 @@
! SPARC v8 __mpn_submul_1 -- Multiply a limb vector with a limb and
! subtract the result from a second limb vector.
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
! This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc32/sparcv9/Makefile b/sysdeps/sparc/sparc32/sparcv9/Makefile
index 7d475b0897..fefc742478 100644
--- a/sysdeps/sparc/sparc32/sparcv9/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/Makefile
@@ -1,10 +1,5 @@
sysdep-CFLAGS += -mcpu=ultrasparc -Wa,-Av9a
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
ifeq ($(have-as-vis3),yes)
ASFLAGS-.o += -Wa,-Av9d
ASFLAGS-.os += -Wa,-Av9d
@@ -18,3 +13,12 @@ ASFLAGS-.op += -Wa,-Av9a
ASFLAGS-.og += -Wa,-Av9a
ASFLAGS-.oS += -Wa,-Av9a
endif
+
+# nscd uses atomic_spin_nop which in turn requires cpu_relax
+ifeq ($(subdir),nscd)
+routines += cpu_relax
+endif
+
+ifeq ($(subdir), nptl)
+libpthread-routines += cpu_relax
+endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/addmul_1.S b/sysdeps/sparc/sparc32/sparcv9/addmul_1.S
index a96a9a2db7..ad8623e0dc 100644
--- a/sysdeps/sparc/sparc32/sparcv9/addmul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv9/addmul_1.S
@@ -1,7 +1,7 @@
! SPARC v9 32-bit __mpn_addmul_1 -- Multiply a limb vector with a limb
! and add the result to a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h b/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
index 4835019202..0ff5dcd69d 100644
--- a/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
+++ b/sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
@@ -1,5 +1,5 @@
/* Atomic operations. sparcv9 version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@@ -44,6 +44,9 @@ typedef uintptr_t uatomicptr_t;
typedef intmax_t atomic_max_t;
typedef uintmax_t uatomic_max_t;
+#define __HAVE_64B_ATOMICS 0
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
(abort (), (__typeof (*mem)) 0)
@@ -96,4 +99,7 @@ typedef uintmax_t uatomic_max_t;
#define atomic_read_barrier() \
__asm __volatile ("membar #LoadLoad | #LoadStore" : : : "memory")
#define atomic_write_barrier() \
- __asm __volatile ("membar #StoreLoad | #StoreStore" : : : "memory")
+ __asm __volatile ("membar #LoadStore | #StoreStore" : : : "memory")
+
+extern void __cpu_relax (void);
+#define atomic_spin_nop() __cpu_relax ()
diff --git a/sysdeps/sparc/sparc32/sparcv9/cpu_relax.S b/sysdeps/sparc/sparc32/sparcv9/cpu_relax.S
new file mode 100644
index 0000000000..41a5e72b25
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/cpu_relax.S
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/cpu_relax.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S
index 98b5f59bf6..f9624507b7 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis2.S
@@ -1,5 +1,5 @@
/* ceil function, sparc32 v9 vis2 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S
index 7759736e3f..fe9be20aa1 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil-vis3.S
@@ -1,5 +1,5 @@
/* ceil function, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S
index f51a083c99..3beee4fc26 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis2.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc32 v9 vis2 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S
index 46023a1218..c85ec0c63c 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf-vis3.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S
index ac6843cfb7..ea3a8db114 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign-vis3.S
@@ -1,5 +1,5 @@
/* copysign function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S
index e738c83499..ecb889d25a 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf-vis3.S
@@ -1,5 +1,5 @@
/* float copysign function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S
index 7a32b6962d..b47c31a384 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs-vis3.S
@@ -1,5 +1,5 @@
/* Float absolute value, sparc32+v9 vis3 version.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S
index a5ec9299df..15ffcf96a1 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf-vis3.S
@@ -1,5 +1,5 @@
/* Float absolute value, sparc32 vis3 version.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2006.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
index 3a90730ab5..936017ac5b 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim-vis3.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit+v9+vis3.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
index 04ba613f2d..c236548785 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf-vis3.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit+v9+vis3.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S
index 7b3f954132..8cc2b29978 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis2.S
@@ -1,5 +1,5 @@
/* floor function, sparc32 v9 vis2 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
index 20b41a7841..f2c83f6667 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S
@@ -1,5 +1,5 @@
/* floor function, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S
index 6040164dc2..b7cb081e2f 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis2.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc32 v9 vis2 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S
index 66fa964f25..ecfee15e85 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf-vis3.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S
index a168f25f6f..998965bbbc 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma-vis3.S
@@ -1,5 +1,5 @@
/* fma function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S
index e356723600..70e18accfa 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf-vis3.S
@@ -1,5 +1,5 @@
/* fmaf function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S
index 7dc6b3113e..3ceeb8d7b6 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax-vis3.S
@@ -1,5 +1,5 @@
/* fmax function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S
index 0488c5bebd..50f22c8080 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf-vis3.S
@@ -1,5 +1,5 @@
/* fmaxf function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S
index 719a82617d..7fc4e1c5f2 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin-vis3.S
@@ -1,5 +1,5 @@
/* fmin function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S
index 9f8d1c5e83..1c6bb4a25f 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf-vis3.S
@@ -1,5 +1,5 @@
/* fminf function, sparc32 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S
index 09140b8701..ddb75f8e20 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint-vis3.S
@@ -1,5 +1,5 @@
/* llrint(), sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S
index 2f6c5719fd..670037c534 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf-vis3.S
@@ -1,5 +1,5 @@
/* llrintf(), sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
index 07548c3a1f..bad595f2f2 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc32 v9 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
index c69df92c35..ce93969533 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc32 v9 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S
index f6e431c923..c57308ae22 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint-vis3.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S
index ec79df65aa..fd0f9ac4bb 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf-vis3.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S
index d66e847afb..36d57fdc66 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_trunc-vis3.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc32 v9 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S
index c4f0c7a12e..1c7769d30a 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_truncf-vis3.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc32 v9 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S
index 6fe920f68a..b675f6a606 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt-vis3.S
@@ -1,5 +1,5 @@
/* sqrt function. sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S
index f0affc44e9..11f1b29ece 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf-vis3.S
@@ -1,5 +1,5 @@
/* sqrtf function. sparc32 v9 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
index 6eafb51681..32b1ac6352 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
@@ -1,5 +1,5 @@
/* ceil function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S
index 9673664493..dcfeefebab 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceilf.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S
index a3b44804ed..df8eb8ef83 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S
@@ -1,5 +1,5 @@
/* Float absolute value, sparc32+v9 version.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
index 51535d9331..8aaeb1ab5d 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdim.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit+v9.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
index fab345c62a..d5e244934a 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fdimf.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 32-bit+v9.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
index f3dd4e4d46..140706ced3 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
@@ -1,5 +1,5 @@
/* floor function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S
index f9922781c2..5f2d4af59a 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floorf.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
index 1928c78012..f5fec80c5b 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
@@ -1,5 +1,5 @@
/* fmax function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S
index 8325b09e40..fa9b4fba10 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmaxf.S
@@ -1,5 +1,5 @@
/* fmaxf function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
index 17b89aac23..0fad72367b 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
@@ -1,5 +1,5 @@
/* fmin function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S
index 5830ce4ef4..d59e175f7d 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fminf.S
@@ -1,5 +1,5 @@
/* fminf function, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
index f2e40b1249..941e7c8be2 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
@@ -1,5 +1,5 @@
/* isnan(). sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -32,7 +32,7 @@ END (__isnan)
hidden_def (__isnan)
weak_alias (__isnan, isnan)
-#ifndef IS_IN_libm
+#if !IS_IN (libm)
# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0);
compat_symbol (libc, isnan, isnanl, GLIBC_2_0);
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
index fda7efc429..e079a69610 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
@@ -1,5 +1,5 @@
/* llrint(), sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
index 66e153e960..289b85f608 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
@@ -1,5 +1,5 @@
/* llrintf(), sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
index 0336660cdc..2aa6b196f8 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
@@ -1,5 +1,5 @@
/* lrint(), sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
index 3b48cc4359..fbf9cf1e98 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
@@ -1,5 +1,5 @@
/* lrintf(), sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S
index 4904878aca..6be01a4f65 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc32 v9 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
index aec04a0218..4b77241e4e 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc32 v9 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
index e7db7989ca..7f535defc5 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
index 008ac26f6b..757ce1aeed 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S
index 5cb70ee743..ee0af47a09 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_trunc.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc32 v9 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S
index 8f34d182c8..cc751878c7 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_truncf.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc32 v9 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S b/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S
index abfd5df765..44b6b26089 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrt.S
@@ -1,5 +1,5 @@
/* sqrt function. sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S
index cc38b5777d..6232289915 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/w_sqrtf.S
@@ -1,5 +1,5 @@
/* sqrtf function. sparc32 v9 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc32/sparcv9/hp-timing.h b/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
index fd7e76ecae..f0c39204ed 100644
--- a/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
+++ b/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparcv9 version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@redhat.com>, 2001.
@@ -20,67 +20,17 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include <string.h>
-#include <sys/param.h>
-#include <_itoa.h>
-
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
#define HP_TIMING_INLINE (1)
typedef unsigned long long int hp_timing_t;
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
#define HP_TIMING_NOW(Var) \
__asm__ __volatile__ ("rd %%tick, %L0\n\t" \
"srlx %L0, 32, %H0" \
: "=r" (Var))
-#define HP_TIMING_DIFF_INIT() \
- do { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } while (0)
-
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-#define HP_TIMING_ACCUM(Sum, Diff) \
-do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- __asm__ __volatile__("srl %L0, 0, %%g1\n\t" \
- "sllx %H0, 32, %%g6\n\t" \
- "or %%g1, %%g6, %%g1\n\t" \
- "1: ldx [%1], %%g5\n\t" \
- "add %%g5, %%g1, %%g6\n\t" \
- "casx [%1], %%g5, %%g6\n\t" \
- "cmp %%g5, %%g6\n\t" \
- "bne,pn %%xcc, 1b\n\t" \
- " nop" \
- : /* no outputs */ \
- : "r" (__diff), "r" (&(Sum)) \
- : "memory", "g1", "g5", "g6"); \
-} while(0)
-
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include <hp-timing-common.h>
#endif /* hp-timing.h */
diff --git a/sysdeps/sparc/sparc32/sparcv9/mul_1.S b/sysdeps/sparc/sparc32/sparcv9/mul_1.S
index 992d61b052..8de1afd5b7 100644
--- a/sysdeps/sparc/sparc32/sparcv9/mul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv9/mul_1.S
@@ -1,7 +1,7 @@
! SPARC v9 32-bit __mpn_mul_1 -- Multiply a limb vector with a single
! limb and store the product in a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc32/sparcv9/pthread_barrier_wait.c b/sysdeps/sparc/sparc32/sparcv9/pthread_barrier_wait.c
new file mode 100644
index 0000000000..8336f5e00c
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/pthread_barrier_wait.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/nptl/pthread_barrier_wait.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c
new file mode 100644
index 0000000000..1eede86abd
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/pthread_spin_init.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S
new file mode 100644
index 0000000000..ce53dfa396
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/pthread_spin_lock.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S
new file mode 100644
index 0000000000..ffd632da0a
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/pthread_spin_trylock.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S
new file mode 100644
index 0000000000..983c80377a
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/pthread_spin_unlock.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_init.c b/sysdeps/sparc/sparc32/sparcv9/sem_init.c
new file mode 100644
index 0000000000..c90d1b599a
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/sem_init.c
@@ -0,0 +1 @@
+#include <nptl/sem_init.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_open.c b/sysdeps/sparc/sparc32/sparcv9/sem_open.c
new file mode 100644
index 0000000000..bff2d2db6a
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/sem_open.c
@@ -0,0 +1 @@
+#include <nptl/sem_open.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_post.c b/sysdeps/sparc/sparc32/sparcv9/sem_post.c
new file mode 100644
index 0000000000..6a2813caee
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/sem_post.c
@@ -0,0 +1 @@
+#include <nptl/sem_post.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_wait.c b/sysdeps/sparc/sparc32/sparcv9/sem_wait.c
new file mode 100644
index 0000000000..bccdaed92e
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/sem_wait.c
@@ -0,0 +1 @@
+#include <nptl/sem_wait.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_waitcommon.c b/sysdeps/sparc/sparc32/sparcv9/sem_waitcommon.c
new file mode 100644
index 0000000000..d4a139572b
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/sem_waitcommon.c
@@ -0,0 +1 @@
+#include <nptl/sem_waitcommon.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/submul_1.S b/sysdeps/sparc/sparc32/sparcv9/submul_1.S
index afd9a3b24c..688383f5dc 100644
--- a/sysdeps/sparc/sparc32/sparcv9/submul_1.S
+++ b/sysdeps/sparc/sparc32/sparcv9/submul_1.S
@@ -1,7 +1,7 @@
! SPARC v9 32-bit __mpn_submul_1 -- Multiply a limb vector with a limb
! and subtract the result from a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
index 5c5490c8d6..a3a09ba7b4 100644
--- a/sysdeps/sparc/sparc32/start.S
+++ b/sysdeps/sparc/sparc32/start.S
@@ -1,5 +1,5 @@
/* Startup code for elf32-sparc
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
diff --git a/sysdeps/sparc/sparc32/stpcpy.S b/sysdeps/sparc/sparc32/stpcpy.S
index c7e649d507..ac5a814cfd 100644
--- a/sysdeps/sparc/sparc32/stpcpy.S
+++ b/sysdeps/sparc/sparc32/stpcpy.S
@@ -1,6 +1,6 @@
/* Copy SRC to DEST returning the address of the terminating '\0' in DEST.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc32/strcat.S b/sysdeps/sparc/sparc32/strcat.S
index aef7a908c6..fafd9db152 100644
--- a/sysdeps/sparc/sparc32/strcat.S
+++ b/sysdeps/sparc/sparc32/strcat.S
@@ -1,6 +1,6 @@
/* strcat (dest, src) -- Append SRC on the end of DEST.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc32/strchr.S b/sysdeps/sparc/sparc32/strchr.S
index a8467f9d82..742a7ae82b 100644
--- a/sysdeps/sparc/sparc32/strchr.S
+++ b/sysdeps/sparc/sparc32/strchr.S
@@ -1,6 +1,6 @@
/* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
David S. Miller <davem@caip.rutgers.edu>.
diff --git a/sysdeps/sparc/sparc32/strcmp.S b/sysdeps/sparc/sparc32/strcmp.S
index 8373f45aba..765daed26c 100644
--- a/sysdeps/sparc/sparc32/strcmp.S
+++ b/sysdeps/sparc/sparc32/strcmp.S
@@ -1,6 +1,6 @@
/* Compare two strings for differences.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc32/strcpy.S b/sysdeps/sparc/sparc32/strcpy.S
index 3cd2395fba..3be45725d7 100644
--- a/sysdeps/sparc/sparc32/strcpy.S
+++ b/sysdeps/sparc/sparc32/strcpy.S
@@ -1,6 +1,6 @@
/* Copy SRC to DEST returning DEST.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc32/strlen.S b/sysdeps/sparc/sparc32/strlen.S
index 75a246072f..908b7e794c 100644
--- a/sysdeps/sparc/sparc32/strlen.S
+++ b/sysdeps/sparc/sparc32/strlen.S
@@ -1,6 +1,6 @@
/* Determine the length of a string.
For SPARC v7.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc32/sub_n.S b/sysdeps/sparc/sparc32/sub_n.S
index c9895368b7..9229302931 100644
--- a/sysdeps/sparc/sparc32/sub_n.S
+++ b/sysdeps/sparc/sparc32/sub_n.S
@@ -1,7 +1,7 @@
! SPARC __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
! store difference in a third limb vector.
!
-! Copyright (C) 1995-2014 Free Software Foundation, Inc.
+! Copyright (C) 1995-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/submul_1.S b/sysdeps/sparc/sparc32/submul_1.S
index 24812a9269..2610173a72 100644
--- a/sysdeps/sparc/sparc32/submul_1.S
+++ b/sysdeps/sparc/sparc32/submul_1.S
@@ -1,7 +1,7 @@
! SPARC __mpn_submul_1 -- Multiply a limb vector with a limb and subtract
! the result from a second limb vector.
!
-! Copyright (C) 1992-2014 Free Software Foundation, Inc.
+! Copyright (C) 1992-2015 Free Software Foundation, Inc.
!
! This file is part of the GNU MP Library.
!
diff --git a/sysdeps/sparc/sparc32/tst-audit.h b/sysdeps/sparc/sparc32/tst-audit.h
index e95838326d..fdcaa0e61c 100644
--- a/sysdeps/sparc/sparc32/tst-audit.h
+++ b/sysdeps/sparc/sparc32/tst-audit.h
@@ -1,6 +1,6 @@
/* Definitions for testing PLT entry/exit auditing. SPARC32 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/Makefile b/sysdeps/sparc/sparc64/Makefile
index fb161ea13f..3a12510307 100644
--- a/sysdeps/sparc/sparc64/Makefile
+++ b/sysdeps/sparc/sparc64/Makefile
@@ -1,8 +1,3 @@
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
ifeq ($(subdir),string)
sysdep_routines += align-cpy
endif
@@ -14,3 +9,12 @@ ASFLAGS-.op += -Wa,-Av9d
ASFLAGS-.og += -Wa,-Av9d
ASFLAGS-.oS += -Wa,-Av9d
endif
+
+# nscd uses atomic_spin_nop which in turn requires cpu_relax
+ifeq ($(subdir),nscd)
+routines += cpu_relax
+endif
+
+ifeq ($(subdir),nptl)
+libpthread-routines += cpu_relax
+endif
diff --git a/sysdeps/sparc/sparc64/add_n.S b/sysdeps/sparc/sparc64/add_n.S
index 2207777fd4..4e74683c16 100644
--- a/sysdeps/sparc/sparc64/add_n.S
+++ b/sysdeps/sparc/sparc64/add_n.S
@@ -1,7 +1,7 @@
/* SPARC v9 __mpn_add_n -- Add two limb vectors of the same length > 0 and
store sum in a third limb vector.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/addmul_1.S b/sysdeps/sparc/sparc64/addmul_1.S
index b74b41da8e..f388404560 100644
--- a/sysdeps/sparc/sparc64/addmul_1.S
+++ b/sysdeps/sparc/sparc64/addmul_1.S
@@ -1,7 +1,7 @@
/* SPARC v9 __mpn_addmul_1 -- Multiply a limb vector with a single limb and
add the product to a second limb vector.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/align-cpy.S b/sysdeps/sparc/sparc64/align-cpy.S
index b893fb2e20..ce9b25cb2c 100644
--- a/sysdeps/sparc/sparc64/align-cpy.S
+++ b/sysdeps/sparc/sparc64/align-cpy.S
@@ -1,6 +1,6 @@
/* Aligned copy routines specified by Sparc V9 ABI.
For 64-bit sparc.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
diff --git a/sysdeps/sparc/sparc64/bits/atomic.h b/sysdeps/sparc/sparc64/bits/atomic.h
index ad9dae1d0f..79f4a1d9be 100644
--- a/sysdeps/sparc/sparc64/bits/atomic.h
+++ b/sysdeps/sparc/sparc64/bits/atomic.h
@@ -1,5 +1,5 @@
/* Atomic operations. sparc64 version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
+ Copyright (C) 2003-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@@ -44,6 +44,9 @@ typedef uintptr_t uatomicptr_t;
typedef intmax_t atomic_max_t;
typedef uintmax_t uatomic_max_t;
+#define __HAVE_64B_ATOMICS 1
+#define USE_ATOMIC_COMPILER_BUILTINS 0
+
#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
(abort (), (__typeof (*mem)) 0)
@@ -117,4 +120,7 @@ typedef uintmax_t uatomic_max_t;
#define atomic_read_barrier() \
__asm __volatile ("membar #LoadLoad | #LoadStore" : : : "memory")
#define atomic_write_barrier() \
- __asm __volatile ("membar #StoreLoad | #StoreStore" : : : "memory")
+ __asm __volatile ("membar #LoadStore | #StoreStore" : : : "memory")
+
+extern void __cpu_relax (void);
+#define atomic_spin_nop() __cpu_relax ()
diff --git a/sysdeps/sparc/sparc64/cpu_relax.S b/sysdeps/sparc/sparc64/cpu_relax.S
new file mode 100644
index 0000000000..6ceec21ac3
--- /dev/null
+++ b/sysdeps/sparc/sparc64/cpu_relax.S
@@ -0,0 +1,67 @@
+/* CPU strand yielding for busy loops.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ Contributed by David S. Miller (davem@davemloft.net)
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+
+ .text
+__cpu_relax_generic:
+ rd %ccr, %g0
+ rd %ccr, %g0
+ rd %ccr, %g0
+ retl
+ nop
+ .size __cpu_relax_generic,.-__cpu_relax_generic
+
+__cpu_relax_pause:
+ wr %g0, 128, %asr27
+ retl
+ nop
+ .size __cpu_relax_pause,.-__cpu_relax_pause
+
+ENTRY(__cpu_relax)
+ .type __cpu_relax, @gnu_indirect_function
+# ifdef SHARED
+ SETUP_PIC_REG_LEAF(o3, o5)
+# endif
+ set HWCAP_SPARC_PAUSE, %o1
+ andcc %o0, %o1, %g0
+ be 1f
+ nop
+# ifdef SHARED
+ sethi %gdop_hix22(__cpu_relax_pause), %o1
+ xor %o1, %gdop_lox10(__cpu_relax_pause), %o1
+# else
+ set __cpu_relax_pause, %o1
+# endif
+ ba 10f
+ nop
+1:
+# ifdef SHARED
+ sethi %gdop_hix22(__cpu_relax_generic), %o1
+ xor %o1, %gdop_lox10(__cpu_relax_generic), %o1
+# else
+ set __cpu_relax_generic, %o1
+# endif
+10:
+# ifdef SHARED
+ add %o3, %o1, %o1
+# endif
+ retl
+ mov %o1, %o0
+END(__cpu_relax)
diff --git a/sysdeps/sparc/sparc64/dl-irel.h b/sysdeps/sparc/sparc64/dl-irel.h
index 85b36cd066..18d3aed5f0 100644
--- a/sysdeps/sparc/sparc64/dl-irel.h
+++ b/sysdeps/sparc/sparc64/dl-irel.h
@@ -1,6 +1,6 @@
/* Machine-dependent ELF indirect relocation inline functions.
SPARC 64-bit version.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -40,13 +40,13 @@ elf_irela (const Elf64_Rela *reloc)
{
unsigned int r_type = (reloc->r_info & 0xff);
- if (__builtin_expect (r_type == R_SPARC_IRELATIVE, 1))
+ if (__glibc_likely (r_type == R_SPARC_IRELATIVE))
{
Elf64_Addr *const reloc_addr = (void *) reloc->r_offset;
Elf64_Addr value = elf_ifunc_invoke(reloc->r_addend);
*reloc_addr = value;
}
- else if (__builtin_expect (r_type == R_SPARC_JMP_IREL, 1))
+ else if (__glibc_likely (r_type == R_SPARC_JMP_IREL))
{
Elf64_Addr *const reloc_addr = (void *) reloc->r_offset;
Elf64_Addr value = elf_ifunc_invoke(reloc->r_addend);
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index b285402257..9630d4b2e5 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. Sparc64 version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -106,7 +106,7 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
PLT entries should not be allowed to define the value.
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
+ ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one
of the main executable's symbols, as for a COPY reloc. */
#define elf_machine_type_class(type) \
((((type) == R_SPARC_JMP_SLOT \
@@ -119,6 +119,7 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
/* The SPARC never uses Elf64_Rel relocations. */
#define ELF_MACHINE_NO_REL 1
+#define ELF_MACHINE_NO_RELA 0
/* Set up the loaded object described by L so its unrelocated PLT
entries will jump to the on-demand fixup code in dl-runtime.c. */
@@ -332,7 +333,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
" add %o3, 8, %o3\n" \
" mov %i5, %o1\n" \
" add %o2, %o3, %o3\n" \
-" call _dl_init_internal\n" \
+" call _dl_init\n" \
" ldx [%o0], %o0\n" \
" /* Pass our finalizer function to the user in %g1. */\n" \
RTLD_GOT_ADDRESS(%l7, %g1, _dl_fini) \
@@ -377,17 +378,17 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
weak_extern (_dl_rtld_map);
#endif
- if (__builtin_expect (r_type == R_SPARC_NONE, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_NONE))
return;
- if (__builtin_expect (r_type == R_SPARC_SIZE64, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_SIZE64))
{
*reloc_addr = sym->st_size + reloc->r_addend;
return;
}
#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
- if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
+ if (__glibc_unlikely (r_type == R_SPARC_RELATIVE))
{
# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
if (map != &_dl_rtld_map) /* Already done in rtld itself. */
@@ -652,13 +653,13 @@ elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
const unsigned int r_type = ELF64_R_TYPE (reloc->r_info);
- if (__builtin_expect (r_type == R_SPARC_JMP_SLOT, 1))
+ if (__glibc_likely (r_type == R_SPARC_JMP_SLOT))
;
else if (r_type == R_SPARC_JMP_IREL
|| r_type == R_SPARC_IRELATIVE)
{
Elf64_Addr value = map->l_addr + reloc->r_addend;
- if (__builtin_expect (!skip_ifunc, 1))
+ if (__glibc_likely (!skip_ifunc))
value = ((Elf64_Addr (*) (int)) value) (GLRO(dl_hwcap));
if (r_type == R_SPARC_JMP_IREL)
{
diff --git a/sysdeps/sparc/sparc64/dl-plt.h b/sysdeps/sparc/sparc64/dl-plt.h
index be1927b303..6b1c37ca2d 100644
--- a/sysdeps/sparc/sparc64/dl-plt.h
+++ b/sysdeps/sparc/sparc64/dl-plt.h
@@ -1,5 +1,5 @@
/* PLT fixups. Sparc 64-bit version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -115,7 +115,7 @@ sparc64_fixup_plt (struct link_map *map, const Elf64_Rela *reloc,
/* ??? Some tricks can be stolen from the sparc64 egcs backend
constant formation code I wrote. -DaveM */
- if (__builtin_expect (high32 & 0x3ff, 0))
+ if (__glibc_unlikely (high32 & 0x3ff))
{
/* sethi %hh(value), %g1
sethi %lm(value), %g5
diff --git a/sysdeps/sparc/sparc64/dl-trampoline.S b/sysdeps/sparc/sparc64/dl-trampoline.S
index c57b0faace..4a49c2512a 100644
--- a/sysdeps/sparc/sparc64/dl-trampoline.S
+++ b/sysdeps/sparc/sparc64/dl-trampoline.S
@@ -1,5 +1,5 @@
/* PLT trampolines. Sparc 64-bit version.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c b/sysdeps/sparc/sparc64/fpu/e_sqrtl.c
index 5d6cf0396c..9303579274 100644
--- a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c
+++ b/sysdeps/sparc/sparc64/fpu/e_sqrtl.c
@@ -1,5 +1,5 @@
/* Long double square root, sparc64 version.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S
index cb9904d57b..dae10caf87 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis2.S
@@ -1,5 +1,5 @@
/* ceil function, sparc64 vis2 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S
index a3e4850d2b..4fc43e24d4 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceil-vis3.S
@@ -1,5 +1,5 @@
/* ceil function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S
index 676d54a7cd..6975b03ce5 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis2.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc64 vis2 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S
index 6a81bead3b..d76e47116d 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf-vis3.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S
index 23b70707f2..e629034235 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite-vis3.S
@@ -1,5 +1,5 @@
/* finite(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S
index f22ad38183..1cb90f4f8b 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_finitef-vis3.S
@@ -1,5 +1,5 @@
/* finitef(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S
index 9bfefb3ef8..adb7adb561 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis2.S
@@ -1,5 +1,5 @@
/* floor function, sparc64 vis2 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S
index 57c4f3b438..cfb64a921f 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_floor-vis3.S
@@ -1,5 +1,5 @@
/* floor function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S
index d968561df2..acb463fd87 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis2.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc64 vis2 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S
index e21fc678e8..23ceab5984 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf-vis3.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S
index f53777a874..97f585d4d9 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fma-vis3.S
@@ -1,5 +1,5 @@
/* fma function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S
index bd4bfb224b..e4929d9c9d 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf-vis3.S
@@ -1,5 +1,5 @@
/* fmaf function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S
index b96f377c13..2915af88bc 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmax-vis3.S
@@ -1,5 +1,5 @@
/* fmax function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S
index cc45638169..60daade57e 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf-vis3.S
@@ -1,5 +1,5 @@
/* fmaxf function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S
index c86469006f..9c042b31ae 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmin-vis3.S
@@ -1,5 +1,5 @@
/* fmin function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S
index faa04cfa0a..07f8394db7 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fminf-vis3.S
@@ -1,5 +1,5 @@
/* fminf function, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S
index 33c6ae69e4..7c7692f517 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinf-vis3.S
@@ -1,5 +1,5 @@
/* isinf(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S
index 0442795af2..876814b0c5 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_isinff-vis3.S
@@ -1,5 +1,5 @@
/* isinff(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S
index 6aaaa045fd..86c080e65e 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnan-vis3.S
@@ -1,5 +1,5 @@
/* isnan(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S
index aeec8602ad..f091eeb071 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf-vis3.S
@@ -1,5 +1,5 @@
/* isnanf(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S
index f785bb1fff..0b890210a7 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrint-vis3.S
@@ -1,5 +1,5 @@
/* lrint(), sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S
index 62520afdb5..ac2550ba7f 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf-vis3.S
@@ -1,5 +1,5 @@
/* lrintf(), sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S
index 045688f455..22b5c802ca 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc64 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S
index ef0bd7afff..616a4747b9 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc64 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S
index 437204e06c..b1887cbe56 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_rint-vis3.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S
index d033c23b86..8b76a00eae 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf-vis3.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S
index b39b62a639..5c4929423c 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit-vis3.S
@@ -1,5 +1,5 @@
/* signbit(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S
index 14a1adbf24..2115a3c7c0 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf-vis3.S
@@ -1,5 +1,5 @@
/* signbitf(). sparc64 vis3 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S
index dd42bacdf7..74b3ebc468 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_trunc-vis3.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc64 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S
index c86a740887..91ab4f687c 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf-vis3.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc64 vis3 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/s_ceil.S b/sysdeps/sparc/sparc64/fpu/s_ceil.S
index ab17b00752..574b47e09f 100644
--- a/sysdeps/sparc/sparc64/fpu/s_ceil.S
+++ b/sysdeps/sparc/sparc64/fpu/s_ceil.S
@@ -1,5 +1,5 @@
/* ceil function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_ceilf.S b/sysdeps/sparc/sparc64/fpu/s_ceilf.S
index 21d89b35f8..edf19ad441 100644
--- a/sysdeps/sparc/sparc64/fpu/s_ceilf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_ceilf.S
@@ -1,5 +1,5 @@
/* Float ceil function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysign.S b/sysdeps/sparc/sparc64/fpu/s_copysign.S
index 8192416ecf..f1c1710290 100644
--- a/sysdeps/sparc/sparc64/fpu/s_copysign.S
+++ b/sysdeps/sparc/sparc64/fpu/s_copysign.S
@@ -1,5 +1,5 @@
/* copysign function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysignf.S b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
index c79c33c985..1b61e6e024 100644
--- a/sysdeps/sparc/sparc64/fpu/s_copysignf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
@@ -1,5 +1,5 @@
/* float copysign function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fdim.S b/sysdeps/sparc/sparc64/fpu/s_fdim.S
index 99025bd139..28f77914e3 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fdim.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fdim.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 64-bit.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fdimf.S b/sysdeps/sparc/sparc64/fpu/s_fdimf.S
index f29251aace..7fb5cf2937 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fdimf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fdimf.S
@@ -1,5 +1,5 @@
/* Compute positive difference, sparc 64-bit.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>.
diff --git a/sysdeps/sparc/sparc64/fpu/s_finite.S b/sysdeps/sparc/sparc64/fpu/s_finite.S
index a6038008f5..1ccdc23dda 100644
--- a/sysdeps/sparc/sparc64/fpu/s_finite.S
+++ b/sysdeps/sparc/sparc64/fpu/s_finite.S
@@ -1,5 +1,5 @@
/* finite(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_finitef.S b/sysdeps/sparc/sparc64/fpu/s_finitef.S
index 0674100f1b..a4d2556e40 100644
--- a/sysdeps/sparc/sparc64/fpu/s_finitef.S
+++ b/sysdeps/sparc/sparc64/fpu/s_finitef.S
@@ -1,5 +1,5 @@
/* finitef(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_floor.S b/sysdeps/sparc/sparc64/fpu/s_floor.S
index 2a1fb52a16..cb493b4435 100644
--- a/sysdeps/sparc/sparc64/fpu/s_floor.S
+++ b/sysdeps/sparc/sparc64/fpu/s_floor.S
@@ -1,5 +1,5 @@
/* floor function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_floorf.S b/sysdeps/sparc/sparc64/fpu/s_floorf.S
index 1c737ecbbb..5c588e67b6 100644
--- a/sysdeps/sparc/sparc64/fpu/s_floorf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_floorf.S
@@ -1,5 +1,5 @@
/* Float floor function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fmax.S b/sysdeps/sparc/sparc64/fpu/s_fmax.S
index d9a1c71318..d0e6cc105b 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fmax.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fmax.S
@@ -1,5 +1,5 @@
/* fmax function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fmaxf.S b/sysdeps/sparc/sparc64/fpu/s_fmaxf.S
index df8ad85000..90eca112ea 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fmaxf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fmaxf.S
@@ -1,5 +1,5 @@
/* fmaxf function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fmin.S b/sysdeps/sparc/sparc64/fpu/s_fmin.S
index 30fdbee992..43414a5924 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fmin.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fmin.S
@@ -1,5 +1,5 @@
/* fmin function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_fminf.S b/sysdeps/sparc/sparc64/fpu/s_fminf.S
index 1231eb0df0..d7167e1435 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fminf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_fminf.S
@@ -1,5 +1,5 @@
/* fminf function, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_isinf.S b/sysdeps/sparc/sparc64/fpu/s_isinf.S
index 2e7da54078..5a6dc73a01 100644
--- a/sysdeps/sparc/sparc64/fpu/s_isinf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_isinf.S
@@ -1,5 +1,5 @@
/* isinf(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_isinff.S b/sysdeps/sparc/sparc64/fpu/s_isinff.S
index cfe451c92c..88ac33905d 100644
--- a/sysdeps/sparc/sparc64/fpu/s_isinff.S
+++ b/sysdeps/sparc/sparc64/fpu/s_isinff.S
@@ -1,5 +1,5 @@
/* isinff(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_isnan.S b/sysdeps/sparc/sparc64/fpu/s_isnan.S
index 9fedc43c1d..083fc716bd 100644
--- a/sysdeps/sparc/sparc64/fpu/s_isnan.S
+++ b/sysdeps/sparc/sparc64/fpu/s_isnan.S
@@ -1,5 +1,5 @@
/* isnan(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_isnanf.S b/sysdeps/sparc/sparc64/fpu/s_isnanf.S
index 6870a2c3b2..f934194b38 100644
--- a/sysdeps/sparc/sparc64/fpu/s_isnanf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_isnanf.S
@@ -1,5 +1,5 @@
/* isnanf(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_lrint.S b/sysdeps/sparc/sparc64/fpu/s_lrint.S
index 4154f51528..9a159d1c1e 100644
--- a/sysdeps/sparc/sparc64/fpu/s_lrint.S
+++ b/sysdeps/sparc/sparc64/fpu/s_lrint.S
@@ -1,5 +1,5 @@
/* lrint(), sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_lrintf.S b/sysdeps/sparc/sparc64/fpu/s_lrintf.S
index 3a9e8db67d..b8d1b65b36 100644
--- a/sysdeps/sparc/sparc64/fpu/s_lrintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_lrintf.S
@@ -1,5 +1,5 @@
/* lrintf(), sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
index 3b8e102a8f..aebf3decd7 100644
--- a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
+++ b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc64 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
index 34d4a5a5ac..e40a477532 100644
--- a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc64 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/s_rint.S b/sysdeps/sparc/sparc64/fpu/s_rint.S
index 4a2279881d..d5c99dd46a 100644
--- a/sysdeps/sparc/sparc64/fpu/s_rint.S
+++ b/sysdeps/sparc/sparc64/fpu/s_rint.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_rintf.S b/sysdeps/sparc/sparc64/fpu/s_rintf.S
index 18a0df490e..4cdc531666 100644
--- a/sysdeps/sparc/sparc64/fpu/s_rintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_rintf.S
@@ -1,5 +1,5 @@
/* Round float to int floating-point values, sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2012.
diff --git a/sysdeps/sparc/sparc64/fpu/s_signbit.S b/sysdeps/sparc/sparc64/fpu/s_signbit.S
index efc20006c0..42180a8886 100644
--- a/sysdeps/sparc/sparc64/fpu/s_signbit.S
+++ b/sysdeps/sparc/sparc64/fpu/s_signbit.S
@@ -1,5 +1,5 @@
/* signbit(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_signbitf.S b/sysdeps/sparc/sparc64/fpu/s_signbitf.S
index 9679db3246..c0b6a97210 100644
--- a/sysdeps/sparc/sparc64/fpu/s_signbitf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_signbitf.S
@@ -1,5 +1,5 @@
/* signbitf(). sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/s_trunc.S b/sysdeps/sparc/sparc64/fpu/s_trunc.S
index 1ec473124a..3973eca48a 100644
--- a/sysdeps/sparc/sparc64/fpu/s_trunc.S
+++ b/sysdeps/sparc/sparc64/fpu/s_trunc.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc64 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/s_truncf.S b/sysdeps/sparc/sparc64/fpu/s_truncf.S
index 062e07a2c5..0138cb7614 100644
--- a/sysdeps/sparc/sparc64/fpu/s_truncf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_truncf.S
@@ -1,7 +1,7 @@
/* Truncate argument to nearest integral value not larger than
the argument, sparc64 version.
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
diff --git a/sysdeps/sparc/sparc64/fpu/w_sqrt.S b/sysdeps/sparc/sparc64/fpu/w_sqrt.S
index 4c7b259758..68c5a22641 100644
--- a/sysdeps/sparc/sparc64/fpu/w_sqrt.S
+++ b/sysdeps/sparc/sparc64/fpu/w_sqrt.S
@@ -1,5 +1,5 @@
/* sqrt function. sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/fpu/w_sqrtf.S b/sysdeps/sparc/sparc64/fpu/w_sqrtf.S
index c14a21261d..7e9502cdeb 100644
--- a/sysdeps/sparc/sparc64/fpu/w_sqrtf.S
+++ b/sysdeps/sparc/sparc64/fpu/w_sqrtf.S
@@ -1,5 +1,5 @@
/* sqrtf function. sparc64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/hp-timing.h b/sysdeps/sparc/sparc64/hp-timing.h
index fa08cc85a1..17bb111abc 100644
--- a/sysdeps/sparc/sparc64/hp-timing.h
+++ b/sysdeps/sparc/sparc64/hp-timing.h
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparc64 version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@redhat.com>, 2001.
@@ -20,62 +20,14 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include <string.h>
-#include <sys/param.h>
-#include <_itoa.h>
-
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
#define HP_TIMING_INLINE (1)
typedef unsigned long int hp_timing_t;
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("rd %%tick, %0" : "=r" (Var))
-#define HP_TIMING_DIFF_INIT() \
- do { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } while (0)
-
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-#define HP_TIMING_ACCUM(Sum, Diff) \
-do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- hp_timing_t tmp1, tmp2; \
- __asm__ __volatile__("1: ldx [%3], %0\n\t" \
- "add %0, %2, %1\n\t" \
- "casx [%3], %0, %1\n\t" \
- "cmp %0, %1\n\t" \
- "bne,pn %%xcc, 1b\n\t" \
- " nop" \
- : "=&r" (tmp1), "=&r" (tmp2) \
- : "r" (__diff), "r" (&(Sum)) \
- : "memory", "g1", "g5", "g6"); \
-} while(0)
-
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include <hp-timing-common.h>
#endif /* hp-timing.h */
diff --git a/sysdeps/sparc/sparc64/jmpbuf-unwind.h b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
index 663533375f..28a45eb6b7 100644
--- a/sysdeps/sparc/sparc64/jmpbuf-unwind.h
+++ b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2005.
diff --git a/sysdeps/sparc/sparc64/lshift.S b/sysdeps/sparc/sparc64/lshift.S
index 710d103040..8b2e8e82fc 100644
--- a/sysdeps/sparc/sparc64/lshift.S
+++ b/sysdeps/sparc/sparc64/lshift.S
@@ -1,6 +1,6 @@
/* SPARC v9 __mpn_lshift --
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/memchr.S b/sysdeps/sparc/sparc64/memchr.S
index 7c756228ad..d92bad156c 100644
--- a/sysdeps/sparc/sparc64/memchr.S
+++ b/sysdeps/sparc/sparc64/memchr.S
@@ -1,7 +1,7 @@
/* memchr (str, ch, n) -- Return pointer to first occurrence of CH in STR less
than N.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
@@ -63,7 +63,8 @@ ENTRY(__memchr)
be,pn %XCC, 12f /* CTI */
#endif
sll %o1, 8, %g3 /* IEU0 Group */
- add %o0, %o2, %o2 /* IEU1 */
+ addcc %o0, %o2, %o2 /* IEU1 */
+ movcs %XCC, -1, %o2 /* IEU0 Group */
sethi %hi(0x01010101), %g1 /* IEU0 Group */
or %g3, %o1, %g3 /* IEU1 */
diff --git a/sysdeps/sparc/sparc64/memcmp.S b/sysdeps/sparc/sparc64/memcmp.S
index 20ae4e1f0c..552307edeb 100644
--- a/sysdeps/sparc/sparc64/memcmp.S
+++ b/sysdeps/sparc/sparc64/memcmp.S
@@ -1,6 +1,6 @@
/* Compare two memory blocks for differences in the first COUNT bytes.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
@@ -51,7 +51,7 @@ ENTRY(memcmp)
2: mov %g1, %o3 /* IEU0 Group */
subcc %o2, 8, %o2 /* IEU1 */
- bl,pn %XCC, 5f /* CTI */
+ bcs,pn %XCC, 5f /* CTI */
ldxa [%o0] ASI_PNF, %g1 /* Load Group */
mov %g2, %o4 /* IEU0 */
ldxa [%o0 + %o1] ASI_PNF, %g2 /* Load Group */
@@ -125,7 +125,7 @@ ENTRY(memcmp)
ldxa [%o0] ASI_PNF, %g5 /* Load */
subcc %o2, 8, %o2 /* IEU1 Group */
- bl,pn %XCC, 6b /* CTI */
+ bcs,pn %XCC, 6b /* CTI */
or %o4, %o5, %o4 /* IEU0 */
cmp %o3, %o4 /* IEU1 Group */
diff --git a/sysdeps/sparc/sparc64/memcpy.S b/sysdeps/sparc/sparc64/memcpy.S
index 97e4b024c6..b0c22a53db 100644
--- a/sysdeps/sparc/sparc64/memcpy.S
+++ b/sysdeps/sparc/sparc64/memcpy.S
@@ -1,6 +1,6 @@
/* Copy SIZE bytes from SRC to DEST.
For UltraSPARC.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@caip.rutgers.edu) and
Jakub Jelinek (jakub@redhat.com).
diff --git a/sysdeps/sparc/sparc64/memset.S b/sysdeps/sparc/sparc64/memset.S
index 8b74576ca9..d3293fc2f8 100644
--- a/sysdeps/sparc/sparc64/memset.S
+++ b/sysdeps/sparc/sparc64/memset.S
@@ -1,6 +1,6 @@
/* Set a block of memory to some byte value.
For UltraSPARC.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@caip.rutgers.edu) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/mul_1.S b/sysdeps/sparc/sparc64/mul_1.S
index 1a2bd3f8b6..d9e01aec08 100644
--- a/sysdeps/sparc/sparc64/mul_1.S
+++ b/sysdeps/sparc/sparc64/mul_1.S
@@ -1,7 +1,7 @@
/* SPARC v9 __mpn_mul_1 -- Multiply a limb vector with a single limb and
store the product in a second limb vector.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/multiarch/add_n-vis3.S b/sysdeps/sparc/sparc64/multiarch/add_n-vis3.S
index 2fe54dfa46..65d255582a 100644
--- a/sysdeps/sparc/sparc64/multiarch/add_n-vis3.S
+++ b/sysdeps/sparc/sparc64/multiarch/add_n-vis3.S
@@ -1,7 +1,7 @@
! SPARC v9 64-bit VIS3 __mpn_add_n -- Add two limb vectors of the same length > 0 and
! store sum in a third limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc64/multiarch/add_n.S b/sysdeps/sparc/sparc64/multiarch/add_n.S
index 4305353105..1bd2a36cfe 100644
--- a/sysdeps/sparc/sparc64/multiarch/add_n.S
+++ b/sysdeps/sparc/sparc64/multiarch/add_n.S
@@ -1,6 +1,6 @@
/* Multiple versions of add_n
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/multiarch/addmul_1-vis3.S b/sysdeps/sparc/sparc64/multiarch/addmul_1-vis3.S
index 87c6eb8aaa..6b5833b8eb 100644
--- a/sysdeps/sparc/sparc64/multiarch/addmul_1-vis3.S
+++ b/sysdeps/sparc/sparc64/multiarch/addmul_1-vis3.S
@@ -1,7 +1,7 @@
! SPARC v9 64-bit VIS3 __mpn_addmul_1 -- Multiply a limb vector with a
! limb and add the result to a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc64/multiarch/addmul_1.S b/sysdeps/sparc/sparc64/multiarch/addmul_1.S
index 4f1db31aed..4ead3db421 100644
--- a/sysdeps/sparc/sparc64/multiarch/addmul_1.S
+++ b/sysdeps/sparc/sparc64/multiarch/addmul_1.S
@@ -1,6 +1,6 @@
/* Multiple versions of addmul_1
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c b/sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c
index cb6a519518..e636d138ef 100644
--- a/sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c
@@ -1,5 +1,5 @@
/* Enumerate available IFUNC implementations of a function. sparc version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sparc64/multiarch/md5-crop.S b/sysdeps/sparc/sparc64/multiarch/md5-crop.S
index 78f564f95a..0a33cc2532 100644
--- a/sysdeps/sparc/sparc64/multiarch/md5-crop.S
+++ b/sysdeps/sparc/sparc64/multiarch/md5-crop.S
@@ -1,5 +1,5 @@
/* MD5 using sparc crypto opcodes.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S
index 4b7b22d030..c946a3fffe 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S
@@ -1,5 +1,5 @@
/* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
@@ -35,7 +35,7 @@
#define XCC xcc
#endif
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2,#scratch
.register %g3,#scratch
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
index b43a9e3e53..1f4192bc68 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S
@@ -1,5 +1,5 @@
/* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara-2.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
+ Copyright (C) 2007-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
@@ -137,7 +137,7 @@
LOAD(ldd, base + 0x28, %x5); \
LOAD(ldd, base + 0x30, %x6);
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2,#scratch
.register %g3,#scratch
@@ -211,6 +211,7 @@ ENTRY(__memcpy_niagara2)
*/
VISEntryHalf
+ membar #Sync
alignaddr %o1, %g0, %g0
add %o1, (64 - 1), %o4
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S
index 63e0d8333e..ada7cf2973 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S
@@ -1,5 +1,5 @@
/* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara-4.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
@@ -46,7 +46,7 @@
#define STORE(type,src,addr) type src, [addr]
#define STORE_INIT(src,addr) stxa src, [addr] STORE_ASI
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2,#scratch
.register %g3,#scratch
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S b/sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
index ffb36468de..7db9ddb705 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
@@ -1,6 +1,6 @@
/* Copy SIZE bytes from SRC to DEST.
For UltraSPARC-III.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@redhat.com)
@@ -30,7 +30,7 @@
#define XCC xcc
#endif
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2,#scratch
.register %g3,#scratch
diff --git a/sysdeps/sparc/sparc64/multiarch/memcpy.S b/sysdeps/sparc/sparc64/multiarch/memcpy.S
index 62977a4d3c..a9efc419f8 100644
--- a/sysdeps/sparc/sparc64/multiarch/memcpy.S
+++ b/sysdeps/sparc/sparc64/multiarch/memcpy.S
@@ -1,6 +1,6 @@
/* Multiple versions of memcpy
All versions must be listed in ifunc-impl-list.c.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
@@ -20,7 +20,7 @@
#include <sysdep.h>
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.text
ENTRY(memcpy)
.type memcpy, @gnu_indirect_function
diff --git a/sysdeps/sparc/sparc64/multiarch/memset-niagara1.S b/sysdeps/sparc/sparc64/multiarch/memset-niagara1.S
index ed53522c14..3a3870b3a8 100644
--- a/sysdeps/sparc/sparc64/multiarch/memset-niagara1.S
+++ b/sysdeps/sparc/sparc64/multiarch/memset-niagara1.S
@@ -1,5 +1,5 @@
/* Set a block of memory to some byte value. For SUN4V Niagara.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
+ Copyright (C) 2006-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
@@ -28,7 +28,7 @@
#define XCC xcc
#endif
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2,#scratch
diff --git a/sysdeps/sparc/sparc64/multiarch/memset-niagara4.S b/sysdeps/sparc/sparc64/multiarch/memset-niagara4.S
index c090c50e9d..508997e906 100644
--- a/sysdeps/sparc/sparc64/multiarch/memset-niagara4.S
+++ b/sysdeps/sparc/sparc64/multiarch/memset-niagara4.S
@@ -1,5 +1,5 @@
/* Set a block of memory to some byte value. For SUN4V Niagara-4.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
@@ -21,7 +21,7 @@
#define ASI_BLK_INIT_QUAD_LDD_P 0xe2
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.register %g2, #scratch
.register %g3, #scratch
diff --git a/sysdeps/sparc/sparc64/multiarch/memset.S b/sysdeps/sparc/sparc64/multiarch/memset.S
index 96c75e0d06..45de5ab8ac 100644
--- a/sysdeps/sparc/sparc64/multiarch/memset.S
+++ b/sysdeps/sparc/sparc64/multiarch/memset.S
@@ -1,6 +1,6 @@
/* Multiple versions of memset and bzero
All versions must be listed in ifunc-impl-list.c.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ Copyright (C) 2010-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
@@ -20,7 +20,7 @@
#include <sysdep.h>
-#if !defined NOT_IN_libc
+#if IS_IN (libc)
.text
ENTRY(memset)
.type memset, @gnu_indirect_function
diff --git a/sysdeps/sparc/sparc64/multiarch/mul_1-vis3.S b/sysdeps/sparc/sparc64/multiarch/mul_1-vis3.S
index 0510e6182a..6ae7383b77 100644
--- a/sysdeps/sparc/sparc64/multiarch/mul_1-vis3.S
+++ b/sysdeps/sparc/sparc64/multiarch/mul_1-vis3.S
@@ -1,7 +1,7 @@
! SPARC v9 64-bit VIS3 __mpn_mul_1 -- Multiply a limb vector with a single
! limb and store the product in a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc64/multiarch/mul_1.S b/sysdeps/sparc/sparc64/multiarch/mul_1.S
index d65774b2e8..7237032e7a 100644
--- a/sysdeps/sparc/sparc64/multiarch/mul_1.S
+++ b/sysdeps/sparc/sparc64/multiarch/mul_1.S
@@ -1,6 +1,6 @@
/* Multiple versions of mul_1
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/multiarch/sha256-crop.S b/sysdeps/sparc/sparc64/multiarch/sha256-crop.S
index ef8218e943..595626a4f1 100644
--- a/sysdeps/sparc/sparc64/multiarch/sha256-crop.S
+++ b/sysdeps/sparc/sparc64/multiarch/sha256-crop.S
@@ -1,5 +1,5 @@
/* SHA256 using sparc crypto opcodes.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
diff --git a/sysdeps/sparc/sparc64/multiarch/sha512-crop.S b/sysdeps/sparc/sparc64/multiarch/sha512-crop.S
index ff49f752c2..1aca684b47 100644
--- a/sysdeps/sparc/sparc64/multiarch/sha512-crop.S
+++ b/sysdeps/sparc/sparc64/multiarch/sha512-crop.S
@@ -1,5 +1,5 @@
/* SHA512 using sparc crypto opcodes.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller (davem@davemloft.net)
diff --git a/sysdeps/sparc/sparc64/multiarch/sub_n-vis3.S b/sysdeps/sparc/sparc64/multiarch/sub_n-vis3.S
index 7514ce26f2..44f9fcc7e0 100644
--- a/sysdeps/sparc/sparc64/multiarch/sub_n-vis3.S
+++ b/sysdeps/sparc/sparc64/multiarch/sub_n-vis3.S
@@ -1,7 +1,7 @@
! SPARC v9 64-bit VIS3 __mpn_sub_n -- Subtract two limb vectors of the same length > 0
! and store difference in a third limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc64/multiarch/sub_n.S b/sysdeps/sparc/sparc64/multiarch/sub_n.S
index a23474c1a5..c7a6211a57 100644
--- a/sysdeps/sparc/sparc64/multiarch/sub_n.S
+++ b/sysdeps/sparc/sparc64/multiarch/sub_n.S
@@ -1,6 +1,6 @@
/* Multiple versions of sub_n
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/multiarch/submul_1-vis3.S b/sysdeps/sparc/sparc64/multiarch/submul_1-vis3.S
index cd7c050158..d105df8d70 100644
--- a/sysdeps/sparc/sparc64/multiarch/submul_1-vis3.S
+++ b/sysdeps/sparc/sparc64/multiarch/submul_1-vis3.S
@@ -1,7 +1,7 @@
! SPARC v9 64-bit VIS3 __mpn_submul_1 -- Multiply a limb vector with a
! limb and subtract the result from a second limb vector.
!
-! Copyright (C) 2013-2014 Free Software Foundation, Inc.
+! Copyright (C) 2013-2015 Free Software Foundation, Inc.
! This file is part of the GNU C Library.
! Contributed by David S. Miller <davem@davemloft.net>
!
diff --git a/sysdeps/sparc/sparc64/multiarch/submul_1.S b/sysdeps/sparc/sparc64/multiarch/submul_1.S
index a1b7c0125b..5a210fa2d2 100644
--- a/sysdeps/sparc/sparc64/multiarch/submul_1.S
+++ b/sysdeps/sparc/sparc64/multiarch/submul_1.S
@@ -1,6 +1,6 @@
/* Multiple versions of submul_1
- Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@davemloft.net)
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/sparc64/pthread_spin_init.c b/sysdeps/sparc/sparc64/pthread_spin_init.c
new file mode 100644
index 0000000000..58319ab62d
--- /dev/null
+++ b/sysdeps/sparc/sparc64/pthread_spin_init.c
@@ -0,0 +1 @@
+/* pthread_spin_init is in pthread_spin_unlock.S */
diff --git a/sysdeps/sparc/sparc64/pthread_spin_lock.S b/sysdeps/sparc/sparc64/pthread_spin_lock.S
new file mode 100644
index 0000000000..22c41667b7
--- /dev/null
+++ b/sysdeps/sparc/sparc64/pthread_spin_lock.S
@@ -0,0 +1,31 @@
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(pthread_spin_lock)
+1: ldstub [%o0], %g1
+ brnz,pn %g1, 2f
+ membar #StoreLoad | #StoreStore
+ retl
+ mov 0, %o0
+2: ldub [%o0], %g1
+ brnz,pt %g1, 2b
+ membar #LoadLoad
+ ba,a,pt %xcc, 1b
+END(pthread_spin_lock)
diff --git a/sysdeps/sparc/sparc64/pthread_spin_trylock.S b/sysdeps/sparc/sparc64/pthread_spin_trylock.S
new file mode 100644
index 0000000000..20e39f5ccd
--- /dev/null
+++ b/sysdeps/sparc/sparc64/pthread_spin_trylock.S
@@ -0,0 +1,27 @@
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+#include <pthread-errnos.h>
+
+ .text
+ENTRY(pthread_spin_trylock)
+ ldstub [%o0], %o0
+ membar #StoreLoad | #StoreStore
+ retl
+ movrnz %o0, EBUSY, %o0
+END(pthread_spin_trylock)
diff --git a/sysdeps/sparc/sparc64/pthread_spin_unlock.S b/sysdeps/sparc/sparc64/pthread_spin_unlock.S
new file mode 100644
index 0000000000..9d4e35ee87
--- /dev/null
+++ b/sysdeps/sparc/sparc64/pthread_spin_unlock.S
@@ -0,0 +1,28 @@
+/* Copyright (C) 2012-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <sysdep.h>
+
+ .text
+ENTRY(pthread_spin_unlock)
+ membar #StoreStore | #LoadStore
+ stb %g0, [%o0]
+ retl
+ clr %o0
+END(pthread_spin_unlock)
+
+strong_alias (pthread_spin_unlock, pthread_spin_init)
diff --git a/sysdeps/sparc/sparc64/pthreaddef.h b/sysdeps/sparc/sparc64/pthreaddef.h
new file mode 100644
index 0000000000..4367b65a84
--- /dev/null
+++ b/sysdeps/sparc/sparc64/pthreaddef.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2003-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* Default stack size. */
+#define ARCH_STACK_DEFAULT_SIZE (4 * 1024 * 1024)
+
+/* Required stack pointer alignment at beginning. */
+#define STACK_ALIGN 16
+
+/* Minimal stack size after allocating thread descriptor and guard size. */
+#define MINIMAL_REST_STACK 4096
+
+/* Alignment requirement for TCB. */
+#define TCB_ALIGNMENT 16
+
+
+/* Location of current stack frame. */
+#define CURRENT_STACK_FRAME (stack_pointer + (2 * 128))
+register char *stack_pointer __asm__("%sp");
diff --git a/sysdeps/sparc/sparc64/rawmemchr.S b/sysdeps/sparc/sparc64/rawmemchr.S
index 0d106c0095..ec34ef7fb6 100644
--- a/sysdeps/sparc/sparc64/rawmemchr.S
+++ b/sysdeps/sparc/sparc64/rawmemchr.S
@@ -1,6 +1,6 @@
/* rawmemchr (str, ch) -- Return pointer to first occurrence of CH in STR.
For SPARC v9.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
This version is developed using the same algorithm as the fast C
diff --git a/sysdeps/sparc/sparc64/rshift.S b/sysdeps/sparc/sparc64/rshift.S
index d1d5a1daa7..a165eedf1a 100644
--- a/sysdeps/sparc/sparc64/rshift.S
+++ b/sysdeps/sparc/sparc64/rshift.S
@@ -1,6 +1,6 @@
/* SPARC v9 __mpn_rshift --
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/rtld-memcpy.c b/sysdeps/sparc/sparc64/rtld-memcpy.c
index b1b06479d2..52f8302f08 100644
--- a/sysdeps/sparc/sparc64/rtld-memcpy.c
+++ b/sysdeps/sparc/sparc64/rtld-memcpy.c
@@ -1,2 +1,3 @@
+#define NO_MEMPCPY_STPCPY_REDIRECT
#include <string/memcpy.c>
#include <string/mempcpy.c>
diff --git a/sysdeps/sparc/sparc64/soft-fp/Makefile b/sysdeps/sparc/sparc64/soft-fp/Makefile
index e30aec8872..ee98a5dda0 100644
--- a/sysdeps/sparc/sparc64/soft-fp/Makefile
+++ b/sysdeps/sparc/sparc64/soft-fp/Makefile
@@ -1,7 +1,7 @@
# Software floating-point emulation.
# Makefile for SPARC v9 ABI mandated long double utility
# functions (_Qp_*).
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2015 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Jakub Jelinek (jj@ultra.linux.cz).
#
diff --git a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c b/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
index d37d5500cf..5555ac955b 100644
--- a/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
+++ b/sysdeps/sparc/sparc64/soft-fp/e_ilogbl.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
ilogbl(x, exp)
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_add.c b/sysdeps/sparc/sparc64/soft-fp/qp_add.c
index fc955fb08b..c466e8f956 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_add.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_add.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (*a) + (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c
index 1929a082c2..8e9c0b66e7 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Compare (*a) and (*b), return float condition code.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,10 +31,8 @@ int _Qp_cmp(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, 3);
+ FP_CMP_Q(r, B, A, 3, 1);
if (r == -1) r = 2;
- if (r == 3 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
QP_HANDLE_EXCEPTIONS(
__asm (
" ldd [%0], %%f52\n"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c
index ee25b5e8b1..bdaf98fdf7 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c
@@ -1,7 +1,7 @@
/* Software floating-point emulation.
Compare (*a) and (*b), return float condition code.
Signal exception (unless masked) if unordered.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -32,10 +32,8 @@ int _Qp_cmpe(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, 3);
+ FP_CMP_Q(r, B, A, 3, 2);
if (r == -1) r = 2;
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
QP_HANDLE_EXCEPTIONS(
__asm (
" ldd [%0], %%f52\n"
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_div.c b/sysdeps/sparc/sparc64/soft-fp/qp_div.c
index a300a9324b..03454f2363 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_div.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_div.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (*a) / (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
index bee6dfce83..5992ff47db 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c
index 36eef5aa8a..b0a9d56c36 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) == (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_feq(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_EQ_Q(r, A, B);
- if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_EQ_Q(r, A, B, 1);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c
index 3f0c16b416..041325b889 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) >= (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_fge(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c
index 2b915be37d..fd63a32856 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) > (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_fgt(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c
index 74f80f4131..ec8033c9e7 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) <= (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_fle(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, -2);
- if (r == -2)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, -2, 2);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c
index a4c8e05a0a..0e5e28c578 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) < (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_flt(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_Q(r, B, A, 3);
- if (r == 3)
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_Q(r, B, A, 3, 2);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c
index 828c394f29..1b9863fe26 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return 1 if (*a) != (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
@@ -31,9 +31,7 @@ int _Qp_fne(const long double *a, const long double *b)
FP_INIT_ROUNDMODE;
FP_UNPACK_RAW_QP(A, a);
FP_UNPACK_RAW_QP(B, b);
- FP_CMP_EQ_Q(r, A, B);
- if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B)))
- FP_SET_EXCEPTION(FP_EX_INVALID);
+ FP_CMP_EQ_Q(r, A, B, 1);
QP_HANDLE_EXCEPTIONS(
__asm (
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
index 72ac975806..56e63a0cfa 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_itoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c b/sysdeps/sparc/sparc64/soft-fp/qp_mul.c
index 930fd2f6cf..9b70dc6e21 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_mul.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_mul.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (*a) * (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S b/sysdeps/sparc/sparc64/soft-fp/qp_neg.S
index 8c621d297d..5f6182fce4 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_neg.S
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_neg.S
@@ -1,6 +1,6 @@
/* Quad floating-point emulation.
(*c) = !(*a)
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
index 9b23ef0210..c56d9867ca 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtod.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (double)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
index dbc9af297f..5f45c94362 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (int)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
index 4a26ea8f01..4f75cdfb80 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtos.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (float)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
index d811011f39..3ef3c1eb98 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (unsigned int)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
index 0c079b376a..52696722ab 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (unsigned long)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
index 18588973da..0f23dd6cc9 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
Return (long)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c b/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c
index aabc588179..04bc226b0c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_sqrt.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = sqrtl(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
index 779c1d194e..b7433e5ab5 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_stoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c b/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
index dcdaeba989..c955cfff23 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_sub.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (*a) - (*b)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
index 4146e9a944..7f4b9d4936 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_util.c b/sysdeps/sparc/sparc64/soft-fp/qp_util.c
index 2934357565..13b1fab26d 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_util.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_util.c
@@ -1,7 +1,7 @@
/* Software floating-point emulation.
Helper routine for _Qp_* routines.
Simulate exceptions using double arithmetics.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
index 472b312ffc..c2374e0759 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c b/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
index 26725b1b59..0b52ffd4cd 100644
--- a/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
+++ b/sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
(*c) = (long double)(*a)
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com) and
Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/s_frexpl.c b/sysdeps/sparc/sparc64/soft-fp/s_frexpl.c
index 46637fb770..132a14757c 100644
--- a/sysdeps/sparc/sparc64/soft-fp/s_frexpl.c
+++ b/sysdeps/sparc/sparc64/soft-fp/s_frexpl.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
frexpl(x, exp)
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c b/sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c
index e07ff62249..02b0196b6f 100644
--- a/sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c
+++ b/sysdeps/sparc/sparc64/soft-fp/s_scalblnl.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
scalblnl(x, exp)
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
@@ -50,5 +50,3 @@ long double __scalblnl(long double arg, int exp)
return r;
}
-
-weak_alias (__scalblnl, scalblnl)
diff --git a/sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c b/sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c
index a2de3804e3..98cf6e3f09 100644
--- a/sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c
+++ b/sysdeps/sparc/sparc64/soft-fp/s_scalbnl.c
@@ -1,6 +1,6 @@
/* Software floating-point emulation.
scalbnl(x, exp)
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek (jj@ultra.linux.cz).
diff --git a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
index 9a0384b1d8..62218414e3 100644
--- a/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
+++ b/sysdeps/sparc/sparc64/soft-fp/sfp-machine.h
@@ -1,6 +1,6 @@
/* Machine-dependent software floating-point definitions.
Sparc64 userland (_Q_* and _Qp_*) version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz) and
@@ -93,6 +93,8 @@ do { \
#define FP_EX_DIVZERO (1 << 1)
#define FP_EX_INEXACT (1 << 0)
+#define _FP_TININESS_AFTER_ROUNDING 0
+
#define _FP_DECL_EX \
fpu_control_t _fcw __attribute__ ((unused)) = (FP_RND_NEAREST << 30)
diff --git a/sysdeps/sparc/sparc64/start.S b/sysdeps/sparc/sparc64/start.S
index 8c21233271..328ab84218 100644
--- a/sysdeps/sparc/sparc64/start.S
+++ b/sysdeps/sparc/sparc64/start.S
@@ -1,5 +1,5 @@
/* Startup code for elf64-sparc
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
diff --git a/sysdeps/sparc/sparc64/stpcpy.S b/sysdeps/sparc/sparc64/stpcpy.S
index bd90d8aeed..4f7cc162fe 100644
--- a/sysdeps/sparc/sparc64/stpcpy.S
+++ b/sysdeps/sparc/sparc64/stpcpy.S
@@ -1,6 +1,6 @@
/* Copy SRC to DEST returning the address of the terminating '\0' in DEST.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc64/stpncpy.S b/sysdeps/sparc/sparc64/stpncpy.S
index 5bc0871c11..d06f118e1a 100644
--- a/sysdeps/sparc/sparc64/stpncpy.S
+++ b/sysdeps/sparc/sparc64/stpncpy.S
@@ -2,7 +2,7 @@
SRC to DEST, returning the address of the terminating '\0' in
DEST, if any, or else DEST + N.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz>.
diff --git a/sysdeps/sparc/sparc64/strcat.S b/sysdeps/sparc/sparc64/strcat.S
index d1098a261f..bce43358d9 100644
--- a/sysdeps/sparc/sparc64/strcat.S
+++ b/sysdeps/sparc/sparc64/strcat.S
@@ -1,6 +1,6 @@
/* strcat (dest, src) -- Append SRC on the end of DEST.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz>.
diff --git a/sysdeps/sparc/sparc64/strchr.S b/sysdeps/sparc/sparc64/strchr.S
index 8da6d99456..70e1ad7689 100644
--- a/sysdeps/sparc/sparc64/strchr.S
+++ b/sysdeps/sparc/sparc64/strchr.S
@@ -1,6 +1,6 @@
/* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc64/strcmp.S b/sysdeps/sparc/sparc64/strcmp.S
index 8925396ec6..2f4595f2fa 100644
--- a/sysdeps/sparc/sparc64/strcmp.S
+++ b/sysdeps/sparc/sparc64/strcmp.S
@@ -1,6 +1,6 @@
/* Compare two strings for differences.
For SPARC v9.
- Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>
@@ -121,6 +121,37 @@ ENTRY(strcmp)
movleu %xcc, -1, %o0
srlx rTMP1, 7, rTMP1
+ /* In order not to be influenced by bytes after the zero byte, we
+ * have to retain only the highest bit in the mask for the comparison
+ * with rSTRXOR to work properly.
+ */
+ mov 0, rTMP2
+ andcc rTMP1, 0x0100, %g0
+
+ movne %xcc, 8, rTMP2
+ sllx rTMP1, 63 - 16, %o1
+
+ movrlz %o1, 16, rTMP2
+ sllx rTMP1, 63 - 24, %o1
+
+ movrlz %o1, 24, rTMP2
+ sllx rTMP1, 63 - 32, %o1
+
+ movrlz %o1, 32, rTMP2
+ sllx rTMP1, 63 - 40, %o1
+
+ movrlz %o1, 40, rTMP2
+ sllx rTMP1, 63 - 48, %o1
+
+ movrlz %o1, 48, rTMP2
+ sllx rTMP1, 63 - 56, %o1
+
+ movrlz %o1, 56, rTMP2
+
+ srlx rTMP1, rTMP2, rTMP1
+
+ sllx rTMP1, rTMP2, rTMP1
+
cmp rTMP1, rSTRXOR
retl
movgu %xcc, 0, %o0
diff --git a/sysdeps/sparc/sparc64/strcpy.S b/sysdeps/sparc/sparc64/strcpy.S
index f4a14ae9cd..4eb6abfc62 100644
--- a/sysdeps/sparc/sparc64/strcpy.S
+++ b/sysdeps/sparc/sparc64/strcpy.S
@@ -1,6 +1,6 @@
/* Copy SRC to DEST returning DEST.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc64/strcspn.S b/sysdeps/sparc/sparc64/strcspn.S
index 8594b67113..dc929bea76 100644
--- a/sysdeps/sparc/sparc64/strcspn.S
+++ b/sysdeps/sparc/sparc64/strcspn.S
@@ -1,7 +1,7 @@
/* strcspn (str, ss) -- Return the length of the initial segment of STR
which contains no characters from SS.
For SPARC v9.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>
diff --git a/sysdeps/sparc/sparc64/strlen.S b/sysdeps/sparc/sparc64/strlen.S
index ddb4f9c485..3b367c2153 100644
--- a/sysdeps/sparc/sparc64/strlen.S
+++ b/sysdeps/sparc/sparc64/strlen.S
@@ -1,5 +1,5 @@
/* Determine the length of a string. For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz>,
Jakub Jelinek <jj@ultra.linux.cz>, and
diff --git a/sysdeps/sparc/sparc64/strncmp.S b/sysdeps/sparc/sparc64/strncmp.S
index 76a36698f6..233b62b20a 100644
--- a/sysdeps/sparc/sparc64/strncmp.S
+++ b/sysdeps/sparc/sparc64/strncmp.S
@@ -2,7 +2,7 @@
equal to or greater than zero if S1 is lexicographically less than,
equal to or greater than S2.
For SPARC v9.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
@@ -72,7 +72,7 @@ ENTRY(strncmp)
add %o0, 8, %o0 /* IEU1 */
2: subcc %o2, 8, %o2 /* IEU1 Group */
- bl,pn %XCC, 5f /* CTI */
+ bcs,pn %XCC, 5f /* CTI */
add %o1, 8, %o1 /* IEU0 */
sub %g4, %g1, %g3 /* IEU0 Group */
@@ -310,7 +310,7 @@ ENTRY(strncmp)
addcc %o0, 8, %o0 /* IEU1 */
srlx %o4, %g6, %o5 /* IEU0 */
subcc %o2, 8, %o2 /* IEU1 Group */
- bl,pn %XCC, 5b /* CTI */
+ bcs,pn %XCC, 5b /* CTI */
or %o3, %o5, %o3 /* IEU0 */
cmp %g4, %o3 /* IEU1 Group */
diff --git a/sysdeps/sparc/sparc64/strncpy.S b/sysdeps/sparc/sparc64/strncpy.S
index da408b9a6f..661d445fce 100644
--- a/sysdeps/sparc/sparc64/strncpy.S
+++ b/sysdeps/sparc/sparc64/strncpy.S
@@ -2,7 +2,7 @@
null-terminated string from SRC to DST. If SRC does not cover all of
COUNT, the balance is zeroed.
For SPARC v9.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz> and
Jakub Jelinek <jj@ultra.linux.cz>.
diff --git a/sysdeps/sparc/sparc64/strpbrk.S b/sysdeps/sparc/sparc64/strpbrk.S
index 0724b6e4f2..a978386433 100644
--- a/sysdeps/sparc/sparc64/strpbrk.S
+++ b/sysdeps/sparc/sparc64/strpbrk.S
@@ -1,7 +1,7 @@
/* strpbrk (s, accept) -- Find the first occurrence in S of any character in
ACCEPT.
For SPARC v9.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>
diff --git a/sysdeps/sparc/sparc64/strspn.S b/sysdeps/sparc/sparc64/strspn.S
index 90420853a6..9d31b76c1c 100644
--- a/sysdeps/sparc/sparc64/strspn.S
+++ b/sysdeps/sparc/sparc64/strspn.S
@@ -1,7 +1,7 @@
/* strspn (str, ss) -- Return the length of the maximum initial segment
of S which contains only characters in ACCEPT.
For SPARC v9.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jj@ultra.linux.cz>
diff --git a/sysdeps/sparc/sparc64/sub_n.S b/sysdeps/sparc/sparc64/sub_n.S
index 2ddfddb476..b9439ac99d 100644
--- a/sysdeps/sparc/sparc64/sub_n.S
+++ b/sysdeps/sparc/sparc64/sub_n.S
@@ -1,7 +1,7 @@
/* SPARC v9 __mpn_sub_n -- Subtract two limb vectors of the same length > 0
and store difference in a third limb vector.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/submul_1.S b/sysdeps/sparc/sparc64/submul_1.S
index c67816d4e4..c8d030edd0 100644
--- a/sysdeps/sparc/sparc64/submul_1.S
+++ b/sysdeps/sparc/sparc64/submul_1.S
@@ -1,7 +1,7 @@
/* SPARC v9 __mpn_submul_1 -- Multiply a limb vector with a single limb and
subtract the product from a second limb vector.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
+ Copyright (C) 1996-2015 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
diff --git a/sysdeps/sparc/sparc64/tst-audit.h b/sysdeps/sparc/sparc64/tst-audit.h
index c15d193623..dd8fb6bb4f 100644
--- a/sysdeps/sparc/sparc64/tst-audit.h
+++ b/sysdeps/sparc/sparc64/tst-audit.h
@@ -1,6 +1,6 @@
/* Definitions for testing PLT entry/exit auditing. SPARC64 version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Copyright (C) 2012-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/sysdeps/sparc/stackinfo.h b/sysdeps/sparc/stackinfo.h
index ff6cd8accd..eed41e551c 100644
--- a/sysdeps/sparc/stackinfo.h
+++ b/sysdeps/sparc/stackinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/sysdeps/sparc/sysdep.h b/sysdeps/sparc/sysdep.h
index 1404cc1b6c..997f3ba27f 100644
--- a/sysdeps/sparc/sysdep.h
+++ b/sysdeps/sparc/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#define _SYS_AUXV_H 1
+#define _SYSDEPS_SYSDEP_H 1
#include <bits/hwcap.h>
#ifdef __ASSEMBLER__