summaryrefslogtreecommitdiff
path: root/ports/sysdeps/aarch64
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/aarch64')
-rw-r--r--ports/sysdeps/aarch64/dl-irel.h22
-rw-r--r--ports/sysdeps/aarch64/dl-machine.h20
-rw-r--r--ports/sysdeps/aarch64/dl-trampoline.S28
-rw-r--r--ports/sysdeps/aarch64/fpu/fegetround.c1
-rw-r--r--ports/sysdeps/aarch64/libm-test-ulps4245
-rw-r--r--ports/sysdeps/aarch64/machine-gmon.h15
6 files changed, 3397 insertions, 934 deletions
diff --git a/ports/sysdeps/aarch64/dl-irel.h b/ports/sysdeps/aarch64/dl-irel.h
index 1a3811e7bb..f37ee399c8 100644
--- a/ports/sysdeps/aarch64/dl-irel.h
+++ b/ports/sysdeps/aarch64/dl-irel.h
@@ -22,15 +22,31 @@
#include <stdio.h>
#include <unistd.h>
+#include <ldsodefs.h>
-/* AArch64 does not yet implement IFUNC support. However since
- 2011-06-20 provision of a elf_ifunc_invoke has been mandatory. */
+#define ELF_MACHINE_IRELA 1
static inline ElfW(Addr)
__attribute ((always_inline))
elf_ifunc_invoke (ElfW(Addr) addr)
{
- return ((ElfW(Addr) (*) (void)) (addr)) ();
+ return ((ElfW(Addr) (*) (unsigned long int)) (addr)) (GLRO(dl_hwcap));
+}
+
+static inline void
+__attribute ((always_inline))
+elf_irela (const ElfW(Rela) *reloc)
+{
+ ElfW(Addr) *const reloc_addr = (void *) reloc->r_offset;
+ const unsigned long int r_type = ELFW(R_TYPE) (reloc->r_info);
+
+ if (__glibc_likely (r_type == R_AARCH64_IRELATIVE))
+ {
+ ElfW(Addr) value = elf_ifunc_invoke (reloc->r_addend);
+ *reloc_addr = value;
+ }
+ else
+ __libc_fatal ("unexpected reloc type in static binary");
}
#endif
diff --git a/ports/sysdeps/aarch64/dl-machine.h b/ports/sysdeps/aarch64/dl-machine.h
index 71dd6b3894..01a214fb6b 100644
--- a/ports/sysdeps/aarch64/dl-machine.h
+++ b/ports/sysdeps/aarch64/dl-machine.h
@@ -23,6 +23,7 @@
#include <tls.h>
#include <dl-tlsdesc.h>
+#include <dl-irel.h>
/* Return nonzero iff ELF header is compatible with the running host. */
static inline int __attribute__ ((unused))
@@ -243,6 +244,12 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
ElfW(Addr) value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value;
+ if (sym != NULL
+ && __glibc_unlikely (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC)
+ && __glibc_likely (sym->st_shndx != SHN_UNDEF)
+ && __glibc_likely (!skip_ifunc))
+ value = elf_ifunc_invoke (value);
+
switch (r_type)
{
case R_AARCH64_COPY:
@@ -331,6 +338,12 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
}
break;
+ case R_AARCH64_IRELATIVE:
+ value = map->l_addr + reloc->r_addend;
+ value = elf_ifunc_invoke (value);
+ *reloc_addr = value;
+ break;
+
default:
_dl_reloc_bad_type (map, r_type, 0);
break;
@@ -374,6 +387,13 @@ elf_machine_lazy_rel (struct link_map *map,
td->entry = (void*)(D_PTR (map, l_info[ADDRIDX (DT_TLSDESC_PLT)])
+ map->l_addr);
}
+ else if (__glibc_unlikely (r_type == R_AARCH64_IRELATIVE))
+ {
+ ElfW(Addr) value = map->l_addr + reloc->r_addend;
+ if (__glibc_likely (!skip_ifunc))
+ value = elf_ifunc_invoke (value);
+ *reloc_addr = value;
+ }
else
_dl_reloc_bad_type (map, r_type, 1);
}
diff --git a/ports/sysdeps/aarch64/dl-trampoline.S b/ports/sysdeps/aarch64/dl-trampoline.S
index 94c69a0e2d..923ca76afc 100644
--- a/ports/sysdeps/aarch64/dl-trampoline.S
+++ b/ports/sysdeps/aarch64/dl-trampoline.S
@@ -41,7 +41,7 @@ _dl_runtime_resolve:
cfi_rel_offset (lr, 8)
/* Save arguments. */
- stp x8, x9, [sp, #-80]!
+ stp x8, x9, [sp, #-(80+8*16)]!
cfi_adjust_cfa_offset (80)
cfi_rel_offset (x8, 0)
cfi_rel_offset (x9, 8)
@@ -62,11 +62,27 @@ _dl_runtime_resolve:
cfi_rel_offset (x0, 64)
cfi_rel_offset (x1, 72)
+ stp q0, q1, [sp, #(80+0*16)]
+ cfi_rel_offset (q0, 80+0*16)
+ cfi_rel_offset (q1, 80+1*16)
+
+ stp q2, q3, [sp, #(80+2*16)]
+ cfi_rel_offset (q0, 80+2*16)
+ cfi_rel_offset (q1, 80+3*16)
+
+ stp q4, q5, [sp, #(80+4*16)]
+ cfi_rel_offset (q0, 80+4*16)
+ cfi_rel_offset (q1, 80+5*16)
+
+ stp q6, q7, [sp, #(80+6*16)]
+ cfi_rel_offset (q0, 80+6*16)
+ cfi_rel_offset (q1, 80+7*16)
+
/* Get pointer to linker struct. */
ldr x0, [ip0, #-8]
/* Prepare to call _dl_fixup(). */
- ldr x1, [sp, 80] /* Recover &PLTGOT[n] */
+ ldr x1, [sp, 80+8*16] /* Recover &PLTGOT[n] */
sub x1, x1, ip0
add x1, x1, x1, lsl #1
@@ -81,12 +97,16 @@ _dl_runtime_resolve:
mov ip0, x0
/* Get arguments and return address back. */
+ ldp q0, q1, [sp, #(80+0*16)]
+ ldp q2, q3, [sp, #(80+2*16)]
+ ldp q4, q5, [sp, #(80+4*16)]
+ ldp q6, q7, [sp, #(80+6*16)]
ldp x0, x1, [sp, #64]
ldp x2, x3, [sp, #48]
ldp x4, x5, [sp, #32]
ldp x6, x7, [sp, #16]
- ldp x8, x9, [sp], #80
- cfi_adjust_cfa_offset (-80)
+ ldp x8, x9, [sp], #(80+8*16)
+ cfi_adjust_cfa_offset (-(80+8*16))
ldp ip1, lr, [sp], #16
cfi_adjust_cfa_offset (-16)
diff --git a/ports/sysdeps/aarch64/fpu/fegetround.c b/ports/sysdeps/aarch64/fpu/fegetround.c
index 3b5b3068b2..370caa16d3 100644
--- a/ports/sysdeps/aarch64/fpu/fegetround.c
+++ b/ports/sysdeps/aarch64/fpu/fegetround.c
@@ -26,3 +26,4 @@ fegetround (void)
_FPU_GETCW (fpcr);
return fpcr & FE_TOWARDZERO;
}
+libm_hidden_def (fegetround)
diff --git a/ports/sysdeps/aarch64/libm-test-ulps b/ports/sysdeps/aarch64/libm-test-ulps
index 79afb310da..56d907fc27 100644
--- a/ports/sysdeps/aarch64/libm-test-ulps
+++ b/ports/sysdeps/aarch64/libm-test-ulps
@@ -1,97 +1,159 @@
# Begin of automatic generation
# acos_downward
-Test "acos_downward (-0)":
+Test "acos_downward (-0x8p-4)":
float: 1
ifloat: 1
-Test "acos_downward (-0.5)":
-double: 1
-idouble: 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
ildouble: 1
ldouble: 1
# acos_towardzero
-Test "acos_towardzero (-0)":
+Test "acos_towardzero (-0x8p-4)":
float: 1
ifloat: 1
-Test "acos_towardzero (-0.5)":
+ildouble: 1
+ldouble: 1
+
+# acos_upward
+Test "acos_upward (+0)":
double: 1
idouble: 1
-Test "acos_towardzero (-1)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0)":
-float: 1
-ifloat: 1
-Test "acos_towardzero (0.5)":
+Test "acos_upward (-0)":
double: 1
-float: 1
idouble: 1
-ifloat: 1
+Test "acos_upward (-0x1p+0)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54646d496p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54646d497p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef54p-56)":
+double: 1
+idouble: 1
+Test "acos_upward (0x1.70ef56p-56)":
+double: 1
+idouble: 1
+
+# asin
+Test "asin (-0xf.ffffffffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin (-0xf.fffffffffffffffp-4)":
ildouble: 1
ldouble: 1
-# acos_upward
-Test "acos_upward (-0)":
+# asin_downward
+Test "asin_downward (-0x1p+0)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "acos_upward (-1)":
+Test "asin_downward (-0x8p-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "acos_upward (0)":
+Test "asin_downward (-0xf.fffffff8p-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-
-# asin_downward
-Test "asin_downward (-0.5)":
+Test "asin_downward (-0xf.ffffffffffff8p-4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "asin_downward (-1.0)":
+Test "asin_downward (-0xf.fffffffffffffffp-4)":
ildouble: 1
ldouble: 1
-Test "asin_downward (0.5)":
+Test "asin_downward (-0xf.fffffffffffp-4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "asin_downward (1.0)":
+Test "asin_downward (-0xf.fffffp-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "asin_downward (0x8p-4)":
+float: 1
+ifloat: 1
+Test "asin_downward (0xcp-4)":
+ildouble: 1
+ldouble: 1
+
+# asin_tonearest
+Test "asin_tonearest (-0xf.ffffffffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_tonearest (-0xf.fffffffffffffffp-4)":
+ildouble: 1
+ldouble: 1
# asin_towardzero
-Test "asin_towardzero (-0.5)":
-double: 1
-idouble: 1
-Test "asin_towardzero (-1.0)":
+Test "asin_towardzero (-0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0x8p-4)":
float: 1
ifloat: 1
-Test "asin_towardzero (0.5)":
-double: 1
-idouble: 1
-Test "asin_towardzero (1.0)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (-0xf.fffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0x8p-4)":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "asin_towardzero (0xcp-4)":
+ildouble: 1
+ldouble: 1
# asin_upward
-Test "asin_upward (-1.0)":
+Test "asin_upward (-0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0x8p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "asin_upward (1.0)":
ildouble: 1
ldouble: 1
+Test "asin_upward (-0xf.fffffff8p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0xf.ffffffffffff8p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0xf.fffffffffffffffp-4)":
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0xf.fffffffffffp-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "asin_upward (-0xf.fffffp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "asin_upward (0x1p+0)":
+double: 1
+idouble: 1
# atan2
Test "atan2 (-0.00756827042671106339, -.001792735857538728036)":
@@ -117,32 +179,28 @@ ildouble: 1
ldouble: 1
# atanh
-Test "atanh (0.75)":
+Test "atanh (0xcp-4)":
float: 1
ifloat: 1
# cacos
Test "Imaginary part of: cacos (+0 + 0.5 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: cacos (+0 + 1.5 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: cacos (+0 - 0.5 i)":
float: 1
ifloat: 1
@@ -161,26 +219,22 @@ idouble: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: cacos (-0 + 0.5 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: cacos (-0 + 1.0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: cacos (-0 - 0.5 i)":
float: 1
ifloat: 1
@@ -860,13 +914,6 @@ ldouble: 1
Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacos (-1.5 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
Test "Real part of: cacos (-2 - 3 i)":
float: 1
ifloat: 1
@@ -915,8 +962,6 @@ ldouble: 1
Test "Real part of: cacos (0.5 + +0 i)":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
double: 1
idouble: 1
@@ -967,8 +1012,6 @@ ldouble: 1
Test "Real part of: cacos (0.5 - 0 i)":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
double: 1
idouble: 1
@@ -1016,9 +1059,6 @@ double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacos (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
Test "Real part of: cacos (0x0.fffffffffffff8p0 + 0.0 i)":
double: 1
idouble: 1
@@ -1530,13 +1570,6 @@ ldouble: 1
Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: cacos (1.5 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
# cacosh
Test "Real part of: cacosh (+0 + 0.5 i)":
@@ -1658,8 +1691,6 @@ float: 1
idouble: 1
ifloat: 1
Test "Imaginary part of: cacosh (-0.5 + +0 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
@@ -1715,8 +1746,6 @@ Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
float: 1
ifloat: 1
Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
@@ -2273,12 +2302,6 @@ ldouble: 1
Test "Real part of: cacosh (-1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: cacosh (-1.5 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.5 - 0 i)":
-float: 1
-ifloat: 1
Test "Imaginary part of: cacosh (-2 - 3 i)":
float: 1
ifloat: 1
@@ -2935,35 +2958,25 @@ ldouble: 1
Test "Real part of: cacosh (1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: cacosh (1.5 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.5 - 0 i)":
-float: 1
-ifloat: 1
# casin
Test "Imaginary part of: casin (+0 + 0.5 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: casin (+0 + 1.0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: casin (+0 + 1.5 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: casin (+0 - 0.5 i)":
float: 1
ifloat: 1
@@ -2982,26 +2995,22 @@ idouble: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: casin (-0 + 0.5 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Imaginary part of: casin (-0 - 0.5 i)":
float: 1
ifloat: 1
@@ -3593,13 +3602,6 @@ ldouble: 1
Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: casin (-1.5 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
ildouble: 1
ldouble: 1
@@ -3721,9 +3723,6 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-Test "Imaginary part of: casin (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)":
ildouble: 1
ldouble: 1
@@ -4191,29 +4190,8 @@ ldouble: 1
Test "Imaginary part of: casin (1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
-Test "Imaginary part of: casin (1.5 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
# casinh
-Test "Real part of: casinh (-0 + 1.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0 - 1.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)":
ildouble: 1
ldouble: 1
@@ -4239,9 +4217,7 @@ Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
ildouble: 1
ldouble: 1
Test "Real part of: casinh (-0.5 + +0 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
@@ -4290,9 +4266,7 @@ Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
float: 1
ifloat: 1
Test "Real part of: casinh (-0.5 - 0 i)":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
@@ -4639,12 +4613,12 @@ Test "Real part of: casinh (-0x1p5000 - 1.0 i)":
ildouble: 1
ldouble: 1
Test "Real part of: casinh (-1.0 + +0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Real part of: casinh (-1.0 + 0.25 i)":
float: 1
ifloat: 1
@@ -4715,12 +4689,12 @@ Test "Real part of: casinh (-1.0 + 0x1p5000 i)":
ildouble: 1
ldouble: 1
Test "Real part of: casinh (-1.0 - 0 i)":
-double: 2
+double: 1
float: 1
-idouble: 2
+idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 1
+ldouble: 1
Test "Real part of: casinh (-1.0 - 0.25 i)":
float: 1
ifloat: 1
@@ -4791,12 +4765,10 @@ Test "Real part of: casinh (-1.0 - 0x1p5000 i)":
ildouble: 1
ldouble: 1
Test "Real part of: casinh (-1.5 + +0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
double: 1
idouble: 1
@@ -4811,12 +4783,10 @@ Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)":
ildouble: 1
ldouble: 1
Test "Real part of: casinh (-1.5 - 0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
double: 1
idouble: 1
@@ -4830,20 +4800,6 @@ ldouble: 1
Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)":
ildouble: 1
ldouble: 1
-Test "Real part of: casinh (-2 - 3 i)":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: casinh (-2 - 3 i)":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-ildouble: 2
-ldouble: 2
Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)":
ildouble: 1
ldouble: 1
@@ -5890,13 +5846,11 @@ Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
float: 1
ifloat: 1
Test "Real part of: catanh (-2 - 3 i)":
-double: 4
-idouble: 4
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Test "Real part of: catanh (0.75 + 1.25 i)":
-double: 1
-idouble: 1
ildouble: 1
ldouble: 1
Test "Imaginary part of: catanh (0.75 + 1.25 i)":
@@ -6040,13 +5994,21 @@ float: 1
ifloat: 1
# cbrt
-Test "cbrt (-0.001)":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-27.0)":
+Test "cbrt (-0x1.bp+4)":
double: 1
idouble: 1
-Test "cbrt (0.9921875)":
+Test "cbrt (-0x4.189374bc6a7ecp-12)":
+ildouble: 1
+ldouble: 1
+Test "cbrt (-0x4.189374bc6a7ef9ep-12)":
+ildouble: 1
+ldouble: 1
+Test "cbrt (-0x4.18937p-12)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "cbrt (0xf.ep-4)":
double: 1
idouble: 1
@@ -6839,171 +6801,655 @@ idouble: 1
ifloat: 1
# cos
+Test "cos (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
Test "cos (0x1p+120)":
float: 1
ifloat: 1
-Test "cos (0x1p+127)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0x7p+0)":
float: 1
ifloat: 1
-Test "cos (M_PI_6l * 2.0)":
-double: 1
-idouble: 1
-Test "cos (M_PI_6l * 4.0)":
-double: 2
+Test "cos (0x8p+124)":
float: 1
-idouble: 2
ifloat: 1
+Test "cos (0xap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos (0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos (0xf.ffffffffffffbffffffffffffcp+1020)":
ildouble: 1
ldouble: 1
# cos_downward
-Test "cos_downward (1)":
+Test "cos_downward (0x1.000000cf4a2a2p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.0000010b239a9p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.00000162a932bp+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.000002d452a1p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.000002p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (0x1.000004p+0)":
float: 1
ifloat: 1
-Test "cos_downward (10)":
+Test "cos_downward (0x1.000006p+0)":
+float: 1
+ifloat: 1
+Test "cos_downward (0x1.0c1522p+0)":
+float: 1
+ifloat: 1
+Test "cos_downward (0x1.0c152382d7365p+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x1.0c1524p+0)":
+float: 1
+ifloat: 1
+Test "cos_downward (0x1.921fb4p+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1.921fb54442d19p+0)":
ildouble: 1
ldouble: 1
-Test "cos_downward (2)":
+Test "cos_downward (0x1.921fb6p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_downward (0x1p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_downward (0x1p+120)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x1p+28)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "cos_downward (3)":
+Test "cos_downward (0x2.182a44p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "cos_downward (0x2.182a4705ae6cap+0)":
+double: 1
+idouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
ildouble: 1
ldouble: 1
-Test "cos_downward (4)":
+Test "cos_downward (0x2.182a4705ae6cb08cp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6cb09p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x2.182a48p+0)":
float: 1
ifloat: 1
-Test "cos_downward (5)":
+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 (6)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (7)":
+Test "cos_downward (0x3p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cos_downward (8)":
+Test "cos_downward (0x4p+48)":
+double: 1
+idouble: 1
+Test "cos_downward (0x8p+0)":
float: 1
ifloat: 1
ildouble: 2
ldouble: 2
-
-# cos_tonearest
-Test "cos_tonearest (7)":
+Test "cos_downward (0x8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos_downward (0x9p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-
-# cos_towardzero
-Test "cos_towardzero (10)":
ildouble: 1
ldouble: 1
-Test "cos_towardzero (2)":
+Test "cos_downward (0xa.217bap+12)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cos_towardzero (3)":
+Test "cos_downward (0xap+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cos_towardzero (5)":
+Test "cos_downward (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xc.d4966d92d171p-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xc.d4966p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "cos_downward (0xc.d4967p-4)":
+float: 1
+ifloat: 1
+Test "cos_downward (0xcp-4)":
+double: 1
+idouble: 1
+Test "cos_downward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "cos_towardzero (6)":
+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 (0x1.921fb54442d1846ap+0)":
ildouble: 1
ldouble: 1
-Test "cos_towardzero (7)":
+Test "cos_tonearest (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x1p+120)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cos_towardzero (8)":
+Test "cos_tonearest (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x2.182a4705ae6ccp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0x7p+0)":
float: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+Test "cos_tonearest (0x8p+124)":
+float: 1
+ifloat: 1
+Test "cos_tonearest (0xap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos_tonearest (0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+
+# cos_towardzero
+Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.0000010b239a9p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.00000162a932bp+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.000002d452a1p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.000002p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.0c152382d7365p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1.921fb6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x1p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x1p+120)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_towardzero (0x2.182a44p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x2.182a4705ae6cap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x2.182a4705ae6ccp+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x2.182a48p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x2.1e19e0c9bab24p+72)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x2.1e19ep+72)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x2p+0)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x4p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x4p+48)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0x8p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0x8p+1020)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xa.217bap+12)":
+ildouble: 1
+ldouble: 1
+Test "cos_towardzero (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xc.d4966d92d171p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xc.d4966p-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xcp-4)":
+double: 1
+idouble: 1
+Test "cos_towardzero (0xf.fffffp+124)":
+double: 1
+idouble: 1
# cos_upward
-Test "cos_upward (1)":
+Test "cos_upward (-0x2p+64)":
+double: 1
+idouble: 1
+Test "cos_upward (0x1.000002p+0)":
+float: 1
+ifloat: 1
+Test "cos_upward (0x1.000004p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0x1.000005bc7d86dp+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x1.000006p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0x1.0c1522p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0x1.0c152382d7366p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x1.0c1524p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x1.921fb4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "cos_upward (10)":
+Test "cos_upward (0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x1.921fb6p+0)":
float: 1
ifloat: 1
-Test "cos_upward (4)":
ildouble: 1
ldouble: 1
-Test "cos_upward (6)":
+Test "cos_upward (0x1p+0)":
float: 1
ifloat: 1
-Test "cos_upward (7)":
+Test "cos_upward (0x1p+120)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "cos_upward (9)":
-float: 2
-ifloat: 2
ildouble: 1
ldouble: 1
-
-# cosh_downward
-Test "cosh_downward (22)":
+Test "cos_upward (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a44p+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cap+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacp+0)":
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6cb08cp+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6cb09p+0)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a4705ae6ccp+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0x2.182a48p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x2.1e19e4p+72)":
float: 1
ifloat: 1
+Test "cos_upward (0x2p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "cosh_downward (23)":
+Test "cos_upward (0x2p+64)":
+double: 1
+idouble: 1
+Test "cos_upward (0x3p+0)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cosh_downward (24)":
+Test "cos_upward (0x4p+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0x5p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x6p+0)":
+double: 1
+idouble: 1
+Test "cos_upward (0x7p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "cos_upward (0x8p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (22)":
+Test "cos_upward (0x8p+1020)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-
-# cosh_towardzero
-Test "cosh_towardzero (22)":
+Test "cos_upward (0x8p+124)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "cos_upward (0x9p+0)":
+float: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "cosh_towardzero (23)":
+Test "cos_upward (0xa.217bap+12)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "cos_upward (0xap+0)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "cosh_towardzero (24)":
+Test "cos_upward (0xc.d4966p-4)":
+float: 1
+ifloat: 1
+Test "cos_upward (0xc.d4967p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "cos_upward (0xf.ffffcp+124)":
+double: 1
+idouble: 1
+Test "cos_upward (0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "cos_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
ildouble: 1
ldouble: 1
-# cosh_upward
-Test "cosh_upward (22)":
+# cosh
+Test "cosh (-0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+Test "cosh (0x1.6p+4)":
+ildouble: 1
+ldouble: 1
+Test "cosh (0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+
+# cosh_downward
+Test "cosh_downward (-0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_downward (0x1.6p+4)":
+double: 1
+idouble: 1
+Test "cosh_downward (0x1.7p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cosh_downward (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+
+# cosh_tonearest
+Test "cosh_tonearest (-0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+Test "cosh_tonearest (0x1.6p+4)":
ildouble: 1
ldouble: 1
-Test "cosh_upward (23)":
+Test "cosh_tonearest (0x2.c5e3acp+8)":
+double: 1
+idouble: 1
+
+# cosh_towardzero
+Test "cosh_towardzero (-0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x1.6p+4)":
+double: 1
+idouble: 1
+Test "cosh_towardzero (0x1.7p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "cosh_towardzero (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+
+# cosh_upward
+Test "cosh_upward (-0x2.c5e3bp+8)":
+double: 1
+idouble: 1
+Test "cosh_upward (0x1.6p+4)":
ildouble: 1
ldouble: 1
-Test "cosh_upward (24)":
+Test "cosh_upward (0x1.8p+4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
+Test "cosh_upward (0x2.c5e3bp+8)":
+double: 1
+idouble: 1
# cpow
Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i)":
@@ -7042,13 +7488,6 @@ ldouble: 2
Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i)":
float: 2
ifloat: 2
-Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
# csin
Test "Real part of: csin (-0.75 + 11357.25 i)":
@@ -7595,129 +8034,267 @@ ildouble: 1
ldouble: 1
# erf
-Test "erf (1.25)":
+Test "erf (-0x7.ffffffffffffcp-4)":
+ildouble: 1
+ldouble: 1
+Test "erf (0x1.4p+0)":
double: 1
idouble: 1
# erfc
-Test "erfc (0.75)":
-float: 1
-ifloat: 1
-Test "erfc (0x1.f7303cp+1)":
-double: 1
-idouble: 1
-Test "erfc (0x1.ffa002p+2)":
+Test "erfc (-0x8p-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "erfc (0x1.ffffc8p+2)":
+Test "erfc (0x1.ap+4)":
ildouble: 1
ldouble: 1
-Test "erfc (2.0)":
-double: 1
-idouble: 1
-Test "erfc (27.0)":
+Test "erfc (0x1.bp+4)":
+ildouble: 1
+ldouble: 1
+Test "erfc (0x1.cp+4)":
ildouble: 1
ldouble: 1
-Test "erfc (4.125)":
+Test "erfc (0x2p+0)":
double: 1
idouble: 1
+Test "erfc (0x3.ee6078p+0)":
+double: 1
+idouble: 1
+Test "erfc (0x4.2p+0)":
+double: 1
+idouble: 1
+Test "erfc (0x6.4p+4)":
+ildouble: 1
+ldouble: 1
+Test "erfc (0x6.a8p+4)":
+ildouble: 1
+ldouble: 1
+Test "erfc (0x7.fe8008p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "erfc (0x7.fffd6p+0)":
+float: 1
+ifloat: 1
+Test "erfc (0x7.ffff2p+0)":
+ildouble: 1
+ldouble: 1
+Test "erfc (0xcp-4)":
+float: 1
+ifloat: 1
# exp10
-Test "exp10 (-1)":
+Test "exp10 (-0x1.31p+8)":
double: 1
idouble: 1
-Test "exp10 (-305)":
+Test "exp10 (-0x1p+0)":
double: 1
idouble: 1
-Test "exp10 (-36)":
+Test "exp10 (-0x2.4p+4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "exp10 (3)":
+Test "exp10 (0x1.344p+12)":
+ildouble: 1
+ldouble: 1
+Test "exp10 (0x2.4p+4)":
double: 1
idouble: 1
-Test "exp10 (36)":
+Test "exp10 (0x3p+0)":
double: 1
idouble: 1
-Test "exp10 (4932)":
-ildouble: 1
-ldouble: 1
# exp2
-Test "exp2 (100.5)":
+Test "exp2 (0x6.48p+4)":
ildouble: 1
ldouble: 1
# exp_downward
-Test "exp_downward (2)":
-float: 1
-ifloat: 1
+Test "exp_downward (0x2p+0)":
+double: 1
+idouble: 1
+Test "exp_downward (0x3p+0)":
+double: 1
+idouble: 1
+Test "exp_downward (0x5.8b9028p+4)":
+double: 1
+idouble: 1
+Test "exp_downward (0xcp-4)":
+double: 1
+idouble: 1
+
+# exp_towardzero
+Test "exp_towardzero (0x2p+0)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0x3p+0)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0x5.8b9028p+4)":
+double: 1
+idouble: 1
+Test "exp_towardzero (0xcp-4)":
+double: 1
+idouble: 1
+
+# exp_upward
+Test "exp_upward (-0x2.e870a4p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a7e5e88c2p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a7e5e88cp+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.e870a8p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe224p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe227861639p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x2.ebe228p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0x4.d2p+8)":
+double: 1
+idouble: 1
+Test "exp_upward (-0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "exp_downward (3)":
-float: 1
-ifloat: 1
+Test "exp_upward (-0xf.ffffffffffffbffffffffffffcp+1020)":
ildouble: 1
ldouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (2)":
-float: 1
-ifloat: 1
+Test "exp_upward (-0xf.fffffffffffffffffffffffffff8p+16380)":
ildouble: 1
ldouble: 1
-Test "exp_towardzero (3)":
-float: 1
-ifloat: 1
+Test "exp_upward (-0xf.fffffffffffffffp+16380)":
ildouble: 1
ldouble: 1
-
-# exp_upward
-Test "exp_upward (1)":
-float: 1
-ifloat: 1
+Test "exp_upward (-0xf.fffffp+124)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
+Test "exp_upward (0x1p+0)":
+double: 1
+idouble: 1
+Test "exp_upward (0x2.c5cp+8)":
+double: 1
+idouble: 1
+Test "exp_upward (0x3.2p+4)":
+double: 1
+idouble: 1
# expm1
-Test "expm1 (-79.0)":
+Test "expm1 (-0x1p+4)":
ildouble: 1
ldouble: 1
-Test "expm1 (0.75)":
+Test "expm1 (-0x2.6p+4)":
+ildouble: 1
+ldouble: 1
+Test "expm1 (-0x2.cp+4)":
+ildouble: 1
+ldouble: 1
+Test "expm1 (-0x4.ep+4)":
+ildouble: 1
+ldouble: 1
+Test "expm1 (-0x4.fp+4)":
+ildouble: 1
+ldouble: 1
+Test "expm1 (0x1.f4p+8)":
double: 1
idouble: 1
-Test "expm1 (1)":
+Test "expm1 (0x1p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1 (500.0)":
+Test "expm1 (0xcp-4)":
double: 1
idouble: 1
# gamma
-Test "gamma (-0.5)":
+Test "gamma (-0x1p-20)":
+double: 1
+idouble: 1
+Test "gamma (-0x1p-40)":
+ildouble: 1
+ldouble: 1
+Test "gamma (-0x1p-64)":
ildouble: 1
ldouble: 1
-Test "gamma (0.7)":
+Test "gamma (-0x2p-16)":
double: 1
float: 1
idouble: 1
ifloat: 1
+Test "gamma (-0x4p-12)":
+double: 1
+idouble: 1
+Test "gamma (-0x4p-32)":
ildouble: 1
ldouble: 1
-Test "gamma (1.2)":
+Test "gamma (-0x8p-28)":
+ildouble: 1
+ldouble: 1
+Test "gamma (-0x8p-4)":
+ildouble: 1
+ldouble: 1
+Test "gamma (-0x8p-8)":
double: 1
-float: 2
idouble: 1
-ifloat: 2
ildouble: 1
ldouble: 1
+Test "gamma (0x1.3333333333333332p+0)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0x1.3333333333333333333333333333p+0)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0x1p-60)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0x4p-12)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "gamma (0x4p-32)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "gamma (0x4p-72)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0x8p-8)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0xb.3333333333333333333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0xb.333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0xb.3333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "gamma (0xb.333333333333p-4)":
+double: 1
+idouble: 1
+Test "gamma (0xb.33333p-4)":
+double: 1
+idouble: 1
# hypot
Test "hypot (-0.7, -12.4)":
@@ -7746,88 +8323,120 @@ float: 1
ifloat: 1
# j0
-Test "j0 (-0x1.001000001p+593)":
-ildouble: 1
-ldouble: 1
-Test "j0 (-4.0)":
+Test "j0 (-0x2.002000002p+592)":
+ildouble: 2
+ldouble: 2
+Test "j0 (-0x4p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "j0 (0x1.d7ce3ap+107)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j0 (0x1p1023)":
ildouble: 1
ldouble: 1
-Test "j0 (0x1p16383)":
-ildouble: 2
-ldouble: 2
-Test "j0 (10.0)":
+Test "j0 (-0xf.fffffp+124)":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
-Test "j0 (2.0)":
+Test "j0 (0x2p+0)":
ildouble: 2
ldouble: 2
-Test "j0 (4.0)":
+Test "j0 (0x4p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "j0 (8.0)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0x4p+16380)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0x8p+0)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-
-# j1
-Test "j1 (-1.0)":
+Test "j0 (0x8p+1020)":
ildouble: 1
ldouble: 1
-Test "j1 (0.75)":
+Test "j0 (0x8p+16380)":
+ildouble: 2
+ldouble: 2
+Test "j0 (0xap+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "j0 (0xe.be71dp+104)":
+float: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "j1 (0x1.3ffp+74)":
+Test "j0 (0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 1
+ldouble: 1
+Test "j0 (0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+
+# j1
+Test "j1 (0x1.ff00000000002p+840)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "j1 (0x1.ff00000000002p+840)":
+Test "j1 (0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "j1 (0x2p+0)":
+double: 1
+idouble: 1
+Test "j1 (0x4.ffcp+72)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "j1 (0x1p1023)":
+Test "j1 (0x4p+16380)":
ildouble: 1
ldouble: 1
-Test "j1 (0x1p16382)":
+Test "j1 (0x8p+0)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "j1 (0x8p+1020)":
ildouble: 1
ldouble: 1
-Test "j1 (0x1p16383)":
+Test "j1 (0x8p+16380)":
ildouble: 2
ldouble: 2
-Test "j1 (1.0)":
-ildouble: 1
-ldouble: 1
-Test "j1 (10.0)":
+Test "j1 (0xap+0)":
float: 2
ifloat: 2
ildouble: 2
ldouble: 2
-Test "j1 (2.0)":
+Test "j1 (0xcp-4)":
+ildouble: 1
+ldouble: 1
+Test "j1 (0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
-Test "j1 (8.0)":
+Test "j1 (0xf.fffffp+124)":
double: 1
+float: 1
idouble: 1
-ildouble: 4
-ldouble: 4
+ifloat: 1
# jn
Test "jn (0, -4.0)":
@@ -7898,8 +8507,8 @@ Test "jn (10, 1.0)":
ildouble: 1
ldouble: 1
Test "jn (10, 10.0)":
-float: 1
-ifloat: 1
+float: 2
+ifloat: 2
ildouble: 2
ldouble: 2
Test "jn (10, 2.0)":
@@ -7912,6 +8521,17 @@ double: 2
float: 2
idouble: 2
ifloat: 2
+Test "jn (2, 0x1p1023)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x1p127)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x1p16383)":
+ildouble: 2
+ldouble: 2
Test "jn (2, 2.4048255576957729)":
double: 2
float: 1
@@ -7929,9 +8549,7 @@ double: 1
idouble: 1
Test "jn (3, 10.0)":
double: 3
-float: 1
idouble: 3
-ifloat: 1
ildouble: 2
ldouble: 2
Test "jn (3, 2.0)":
@@ -7984,38 +8602,131 @@ ildouble: 3
ldouble: 3
# lgamma
-Test "lgamma (-0.5)":
+Test "lgamma (-0x1p-20)":
+double: 1
+idouble: 1
+Test "lgamma (-0x1p-40)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (-0x1p-64)":
ildouble: 1
ldouble: 1
-Test "lgamma (0.7)":
+Test "lgamma (-0x2p-16)":
double: 1
float: 1
idouble: 1
ifloat: 1
+Test "lgamma (-0x4p-12)":
+double: 1
+idouble: 1
+Test "lgamma (-0x4p-32)":
ildouble: 1
ldouble: 1
-Test "lgamma (1.2)":
+Test "lgamma (-0x8p-28)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (-0x8p-4)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (-0x8p-8)":
double: 1
-float: 2
idouble: 1
-ifloat: 2
ildouble: 1
ldouble: 1
+Test "lgamma (0x1.3333333333333332p+0)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x1.3333333333333333333333333333p+0)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x1p-60)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x4p-12)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x4p-32)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x4p-72)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0x8p-8)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0xb.3333333333333333333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0xb.333333333333333p-4)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0xb.3333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "lgamma (0xb.333333333333p-4)":
+double: 1
+idouble: 1
+Test "lgamma (0xb.33333p-4)":
+double: 1
+idouble: 1
+
+# log
+Test "log (0x2.b7e151628aed2a68p+0)":
+ildouble: 1
+ldouble: 1
+Test "log (0x2.b7e151628aed2a6abf7158809cf4p+0)":
+ildouble: 1
+ldouble: 1
+Test "log (0x2.b7e151628aed2p+0)":
+ildouble: 1
+ldouble: 1
+Test "log (0x2.b7e15p+0)":
+float: 1
+ifloat: 1
# log10
-Test "log10 (0.75)":
+Test "log10 (0x1.999998p-4)":
+ildouble: 1
+ldouble: 1
+Test "log10 (0x1.999999999999ap-4)":
+ildouble: 1
+ldouble: 1
+Test "log10 (0x1.99999ap-4)":
+ildouble: 1
+ldouble: 1
+Test "log10 (0x2.b7e151628aed2a6cp+0)":
+ildouble: 1
+ldouble: 1
+Test "log10 (0x2.b7e154p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "log10 (0xcp-4)":
double: 1
float: 2
idouble: 1
ifloat: 2
-Test "log10 (e)":
-float: 1
-ifloat: 1
ildouble: 1
ldouble: 1
+# log1p
+Test "log1p (0x1.b7e151628aed2p+0)":
+ildouble: 1
+ldouble: 1
+Test "log1p (0x1.b7e15p+0)":
+float: 1
+ifloat: 1
+
# log2
-Test "log2 (0.75)":
+Test "log2 (0x2.b7e151628aed2a6cp+0)":
+ildouble: 1
+ldouble: 1
+Test "log2 (0xcp-4)":
ildouble: 1
ldouble: 1
@@ -8049,26 +8760,26 @@ ildouble: 1
ldouble: 1
# pow10
-Test "pow10 (-1)":
+Test "pow10 (-0x1.31p+8)":
double: 1
idouble: 1
-Test "pow10 (-305)":
+Test "pow10 (-0x1p+0)":
double: 1
idouble: 1
-Test "pow10 (-36)":
+Test "pow10 (-0x2.4p+4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "pow10 (3)":
+Test "pow10 (0x1.344p+12)":
+ildouble: 1
+ldouble: 1
+Test "pow10 (0x2.4p+4)":
double: 1
idouble: 1
-Test "pow10 (36)":
+Test "pow10 (0x3p+0)":
double: 1
idouble: 1
-Test "pow10 (4932)":
-ildouble: 1
-ldouble: 1
# pow_downward
Test "pow_downward (1.5, 1.03125)":
@@ -8087,103 +8798,1028 @@ ifloat: 1
ildouble: 1
ldouble: 1
+# sin
+Test "sin (-0x1.921fb4p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (-0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (-0x1.921fb54442d19p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (-0x8.60a91c16b9b28p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x1p+0)":
+float: 1
+ifloat: 1
+Test "sin (0x2.1e19e0c9bab24p+72)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x2p+64)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.be735c19be9fffffffffffffffe8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.be736p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.ec2a0250032a00000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.ec2a0250032a2p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.ec2a04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3.ec2ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.1237e153f7080000000000000004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.1237e153f7080008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.c92d08p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.c92d0ffa4bf00000000000000088p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.c92d0ffa4bf00008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.c92d0ffa4bf04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x4.c92d0ffa4bfp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x5.fbec7477d4a84p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0x5.fbec78p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin (0xc.d4967p-4)":
+float: 1
+ifloat: 1
+
# sin_downward
-Test "sin_downward (10)":
+Test "sin_downward (-0x1.921fb4p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x1.921fb54442d19p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x1.921fb6p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x2p+64)":
+double: 1
+idouble: 1
+Test "sin_downward (-0x8.60a91c16b9b28p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c232dd99707abp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c23p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b2c24p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91c16b9b3p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (-0x8.60a91p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (-0x8.60a92p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x1p+120)":
float: 1
ifloat: 1
-Test "sin_downward (2)":
+Test "sin_downward (0x1p+28)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sin_downward (0x2.1e19e0c9bab24p+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.1e19e4p+72)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.1e19ep+72)":
+float: 2
+ifloat: 2
+Test "sin_downward (0x2.553534p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x2.5535376715bap+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x2p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x3.be735c19be9fep+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be735c19be9ffffcp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be735c19be9fffffffffffffffe8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be735c19be9fffffffffffffffeap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be735c19be9fffffffffffffffp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.be735cp+0)":
ildouble: 1
ldouble: 1
-Test "sin_downward (3)":
+Test "sin_downward (0x3.be736p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "sin_downward (4)":
+Test "sin_downward (0x3.ec2a0250032a0000000000000072p+0)":
ildouble: 1
ldouble: 1
-Test "sin_downward (5)":
+Test "sin_downward (0x3.ec2a0250032a00000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2a0250032a0004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2a0250032a2p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2a0250032ap+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2a04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x3.ec2ap+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "sin_downward (6)":
+Test "sin_downward (0x3p+0)":
float: 1
ifloat: 1
-Test "sin_downward (8)":
ildouble: 1
ldouble: 1
-Test "sin_downward (9)":
+Test "sin_downward (0x4.093385688a2d1508p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.093385688a2d4p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.093388p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (0x4.1237e153f7080000000000000004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.1237e153f70800000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.1237e153f7080008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.1237e153f7084p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x4.1237e153f708p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.1237e8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.1237ep+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d08p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d0ffa4bf00000000000000088p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d0ffa4bf000000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d0ffa4bf00008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d0ffa4bf04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d0ffa4bfp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4.c92d1p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x4p+48)":
+double: 1
+idouble: 1
+Test "sin_downward (0x5.fbec7477d4a8000000000000009cp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x5.fbec7477d4a84p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x5.fbec7477d4a8p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x5.fbec78p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x5.fbec7p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x5p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x6p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0x8p+0)":
+double: 1
+idouble: 1
+Test "sin_downward (0x8p+1020)":
+double: 1
+idouble: 1
+Test "sin_downward (0x9p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sin_downward (0xap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sin_downward (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (0xc.d4966p-4)":
+double: 1
+idouble: 1
+Test "sin_downward (0xf.ffffcp+124)":
+double: 1
+idouble: 1
+Test "sin_downward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_downward (0xf.fffffp+124)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
# sin_tonearest
-Test "sin_tonearest (1)":
+Test "sin_tonearest (-0x1.921fb4p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (-0x1.921fb54442d18p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (-0x1.921fb54442d19p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (-0x8.60a91c16b9b28p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x1p+0)":
float: 1
ifloat: 1
-Test "sin_tonearest (3)":
+Test "sin_tonearest (0x2.1e19e0c9bab24p+72)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x2p+64)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.be735c19be9fffffffffffffffe8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.be736p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.ec2a0250032a00000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.ec2a0250032a2p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.ec2a04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3.ec2ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.1237e153f7080000000000000004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.1237e153f7080008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.c92d08p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.c92d0ffa4bf00000000000000088p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.c92d0ffa4bf00008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.c92d0ffa4bf04p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x4.c92d0ffa4bfp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x5.fbec7477d4a84p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_tonearest (0x5.fbec78p+0)":
ildouble: 1
ldouble: 1
+Test "sin_tonearest (0xc.d4967p-4)":
+float: 1
+ifloat: 1
# sin_towardzero
-Test "sin_towardzero (1)":
+Test "sin_towardzero (-0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (-0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (-0x2p+64)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (-0x8.60a91p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x1p+0)":
float: 1
ifloat: 1
-Test "sin_towardzero (10)":
+Test "sin_towardzero (0x1p+28)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2.1e19ep+72)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "sin_towardzero (2)":
ildouble: 1
ldouble: 1
-Test "sin_towardzero (3)":
+Test "sin_towardzero (0x2.553534p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2.5535376715bap+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x2p+64)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "sin_towardzero (4)":
+Test "sin_towardzero (0x3.be735c19beap+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x3.be735cp+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "sin_towardzero (0x3.ec2a0250032a000000000000007p+0)":
ildouble: 1
ldouble: 1
-Test "sin_towardzero (5)":
+Test "sin_towardzero (0x3.ec2a04p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "sin_towardzero (0x3p+0)":
ildouble: 1
ldouble: 1
-Test "sin_towardzero (8)":
+Test "sin_towardzero (0x4.093385688a2d1508p-4)":
ildouble: 1
ldouble: 1
-Test "sin_towardzero (9)":
+Test "sin_towardzero (0x4.093385688a2d4p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x4.093388p-4)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.1237e153f7084p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x4.1237e8p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.1237ep+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.c92d0ffa4bf0000000000000008cp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4.c92d0ffa4bfp+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x4p+48)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x5.fbec7477d4a80000000000000098p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x5.fbec7477d4a800000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x5.fbec7477d4a80008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x5.fbec7477d4a8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0x5.fbec7p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x8p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x8p+1020)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0x9p+0)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0xb.fa09ap+100)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0xc.d4966d92d1708p-4)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xc.d4966p-4)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xc.d4967p-4)":
float: 1
ifloat: 1
+Test "sin_towardzero (0xe.ef3afp-4)":
+float: 1
+ifloat: 1
+Test "sin_towardzero (0xf.ffffcp+124)":
+double: 1
+idouble: 1
+Test "sin_towardzero (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_towardzero (0xf.ffffffffffffbffffffffffffcp+1020)":
ildouble: 1
ldouble: 1
# sin_upward
-Test "sin_upward (1)":
+Test "sin_upward (-0x1.921fb4p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18468p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18469898cc517018p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18469898cc51701b8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18469898cc51701b9p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18469898cc51702p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d1846ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d18p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb54442d19p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x1.921fb6p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x2p+64)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b28p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
+ildouble: 3
+ldouble: 3
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c232dd99707abp-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c23p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b2c24p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91c16b9b3p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (-0x8.60a91p-4)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (-0x8.60a92p-4)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x1.921fb4p+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x1.921fb6p+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x1p+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x1p+120)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sin_upward (0x1p+28)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x2.1e19e0c9bab24p+72)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x2.1e19ep+72)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x2.5535376715b9ep+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x2.553538p+0)":
+double: 1
+idouble: 1
+Test "sin_upward (0x2p+0)":
+float: 1
+ifloat: 1
+Test "sin_upward (0x2p+64)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9fep+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9ffffcp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9fffffffffffffffe8p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9fffffffffffffffeap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19be9fffffffffffffffp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be735c19beap+0)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x3.be735cp+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.be736p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a0250032a0000000000000072p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a0250032a000000000000007p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x3.ec2a0250032a00000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a0250032a0004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a0250032a2p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a0250032ap+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x3.ec2a04p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "sin_upward (10)":
+Test "sin_upward (0x3.ec2ap+0)":
ildouble: 1
ldouble: 1
-Test "sin_upward (2)":
+Test "sin_upward (0x3p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.093385688a2d4p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x4.093385688a2dp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x4.09338p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x4.1237e153f7080000000000000004p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.1237e153f70800000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.1237e153f7080008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.1237e153f7084p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.1237e153f708p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.1237e8p+0)":
+double: 1
float: 2
+idouble: 1
ifloat: 2
-Test "sin_upward (3)":
ildouble: 1
ldouble: 1
-Test "sin_upward (4)":
+Test "sin_upward (0x4.1237ep+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "sin_upward (6)":
ildouble: 1
ldouble: 1
-Test "sin_upward (7)":
+Test "sin_upward (0x4.c92d08p+0)":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "sin_upward (9)":
+Test "sin_upward (0x4.c92d0ffa4bf00000000000000088p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d0ffa4bf0000000000000008cp+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x4.c92d0ffa4bf000000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d0ffa4bf00008p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d0ffa4bf04p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d0ffa4bfp+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4.c92d1p+0)":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4p+0)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x4p+48)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a80000000000000098p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a8000000000000009cp+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a800000000000002p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a80008p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec7477d4a84p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7477d4a8p+0)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0x5.fbec78p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5.fbec7p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x5p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x6p+0)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0x7p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "sin_upward (0x8.60a91c16b9b3p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8.60a91p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8.60a92p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0x8p+0)":
+float: 1
+ifloat: 1
+Test "sin_upward (0x8p+124)":
+double: 1
+idouble: 1
+Test "sin_upward (0x9p+0)":
+float: 1
+ifloat: 1
+Test "sin_upward (0xap+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xb.fa09ap+100)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0xc.d4966d92d171p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xc.d4967p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xcp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3af1b5d8008p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3af1b5d8p-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3afp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xe.ef3bp-4)":
+double: 1
+idouble: 1
+Test "sin_upward (0xf.ffffcp+124)":
+ildouble: 1
+ldouble: 1
+Test "sin_upward (0xf.ffffffffffff8p+1020)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
+ildouble: 2
+ldouble: 2
+Test "sin_upward (0xf.fffffp+124)":
+ildouble: 1
+ldouble: 1
# sincos
Test "sincos (0x1p+120) extra output 2":
@@ -8205,772 +9841,1427 @@ float: 1
ifloat: 1
# sinh_downward
-Test "sinh_downward (22)":
+Test "sinh_downward (0x1.6p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sinh_downward (0x1.7p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sinh_downward (0x1.8p+4)":
+ildouble: 1
+ldouble: 1
+Test "sinh_downward (0xcp-4)":
+ildouble: 1
+ldouble: 1
+
+# sinh_towardzero
+Test "sinh_towardzero (0x1.6p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sinh_towardzero (0x1.7p+4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "sinh_towardzero (0xcp-4)":
+ildouble: 1
+ldouble: 1
+
+# sinh_upward
+Test "sinh_upward (0x1.7p+4)":
+ildouble: 1
+ldouble: 1
+Test "sinh_upward (0x1.8p+4)":
+double: 1
+idouble: 1
+Test "sinh_upward (0x8p-32)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "sinh_downward (23)":
+Test "sinh_upward (0xcp-4)":
+ildouble: 1
+ldouble: 1
+
+# tan
+Test "tan (-0xc.90fdcp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan (-0xc.90fdp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan (-0xc.90fp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan (0x6p+0)":
+ildouble: 1
+ldouble: 1
+
+# tan_downward
+Test "tan_downward (-0x2p+64)":
+double: 1
+idouble: 1
+Test "tan_downward (-0xc.908p-4)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "tan_downward (-0xc.90cp-4)":
float: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_downward (24)":
+Test "tan_downward (-0xc.90ep-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-
-# sinh_towardzero
-Test "sinh_towardzero (22)":
+Test "tan_downward (-0xc.90f8p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fcp-4)":
+float: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fd8p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fdap-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fdbp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fdcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_downward (-0xc.90fdp-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "sinh_towardzero (23)":
+Test "tan_downward (-0xc.90fep-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sinh_towardzero (24)":
+Test "tan_downward (-0xc.90fp-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-
-# sinh_upward
-Test "sinh_upward (22)":
ildouble: 1
ldouble: 1
-Test "sinh_upward (23)":
+Test "tan_downward (-0xc.91p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "sinh_upward (24)":
+Test "tan_downward (-0xc.92p-4)":
+double: 1
+idouble: 1
+Test "tan_downward (-0xc.98p-4)":
ildouble: 1
ldouble: 1
-
-# tan_downward
-Test "tan_downward (1)":
+Test "tan_downward (-0xc.9p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_downward (10)":
+Test "tan_downward (-0xc.ap-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x1p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x2.1e19e0c9bab24p+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x2.1e19ep+72)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x2p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x2p+64)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x3p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x4p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x6p+0)":
+double: 1
+idouble: 1
+Test "tan_downward (0x7p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x8p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x8p+1020)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0x8p+16380)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.908p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "tan_downward (2)":
+Test "tan_downward (0xc.90cp-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xc.90fcp-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xc.90fdaa22168c8p-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xc.90fdbp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.90fdcp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.90fdp-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xc.90fep-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.91p-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.92p-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_downward (6)":
+Test "tan_downward (0xc.94p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "tan_downward (8)":
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xc.98p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_downward (9)":
+Test "tan_downward (0xc.ap-4)":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tan_downward (0xcp-4)":
+double: 1
+idouble: 1
+Test "tan_downward (0xf.fffffp+124)":
+ildouble: 1
+ldouble: 1
+
+# tan_tonearest
+Test "tan_tonearest (-0xc.90fdcp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_tonearest (-0xc.90fdp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_tonearest (-0xc.90fp-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_tonearest (0x3p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan_tonearest (0x6p+0)":
+ildouble: 1
+ldouble: 1
# tan_towardzero
-Test "tan_towardzero (10)":
+Test "tan_towardzero (-0x2p+64)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.908p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "tan_towardzero (3)":
+Test "tan_towardzero (-0xc.90cp-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.90f8p-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.90fcp-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.90fd8p-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.90fdap-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.90fdp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.91p-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (-0xc.98p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (-0xc.ap-4)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x1p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_towardzero (4)":
+Test "tan_towardzero (0x2.1e19e0c9bab24p+72)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0x2.1e19ep+72)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x2p+0)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x2p+64)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x5p+0)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0x7p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x8p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x8p+16380)":
+ildouble: 1
+ldouble: 1
+Test "tan_towardzero (0x9p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tan_towardzero (0xc.908p-4)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+Test "tan_towardzero (0xc.90cp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fcp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fdaa22168c8p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.90fdp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xc.98p-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xcp-4)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "tan_towardzero (0xf.fffffp+124)":
+double: 1
+idouble: 1
+
+# tan_upward
+Test "tan_upward (-0xc.908p-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tan_towardzero (5)":
+Test "tan_upward (-0xc.90cp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90ep-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_towardzero (6)":
+Test "tan_upward (-0xc.90f8p-4)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fd8p-4)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fdap-4)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tan_upward (-0xc.90fdbp-4)":
+float: 1
+ifloat: 1
+Test "tan_upward (-0xc.90fdcp-4)":
+float: 1
+ifloat: 1
+Test "tan_upward (-0xc.90fdp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_towardzero (9)":
+Test "tan_upward (-0xc.90fep-4)":
+float: 1
+ifloat: 1
+Test "tan_upward (-0xc.90fp-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-
-# tan_upward
-Test "tan_upward (10)":
+Test "tan_upward (-0xc.91p-4)":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (2)":
+Test "tan_upward (-0xc.94p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (-0xc.98p-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (3)":
+Test "tan_upward (-0xc.9p-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (4)":
+Test "tan_upward (-0xc.ap-4)":
ildouble: 1
ldouble: 1
-Test "tan_upward (5)":
-float: 1
-ifloat: 1
+Test "tan_upward (0x2.1e19e4p+72)":
+double: 1
+idouble: 1
+Test "tan_upward (0x2.1e19ep+72)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (6)":
+Test "tan_upward (0x2p+64)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tan_upward (9)":
+Test "tan_upward (0x4p+0)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-
-# tanh
-Test "tanh (-0.75)":
+Test "tan_upward (0x5p+0)":
+double: 1
+idouble: 1
+Test "tan_upward (0x7p+0)":
+float: 1
+ifloat: 1
+Test "tan_upward (0x8p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tan_upward (0x9p+0)":
+double: 1
+idouble: 1
+Test "tan_upward (0xap+0)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.908p-4)":
+float: 1
+ifloat: 1
+Test "tan_upward (0xc.90ep-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90f8p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fd8p-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fdap-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.90fdbp-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tanh (-1.0)":
+Test "tan_upward (0xc.90fdcp-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tanh (0.75)":
+Test "tan_upward (0xc.90fep-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tanh (1.0)":
+Test "tan_upward (0xc.90fp-4)":
+double: 1
+idouble: 1
+Test "tan_upward (0xc.91p-4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-
-# tgamma
-Test "tgamma (-0.5)":
+Test "tan_upward (0xc.92p-4)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x0.fffffffffffff8p0)":
+Test "tan_upward (0xc.94p-4)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tan_upward (0xc.98p-4)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tan_upward (0xc.9p-4)":
double: 1
idouble: 1
-Test "tgamma (-0x0.ffffffffffffffffffffffffffff8p0)":
+Test "tan_upward (0xc.ap-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x0.ffffffp0)":
+Test "tan_upward (0xcp-4)":
float: 1
ifloat: 1
+Test "tan_upward (0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "tan_upward (0xf.fffffp+124)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.0000000000000002p0)":
+
+# tanh
+Test "tanh (-0x1p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.0000000000001p0)":
+Test "tanh (-0xcp-4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.000002p0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x1.0a32a2p+5)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.5800000080001p+7)":
+Test "tanh (0x1p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.fffffffffffffffep0)":
+Test "tanh (0xcp-4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1.fffffffffffffp0)":
+
+# tgamma
+Test "tgamma (-0x1.0000000000000002p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x1.0000000000001p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x13.ffffep0)":
+Test "tgamma (-0x1.000002p+0)":
+double: 2
+idouble: 2
+Test "tgamma (-0x1.3ffffep+4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x13.ffffffffffffffep0)":
+Test "tgamma (-0x1.3ffffffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x13.fffffffffffffffffffffffff8p0)":
+Test "tgamma (-0x1.3fffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x13.ffffffffffffp0)":
+Test "tgamma (-0x1.3ffffffffffffp+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x14.000000000000000000000000001p0)":
+Test "tgamma (-0x1.4000000000000000000000000001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x14.000000000001p0)":
+Test "tgamma (-0x1.4000000000001p+4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x14.00002p0)":
+Test "tgamma (-0x1.400002p+4)":
float: 1
ifloat: 1
ildouble: 4
ldouble: 4
-Test "tgamma (-0x1d.ffffep0)":
+Test "tgamma (-0x1.dffffep+4)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1d.fffffffffffffffffffffffff8p0)":
+Test "tgamma (-0x1.dfffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1d.ffffffffffffp0)":
+Test "tgamma (-0x1.dffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1e.000000000000000000000000001p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1e.00000000000000000000000008p0)":
+Test "tgamma (-0x1.e000000000000000000000000001p+4)":
+ildouble: 3
+ldouble: 3
+Test "tgamma (-0x1.e00000000000000000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1e.000000000000002p0)":
+Test "tgamma (-0x1.e000000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1e.000000000001p0)":
+Test "tgamma (-0x1.e000000000001p+4)":
double: 3
idouble: 3
-Test "tgamma (-0x1e.00002p0)":
+Test "tgamma (-0x1.e00002p+4)":
double: 1
float: 1
idouble: 1
ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x1.f3ffffffffffffffffffffffff8p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1f3.ffffffffffffffffffffffffffp0)":
+Test "tgamma (-0x1.f3ffffffffffffffffffffffffffp+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x1p-24)":
+Test "tgamma (-0x1.f3fffffffffffp+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x1.f40000000000000000000000008p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.0000000000000000000000000002p0)":
+Test "tgamma (-0x1.f40002p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.0000000000002p0)":
-double: 1
-idouble: 1
+Test "tgamma (-0x1.fffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.000004p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
+Test "tgamma (-0x1.fffffffffffffp+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.0000000000000000000000000002p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2.fffffcp0)":
+Test "tgamma (-0x2.00000000000000000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.0000000000002p+0)":
double: 1
-float: 1
idouble: 1
+Test "tgamma (-0x2.000004p+0)":
+double: 2
+float: 1
+idouble: 2
ifloat: 1
-Test "tgamma (-0x2.ffffffffffffep0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x27.fffffffffffep0)":
+Test "tgamma (-0x2.146544p+4)":
+float: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x2.7fffffffffffep+4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x27.ffffffffffffffcp0)":
+Test "tgamma (-0x2.7ffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x27.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.7ffffffffffffffffffffffffffep+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x27.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.7fffffffffffffffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x28.0000000000000000000000001p0)":
+Test "tgamma (-0x2.8000000000000000000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x28.000000000002p0)":
+Test "tgamma (-0x2.80000000000000000000000001p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.8000000000002p+4)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x28.00004p0)":
+Test "tgamma (-0x2.800004p+4)":
double: 2
idouble: 2
ildouble: 2
ldouble: 2
-Test "tgamma (-0x28.ffffffffffffffcp0)":
+Test "tgamma (-0x2.8fffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x28.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.8ffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x28.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.8ffffffffffffffffffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x29.000000000000000000000000002p0)":
+Test "tgamma (-0x2.8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "tgamma (-0x2.9000000000000000000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x29.0000000000000000000000001p0)":
+Test "tgamma (-0x2.90000000000000000000000001p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x29.00004p0)":
+Test "tgamma (-0x2.900004p+4)":
double: 1
idouble: 1
-Test "tgamma (-0x29.ffffcp0)":
+Test "tgamma (-0x2.9ffffcp+4)":
double: 1
idouble: 1
-Test "tgamma (-0x29.fffffffffffep0)":
+Test "tgamma (-0x2.9fffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x29.ffffffffffffffcp0)":
+Test "tgamma (-0x2.9ffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x29.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.9ffffffffffffffffffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x29.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x2.9fffffffffffffffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2a.000000000000000000000000002p0)":
+Test "tgamma (-0x2.a000000000000000000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2a.0000000000000000000000001p0)":
+Test "tgamma (-0x2.a000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2a.000000000000004p0)":
+Test "tgamma (-0x2.a000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2a.000000000002p0)":
+Test "tgamma (-0x2.a00004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2ed.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.edfffcp+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x2ee.00000000000004p0)":
+Test "tgamma (-0x2.edffffffffffep+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3.00000000000000000000000001p0)":
+Test "tgamma (-0x2.edfffffffffffffffffffffffffep+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3.000004p0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x3.fffffcp0)":
+Test "tgamma (-0x2.ee00000000000000000000000002p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.ee00000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x2.ee00000000002p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.ee0004p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x2.fffffcp+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (-0x3.ffffffffffffep0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x3.fffffffffffffffcp0)":
+Test "tgamma (-0x2.ffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3.fffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x2.fffffffffffffffffffffffffffep+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.00000000000000000000000001p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.000004p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (-0x3.1ffffcp+4)":
+double: 1
+idouble: 1
ildouble: 2
ldouble: 2
-Test "tgamma (-0x31.fffffffffffep0)":
+Test "tgamma (-0x3.1fffffffffffep+4)":
double: 3
idouble: 3
ildouble: 2
ldouble: 2
-Test "tgamma (-0x31.ffffffffffffffcp0)":
+Test "tgamma (-0x3.1ffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x31.ffffffffffffffffffffffffffep0)":
+Test "tgamma (-0x3.1ffffffffffffffffffffffffffep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x31.fffffffffffffffffffffffffp0)":
+Test "tgamma (-0x3.1fffffffffffffffffffffffffp+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x32.000000000000000000000000002p0)":
+Test "tgamma (-0x3.2000000000000000000000000002p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x32.0000000000000000000000001p0)":
+Test "tgamma (-0x3.2000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x32.000000000000004p0)":
+Test "tgamma (-0x3.200004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3e7.fffffffffffffcp0)":
+Test "tgamma (-0x3.8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e7fffffffffffffcp+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3e7.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x3.e7fffffffffffffffffffffffffep+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x3.e7ffffffffffffffffffffffffp+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000000000000000000002p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e8000000000000000000000001p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x3.e800000000002p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x3e8.00000000000000000000000002p0)":
+Test "tgamma (-0x3.e80004p+8)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x3e8.00000000000004p0)":
+Test "tgamma (-0x3.fffffcp+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (-0x3.ffffffffffffep+0)":
+double: 2
+idouble: 2
+Test "tgamma (-0x3.fffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x4.0000000000004p0)":
+Test "tgamma (-0x3.fffffffffffffffffffffffffffep+0)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x4.000008p+0)":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x4.000008p0)":
+Test "tgamma (-0x4.8p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x4.fffff8p0)":
+Test "tgamma (-0x4.e1fffffffffffffffffffffffep+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x4.e2000000000000000000000002p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x4.e200000000000008p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x4.e200000000004p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x4.e20008p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x4.fffff8p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (-0x4.ffffffffffffcp0)":
+Test "tgamma (-0x4.ffffffffffffcp+0)":
double: 1
idouble: 1
+Test "tgamma (-0x4.fffffffffffffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x4.fffffffffffffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x4.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5.0000000000000008p0)":
+Test "tgamma (-0x5.0000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5.0000000000004p0)":
+Test "tgamma (-0x5.0000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5.000008p0)":
+Test "tgamma (-0x5.000008p+0)":
double: 1
float: 2
idouble: 1
ifloat: 2
-Test "tgamma (-0x5.fffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.ffffffffffffcp0)":
+Test "tgamma (-0x5.8p+0)":
double: 1
idouble: 1
+Test "tgamma (-0x5.dbfffffffffffff8p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x5.dbfffffffffffffffffffffffffcp+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5.fffffffffffffff8p0)":
+Test "tgamma (-0x5.dc00000000000000000000000004p+8)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x5.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x5.dc000000000000000000000002p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x5.dc00000000004p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5db.fffffffffffff8p0)":
+Test "tgamma (-0x5.dc0008p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5db.fffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x5.fffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x5dc.00000000000000000000000004p0)":
+Test "tgamma (-0x5.ffffffffffffcp+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x5.fffffffffffffff8p+0)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x6.0000000000000000000000000004p0)":
+Test "tgamma (-0x5.fffffffffffffffffffffffffep+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x5.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.00000000000000000000000002p0)":
+Test "tgamma (-0x6.0000000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.0000000000004p0)":
+Test "tgamma (-0x6.00000000000000000000000002p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.000008p0)":
+Test "tgamma (-0x6.000008p+0)":
float: 2
ifloat: 2
ildouble: 2
ldouble: 2
-Test "tgamma (-0x6.fffff8p0)":
+Test "tgamma (-0x6.3ffff8p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x6.3fffffffffffcp+4)":
double: 2
-float: 1
idouble: 2
+Test "tgamma (-0x6.3ffffffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.3ffffffffffffffffffffffffep+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.4000000000000000000000000004p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x6.40000000000000000000000002p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x6.4000000000004p+4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.400008p+4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.8p+0)":
+float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.ffffffffffffcp0)":
-double: 4
-idouble: 4
+Test "tgamma (-0x6.d5fff8p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.fffffffffffffff8p0)":
+Test "tgamma (-0x6.d5ffffffffffcp+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x6.d5fffffffffffff8p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x63.fffffffffffcp0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x63.ffffffffffffff8p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x63.ffffffffffffffffffffffffep0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.000000000000000000000000004p0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x64.0000000000000000000000002p0)":
+Test "tgamma (-0x6.d5fffffffffffffffffffffffep+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x64.000000000004p0)":
-double: 1
-idouble: 1
+Test "tgamma (-0x6.d600000000000000000000000004p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x6.d6000000000000000000000002p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.d600000000000008p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6d5.fffffffffffff8p0)":
+Test "tgamma (-0x6.d600000000004p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6d6.00000000000000000000000004p0)":
+Test "tgamma (-0x6.e2fffffffffffffffffffffffep+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.e300000000000000000000000004p+8)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0x6.e3000000000000000000000002p+8)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x6e3.00000000000000000000000004p0)":
+Test "tgamma (-0x6.fffff8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (-0x6.ffffffffffffcp+0)":
+double: 4
+idouble: 4
+Test "tgamma (-0x6.fffffffffffffff8p+0)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x7.0000000000000008p0)":
+Test "tgamma (-0x6.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x7.0000000000004p0)":
+Test "tgamma (-0x7.0000000000000008p+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0x7.0000000000004p+0)":
double: 3
idouble: 3
-Test "tgamma (-0x7.000008p0)":
+Test "tgamma (-0x7.000008p+0)":
double: 1
idouble: 1
-Test "tgamma (-0x7.fffff8p0)":
+Test "tgamma (-0x7.8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (-0x7.fffff8p+0)":
double: 3
float: 1
idouble: 3
ifloat: 1
-Test "tgamma (-0x7.ffffffffffffcp0)":
+Test "tgamma (-0x7.ffffffffffffcp+0)":
double: 3
idouble: 3
-Test "tgamma (-0x7.fffffffffffffff8p0)":
+Test "tgamma (-0x7.fffffffffffffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffep0)":
+Test "tgamma (-0x7.fffffffffffffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (-0x7.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x8.0000000000000000000000000008p0)":
+Test "tgamma (-0x8.0000000000000000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x8.00000000000000000000000004p0)":
+Test "tgamma (-0x8.00000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x8.0000000000008p0)":
+Test "tgamma (-0x8.0000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x8.00001p0)":
+Test "tgamma (-0x8.00001p+0)":
double: 2
idouble: 2
ildouble: 1
ldouble: 1
-Test "tgamma (-0x9.ffffffffffff8p0)":
+Test "tgamma (-0x8.8p+0)":
double: 1
+float: 1
idouble: 1
-Test "tgamma (-0x9.fffffffffffffffffffffffffff8p0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x95.ffffffffffffffp0)":
+ifloat: 1
+Test "tgamma (-0x8p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (-0x9.5ffffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x96.000000000000000000000000008p0)":
+Test "tgamma (-0x9.5ffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x96.0000000000000000000000004p0)":
+Test "tgamma (-0x9.60000000000000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0x96.00000000000001p0)":
+Test "tgamma (-0x9.600000000000001p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0x96.000000000008p0)":
+Test "tgamma (-0x9.6000000000008p+4)":
+double: 1
+idouble: 1
+Test "tgamma (-0x9.60001p+4)":
double: 1
idouble: 1
-Test "tgamma (-0xa.0000000000008p0)":
+Test "tgamma (-0x9.8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "tgamma (-0x9.ffffffffffff8p+0)":
+double: 1
+idouble: 1
+Test "tgamma (-0x9.fffffffffffffffffffffffffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xa.00001p0)":
+Test "tgamma (-0xa.00001p+0)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb4.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xa.c000000400008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xa.c0001p+4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb4.ffffffffffffffp0)":
+Test "tgamma (-0xb.4ffffffffffffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb5.0000000000000000000000004p0)":
+Test "tgamma (-0xb.4ffffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb5.00000000000001p0)":
+Test "tgamma (-0xb.4ffffffffffffffp+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xb5.000000000008p0)":
+Test "tgamma (-0xb.50000000000000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb5.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.500000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.5000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb6.00000000000001p0)":
+Test "tgamma (-0xb.5ffffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb6.000000000008p0)":
+Test "tgamma (-0xb.5ffffp+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.60000000000000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb6.fffffffffff8p0)":
+Test "tgamma (-0xb.600000000000001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb6.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.6000000000008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.6fffffffffff8p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.6ffffffffffffffffffffffffcp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.6ffffffffffffffffffffffffff8p+4)":
ildouble: 3
ldouble: 3
-Test "tgamma (-0xb7.000000000000000000000000008p0)":
+Test "tgamma (-0xb.7000000000000000000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb7.00000000000001p0)":
+Test "tgamma (-0xb.700000000000001p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xb7.000000000008p0)":
+Test "tgamma (-0xb.7000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb7.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.70001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb7.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.7ffffffffffffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xb8.00000000000001p0)":
+Test "tgamma (-0xb.7ffffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbb.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.800000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.bfffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.bffffffffffffffffffffffffcp+4)":
ildouble: 3
ldouble: 3
-Test "tgamma (-0xbb.ffffffffffffffffffffffffff8p0)":
+Test "tgamma (-0xb.bffffffffffffffffffffffffff8p+4)":
ildouble: 4
ldouble: 4
-Test "tgamma (-0xbc.000000000000000000000000008p0)":
+Test "tgamma (-0xb.bffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.c000000000000000000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbc.0000000000000000000000004p0)":
+Test "tgamma (-0xb.c0000000000000000000000004p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.c00000000000001p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.c000000000008p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xbc.00000000000001p0)":
+Test "tgamma (-0xb.c0001p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cfffffffffff8p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xbc.ffffffffffffffp0)":
+Test "tgamma (-0xb.cffffffffffffffffffffffffcp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbd.000000000000000000000000008p0)":
+Test "tgamma (-0xb.cffffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbd.00000000000001p0)":
+Test "tgamma (-0xb.cffffffffffffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.cffffp+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.d000000000000000000000000008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.d00000000000001p+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xbd.ffffffffffffffp0)":
+Test "tgamma (-0xb.dfffffffffff8p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xb.dffffffffffffffp+4)":
ildouble: 2
ldouble: 2
-Test "tgamma (-0xbe.000000000000000000000000008p0)":
+Test "tgamma (-0xb.dffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbe.0000000000000000000000004p0)":
+Test "tgamma (-0xb.e000000000000000000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbe.ffffffffffffffffffffffffcp0)":
+Test "tgamma (-0xb.e000000000008p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xb.e0001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbe.ffffffffffffffp0)":
+Test "tgamma (-0xb.efffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbf.000000000000000000000000008p0)":
+Test "tgamma (-0xb.effffffffffffffffffffffffff8p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbf.0000000000000000000000004p0)":
+Test "tgamma (-0xb.effffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xbf.00000000000001p0)":
+Test "tgamma (-0xb.f000000000000000000000000008p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xf9.ffffffffffffffp0)":
+Test "tgamma (-0xb.f0000000000000000000000004p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-0xfa.000000000000000000000000008p0)":
+Test "tgamma (-0xb.f00000000000001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-2.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+Test "tgamma (-0xb.f0001p+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-3.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "tgamma (-0xf.9fffffffffff8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.9ffffffffffffffp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (-4.5)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-5.5)":
+Test "tgamma (-0xf.9ffffp+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a000000000000000000000000008p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xf.a0000000000000000000000004p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a000000000008p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (-0xf.a0001p+4)":
+ildouble: 3
+ldouble: 3
+Test "tgamma (-0xf.ffffffffffff8p-4)":
double: 1
idouble: 1
-Test "tgamma (-6.5)":
+Test "tgamma (-0xf.fffffffffffffffffffffffffff8p-4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (-0xf.fffffp-4)":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "tgamma (-7.5)":
+Test "tgamma (0x1.28p+4)":
+double: 1
+idouble: 1
+Test "tgamma (0x1.38p+4)":
double: 2
-float: 1
idouble: 2
-ifloat: 1
-Test "tgamma (-8.5)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x1.78p+4)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (-9.5)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (0.5)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7)":
+Test "tgamma (0x1.d8p+4)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (0x1.fffffep0)":
+Test "tgamma (0x1.fffffep+0)":
float: 1
ifloat: 1
-Test "tgamma (0x1.fffffffffffffffep0)":
+Test "tgamma (0x1.fffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x1.ffffffffffffffffffffffffffffp0)":
+Test "tgamma (0x1.ffffffffffffffffffffffffffffp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x1.fffffffffffffp0)":
+Test "tgamma (0x1.fffffffffffffp+0)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (0x1p-113)":
-ildouble: 1
-ldouble: 1
Test "tgamma (0x1p-24)":
float: 1
ifloat: 1
-Test "tgamma (0x1p-53)":
+Test "tgamma (0x2.08p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x2.18p+4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x2.28p+4)":
double: 1
idouble: 1
Test "tgamma (0x2.30a43cp+4)":
@@ -8978,361 +11269,407 @@ double: 1
idouble: 1
ildouble: 2
ldouble: 2
-Test "tgamma (0x2.fffffcp0)":
+Test "tgamma (0x2.8p+0)":
+float: 2
+ifloat: 2
+Test "tgamma (0x2.fffffcp+0)":
float: 3
ifloat: 3
-Test "tgamma (0x2.ffffffffffffep0)":
+Test "tgamma (0x2.ffffffffffffep+0)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x3.0000000000002p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x3.0000000000002p0)":
+Test "tgamma (0x3.8p+0)":
+float: 2
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0x3.fffffcp0)":
+Test "tgamma (0x3.fffffcp+0)":
float: 1
ifloat: 1
-Test "tgamma (0x3.ffffffffffffep0)":
+Test "tgamma (0x3.ffffffffffffep+0)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (0x3.fffffffffffffffcp0)":
+Test "tgamma (0x3.fffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x3.fffffffffffffffffffffffffffep0)":
+Test "tgamma (0x3.fffffffffffffffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x4.0000000000000000000000000004p0)":
+Test "tgamma (0x3p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x4.0000000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x4.0000000000004p0)":
+Test "tgamma (0x4.0000000000004p+0)":
double: 1
idouble: 1
-Test "tgamma (0x4.000008p0)":
+Test "tgamma (0x4.000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x4.fffff8p0)":
+Test "tgamma (0x4.8p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "tgamma (0x4.ffffffffffffcp0)":
+Test "tgamma (0x4.fffff8p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x4.ffffffffffffcp+0)":
double: 1
idouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffep0)":
+Test "tgamma (0x4.fffffffffffffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (0x4.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x5.0000000000000000000000000004p0)":
+Test "tgamma (0x4p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x5.0000000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x5.0000000000004p0)":
+Test "tgamma (0x5.0000000000004p+0)":
double: 1
idouble: 1
-Test "tgamma (0x5.000008p0)":
+Test "tgamma (0x5.000008p+0)":
float: 3
ifloat: 3
-Test "tgamma (0x5.fffff8p0)":
+Test "tgamma (0x5.fffff8p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (0x5.ffffffffffffcp0)":
+Test "tgamma (0x5.ffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x5.fffffffffffffff8p0)":
+Test "tgamma (0x5.fffffffffffffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x5.fffffffffffffffffffffffffep0)":
+Test "tgamma (0x5.fffffffffffffffffffffffffep+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.0000000000000000000000000004p0)":
+Test "tgamma (0x6.0000000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.0000000000000008p0)":
+Test "tgamma (0x6.0000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.0000000000004p0)":
+Test "tgamma (0x6.0000000000004p+0)":
double: 1
idouble: 1
-Test "tgamma (0x6.000008p0)":
+Test "tgamma (0x6.000008p+0)":
float: 2
ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.fffff8p0)":
+Test "tgamma (0x6.8p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x6.db8c603359a94p+8)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0x6.fffff8p+0)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (0x6.ffffffffffffcp0)":
+Test "tgamma (0x6.ffffffffffffcp+0)":
double: 4
idouble: 4
-Test "tgamma (0x6.fffffffffffffff8p0)":
+Test "tgamma (0x6.fffffffffffffff8p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x7.0000000000000000000000000004p0)":
+Test "tgamma (0x6p+0)":
+float: 1
+ifloat: 1
+Test "tgamma (0x7.0000000000000000000000000004p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x7.0000000000000008p0)":
+Test "tgamma (0x7.0000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x7.0000000000004p0)":
+Test "tgamma (0x7.0000000000004p+0)":
double: 4
idouble: 4
-Test "tgamma (0x7.000008p0)":
+Test "tgamma (0x7.000008p+0)":
double: 1
idouble: 1
-Test "tgamma (0x7.fffff8p0)":
+Test "tgamma (0x7.8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "tgamma (0x7.fffff8p+0)":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "tgamma (0x7.ffffffffffffcp0)":
+Test "tgamma (0x7.ffffffffffffcp+0)":
double: 2
idouble: 2
ildouble: 1
ldouble: 1
-Test "tgamma (0x7.fffffffffffffffffffffffffffcp0)":
+Test "tgamma (0x7.fffffffffffffffffffffffffffcp+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x8.0000000000000000000000000008p0)":
+Test "tgamma (0x7p+0)":
+double: 1
+idouble: 1
+Test "tgamma (0x8.0000000000000000000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x8.0000000000008p0)":
+Test "tgamma (0x8.0000000000008p+0)":
ildouble: 1
ldouble: 1
-Test "tgamma (0x8.00001p0)":
+Test "tgamma (0x8.00001p+0)":
double: 2
idouble: 2
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (10)":
+Test "tgamma (0x8.8p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (18.5)":
+Test "tgamma (0x8p+0)":
double: 1
idouble: 1
-Test "tgamma (19.5)":
-double: 2
-idouble: 2
+Test "tgamma (0x8p-116)":
ildouble: 1
ldouble: 1
-Test "tgamma (2.5)":
-float: 2
-ifloat: 2
-Test "tgamma (23.5)":
-double: 1
+Test "tgamma (0x8p-4)":
float: 1
-idouble: 1
ifloat: 1
-Test "tgamma (29.5)":
+Test "tgamma (0x8p-56)":
double: 1
-float: 1
idouble: 1
-ifloat: 1
-Test "tgamma (3)":
+Test "tgamma (0x9.8p+0)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-Test "tgamma (3.5)":
-float: 2
-ifloat: 2
ildouble: 1
ldouble: 1
-Test "tgamma (32.5)":
+Test "tgamma (0x9p+0)":
+double: 1
+idouble: 1
+Test "tgamma (0xa.b9fd72b0fb238p+4)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "tgamma (33.5)":
+Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
+ildouble: 2
+ldouble: 2
+Test "tgamma (0xa.b9fd72b0fb23a9dp+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (34.5)":
-double: 1
-idouble: 1
-Test "tgamma (4)":
-float: 1
-ifloat: 1
+Test "tgamma (0xa.b9fd72b0fb23a9ep+4)":
ildouble: 1
ldouble: 1
-Test "tgamma (4.5)":
+Test "tgamma (0xa.b9fd7p+4)":
+double: 2
+idouble: 2
+Test "tgamma (0xap+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (6)":
-float: 1
-ifloat: 1
-Test "tgamma (6.5)":
+Test "tgamma (0xb.3333333333333333333333333338p-4)":
+ildouble: 1
+ldouble: 1
+Test "tgamma (0xb.3333333333338p-4)":
+ildouble: 1
+ldouble: 1
+
+# y0
+Test "y0 (0x1.8p+0)":
+double: 2
float: 1
+idouble: 2
ifloat: 1
-Test "tgamma (7)":
+Test "y0 (0x1.ff00000000002p+840)":
double: 1
idouble: 1
-Test "tgamma (7.5)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p+0)":
double: 2
float: 1
idouble: 2
ifloat: 1
-Test "tgamma (8)":
+Test "y0 (0x1p-100)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-20)":
double: 1
idouble: 1
-Test "tgamma (8.5)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x1p-40)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "tgamma (9)":
-double: 1
-idouble: 1
-Test "tgamma (9.5)":
-double: 1
+Test "y0 (0x1p-60)":
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-
-# y0
-Test "y0 (0x1.3ffp+74)":
+Test "y0 (0x1p-80)":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1.ff00000000002p+840)":
+Test "y0 (0x2p+0)":
+double: 1
+idouble: 1
+Test "y0 (0x4.ffcp+72)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "y0 (0x1p-10)":
+Test "y0 (0x4p+16380)":
ildouble: 1
ldouble: 1
-Test "y0 (0x1p-110)":
+Test "y0 (0x4p-112)":
double: 1
idouble: 1
ildouble: 1
ldouble: 1
-Test "y0 (0x1p-20)":
-double: 1
-idouble: 1
-Test "y0 (0x1p-30)":
+Test "y0 (0x4p-12)":
+ildouble: 1
+ldouble: 1
+Test "y0 (0x4p-32)":
float: 1
ifloat: 1
ildouble: 2
ldouble: 2
-Test "y0 (0x1p-40)":
+Test "y0 (0x4p-72)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "y0 (0x1p-60)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-70)":
+Test "y0 (0x8p+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "y0 (0x1p-80)":
-double: 1
-idouble: 1
-Test "y0 (0x1p1023)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p16382)":
+ildouble: 3
+ldouble: 3
+Test "y0 (0x8p+1020)":
ildouble: 1
ldouble: 1
-Test "y0 (0x1p16383)":
+Test "y0 (0x8p+16380)":
ildouble: 2
ldouble: 2
-Test "y0 (1.0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (1.5)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0)":
+Test "y0 (0xap+0)":
double: 1
float: 1
idouble: 1
ifloat: 1
ildouble: 3
ldouble: 3
-Test "y0 (2.0)":
+Test "y0 (0xf.ffffffffffff8p+1020)":
double: 1
idouble: 1
-Test "y0 (8.0)":
+Test "y0 (0xf.fffffp+124)":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
# y1
-Test "y1 (0.125)":
-double: 1
-idouble: 1
-Test "y1 (0.75)":
+Test "y1 (0x1.8p+0)":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-Test "y1 (0x1.001000001p+593)":
+Test "y1 (0x1p-100)":
ildouble: 1
ldouble: 1
-Test "y1 (0x1.27e204p+99)":
+Test "y1 (0x1p-20)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x1p-80)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x2.002000002p+592)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x2p+0)":
double: 1
+float: 1
idouble: 1
-Test "y1 (0x1p-10)":
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "y1 (0x2p-4)":
double: 1
idouble: 1
+Test "y1 (0x4p-112)":
ildouble: 1
ldouble: 1
-Test "y1 (0x1p-30)":
+Test "y1 (0x4p-12)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-32)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-72)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x4p-92)":
+ildouble: 1
+ldouble: 1
+Test "y1 (0x8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
ildouble: 1
ldouble: 1
-Test "y1 (0x1p1023)":
+Test "y1 (0x8p+1020)":
ildouble: 1
ldouble: 1
-Test "y1 (0x1p16383)":
+Test "y1 (0x8p+16380)":
ildouble: 2
ldouble: 2
-Test "y1 (1.5)":
-float: 1
-ifloat: 1
+Test "y1 (0x9.3f102p+96)":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
-Test "y1 (10.0)":
+Test "y1 (0xap+0)":
double: 3
float: 1
idouble: 3
ifloat: 1
-Test "y1 (2.0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+Test "y1 (0xf.ffffffffffff8p+1020)":
ildouble: 1
ldouble: 1
-Test "y1 (8.0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
+Test "y1 (0xf.ffffffffffffbffffffffffffcp+1020)":
ildouble: 1
ldouble: 1
+Test "y1 (0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 2
+ldouble: 2
# yn
+Test "yn (-10, 1.0)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
Test "yn (0, 1.0)":
double: 2
float: 1
@@ -9397,9 +11734,9 @@ ildouble: 2
ldouble: 2
Test "yn (10, 0.75)":
double: 1
-float: 2
+float: 1
idouble: 1
-ifloat: 2
+ifloat: 1
ildouble: 5
ldouble: 5
Test "yn (10, 1.0)":
@@ -9409,7 +11746,9 @@ ildouble: 1
ldouble: 1
Test "yn (10, 10.0)":
double: 2
+float: 1
idouble: 2
+ifloat: 1
ildouble: 2
ldouble: 2
Test "yn (10, 2.0)":
@@ -9419,12 +11758,26 @@ idouble: 3
ifloat: 1
ildouble: 2
ldouble: 2
-Test "yn (3, 0.125)":
+Test "yn (2, 0x1.ffff62p+99)":
double: 1
idouble: 1
-Test "yn (3, 0.75)":
+Test "yn (2, 0x1p1023)":
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0x1p127)":
+double: 1
float: 1
+idouble: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0x1p16383)":
+ildouble: 2
+ldouble: 2
+Test "yn (3, 0.125)":
+double: 1
+idouble: 1
+Test "yn (3, 0.75)":
ildouble: 2
ldouble: 2
Test "yn (3, 10.0)":
@@ -9440,22 +11793,22 @@ idouble: 1
# Maximal error of functions:
Function: "acos_downward":
-double: 1
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "acos_towardzero":
-double: 1
float: 1
-idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "acos_upward":
+double: 1
+idouble: 1
+
+Function: "asin":
ildouble: 1
ldouble: 1
@@ -9467,17 +11820,23 @@ ifloat: 1
ildouble: 1
ldouble: 1
+Function: "asin_tonearest":
+ildouble: 1
+ldouble: 1
+
Function: "asin_towardzero":
-double: 1
float: 1
-idouble: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
Function: "asin_upward":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "atan2":
float: 1
@@ -9498,9 +11857,9 @@ ildouble: 2
ldouble: 2
Function: Imaginary part of "cacos":
-double: 2
+double: 1
float: 2
-idouble: 2
+idouble: 1
ifloat: 2
ildouble: 2
ldouble: 2
@@ -9530,25 +11889,25 @@ ildouble: 2
ldouble: 2
Function: Imaginary part of "casin":
-double: 2
+double: 1
float: 2
-idouble: 2
+idouble: 1
ifloat: 2
ildouble: 2
ldouble: 2
Function: Real part of "casinh":
-double: 5
+double: 1
float: 2
-idouble: 5
+idouble: 1
ifloat: 2
-ildouble: 4
-ldouble: 4
+ildouble: 2
+ldouble: 2
Function: Imaginary part of "casinh":
-double: 3
+double: 1
float: 1
-idouble: 3
+idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
@@ -9568,9 +11927,9 @@ ildouble: 1
ldouble: 1
Function: Real part of "catanh":
-double: 4
+double: 1
float: 1
-idouble: 4
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -9583,7 +11942,9 @@ ldouble: 1
Function: "cbrt":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -9668,52 +12029,68 @@ ildouble: 2
ldouble: 2
Function: "cos":
-double: 2
float: 1
-idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
Function: "cos_downward":
-float: 1
-ifloat: 1
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
ildouble: 2
ldouble: 2
Function: "cos_tonearest":
float: 1
ifloat: 1
+ildouble: 1
+ldouble: 1
Function: "cos_towardzero":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
Function: "cos_upward":
+double: 1
float: 2
+idouble: 1
ifloat: 2
+ildouble: 2
+ldouble: 2
+
+Function: "cosh":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Function: "cosh_downward":
-float: 1
-ifloat: 1
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Function: "cosh_tonearest":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Function: "cosh_towardzero":
-float: 1
-ifloat: 1
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Function: "cosh_upward":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -9726,9 +12103,7 @@ ildouble: 4
ldouble: 4
Function: Imaginary part of "cpow":
-double: 2
float: 2
-idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
@@ -9918,6 +12293,8 @@ ldouble: 2
Function: "erf":
double: 1
idouble: 1
+ildouble: 1
+ldouble: 1
Function: "erfc":
double: 1
@@ -9938,20 +12315,16 @@ ildouble: 1
ldouble: 1
Function: "exp_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 1
+idouble: 1
Function: "exp_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
+double: 1
+idouble: 1
Function: "exp_upward":
-float: 1
-ifloat: 1
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -9965,9 +12338,9 @@ ldouble: 1
Function: "gamma":
double: 1
-float: 2
+float: 1
idouble: 1
-ifloat: 2
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -10001,9 +12374,15 @@ ldouble: 8
Function: "lgamma":
double: 1
-float: 2
+float: 1
idouble: 1
-ifloat: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+Function: "log":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -10016,6 +12395,8 @@ ildouble: 1
ldouble: 1
Function: "log1p":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -10049,12 +12430,20 @@ ifloat: 1
ildouble: 1
ldouble: 1
-Function: "sin_downward":
+Function: "sin":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
+Function: "sin_downward":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
+
Function: "sin_tonearest":
float: 1
ifloat: 1
@@ -10062,16 +12451,20 @@ ildouble: 1
ldouble: 1
Function: "sin_towardzero":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "sin_upward":
+double: 1
float: 2
+idouble: 1
ifloat: 2
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
Function: "sincos":
double: 1
@@ -10082,42 +12475,56 @@ ildouble: 1
ldouble: 1
Function: "sinh_downward":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Function: "sinh_towardzero":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
Function: "sinh_upward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Function: "tan":
+ildouble: 1
+ldouble: 1
+
+Function: "tan_downward":
double: 1
+float: 2
idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
-Function: "tan_downward":
-float: 1
-ifloat: 1
+Function: "tan_tonearest":
ildouble: 1
ldouble: 1
Function: "tan_towardzero":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "tan_upward":
+double: 1
float: 1
+idouble: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "tanh":
ildouble: 1
diff --git a/ports/sysdeps/aarch64/machine-gmon.h b/ports/sysdeps/aarch64/machine-gmon.h
index 4425965a48..5cc2941258 100644
--- a/ports/sysdeps/aarch64/machine-gmon.h
+++ b/ports/sysdeps/aarch64/machine-gmon.h
@@ -16,10 +16,9 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-/* GCC version 2 gives us a perfect magical function to get
- just the information we need:
- void *__builtin_return_address (unsigned int N)
- returns the return address of the frame N frames up. */
+/* Accept 'frompc' address as argument from the function that calls
+ __mcount for profiling. Use __builtin_return_address (0)
+ for the 'selfpc' address. */
#include <sysdep.h>
@@ -28,8 +27,8 @@ static void mcount_internal (u_long frompc, u_long selfpc);
#define _MCOUNT_DECL(frompc, selfpc) \
static inline void mcount_internal (u_long frompc, u_long selfpc)
-#define MCOUNT \
-void __mcount (void) \
-{ \
- mcount_internal ((u_long) RETURN_ADDRESS (1), (u_long) RETURN_ADDRESS (0)); \
+#define MCOUNT \
+void __mcount (void *frompc) \
+{ \
+ mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \
}