[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r24944 - in /fsf/trunk/libc: ./ elf/ nptl/ sysdeps/powerpc/nofpu/ sysdeps/powerpc/powerpc64/multiarch/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r24944 - in /fsf/trunk/libc: ./ elf/ nptl/ sysdeps/powerpc/nofpu/ sysdeps/powerpc/powerpc64/multiarch/
- From: eglibc@xxxxxxxxxx
- Date: Sat, 04 Jan 2014 08:01:53 -0000
Author: eglibc
Date: Sat Jan 4 00:01:52 2014
New Revision: 24944
Log:
Import glibc-mainline for 2014-01-04
Added:
fsf/trunk/libc/nptl/tst-tls7.c
fsf/trunk/libc/nptl/tst-tls7mod.c
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/elf/dl-open.c
fsf/trunk/libc/elf/dl-reloc.c
fsf/trunk/libc/elf/dl-tls.c
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/Makefile
fsf/trunk/libc/nptl/allocatestack.c
fsf/trunk/libc/sysdeps/powerpc/nofpu/Makefile
fsf/trunk/libc/sysdeps/powerpc/nofpu/libm-test-ulps
fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S
fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S
fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S
fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcscpy.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Jan 4 00:01:52 2014
@@ -1,4 +1,29 @@
2014-01-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #16390]
+ * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math]
+ (CFLAGS-e_atan2l.c): Use -fno-builtin-fabsl.
+
+2014-01-03 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
+
+ * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: Remove
+ extra tokens at end of #undef directive.
+ * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: Likewise.
+ * sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: Likewise.
+ * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c: Likewise.
+
+2014-01-03 Andrew Hunter <ahh@xxxxxxxxxx>
+
+ * elf/dl-open.c (dl_open_worker): New comment.
+ * elf/dl-reloc.c (_dl_try_allocate_static_tls): Use
+ atomic_compare_and_exchange_bool_acq
+ (_dl_allocate_static_tls): Block signals.
+ * elf/dl-tls.c (allocate_and_init): Return void.
+ (_dl_update_slotinfo): Block signals, use atomic update.
+
+2014-01-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/powerpc/nofpu/libm-test-ulps: Regenerated.
* math/auto-libm-test-in: Mark various tests with
xfail-rounding:ldbl-128ibm.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Jan 4 00:01:52 2014
@@ -24,7 +24,7 @@
16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195, 16214,
16245, 16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337,
16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385,
- 16386.
+ 16386, 16390.
* Slovenian translations for glibc messages have been contributed by the
Translation Project's Slovenian team of translators.
Modified: fsf/trunk/libc/elf/dl-open.c
==============================================================================
--- fsf/trunk/libc/elf/dl-open.c (original)
+++ fsf/trunk/libc/elf/dl-open.c Sat Jan 4 00:01:52 2014
@@ -548,7 +548,10 @@
generation of the DSO we are allocating data for. */
_dl_update_slotinfo (imap->l_tls_modid);
#endif
-
+ /* We do this iteration under a signal mask in dl-reloc; why not
+ here? Because these symbols are new and dlopen hasn't
+ returned yet. So we can't possibly be racing with a TLS
+ access to them from another thread. */
GL(dl_init_static_tls) (imap);
assert (imap->l_need_tls_init == 0);
}
Modified: fsf/trunk/libc/elf/dl-reloc.c
==============================================================================
--- fsf/trunk/libc/elf/dl-reloc.c (original)
+++ fsf/trunk/libc/elf/dl-reloc.c Sat Jan 4 00:01:52 2014
@@ -16,8 +16,10 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <atomic.h>
#include <errno.h>
#include <libintl.h>
+#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <ldsodefs.h>
@@ -70,8 +72,6 @@
size_t offset = GL(dl_tls_static_used) + (freebytes - n * map->l_tls_align
- map->l_tls_firstbyte_offset);
-
- map->l_tls_offset = GL(dl_tls_static_used) = offset;
#elif TLS_DTV_AT_TP
/* dl_tls_static_used includes the TCB at the beginning. */
size_t offset = (((GL(dl_tls_static_used)
@@ -83,7 +83,36 @@
if (used > GL(dl_tls_static_size))
goto fail;
- map->l_tls_offset = offset;
+#else
+# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
+#endif
+ /* We've computed the new value we want, now try to install it. */
+ ptrdiff_t val;
+ if ((val = map->l_tls_offset) == NO_TLS_OFFSET)
+ {
+ /* l_tls_offset starts out at NO_TLS_OFFSET, and all attempts to
+ change it go from NO_TLS_OFFSET to some other value. We use
+ compare_and_exchange to ensure only one attempt succeeds. We
+ don't actually need any memory ordering here, but _acq is the
+ weakest available. */
+ (void ) atomic_compare_and_exchange_bool_acq (&map->l_tls_offset,
+ offset,
+ NO_TLS_OFFSET);
+ val = map->l_tls_offset;
+ assert (val != NO_TLS_OFFSET);
+ }
+ if (val != offset)
+ {
+ /* We'd like to set a static offset for this section, but another
+ thread has already used a dynamic TLS block for it. Since we can
+ only use static offsets if everyone does (and it's not practical
+ to move that thread's dynamic block), we have to fail. */
+ goto fail;
+ }
+ /* We installed the value; now update the globals. */
+#if TLS_TCB_AT_TP
+ GL(dl_tls_static_used) = offset;
+#elif TLS_DTV_AT_TP
map->l_tls_firstbyte_offset = GL(dl_tls_static_used);
GL(dl_tls_static_used) = used;
#else
@@ -114,8 +143,17 @@
internal_function __attribute_noinline__
_dl_allocate_static_tls (struct link_map *map)
{
- if (map->l_tls_offset == FORCED_DYNAMIC_TLS_OFFSET
- || _dl_try_allocate_static_tls (map))
+ /* We wrap this in a signal mask because it has to iterate all threads
+ (including this one) and update this map's TLS entry. A signal handler
+ accessing TLS would try to do the same update and break. */
+ sigset_t old;
+ _dl_mask_all_signals (&old);
+ int err = -1;
+ if (map->l_tls_offset != FORCED_DYNAMIC_TLS_OFFSET)
+ err = _dl_try_allocate_static_tls (map);
+
+ _dl_unmask_signals (&old);
+ if (err != 0)
{
_dl_signal_error (0, map->l_name, NULL, N_("\
cannot allocate memory in static TLS block"));
Modified: fsf/trunk/libc/elf/dl-tls.c
==============================================================================
--- fsf/trunk/libc/elf/dl-tls.c (original)
+++ fsf/trunk/libc/elf/dl-tls.c Sat Jan 4 00:01:52 2014
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <assert.h>
+#include <atomic.h>
#include <errno.h>
#include <libintl.h>
#include <signal.h>
@@ -533,19 +534,21 @@
# endif
-static void *
-allocate_and_init (struct link_map *map)
+static void
+allocate_and_init (dtv_t *dtv, struct link_map *map)
{
void *newp;
newp = __signal_safe_memalign (map->l_tls_align, map->l_tls_blocksize);
if (newp == NULL)
oom ();
- /* Initialize the memory. */
+ /* Initialize the memory. Since this is our thread's space, we are
+ under a signal mask, and no one has touched this section before,
+ we can safely just overwrite whatever's there. */
memset (__mempcpy (newp, map->l_tls_initimage, map->l_tls_initimage_size),
'\0', map->l_tls_blocksize - map->l_tls_initimage_size);
- return newp;
+ dtv->pointer.val = newp;
}
@@ -587,7 +590,15 @@
the entry we need. */
size_t new_gen = listp->slotinfo[idx].gen;
size_t total = 0;
-
+ sigset_t old;
+
+ _dl_mask_all_signals (&old);
+ /* We use the signal mask as a lock against reentrancy here.
+ Check that a signal taken before the lock didn't already
+ update us. */
+ dtv = THREAD_DTV ();
+ if (dtv[0].counter >= listp->slotinfo[idx].gen)
+ goto out;
/* We have to look through the entire dtv slotinfo list. */
listp = GL(dl_tls_dtv_slotinfo_list);
do
@@ -699,6 +710,8 @@
/* This will be the new maximum generation counter. */
dtv[0].counter = new_gen;
+ out:
+ _dl_unmask_signals (&old);
}
return the_map;
@@ -724,39 +737,60 @@
the_map = listp->slotinfo[idx].map;
}
-
- again:
- /* Make sure that, if a dlopen running in parallel forces the
- variable into static storage, we'll wait until the address in the
- static TLS block is set up, and use that. If we're undecided
- yet, make sure we make the decision holding the lock as well. */
- if (__builtin_expect (the_map->l_tls_offset
- != FORCED_DYNAMIC_TLS_OFFSET, 0))
- {
- __rtld_lock_lock_recursive (GL(dl_load_lock));
- if (__builtin_expect (the_map->l_tls_offset == NO_TLS_OFFSET, 1))
- {
- the_map->l_tls_offset = FORCED_DYNAMIC_TLS_OFFSET;
- __rtld_lock_unlock_recursive (GL(dl_load_lock));
- }
- else
- {
- __rtld_lock_unlock_recursive (GL(dl_load_lock));
- if (__builtin_expect (the_map->l_tls_offset
- != FORCED_DYNAMIC_TLS_OFFSET, 1))
- {
- void *p = dtv[GET_ADDR_MODULE].pointer.val;
- if (__builtin_expect (p == TLS_DTV_UNALLOCATED, 0))
- goto again;
-
- return (char *) p + GET_ADDR_OFFSET;
- }
- }
- }
- void *p = dtv[GET_ADDR_MODULE].pointer.val = allocate_and_init (the_map);
- dtv[GET_ADDR_MODULE].pointer.is_static = false;
-
- return (char *) p + GET_ADDR_OFFSET;
+ sigset_t old;
+ _dl_mask_all_signals (&old);
+
+ /* As with update_slotinfo, we use the sigmask as a check against
+ reentrancy. */
+ if (dtv[GET_ADDR_MODULE].pointer.val != TLS_DTV_UNALLOCATED)
+ goto out;
+
+ /* Synchronize against a parallel dlopen() forcing this variable
+ into static storage. If that happens, we have to be more careful
+ about initializing the area, as that dlopen() will be iterating
+ the threads to do so itself. */
+ ptrdiff_t offset;
+ if ((offset = the_map->l_tls_offset) == NO_TLS_OFFSET)
+ {
+ /* l_tls_offset starts out at NO_TLS_OFFSET, and all attempts to
+ change it go from NO_TLS_OFFSET to some other value. We use
+ compare_and_exchange to ensure only one attempt succeeds. We
+ don't actually need any memory ordering here, but _acq is the
+ weakest available. */
+ (void) atomic_compare_and_exchange_bool_acq (&the_map->l_tls_offset,
+ FORCED_DYNAMIC_TLS_OFFSET,
+ NO_TLS_OFFSET);
+ offset = the_map->l_tls_offset;
+ assert (offset != NO_TLS_OFFSET);
+ }
+ if (offset == FORCED_DYNAMIC_TLS_OFFSET)
+ {
+ allocate_and_init (&dtv[GET_ADDR_MODULE], the_map);
+ }
+ else
+ {
+ void **pp = &dtv[GET_ADDR_MODULE].pointer.val;
+ while (atomic_forced_read (*pp) == TLS_DTV_UNALLOCATED)
+ {
+ /* for lack of a better (safe) thing to do, just spin.
+ Someone else (not us; it's done under a signal mask) set
+ this map to a static TLS offset, and they'll iterate all
+ threads to initialize it. They'll eventually write
+ to pointer.val, at which point we know they've fully
+ completed initialization. */
+ atomic_delay ();
+ }
+ /* Make sure we've picked up their initialization of the actual
+ block; this pairs against the write barrier in
+ init_one_static_tls, guaranteeing that we see their write of
+ the tls_initimage into the static region. */
+ atomic_read_barrier ();
+ }
+out:
+ assert (dtv[GET_ADDR_MODULE].pointer.val != TLS_DTV_UNALLOCATED);
+ _dl_unmask_signals (&old);
+
+ return (char *) dtv[GET_ADDR_MODULE].pointer.val + GET_ADDR_OFFSET;
}
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sat Jan 4 00:01:52 2014
@@ -1,4 +1,11 @@
-2011-12-12 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
+2014-01-03 Andrew Hunter <ahh@xxxxxxxxxx>
+
+ * nptl/Makefile (tst-tls7): New test.
+ * nptl/tst-tls7.c: New file.
+ * nptl/tst-tls7mod.c: New file.
+ * nptl/allocatestack.c (init_one_static_tls): Use atomic barrier.
+
+2013-12-12 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
* sysdeps/powerpc/tls.h (struct tcbhead_t): Add DSO and TAR fields.
* nptl/sysdeps/powerpc/tcb-offsets.sym: Likewise.
Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Sat Jan 4 00:01:52 2014
@@ -293,7 +293,7 @@
tst-oncex3 tst-oncex4
endif
ifeq ($(build-shared),yes)
-tests += tst-atfork2 tst-tls3 tst-tls4 tst-tls5 tst-_res1 tst-fini1 \
+tests += tst-atfork2 tst-tls3 tst-tls4 tst-tls5 tst-tls7 tst-_res1 tst-fini1 \
tst-stackguard1
tests-nolibpthread += tst-fini1
ifeq ($(have-z-execstack),yes)
@@ -304,7 +304,8 @@
modules-names = tst-atfork2mod tst-tls3mod tst-tls4moda tst-tls4modb \
tst-tls5mod tst-tls5moda tst-tls5modb tst-tls5modc \
tst-tls5modd tst-tls5mode tst-tls5modf \
- tst-_res1mod1 tst-_res1mod2 tst-execstack-mod tst-fini1mod
+ tst-_res1mod1 tst-_res1mod2 tst-execstack-mod tst-fini1mod \
+ tst-tls7mod
extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) tst-cleanup4aux.o
test-extras += $(modules-names) tst-cleanup4aux
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(modules-names)))
@@ -318,6 +319,7 @@
tst-tls5modd.so-no-z-defs = yes
tst-tls5mode.so-no-z-defs = yes
tst-tls5modf.so-no-z-defs = yes
+tst-tls7mod.so-no-z-defs = yes
ifeq ($(build-shared),yes)
# Build all the modules even when not actually running test programs.
@@ -480,6 +482,12 @@
LDFLAGS-tst-tls5 = $(no-as-needed)
LDFLAGS-tst-tls5mod.so = -Wl,-soname,tst-tls5mod.so
+# ensure free(malloc()) isn't optimized out
+CFLAGS-tst-tls7.c = -fno-builtin-malloc -fno-builtin-free
+$(objpfx)tst-tls7: $(libdl) $(shared-thread-library)
+$(objpfx)tst-tls7.out: $(objpfx)tst-tls7mod.so
+$(objpfx)tst-tls7mod.so: $(shared-thread-library)
+
ifeq ($(build-shared),yes)
ifeq ($(run-built-tests),yes)
tests: $(objpfx)tst-tls6.out
Modified: fsf/trunk/libc/nptl/allocatestack.c
==============================================================================
--- fsf/trunk/libc/nptl/allocatestack.c (original)
+++ fsf/trunk/libc/nptl/allocatestack.c Sat Jan 4 00:01:52 2014
@@ -1173,13 +1173,18 @@
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
# endif
- /* Fill in the DTV slot so that a later LD/GD access will find it. */
- dtv[map->l_tls_modid].pointer.val = dest;
- dtv[map->l_tls_modid].pointer.is_static = true;
-
/* Initialize the memory. */
memset (__mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size),
'\0', map->l_tls_blocksize - map->l_tls_initimage_size);
+
+ /* Fill in the DTV slot so that a later LD/GD access will find it. */
+ dtv[map->l_tls_modid].pointer.is_static = true;
+ /* Pairs against the read barrier in tls_get_attr_tail, guaranteeing
+ any thread waiting for an update to pointer.val sees the
+ initimage write. */
+ atomic_write_barrier ();
+ dtv[map->l_tls_modid].pointer.val = dest;
+
}
void
Added: fsf/trunk/libc/nptl/tst-tls7.c
==============================================================================
--- fsf/trunk/libc/nptl/tst-tls7.c (added)
+++ fsf/trunk/libc/nptl/tst-tls7.c Sat Jan 4 00:01:52 2014
@@ -1,0 +1,120 @@
+/* Copyright (C) 2013 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/>. */
+
+
+/* This test checks that TLS in a dlopened object works when first accessed
+ from a signal handler. */
+
+#include <dlfcn.h>
+#include <pthread.h>
+#include <semaphore.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+void *
+spin (void *ignored)
+{
+ while (1)
+ {
+ /* busywork */
+ free (malloc (128));
+ }
+
+ /* never reached */
+ return NULL;
+}
+
+int
+do_test (void)
+{
+ pthread_t th[10];
+
+ for (int i = 0; i < 10; ++i)
+ {
+ if (pthread_create (&th[i], NULL, spin, NULL))
+ {
+ puts ("pthread_create failed");
+ exit (1);
+ }
+ }
+#define NITERS 75
+
+ for (int i = 0; i < NITERS; ++i)
+ {
+ void *h = dlopen ("tst-tls7mod.so", RTLD_LAZY);
+ if (h == NULL)
+ {
+ puts ("dlopen failed");
+ exit (1);
+ }
+
+ void (*action) (int, siginfo_t *, void *) = dlsym (h, "action");
+ if (action == NULL)
+ {
+ puts ("dlsym for action failed");
+ exit (1);
+ }
+
+ struct sigaction sa;
+ sa.sa_sigaction = action;
+ sigemptyset (&sa.sa_mask);
+ sa.sa_flags = SA_SIGINFO;
+ if (sigaction (SIGUSR1, &sa, NULL))
+ {
+ puts ("sigaction failed");
+ exit (1);
+ }
+
+ sem_t sem;
+ if (sem_init (&sem, 0, 0))
+ {
+ puts ("sem_init failed");
+ }
+
+ sigval_t val;
+ val.sival_ptr = &sem;
+ for (int i = 0; i < 10; ++i)
+ {
+ if (pthread_sigqueue (th[i], SIGUSR1, val))
+ {
+ puts ("pthread_sigqueue failed");
+ }
+ }
+
+
+ for (int i = 0; i < 10; ++i)
+ {
+ if (sem_wait (&sem))
+ {
+ puts ("sem_wait failed");
+ }
+ }
+
+ if (dlclose (h))
+ {
+ puts ("dlclose failed");
+ exit (1);
+ }
+ }
+ return 0;
+}
+
+#define TIMEOUT 4
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Added: fsf/trunk/libc/nptl/tst-tls7mod.c
==============================================================================
--- fsf/trunk/libc/nptl/tst-tls7mod.c (added)
+++ fsf/trunk/libc/nptl/tst-tls7mod.c Sat Jan 4 00:01:52 2014
@@ -1,0 +1,43 @@
+/* Copyright (C) 2013 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/>. */
+
+/* Dynamic module with TLS to be accessed by a signal handler to check safety
+ of that mode. */
+
+#include <semaphore.h>
+#include <signal.h>
+#include <unistd.h>
+
+/* This is an unlikely value to see in incorrectly initialized TLS
+ block -- make sure we're initialized properly. */
+static __thread intptr_t tls_data = 0xdeadbeef;
+
+void
+action (int signo, siginfo_t *info, void *ignored)
+{
+ sem_t *sem = info->si_value.sival_ptr;
+ if (tls_data != 0xdeadbeef)
+ {
+ write (STDOUT_FILENO, "wrong TLS value\n", 17);
+ _exit (1);
+ }
+
+ /* arbitrary choice, just write something unique-ish. */
+ tls_data = (intptr_t) info;
+
+ sem_post (sem);
+}
Modified: fsf/trunk/libc/sysdeps/powerpc/nofpu/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/nofpu/Makefile (original)
+++ fsf/trunk/libc/sysdeps/powerpc/nofpu/Makefile Sat Jan 4 00:01:52 2014
@@ -15,6 +15,7 @@
# gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags
# until the fix in a gcc release and glibc drops support for earlier
# versions of gcc.
+CFLAGS-e_atan2l.c += -fno-builtin-fabsl
CFLAGS-e_hypotl.c += -fno-builtin-fabsl
CFLAGS-e_powl.c += -fno-builtin-fabsl
CFLAGS-s_ccoshl.c += -fno-builtin-fabsl
Modified: fsf/trunk/libc/sysdeps/powerpc/nofpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/nofpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/powerpc/nofpu/libm-test-ulps Sat Jan 4 00:01:52 2014
@@ -1,153 +1,751 @@
# Begin of automatic generation
# acos
-Test "acos (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "acos (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "acos (2e-17)":
+Test "acos (-0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "acos (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d496892137dfd73f58p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d496892137dfd73f6p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d496892p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d496894p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d496p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos (0x1.70ef54646d497p-56)":
ildouble: 1
ldouble: 1
# acos_downward
-Test "acos_downward (-0)":
-float: 1
-ifloat: 1
-Test "acos_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_downward (-1)":
-float: 1
-ifloat: 1
-Test "acos_downward (0)":
-float: 1
-ifloat: 1
-Test "acos_downward (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "acos_downward (-0x8p-4)":
+float: 1
+ifloat: 1
+Test "acos_downward (-0xf.fffffffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (-0xf.fffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d496892137dfd73f58p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d496892137dfd73f6p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d496892p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d496894p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d496p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54646d497p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_downward (0x1.70ef54p-56)":
+ildouble: 3
+ldouble: 3
+Test "acos_downward (0x1.70ef56p-56)":
+ildouble: 3
+ldouble: 3
+Test "acos_downward (0x1p-4)":
+ildouble: 1
+ldouble: 1
+Test "acos_downward (0xcp-4)":
+ildouble: 1
+ldouble: 1
+
+# acos_tonearest
+Test "acos_tonearest (-0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d496892137dfd73f58p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d496892137dfd73f6p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d496892p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d496894p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d496p-56)":
+ildouble: 1
+ldouble: 1
+Test "acos_tonearest (0x1.70ef54646d497p-56)":
ildouble: 1
ldouble: 1
# acos_towardzero
-Test "acos_towardzero (-0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "acos_towardzero (-1)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "acos_towardzero (-0x8p-4)":
+float: 1
+ifloat: 1
+Test "acos_towardzero (-0xf.fffffffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (-0xf.fffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d496892137dfd73f58p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d496892137dfd73f6p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d496892p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d496894p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d496p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54646d497p-56)":
+ildouble: 2
+ldouble: 2
+Test "acos_towardzero (0x1.70ef54p-56)":
+ildouble: 3
+ldouble: 3
+Test "acos_towardzero (0x1.70ef56p-56)":
+ildouble: 3
+ldouble: 3
+Test "acos_towardzero (0x1p-4)":
+ildouble: 1
+ldouble: 1
+Test "acos_towardzero (0xcp-4)":
ildouble: 1
ldouble: 1
# acos_upward
+Test "acos_upward (+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "acos_upward (-0)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (-1)":
-ildouble: 2
-ldouble: 2
-Test "acos_upward (0)":
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x1p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x4p-1024)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x4p-1076)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x4p-128)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x8p-152)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (-0x8p-972)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 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 (0x1p-4)":
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0x4p-1024)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0x4p-1076)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0x4p-128)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0x8p-152)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0x8p-972)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "acos_upward (0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+
+# acosh
+Test "acosh (0x6.4p+4)":
+double: 1
+idouble: 1
+Test "acosh (0xf.ffffffffffff8p+1020)":
+double: 1
# asin
-Test "asin (-0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (-0x0.ffffffp0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0.75)":
-ildouble: 2
-ldouble: 2
-Test "asin (0x0.ffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "asin (0x0.ffffffp0)":
+Test "asin (-0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin (0xcp-4)":
+ildouble: 2
+ldouble: 2
+Test "asin (0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin (0xf.fffffp-4)":
ildouble: 1
ldouble: 1
# asin_downward
-Test "asin_downward (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-1.0)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (1.0)":
-float: 1
-ifloat: 1
+Test "asin_downward (-0x1p+0)":
+double: 1
+idouble: 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: 2
+ldouble: 2
+Test "asin_downward (-0xf.fffffffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "asin_downward (-0xf.fffffffffffp-4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "asin_downward (-0xf.fffffp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "asin_downward (0x8p-4)":
+float: 1
+ifloat: 1
+Test "asin_downward (0xcp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_downward (0xf.fffffffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_downward (0xf.fffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_downward (0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+
+# asin_tonearest
+Test "asin_tonearest (-0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_tonearest (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_tonearest (0xcp-4)":
+ildouble: 2
+ldouble: 2
+Test "asin_tonearest (0xf.fffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_tonearest (0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
# asin_towardzero
-Test "asin_towardzero (-0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_towardzero (0.5)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (1.0)":
-float: 1
-ifloat: 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
+Test "asin_towardzero (-0x8p-152)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "asin_towardzero (-0x8p-4)":
+float: 1
+ifloat: 1
+Test "asin_towardzero (-0x8p-972)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0xf.fffffffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0xf.fffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0x8p-4)":
+float: 1
+ifloat: 1
+Test "asin_towardzero (0xcp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0xf.fffffffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0xf.fffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
# asin_upward
-Test "asin_upward (-1.0)":
-float: 1
-ifloat: 1
-Test "asin_upward (1.0)":
-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
+Test "asin_upward (-0x8p-152)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "asin_upward (-0x8p-4)":
+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
+Test "asin_upward (-0xf.ffffffffffff8p-4)":
+double: 1
+idouble: 1
+Test "asin_upward (-0xf.fffffffffffp-4)":
+double: 1
+idouble: 1
+Test "asin_upward (-0xf.fffffp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "asin_upward (0x1p+0)":
+double: 1
+idouble: 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 (0x8p-152)":
+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.fffffffffffffffp-4)":
+ildouble: 2
+ldouble: 2
+Test "asin_upward (0xf.fffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+
+# asinh
+Test "asinh (-0xf.ffffffffffff8p+1020)":
+double: 1
+Test "asinh (0xap+0)":
+float: 1
+ifloat: 1
+Test "asinh (0xf.ffffffffffff8p+1020)":
+double: 1
# atan2
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0.75, -1.0)":
-float: 1
-ifloat: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1d8p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51244p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246648p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51248p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1ep-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1d8p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51244p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246648p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 2
+ldouble: 2
+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.57d1d8p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51244p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca4ap-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.57d1de0e51248p-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.57d1de0e51244p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246648p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51248p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1ep-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1d8p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51244p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 2
+ldouble: 2
+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: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1ep-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1d8p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51244p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246648p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51248p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1ep-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+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.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe82p-8, -0x7.57d1ep-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1d8p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51244p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51246648p-12)":
+ildouble: 2
+ldouble: 2
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e5124664p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x1.effe8p-8, -0x7.57d1ep-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x4p-1024, -0x4p-1024)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x4p-1076, -0x4p-1076)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x4p-128, -0x4p-128)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x8p-152, -0x8p-152)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0x8p-972, -0x8p-972)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0xcp-4, -0x1p+0)":
+float: 1
+ifloat: 1
+Test "atan2 (-0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0xf.ffffffffffff8p+1020, 0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0xf.ffffffffffffbffffffffffffcp+1020, -0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (-0xf.ffffffffffffbffffffffffffcp+1020, -0xf.ffffffffffffbffffffffffffcp+1020)":
+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 (-0xf.fffffp+124, -0xf.fffffp+124)":
+ildouble: 1
+ldouble: 1
Test "atan2 (-inf, -inf)":
ildouble: 1
ldouble: 1
-Test "atan2 (-max_value, -min_value)":
-float: 1
-ifloat: 1
-Test "atan2 (0.75, -1.0)":
-float: 1
-ifloat: 1
-Test "atan2 (1.390625, 0.9296875)":
-float: 1
-ifloat: 1
+Test "atan2 (0x1.64p+0, 0xe.ep-4)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x4p-1024, -0x4p-1024)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x4p-1076, -0x4p-1076)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x4p-128, -0x4p-128)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x6.4p-4, 0x1.30164840e1719f7ep-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x6.4p-4, 0x1.30164ap-12)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x8p-152, -0x8p-152)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0x8p-972, -0x8p-972)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0xcp-4, -0x1p+0)":
+float: 1
+ifloat: 1
+Test "atan2 (0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0xf.ffffffffffff8p+1020, -0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0xf.ffffffffffff8p+1020, 0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0xf.ffffffffffffbffffffffffffcp+1020, -0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0xf.ffffffffffffbffffffffffffcp+1020, -0xf.ffffffffffffbffffffffffffcp+1020)":
+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 (0xf.fffffp+124, -0xf.fffffp+124)":
ildouble: 1
ldouble: 1
Test "atan2 (inf, -inf)":
@@ -155,12 +753,15 @@
ldouble: 1
# atanh
-Test "atanh (0.75)":
+Test "atanh (-0xcp-4)":
+float: 1
+ifloat: 1
+Test "atanh (0xcp-4)":
float: 1
ifloat: 1
# cabs
-Test "cabs (0.75 + 1.25 i)":
+Test "cabs (0xcp-4 + 0x1.4p+0 i)":
ildouble: 1
ldouble: 1
@@ -3954,269 +4555,1482 @@
ifloat: 1
# cbrt
-Test "cbrt (-27.0)":
-double: 1
-idouble: 1
-Test "cbrt (0.75)":
-double: 1
-idouble: 1
-Test "cbrt (0.9921875)":
+Test "cbrt (-0x1.bp+4)":
+double: 1
+idouble: 1
+Test "cbrt (-0x4.189374bc6a7ef9ep-12)":
+ildouble: 1
+ldouble: 1
+Test "cbrt (-0x4.18937p-12)":
+float: 1
+ifloat: 1
+Test "cbrt (0xcp-4)":
+double: 1
+idouble: 1
+Test "cbrt (0xf.ep-4)":
double: 1
idouble: 1
# ccos
-Test "Imaginary part of: ccos (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ccos (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccos (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
+Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)":
+double: 1
+idouble: 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.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
# ccosh
-Test "Real part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ccosh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ccosh (89.5 - 0.75 i)":
+Test "Imaginary part of: ccosh (-0x2.c68p+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccosh (-0x2.c68p+8 - 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccosh (0x2.c68p+8 + 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccosh (0x2.c68p+8 - 0xcp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+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
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
float: 1
ifloat: 1
ildouble: 2
ldouble: 2
# cexp
-Test "Imaginary part of: cexp (-2.0 - 3.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (-95 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cexp (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (50 + 0x1p127 i)":
+Test "Imaginary part of: cexp (+0 + 0xf.ffffffffffff8p+1020 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (-0x2p+0 - 0x3p+0 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cexp (-0x5.fp+4 + 0xcp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: cexp (0x1.f4p+8 + 0x8p+1020 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: cexp (0x1.f4p+8 + 0x8p+1020 i)":
+ildouble: 1
+ldouble: 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
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
+double: 1
+idouble: 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 (50 + 0x1p127 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cexp (500 + 0x1p1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (500 + 0x1p1023 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (709.8125 + 0.75 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (88.75 + 0.75 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (88.75 + 0.75 i)":
+Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
float: 2
ifloat: 2
+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
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)":
+ildouble: 1
+ldouble: 1
# clog
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
+Test "Real part of: clog (+0 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x1.0000000123456p+0 + 0x1.2345678p-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 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
+ildouble: 1
+ldouble: 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
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "Imaginary part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)":
+ildouble: 1
+ldouble: 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 "Imaginary part of: clog (-0x2p+0 - 0x3p+0 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 "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 "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 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+124 - 0x8p-152 i)":
+float: 1
+ifloat: 1
Test "Imaginary part of: clog (-inf + inf i)":
ildouble: 1
ldouble: 1
Test "Imaginary part of: clog (-inf - inf i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: clog (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 + 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.fp+127 - 0x1p-149 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x11682p-23 + 0x7ffed1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x13836d58a13448d750b4b9p-85 + 0x195ca7bc3ab4f9161edbe6p-85 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x155f8afc4c48685bf63610p-85 + 0x17d0cf2652cdbeb1294e19p-85 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1p-147 + 0x1p-147 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 + 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-149 - 0x1.fp+127 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa1f2c1p-24 + 0xc643aep-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa4722f19346cp-51 + 0x7f9631c5e7f07p-51 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xf2p-10 + 0x3e3p-10 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (1.0 + 0x1.234566p-10 i)":
+Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)":
+double: 1
+idouble: 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
+ildouble: 1
+ldouble: 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
+Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)":
+float: 1
+ifloat: 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.48e45e3268d8p-4 + 0xf.f2c638bcfe0ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x1.48e45ep-4 + 0xf.f2c638bcfe0ep-4 i)":
+ildouble: 1
+ldouble: 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.48e46p-4 + 0xf.f2c638bcfe0ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bdf8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bdfbf7p-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.8907bc3694fd4e7cp-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed199p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
+double: 1
+idouble: 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.ed1990460bdfbf672a9da76bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed19ap-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.e6b4d1d7a6e1p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4dp-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.c67ecd92a85944b988790cep-4 + 0xf.e6b4ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)":
+double: 1
+idouble: 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.e6b4dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x2.0ce7b8p-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.de3a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.2d04p-8 + 0xf.ffda2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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.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.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.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3612p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a361243a89663e84p-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.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a38p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
+double: 1
+idouble: 1
+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.cd42ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3613p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x2p-148 + 0x2p-148 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.2cdb84p-4 + 0xf.ae888p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.2cdb84p-4 + 0xf.ae889p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.2cdb88p-4 + 0xf.ae888p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e798p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873p-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.ab873d09e61e797a27ebc9f508p-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.3b8f9163276acp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e797p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e8p-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 "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab873p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.3b8f9p-4 + 0xf.ab874p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
+double: 1
+idouble: 1
+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
+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
+Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d619a8d118p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d619a8d11bfdp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d619a8d12p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfdp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d12p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d11bfep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d118p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfdp-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.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d7p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d11bfep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x3.c8p-4 + 0xf.8cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dp-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 "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b4p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dp-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.e1d0ap-4 + 0xf.859b3d1b06d005ep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06dp-4 i)":
+ildouble: 1
+ldouble: 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.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.0dbf7d40fe1ad688p-4 + 0xf.7a5c1af8e3ce8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a5p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x4.d9e8c415d5644p-4 + 0xf.3f302p-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 "Imaginary part of: clog (0x4.d9e8cp-4 + 0xf.3f303p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x4p-1076 + +0 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989dap-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.22363bf989d98p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989dap-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.318c596a8cb1p-4 + 0xf.22364p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d9b5cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-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 "Imaginary part of: clog (0x5.b06b68p-4 + 0xe.f452cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452b965da9fp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0x5.ba8ce4b6p-4 + 0xe.f0742p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.ba8ce4b6p-4 + 0xe.f0743p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x5.ba8ce8p-4 + 0xe.f0742508p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e2086dcca88p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2p-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
+Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 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.d3e21p-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.1c643068cd124p-4 + 0xe.c97c2018b4288p-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.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c2018b428p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2018b428257133eef0ce34p-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.c97c2018b428257133eef0ce34p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428258p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)":
+ildouble: 1
+ldouble: 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 "Imaginary part of: clog (0x6.1c643p-4 + 0xe.c97c2018b428257133eef0ce34p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.1c643p-4 + 0xe.c97c2018b428257p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.1c643p-4 + 0xe.c97c2018b428257p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cb019p-4 + 0xe.c36a6p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a6p-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 "Imaginary part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86bbp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 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.c36a599a86baf8febep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cbb449258p-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.b10b4f3520217b6p-4 + 0xe.8893dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
+double: 1
+idouble: 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.e655e694e510a94307614f1a78p-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.eca921b40e02ae18p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e511p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e511p-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.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.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 "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.e2d65p-4 i)":
+double: 1
+idouble: 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.e2d65939160b8p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b31066ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x7.f4b08p-4 + 0xd.e1bf04f3688p-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.47946p-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)":
+ildouble: 1
+ldouble: 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.47946p-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)":
+double: 1
+idouble: 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+124 i)":
+float: 1
+ifloat: 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.b9317c470b4085cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9318p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317c470b4085cp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317c470b408p-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.b387p-4 + 0xc.b9317p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8b1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8b0f6df3p-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
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
+double: 1
+idouble: 1
+Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53ep-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b1p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)":
+float: 1
+ifloat: 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 (0xa.1f2c1p-4 + 0xc.643aep-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c19ap-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.42a51p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 2
+ldouble: 2
+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.42a51a3c05c199f62998856b8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-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.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a52p-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.42a51a3c05c199fp-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.42a51a3c05c2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a52p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c18p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c2p-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.42a51a3c05c199f62998856b84p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199fp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c19ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b84p-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.e867932966df5894a70c8p-4 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df58ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e8679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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 "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df58ap-4 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df5894a70c8p-4 i)":
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df58ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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 "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df589p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df8p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df5894a70c8p-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.afc58p-4 + 0xb.e867ap-4 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)":
+ildouble: 1
+ldouble: 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 "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)":
+float: 1
+ifloat: 1
+Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc67818f89d2p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc678p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cb9f04d4dp-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.e7de8cc868ff8p-4 + 0xb.b51ccp-4 i)":
+ildouble: 1
+ldouble: 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 "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a043561d0f42p-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a6059p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Real part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary 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 "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f24p-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6058859a584e748p-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.b0f25p-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 "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)":
+double: 1
+idouble: 1
+Test "Imaginary part of: clog (0xb.263a77543bp-4 + 0xb.79c9bp-4 i)":
+ildouble: 1
+ldouble: 1
+Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9a417bb8p-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 (0xcp-4 + 0x1.4p+0 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 "Imaginary part of: clog (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 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-4 + +0 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)":
+float: 1
+ifloat: 1
+Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)":
float: 1
ifloat: 1
@@ -4540,196 +6354,928 @@
Test "cos (0x1p+120)":
float: 1
ifloat: 1
-Test "cos (0x1p+127)":
-float: 1
-ifloat: 1
-Test "cos (M_PI_6l * 2.0)":
-double: 1
-idouble: 1
-Test "cos (M_PI_6l * 4.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+Test "cos (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos (0x2.182a4705ae6cb08cb7665c1eadp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos (0x2.182a4705ae6cb08cp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos (0x2.182a4705ae6cb09p+0)":
+ildouble: 2
+ldouble: 2
+Test "cos (0x7p+0)":
+float: 1
+ifloat: 1
+Test "cos (0x8p+124)":
+float: 1
+ifloat: 1
+Test "cos (0xc.d4967p-4)":
+float: 1
+ifloat: 1
# cos_downward
-Test "cos_downward (1)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (2)":
-float: 1
-ifloat: 1
-Test "cos_downward (3)":
-float: 1
-ifloat: 1
-Test "cos_downward (4)":
-float: 1
-ifloat: 1
-Test "cos_downward (5)":
-float: 1
-ifloat: 1
-Test "cos_downward (6)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (7)":
-float: 1
-ifloat: 1
-Test "cos_downward (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (9)":
-ildouble: 1
-ldouble: 1
-
-# cos_tonearest
-Test "cos_tonearest (7)":
-float: 1
-ifloat: 1
-
-# cos_towardzero
-Test "cos_towardzero (1)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (10)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (2)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (3)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (5)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (7)":
-float: 1
-ifloat: 1
-Test "cos_towardzero (8)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# cos_upward
-Test "cos_upward (10)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (4)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (5)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (6)":
-float: 1
-ifloat: 1
-Test "cos_upward (7)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (9)":
+Test "cos_downward (-0x4p-1024)":
+double: 1
+idouble: 1
+Test "cos_downward (-0x4p-1076)":
+double: 1
+idouble: 1
+Test "cos_downward (-0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (-0x8p-152)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (-0x8p-972)":
+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.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
+ildouble: 1
+ldouble: 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.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: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d19p+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1.921fb6p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 3
+ldouble: 3
+Test "cos_downward (0x1p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (0x1p+120)":
float: 2
ifloat: 2
+ildouble: 2
+ldouble: 2
+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
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 3
+ldouble: 3
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
+ildouble: 3
+ldouble: 3
+Test "cos_downward (0x2.182a4705ae6cb08cp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x2.182a4705ae6cb09p+0)":
+ildouble: 3
+ldouble: 3
+Test "cos_downward (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a48p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 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 (0x3p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (0x4p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x4p+48)":
+double: 1
+idouble: 1
+Test "cos_downward (0x4p-1024)":
+double: 1
+idouble: 1
+Test "cos_downward (0x4p-1076)":
+double: 1
+idouble: 1
+Test "cos_downward (0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 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
+Test "cos_downward (0x8p-972)":
+double: 1
+idouble: 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: 2
+ldouble: 2
+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.ffffcp+124)":
+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.fffffp+124)":
+double: 1
+idouble: 1
+
+# cos_tonearest
+Test "cos_tonearest (0x1p+120)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eadp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_tonearest (0x2.182a4705ae6cb08cp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_tonearest (0x2.182a4705ae6cb09p+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_tonearest (0x7p+0)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0x8p+124)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0xc.d4967p-4)":
+float: 1
+ifloat: 1
+
+# cos_towardzero
+Test "cos_towardzero (-0x4p-1024)":
+double: 1
+idouble: 1
+Test "cos_towardzero (-0x4p-1076)":
+double: 1
+idouble: 1
+Test "cos_towardzero (-0x4p-128)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_towardzero (-0x8p-152)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_towardzero (-0x8p-972)":
+double: 1
+idouble: 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.000004p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x1.0c152382d7365p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.921fb4p+0)":
+ildouble: 3
+ldouble: 3
+Test "cos_towardzero (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "cos_towardzero (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+ildouble: 3
+ldouble: 3
+Test "cos_towardzero (0x1.921fb6p+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_towardzero (0x1p+0)":
+double: 1
[... 8529 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits