diff --git a/libm/Android.mk b/libm/Android.mk
index 7e0656d..5dd140b 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -345,6 +345,8 @@
     x86/libm_reduce_pi04l.S \
     x86/libm_sincos_huge.S \
     x86/libm_tancot_huge.S \
+    x86/lrint.S \
+    x86/lrintf.S \
     x86/s_atan.S \
     x86/s_cbrt.S \
     x86/s_cos.S \
@@ -372,6 +374,8 @@
     upstream-freebsd/lib/msun/src/s_cos.c \
     upstream-freebsd/lib/msun/src/s_expm1.c \
     upstream-freebsd/lib/msun/src/s_log1p.c \
+    upstream-freebsd/lib/msun/src/s_lrint.c \
+    upstream-freebsd/lib/msun/src/s_lrintf.c \
     upstream-freebsd/lib/msun/src/s_sin.c \
     upstream-freebsd/lib/msun/src/s_tan.c \
     upstream-freebsd/lib/msun/src/s_tanh.c \
@@ -382,6 +386,8 @@
     x86/ceilf.S \
     x86/floor.S \
     x86/floorf.S \
+    x86/rint.S \
+    x86/rintf.S \
     x86/trunc.S \
     x86/truncf.S \
 
@@ -390,6 +396,8 @@
     upstream-freebsd/lib/msun/src/s_ceilf.c \
     upstream-freebsd/lib/msun/src/s_floor.c \
     upstream-freebsd/lib/msun/src/s_floorf.c \
+    upstream-freebsd/lib/msun/src/s_rint.c \
+    upstream-freebsd/lib/msun/src/s_rintf.c \
     upstream-freebsd/lib/msun/src/s_trunc.c \
     upstream-freebsd/lib/msun/src/s_truncf.c \
 
@@ -412,6 +420,8 @@
     x86_64/e_log.S \
     x86_64/e_pow.S \
     x86_64/e_sinh.S \
+    x86_64/lrint.S \
+    x86_64/lrintf.S \
     x86_64/s_atan.S \
     x86_64/s_cbrt.S \
     x86_64/s_cos.S \
@@ -439,6 +449,10 @@
     upstream-freebsd/lib/msun/src/s_cos.c \
     upstream-freebsd/lib/msun/src/s_expm1.c \
     upstream-freebsd/lib/msun/src/s_log1p.c \
+    upstream-freebsd/lib/msun/src/s_llrint.c \
+    upstream-freebsd/lib/msun/src/s_llrintf.c \
+    upstream-freebsd/lib/msun/src/s_lrint.c \
+    upstream-freebsd/lib/msun/src/s_lrintf.c \
     upstream-freebsd/lib/msun/src/s_sin.c \
     upstream-freebsd/lib/msun/src/s_tan.c \
     upstream-freebsd/lib/msun/src/s_tanh.c \
@@ -449,6 +463,8 @@
     x86_64/ceilf.S \
     x86_64/floor.S \
     x86_64/floorf.S \
+    x86_64/rint.S \
+    x86_64/rintf.S \
     x86_64/trunc.S \
     x86_64/truncf.S \
 
@@ -457,6 +473,8 @@
     upstream-freebsd/lib/msun/src/s_ceilf.c \
     upstream-freebsd/lib/msun/src/s_floor.c \
     upstream-freebsd/lib/msun/src/s_floorf.c \
+    upstream-freebsd/lib/msun/src/s_rint.c \
+    upstream-freebsd/lib/msun/src/s_rintf.c \
     upstream-freebsd/lib/msun/src/s_trunc.c \
     upstream-freebsd/lib/msun/src/s_truncf.c \
 
diff --git a/libm/fake_long_double.c b/libm/fake_long_double.c
index 5edf839..20148a3 100644
--- a/libm/fake_long_double.c
+++ b/libm/fake_long_double.c
@@ -30,7 +30,9 @@
 long double fminl(long double a1, long double a2) { return fmin(a1, a2); }
 int ilogbl(long double a1) { return ilogb(a1); }
 long long llrintl(long double a1) { return llrint(a1); }
+#if !defined(__i386__) // x86 has an assembler lrint/lrintl.
 long lrintl(long double a1) { return lrint(a1); }
+#endif
 long long llroundl(long double a1) { return llround(a1); }
 long lroundl(long double a1) { return lround(a1); }
 long double modfl(long double a1, long double* a2) { double i; double f = modf(a1, &i); *a2 = i; return f; }
diff --git a/libm/x86/lrint.S b/libm/x86/lrint.S
new file mode 100644
index 0000000..48d71dd
--- /dev/null
+++ b/libm/x86/lrint.S
@@ -0,0 +1,36 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(lrint)
+  // LP32 sizeof(long) == 4.
+  movsd     0x4(%esp),%xmm0
+  cvtsd2si  %xmm0, %eax
+  ret
+END(lrint)
+
+// LP32 sizeof(long double) == sizeof(double).
+ALIAS_SYMBOL(lrintl, lrint);
diff --git a/libm/x86/lrintf.S b/libm/x86/lrintf.S
new file mode 100644
index 0000000..bc8fcb3
--- /dev/null
+++ b/libm/x86/lrintf.S
@@ -0,0 +1,33 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(lrintf)
+  // LP32 sizeof(long) == 4.
+  movss     0x4(%esp),%xmm0
+  cvtss2si  %xmm0, %eax
+  ret
+END(lrintf)
diff --git a/libm/x86/rint.S b/libm/x86/rint.S
new file mode 100644
index 0000000..85635f2
--- /dev/null
+++ b/libm/x86/rint.S
@@ -0,0 +1,39 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(rint)
+  subl    $12,%esp
+  movsd   16(%esp),%xmm0
+  roundsd $4,%xmm0,%xmm0
+  movsd   %xmm0,(%esp)
+  fldl    (%esp)
+  addl    $12,%esp
+  ret
+END(rint)
+
+// LP32 sizeof(long double) == sizeof(double).
+ALIAS_SYMBOL(rintl, rint);
diff --git a/libm/x86/rintf.S b/libm/x86/rintf.S
new file mode 100644
index 0000000..9f82400
--- /dev/null
+++ b/libm/x86/rintf.S
@@ -0,0 +1,36 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(rintf)
+  subl    $12,%esp
+  movss   16(%esp),%xmm0
+  roundss $4,%xmm0,%xmm0
+  movss   %xmm0,(%esp)
+  flds    (%esp)
+  add     $12,%esp
+  ret
+END(rintf)
diff --git a/libm/x86_64/lrint.S b/libm/x86_64/lrint.S
new file mode 100644
index 0000000..f809a1f
--- /dev/null
+++ b/libm/x86_64/lrint.S
@@ -0,0 +1,35 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(lrint)
+  // LP64 sizeof(long) == 8.
+  cvtsd2si  %xmm0, %rax
+  ret
+END(lrint)
+
+// LP64 sizeof(long long) == sizeof(long).
+ALIAS_SYMBOL(llrint, lrint);
diff --git a/libm/x86_64/lrintf.S b/libm/x86_64/lrintf.S
new file mode 100644
index 0000000..a661cbc
--- /dev/null
+++ b/libm/x86_64/lrintf.S
@@ -0,0 +1,35 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(lrintf)
+  // LP64 sizeof(long) == 8.
+  cvtss2si  %xmm0, %rax
+  ret
+END(lrintf)
+
+// LP64 sizeof(long long) == sizeof(long).
+ALIAS_SYMBOL(llrintf, lrintf);
diff --git a/libm/x86_64/rint.S b/libm/x86_64/rint.S
new file mode 100644
index 0000000..098fdc5
--- /dev/null
+++ b/libm/x86_64/rint.S
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(rint)
+  roundsd $0x4,%xmm0,%xmm0
+  retq
+END(rint)
diff --git a/libm/x86_64/rintf.S b/libm/x86_64/rintf.S
new file mode 100644
index 0000000..09f5e9c
--- /dev/null
+++ b/libm/x86_64/rintf.S
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2014, Intel Corporation
+All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright notice,
+    * this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    * this list of conditions and the following disclaimer in the documentation
+    * and/or other materials provided with the distribution.
+    * Neither the name of Intel Corporation nor the names of its contributors
+    * may be used to endorse or promote products derived from this software
+    * without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <private/bionic_asm.h>
+
+ENTRY(rintf)
+  roundss $0x4,%xmm0,%xmm0
+  retq
+END(rintf)
diff --git a/tests/math_data/llrint_intel_data.h b/tests/math_data/llrint_intel_data.h
new file mode 100644
index 0000000..a6861c2
--- /dev/null
+++ b/tests/math_data/llrint_intel_data.h
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+static data_llong_1_t<double> g_llrint_intel_data[] = {
+  { // Entry 0
+    (long long int)0.0,
+    -0x1.0p-1074
+  },
+  { // Entry 1
+    (long long int)0.0,
+    -0.0
+  },
+  { // Entry 2
+    (long long int)0.0,
+    0x1.0p-1074
+  },
+  { // Entry 3
+    (long long int)0.0,
+    0x1.fffffffffffffp-2
+  },
+  { // Entry 4
+    (long long int)0.0,
+    0x1.0p-1
+  },
+  { // Entry 5
+    (long long int)0x1.p0,
+    0x1.0000000000001p-1
+  },
+  { // Entry 6
+    (long long int)0x1.p0,
+    0x1.fffffffffffffp-1
+  },
+  { // Entry 7
+    (long long int)0x1.p0,
+    0x1.0p0
+  },
+  { // Entry 8
+    (long long int)0x1.p0,
+    0x1.0000000000001p0
+  },
+  { // Entry 9
+    (long long int)0x1.p0,
+    0x1.7ffffffffffffp0
+  },
+  { // Entry 10
+    (long long int)0x1.p1,
+    0x1.8p0
+  },
+  { // Entry 11
+    (long long int)0x1.p1,
+    0x1.8000000000001p0
+  },
+  { // Entry 12
+    (long long int)0x1.p1,
+    0x1.fffffffffffffp0
+  },
+  { // Entry 13
+    (long long int)0x1.p1,
+    0x1.0p1
+  },
+  { // Entry 14
+    (long long int)0x1.p1,
+    0x1.0000000000001p1
+  },
+  { // Entry 15
+    (long long int)0x1.p1,
+    0x1.3ffffffffffffp1
+  },
+  { // Entry 16
+    (long long int)0x1.p1,
+    0x1.4p1
+  },
+  { // Entry 17
+    (long long int)0x1.80p1,
+    0x1.4000000000001p1
+  },
+  { // Entry 18
+    (long long int)0x1.90p6,
+    0x1.8ffffffffffffp6
+  },
+  { // Entry 19
+    (long long int)0x1.90p6,
+    0x1.9p6
+  },
+  { // Entry 20
+    (long long int)0x1.90p6,
+    0x1.9000000000001p6
+  },
+  { // Entry 21
+    (long long int)0x1.90p6,
+    0x1.91fffffffffffp6
+  },
+  { // Entry 22
+    (long long int)0x1.90p6,
+    0x1.920p6
+  },
+  { // Entry 23
+    (long long int)0x1.94p6,
+    0x1.9200000000001p6
+  },
+  { // Entry 24
+    (long long int)0x1.f4p9,
+    0x1.f3fffffffffffp9
+  },
+  { // Entry 25
+    (long long int)0x1.f4p9,
+    0x1.f40p9
+  },
+  { // Entry 26
+    (long long int)0x1.f4p9,
+    0x1.f400000000001p9
+  },
+  { // Entry 27
+    (long long int)0x1.f4p9,
+    0x1.f43ffffffffffp9
+  },
+  { // Entry 28
+    (long long int)0x1.f4p9,
+    0x1.f44p9
+  },
+  { // Entry 29
+    (long long int)0x1.f480p9,
+    0x1.f440000000001p9
+  },
+  { // Entry 30
+    (long long int)0x1.p50,
+    0x1.fffffffffffffp49
+  },
+  { // Entry 31
+    (long long int)0x1.p50,
+    0x1.0p50
+  },
+  { // Entry 32
+    (long long int)0x1.p50,
+    0x1.0000000000001p50
+  },
+  { // Entry 33
+    (long long int)0x1.p51,
+    0x1.fffffffffffffp50
+  },
+  { // Entry 34
+    (long long int)0x1.p51,
+    0x1.0p51
+  },
+  { // Entry 35
+    (long long int)0x1.p51,
+    0x1.0000000000001p51
+  },
+  { // Entry 36
+    (long long int)0x1.p52,
+    0x1.fffffffffffffp51
+  },
+  { // Entry 37
+    (long long int)0x1.p52,
+    0x1.0p52
+  },
+  { // Entry 38
+    (long long int)0x1.00000000000010p52,
+    0x1.0000000000001p52
+  },
+  { // Entry 39
+    (long long int)0x1.fffffffffffff0p52,
+    0x1.fffffffffffffp52
+  },
+  { // Entry 40
+    (long long int)0x1.p53,
+    0x1.0p53
+  },
+  { // Entry 41
+    (long long int)0x1.00000000000010p53,
+    0x1.0000000000001p53
+  },
+  { // Entry 42
+    (long long int)0x1.fffffffffffff0p53,
+    0x1.fffffffffffffp53
+  },
+  { // Entry 43
+    (long long int)0x1.p54,
+    0x1.0p54
+  },
+  { // Entry 44
+    (long long int)0x1.00000000000010p54,
+    0x1.0000000000001p54
+  },
+  { // Entry 45
+    (long long int)-0x1.p0,
+    -0x1.0000000000001p-1
+  },
+  { // Entry 46
+    (long long int)0.0,
+    -0x1.0p-1
+  },
+  { // Entry 47
+    (long long int)0.0,
+    -0x1.fffffffffffffp-2
+  },
+  { // Entry 48
+    (long long int)-0x1.p0,
+    -0x1.0000000000001p0
+  },
+  { // Entry 49
+    (long long int)-0x1.p0,
+    -0x1.0p0
+  },
+  { // Entry 50
+    (long long int)-0x1.p0,
+    -0x1.fffffffffffffp-1
+  },
+  { // Entry 51
+    (long long int)-0x1.p1,
+    -0x1.8000000000001p0
+  },
+  { // Entry 52
+    (long long int)-0x1.p1,
+    -0x1.8p0
+  },
+  { // Entry 53
+    (long long int)-0x1.p0,
+    -0x1.7ffffffffffffp0
+  },
+  { // Entry 54
+    (long long int)-0x1.p1,
+    -0x1.0000000000001p1
+  },
+  { // Entry 55
+    (long long int)-0x1.p1,
+    -0x1.0p1
+  },
+  { // Entry 56
+    (long long int)-0x1.p1,
+    -0x1.fffffffffffffp0
+  },
+  { // Entry 57
+    (long long int)-0x1.80p1,
+    -0x1.4000000000001p1
+  },
+  { // Entry 58
+    (long long int)-0x1.p1,
+    -0x1.4p1
+  },
+  { // Entry 59
+    (long long int)-0x1.p1,
+    -0x1.3ffffffffffffp1
+  },
+  { // Entry 60
+    (long long int)-0x1.90p6,
+    -0x1.9000000000001p6
+  },
+  { // Entry 61
+    (long long int)-0x1.90p6,
+    -0x1.9p6
+  },
+  { // Entry 62
+    (long long int)-0x1.90p6,
+    -0x1.8ffffffffffffp6
+  },
+  { // Entry 63
+    (long long int)-0x1.94p6,
+    -0x1.9200000000001p6
+  },
+  { // Entry 64
+    (long long int)-0x1.90p6,
+    -0x1.920p6
+  },
+  { // Entry 65
+    (long long int)-0x1.90p6,
+    -0x1.91fffffffffffp6
+  },
+  { // Entry 66
+    (long long int)-0x1.f4p9,
+    -0x1.f400000000001p9
+  },
+  { // Entry 67
+    (long long int)-0x1.f4p9,
+    -0x1.f40p9
+  },
+  { // Entry 68
+    (long long int)-0x1.f4p9,
+    -0x1.f3fffffffffffp9
+  },
+  { // Entry 69
+    (long long int)-0x1.f480p9,
+    -0x1.f440000000001p9
+  },
+  { // Entry 70
+    (long long int)-0x1.f4p9,
+    -0x1.f44p9
+  },
+  { // Entry 71
+    (long long int)-0x1.f4p9,
+    -0x1.f43ffffffffffp9
+  },
+  { // Entry 72
+    (long long int)-0x1.p50,
+    -0x1.0000000000001p50
+  },
+  { // Entry 73
+    (long long int)-0x1.p50,
+    -0x1.0p50
+  },
+  { // Entry 74
+    (long long int)-0x1.p50,
+    -0x1.fffffffffffffp49
+  },
+  { // Entry 75
+    (long long int)-0x1.p51,
+    -0x1.0000000000001p51
+  },
+  { // Entry 76
+    (long long int)-0x1.p51,
+    -0x1.0p51
+  },
+  { // Entry 77
+    (long long int)-0x1.p51,
+    -0x1.fffffffffffffp50
+  },
+  { // Entry 78
+    (long long int)-0x1.00000000000010p52,
+    -0x1.0000000000001p52
+  },
+  { // Entry 79
+    (long long int)-0x1.p52,
+    -0x1.0p52
+  },
+  { // Entry 80
+    (long long int)-0x1.p52,
+    -0x1.fffffffffffffp51
+  },
+  { // Entry 81
+    (long long int)-0x1.00000000000010p53,
+    -0x1.0000000000001p53
+  },
+  { // Entry 82
+    (long long int)-0x1.p53,
+    -0x1.0p53
+  },
+  { // Entry 83
+    (long long int)-0x1.fffffffffffff0p52,
+    -0x1.fffffffffffffp52
+  },
+  { // Entry 84
+    (long long int)-0x1.00000000000010p54,
+    -0x1.0000000000001p54
+  },
+  { // Entry 85
+    (long long int)-0x1.p54,
+    -0x1.0p54
+  },
+  { // Entry 86
+    (long long int)-0x1.fffffffffffff0p53,
+    -0x1.fffffffffffffp53
+  },
+  { // Entry 87
+    (long long int)0x1.p30,
+    0x1.fffffffffffffp29
+  },
+  { // Entry 88
+    (long long int)0x1.p30,
+    0x1.0p30
+  },
+  { // Entry 89
+    (long long int)0x1.p30,
+    0x1.0000000000001p30
+  },
+  { // Entry 90
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff7ffffep30
+  },
+  { // Entry 91
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff7fffffp30
+  },
+  { // Entry 92
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff80p30
+  },
+  { // Entry 93
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff800001p30
+  },
+  { // Entry 94
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff800002p30
+  },
+  { // Entry 95
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff9ffffep30
+  },
+  { // Entry 96
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff9fffffp30
+  },
+  { // Entry 97
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffffa0p30
+  },
+  { // Entry 98
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffa00001p30
+  },
+  { // Entry 99
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffa00002p30
+  },
+  { // Entry 100
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffbffffep30
+  },
+  { // Entry 101
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffbfffffp30
+  },
+  { // Entry 102
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 103
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc00001p30
+  },
+  { // Entry 104
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc00002p30
+  },
+  { // Entry 105
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffdffffep30
+  },
+  { // Entry 106
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffdfffffp30
+  },
+  { // Entry 107
+    (long long int)0x1.p31,
+    0x1.fffffffe0p30
+  },
+  { // Entry 108
+    (long long int)0x1.p31,
+    0x1.fffffffe00001p30
+  },
+  { // Entry 109
+    (long long int)0x1.p31,
+    0x1.fffffffe00002p30
+  },
+  { // Entry 110
+    (long long int)0x1.p31,
+    0x1.ffffffffffffep30
+  },
+  { // Entry 111
+    (long long int)0x1.p31,
+    0x1.fffffffffffffp30
+  },
+  { // Entry 112
+    (long long int)0x1.p31,
+    0x1.0p31
+  },
+  { // Entry 113
+    (long long int)0x1.p31,
+    0x1.0000000000001p31
+  },
+  { // Entry 114
+    (long long int)0x1.p31,
+    0x1.0000000000002p31
+  },
+  { // Entry 115
+    (long long int)0x1.p31,
+    0x1.00000000ffffep31
+  },
+  { // Entry 116
+    (long long int)0x1.p31,
+    0x1.00000000fffffp31
+  },
+  { // Entry 117
+    (long long int)0x1.p31,
+    0x1.000000010p31
+  },
+  { // Entry 118
+    (long long int)0x1.00000002p31,
+    0x1.0000000100001p31
+  },
+  { // Entry 119
+    (long long int)0x1.00000002p31,
+    0x1.0000000100002p31
+  },
+  { // Entry 120
+    (long long int)0x1.ffffffe0p30,
+    0x1.ffffffep30
+  },
+  { // Entry 121
+    (long long int)0x1.ffffffe4p30,
+    0x1.ffffffe40p30
+  },
+  { // Entry 122
+    (long long int)0x1.ffffffe8p30,
+    0x1.ffffffe80p30
+  },
+  { // Entry 123
+    (long long int)0x1.ffffffecp30,
+    0x1.ffffffec0p30
+  },
+  { // Entry 124
+    (long long int)0x1.fffffff0p30,
+    0x1.fffffffp30
+  },
+  { // Entry 125
+    (long long int)0x1.fffffff4p30,
+    0x1.fffffff40p30
+  },
+  { // Entry 126
+    (long long int)0x1.fffffff8p30,
+    0x1.fffffff80p30
+  },
+  { // Entry 127
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 128
+    (long long int)0x1.p31,
+    0x1.0p31
+  },
+  { // Entry 129
+    (long long int)0x1.00000002p31,
+    0x1.000000020p31
+  },
+  { // Entry 130
+    (long long int)-0x1.p30,
+    -0x1.0000000000001p30
+  },
+  { // Entry 131
+    (long long int)-0x1.p30,
+    -0x1.0p30
+  },
+  { // Entry 132
+    (long long int)-0x1.p30,
+    -0x1.fffffffffffffp29
+  },
+  { // Entry 133
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff800002p30
+  },
+  { // Entry 134
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff800001p30
+  },
+  { // Entry 135
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff80p30
+  },
+  { // Entry 136
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff7fffffp30
+  },
+  { // Entry 137
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff7ffffep30
+  },
+  { // Entry 138
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffa00002p30
+  },
+  { // Entry 139
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffa00001p30
+  },
+  { // Entry 140
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffffa0p30
+  },
+  { // Entry 141
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff9fffffp30
+  },
+  { // Entry 142
+    (long long int)-0x1.fffffff8p30,
+    -0x1.fffffff9ffffep30
+  },
+  { // Entry 143
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffc00002p30
+  },
+  { // Entry 144
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffc00001p30
+  },
+  { // Entry 145
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffc0p30
+  },
+  { // Entry 146
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffbfffffp30
+  },
+  { // Entry 147
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffbffffep30
+  },
+  { // Entry 148
+    (long long int)-0x1.p31,
+    -0x1.fffffffe00002p30
+  },
+  { // Entry 149
+    (long long int)-0x1.p31,
+    -0x1.fffffffe00001p30
+  },
+  { // Entry 150
+    (long long int)-0x1.p31,
+    -0x1.fffffffe0p30
+  },
+  { // Entry 151
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffdfffffp30
+  },
+  { // Entry 152
+    (long long int)-0x1.fffffffcp30,
+    -0x1.fffffffdffffep30
+  },
+  { // Entry 153
+    (long long int)-0x1.p31,
+    -0x1.0000000000002p31
+  },
+  { // Entry 154
+    (long long int)-0x1.p31,
+    -0x1.0000000000001p31
+  },
+  { // Entry 155
+    (long long int)-0x1.p31,
+    -0x1.0p31
+  },
+  { // Entry 156
+    (long long int)-0x1.p31,
+    -0x1.fffffffffffffp30
+  },
+  { // Entry 157
+    (long long int)-0x1.p31,
+    -0x1.ffffffffffffep30
+  },
+  { // Entry 158
+    (long long int)-0x1.00000002p31,
+    -0x1.0000000100002p31
+  },
+  { // Entry 159
+    (long long int)-0x1.00000002p31,
+    -0x1.0000000100001p31
+  },
+  { // Entry 160
+    (long long int)-0x1.p31,
+    -0x1.000000010p31
+  },
+  { // Entry 161
+    (long long int)-0x1.p31,
+    -0x1.00000000fffffp31
+  },
+  { // Entry 162
+    (long long int)-0x1.p31,
+    -0x1.00000000ffffep31
+  },
+  { // Entry 163
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 164
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 165
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 166
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 167
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 168
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 169
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 170
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 171
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 172
+    (long long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 173
+    (long long int)0x1.ffffffffffffe0p61,
+    0x1.ffffffffffffep61
+  },
+  { // Entry 174
+    (long long int)0x1.fffffffffffff0p61,
+    0x1.fffffffffffffp61
+  },
+  { // Entry 175
+    (long long int)0x1.p62,
+    0x1.0p62
+  },
+  { // Entry 176
+    (long long int)0x1.00000000000010p62,
+    0x1.0000000000001p62
+  },
+  { // Entry 177
+    (long long int)0x1.00000000000020p62,
+    0x1.0000000000002p62
+  },
+  { // Entry 178
+    (long long int)0x1.ffffffffffffe0p62,
+    0x1.ffffffffffffep62
+  },
+  { // Entry 179
+    (long long int)0x1.fffffffffffff0p62,
+    0x1.fffffffffffffp62
+  },
+  { // Entry 180
+    (long long int)-0x1.00000000000020p62,
+    -0x1.0000000000002p62
+  },
+  { // Entry 181
+    (long long int)-0x1.00000000000010p62,
+    -0x1.0000000000001p62
+  },
+  { // Entry 182
+    (long long int)-0x1.p62,
+    -0x1.0p62
+  },
+  { // Entry 183
+    (long long int)-0x1.fffffffffffff0p61,
+    -0x1.fffffffffffffp61
+  },
+  { // Entry 184
+    (long long int)-0x1.ffffffffffffe0p61,
+    -0x1.ffffffffffffep61
+  },
+  { // Entry 185
+    (long long int)-0x1.p63,
+    -0x1.0p63
+  },
+  { // Entry 186
+    (long long int)-0x1.fffffffffffff0p62,
+    -0x1.fffffffffffffp62
+  },
+  { // Entry 187
+    (long long int)-0x1.ffffffffffffe0p62,
+    -0x1.ffffffffffffep62
+  },
+  { // Entry 188
+    (long long int)0x1.p62,
+    0x1.0p62
+  },
+  { // Entry 189
+    (long long int)-0x1.p62,
+    -0x1.0p62
+  },
+  { // Entry 190
+    (long long int)-0x1.p63,
+    -0x1.0p63
+  },
+  { // Entry 191
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffbfffffp30
+  },
+  { // Entry 192
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 193
+    (long long int)0x1.fffffffcp30,
+    0x1.fffffffc00001p30
+  },
+  { // Entry 194
+    (long long int)-0x1.p31,
+    -0x1.0000000000001p31
+  },
+  { // Entry 195
+    (long long int)-0x1.p31,
+    -0x1.0p31
+  },
+  { // Entry 196
+    (long long int)-0x1.p31,
+    -0x1.fffffffffffffp30
+  },
+  { // Entry 197
+    (long long int)0x1.p2,
+    0x1.fffffffffffffp1
+  },
+  { // Entry 198
+    (long long int)0x1.p2,
+    0x1.0p2
+  },
+  { // Entry 199
+    (long long int)0x1.p2,
+    0x1.0000000000001p2
+  },
+  { // Entry 200
+    (long long int)0x1.p3,
+    0x1.fffffffffffffp2
+  },
+  { // Entry 201
+    (long long int)0x1.p3,
+    0x1.0p3
+  },
+  { // Entry 202
+    (long long int)0x1.p3,
+    0x1.0000000000001p3
+  },
+  { // Entry 203
+    (long long int)0x1.p4,
+    0x1.fffffffffffffp3
+  },
+  { // Entry 204
+    (long long int)0x1.p4,
+    0x1.0p4
+  },
+  { // Entry 205
+    (long long int)0x1.p4,
+    0x1.0000000000001p4
+  },
+  { // Entry 206
+    (long long int)0x1.p5,
+    0x1.fffffffffffffp4
+  },
+  { // Entry 207
+    (long long int)0x1.p5,
+    0x1.0p5
+  },
+  { // Entry 208
+    (long long int)0x1.p5,
+    0x1.0000000000001p5
+  },
+  { // Entry 209
+    (long long int)0x1.p6,
+    0x1.fffffffffffffp5
+  },
+  { // Entry 210
+    (long long int)0x1.p6,
+    0x1.0p6
+  },
+  { // Entry 211
+    (long long int)0x1.p6,
+    0x1.0000000000001p6
+  },
+  { // Entry 212
+    (long long int)0x1.p7,
+    0x1.fffffffffffffp6
+  },
+  { // Entry 213
+    (long long int)0x1.p7,
+    0x1.0p7
+  },
+  { // Entry 214
+    (long long int)0x1.p7,
+    0x1.0000000000001p7
+  },
+  { // Entry 215
+    (long long int)0x1.p8,
+    0x1.fffffffffffffp7
+  },
+  { // Entry 216
+    (long long int)0x1.p8,
+    0x1.0p8
+  },
+  { // Entry 217
+    (long long int)0x1.p8,
+    0x1.0000000000001p8
+  },
+  { // Entry 218
+    (long long int)0x1.p9,
+    0x1.fffffffffffffp8
+  },
+  { // Entry 219
+    (long long int)0x1.p9,
+    0x1.0p9
+  },
+  { // Entry 220
+    (long long int)0x1.p9,
+    0x1.0000000000001p9
+  },
+  { // Entry 221
+    (long long int)0x1.p10,
+    0x1.fffffffffffffp9
+  },
+  { // Entry 222
+    (long long int)0x1.p10,
+    0x1.0p10
+  },
+  { // Entry 223
+    (long long int)0x1.p10,
+    0x1.0000000000001p10
+  },
+  { // Entry 224
+    (long long int)0x1.p11,
+    0x1.fffffffffffffp10
+  },
+  { // Entry 225
+    (long long int)0x1.p11,
+    0x1.0p11
+  },
+  { // Entry 226
+    (long long int)0x1.p11,
+    0x1.0000000000001p11
+  },
+  { // Entry 227
+    (long long int)0x1.p12,
+    0x1.fffffffffffffp11
+  },
+  { // Entry 228
+    (long long int)0x1.p12,
+    0x1.0p12
+  },
+  { // Entry 229
+    (long long int)0x1.p12,
+    0x1.0000000000001p12
+  },
+  { // Entry 230
+    (long long int)0x1.p2,
+    0x1.1ffffffffffffp2
+  },
+  { // Entry 231
+    (long long int)0x1.p2,
+    0x1.2p2
+  },
+  { // Entry 232
+    (long long int)0x1.40p2,
+    0x1.2000000000001p2
+  },
+  { // Entry 233
+    (long long int)0x1.p3,
+    0x1.0ffffffffffffp3
+  },
+  { // Entry 234
+    (long long int)0x1.p3,
+    0x1.1p3
+  },
+  { // Entry 235
+    (long long int)0x1.20p3,
+    0x1.1000000000001p3
+  },
+  { // Entry 236
+    (long long int)0x1.p4,
+    0x1.07fffffffffffp4
+  },
+  { // Entry 237
+    (long long int)0x1.p4,
+    0x1.080p4
+  },
+  { // Entry 238
+    (long long int)0x1.10p4,
+    0x1.0800000000001p4
+  },
+  { // Entry 239
+    (long long int)0x1.p5,
+    0x1.03fffffffffffp5
+  },
+  { // Entry 240
+    (long long int)0x1.p5,
+    0x1.040p5
+  },
+  { // Entry 241
+    (long long int)0x1.08p5,
+    0x1.0400000000001p5
+  },
+  { // Entry 242
+    (long long int)0x1.p6,
+    0x1.01fffffffffffp6
+  },
+  { // Entry 243
+    (long long int)0x1.p6,
+    0x1.020p6
+  },
+  { // Entry 244
+    (long long int)0x1.04p6,
+    0x1.0200000000001p6
+  },
+  { // Entry 245
+    (long long int)0x1.p7,
+    0x1.00fffffffffffp7
+  },
+  { // Entry 246
+    (long long int)0x1.p7,
+    0x1.010p7
+  },
+  { // Entry 247
+    (long long int)0x1.02p7,
+    0x1.0100000000001p7
+  },
+  { // Entry 248
+    (long long int)0x1.p8,
+    0x1.007ffffffffffp8
+  },
+  { // Entry 249
+    (long long int)0x1.p8,
+    0x1.008p8
+  },
+  { // Entry 250
+    (long long int)0x1.01p8,
+    0x1.0080000000001p8
+  },
+  { // Entry 251
+    (long long int)0x1.p9,
+    0x1.003ffffffffffp9
+  },
+  { // Entry 252
+    (long long int)0x1.p9,
+    0x1.004p9
+  },
+  { // Entry 253
+    (long long int)0x1.0080p9,
+    0x1.0040000000001p9
+  },
+  { // Entry 254
+    (long long int)0x1.p10,
+    0x1.001ffffffffffp10
+  },
+  { // Entry 255
+    (long long int)0x1.p10,
+    0x1.002p10
+  },
+  { // Entry 256
+    (long long int)0x1.0040p10,
+    0x1.0020000000001p10
+  },
+  { // Entry 257
+    (long long int)0x1.0040p10,
+    0x1.005ffffffffffp10
+  },
+  { // Entry 258
+    (long long int)0x1.0080p10,
+    0x1.006p10
+  },
+  { // Entry 259
+    (long long int)0x1.0080p10,
+    0x1.0060000000001p10
+  },
+  { // Entry 260
+    (long long int)0x1.p11,
+    0x1.000ffffffffffp11
+  },
+  { // Entry 261
+    (long long int)0x1.p11,
+    0x1.001p11
+  },
+  { // Entry 262
+    (long long int)0x1.0020p11,
+    0x1.0010000000001p11
+  },
+  { // Entry 263
+    (long long int)0x1.p12,
+    0x1.0007fffffffffp12
+  },
+  { // Entry 264
+    (long long int)0x1.p12,
+    0x1.00080p12
+  },
+  { // Entry 265
+    (long long int)0x1.0010p12,
+    0x1.0008000000001p12
+  },
+  { // Entry 266
+    (long long int)0x1.80p1,
+    0x1.921fb54442d18p1
+  },
+  { // Entry 267
+    (long long int)-0x1.80p1,
+    -0x1.921fb54442d18p1
+  },
+  { // Entry 268
+    (long long int)0x1.p1,
+    0x1.921fb54442d18p0
+  },
+  { // Entry 269
+    (long long int)-0x1.p1,
+    -0x1.921fb54442d18p0
+  },
+  { // Entry 270
+    (long long int)0x1.p0,
+    0x1.0000000000001p0
+  },
+  { // Entry 271
+    (long long int)-0x1.p0,
+    -0x1.0000000000001p0
+  },
+  { // Entry 272
+    (long long int)0x1.p0,
+    0x1.0p0
+  },
+  { // Entry 273
+    (long long int)-0x1.p0,
+    -0x1.0p0
+  },
+  { // Entry 274
+    (long long int)0x1.p0,
+    0x1.fffffffffffffp-1
+  },
+  { // Entry 275
+    (long long int)-0x1.p0,
+    -0x1.fffffffffffffp-1
+  },
+  { // Entry 276
+    (long long int)0x1.p0,
+    0x1.921fb54442d18p-1
+  },
+  { // Entry 277
+    (long long int)-0x1.p0,
+    -0x1.921fb54442d18p-1
+  },
+  { // Entry 278
+    (long long int)0.0,
+    0x1.0000000000001p-1022
+  },
+  { // Entry 279
+    (long long int)0.0,
+    -0x1.0000000000001p-1022
+  },
+  { // Entry 280
+    (long long int)0.0,
+    0x1.0p-1022
+  },
+  { // Entry 281
+    (long long int)0.0,
+    -0x1.0p-1022
+  },
+  { // Entry 282
+    (long long int)0.0,
+    0x1.ffffffffffffep-1023
+  },
+  { // Entry 283
+    (long long int)0.0,
+    -0x1.ffffffffffffep-1023
+  },
+  { // Entry 284
+    (long long int)0.0,
+    0x1.ffffffffffffcp-1023
+  },
+  { // Entry 285
+    (long long int)0.0,
+    -0x1.ffffffffffffcp-1023
+  },
+  { // Entry 286
+    (long long int)0.0,
+    0x1.0p-1073
+  },
+  { // Entry 287
+    (long long int)0.0,
+    -0x1.0p-1073
+  },
+  { // Entry 288
+    (long long int)0.0,
+    0x1.0p-1074
+  },
+  { // Entry 289
+    (long long int)0.0,
+    -0x1.0p-1074
+  },
+  { // Entry 290
+    (long long int)0.0,
+    0.0
+  },
+  { // Entry 291
+    (long long int)0.0,
+    -0.0
+  },
+  { // Entry 292
+    (long long int)0x1.p1,
+    0x1.8p0
+  },
+  { // Entry 293
+    (long long int)-0x1.p1,
+    -0x1.8p0
+  },
+  { // Entry 294
+    (long long int)0x1.p1,
+    0x1.4p1
+  },
+  { // Entry 295
+    (long long int)-0x1.p1,
+    -0x1.4p1
+  },
+  { // Entry 296
+    (long long int)0.0,
+    0x1.fffffp-2
+  },
+  { // Entry 297
+    (long long int)0.0,
+    0x1.0p-1
+  },
+  { // Entry 298
+    (long long int)0x1.p0,
+    0x1.00001p-1
+  },
+  { // Entry 299
+    (long long int)0.0,
+    -0x1.fffffp-2
+  },
+  { // Entry 300
+    (long long int)0.0,
+    -0x1.0p-1
+  },
+  { // Entry 301
+    (long long int)-0x1.p0,
+    -0x1.00001p-1
+  },
+  { // Entry 302
+    (long long int)0x1.p1,
+    0x1.80001p0
+  },
+  { // Entry 303
+    (long long int)0x1.p0,
+    0x1.7ffffp0
+  },
+  { // Entry 304
+    (long long int)-0x1.p1,
+    -0x1.80001p0
+  },
+  { // Entry 305
+    (long long int)-0x1.p0,
+    -0x1.7ffffp0
+  }
+};
\ No newline at end of file
diff --git a/tests/math_data/llrintf_intel_data.h b/tests/math_data/llrintf_intel_data.h
new file mode 100644
index 0000000..ecb22da
--- /dev/null
+++ b/tests/math_data/llrintf_intel_data.h
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+static data_llong_1_t<float> g_llrintf_intel_data[] = {
+  { // Entry 0
+    (long long int)0.0,
+    -0x1.p-149
+  },
+  { // Entry 1
+    (long long int)0.0,
+    0.0
+  },
+  { // Entry 2
+    (long long int)0.0,
+    0x1.p-149
+  },
+  { // Entry 3
+    (long long int)0.0,
+    0x1.fffffep-2
+  },
+  { // Entry 4
+    (long long int)0.0,
+    0x1.p-1
+  },
+  { // Entry 5
+    (long long int)0x1.p0,
+    0x1.000002p-1
+  },
+  { // Entry 6
+    (long long int)0x1.p0,
+    0x1.fffffep-1
+  },
+  { // Entry 7
+    (long long int)0x1.p0,
+    0x1.p0
+  },
+  { // Entry 8
+    (long long int)0x1.p0,
+    0x1.000002p0
+  },
+  { // Entry 9
+    (long long int)0x1.p0,
+    0x1.7ffffep0
+  },
+  { // Entry 10
+    (long long int)0x1.p1,
+    0x1.80p0
+  },
+  { // Entry 11
+    (long long int)0x1.p1,
+    0x1.800002p0
+  },
+  { // Entry 12
+    (long long int)0x1.p1,
+    0x1.fffffep0
+  },
+  { // Entry 13
+    (long long int)0x1.p1,
+    0x1.p1
+  },
+  { // Entry 14
+    (long long int)0x1.p1,
+    0x1.000002p1
+  },
+  { // Entry 15
+    (long long int)0x1.p1,
+    0x1.3ffffep1
+  },
+  { // Entry 16
+    (long long int)0x1.p1,
+    0x1.40p1
+  },
+  { // Entry 17
+    (long long int)0x1.80p1,
+    0x1.400002p1
+  },
+  { // Entry 18
+    (long long int)0x1.90p6,
+    0x1.8ffffep6
+  },
+  { // Entry 19
+    (long long int)0x1.90p6,
+    0x1.90p6
+  },
+  { // Entry 20
+    (long long int)0x1.90p6,
+    0x1.900002p6
+  },
+  { // Entry 21
+    (long long int)0x1.90p6,
+    0x1.91fffep6
+  },
+  { // Entry 22
+    (long long int)0x1.90p6,
+    0x1.92p6
+  },
+  { // Entry 23
+    (long long int)0x1.94p6,
+    0x1.920002p6
+  },
+  { // Entry 24
+    (long long int)0x1.f4p9,
+    0x1.f3fffep9
+  },
+  { // Entry 25
+    (long long int)0x1.f4p9,
+    0x1.f4p9
+  },
+  { // Entry 26
+    (long long int)0x1.f4p9,
+    0x1.f40002p9
+  },
+  { // Entry 27
+    (long long int)0x1.f4p9,
+    0x1.f43ffep9
+  },
+  { // Entry 28
+    (long long int)0x1.f4p9,
+    0x1.f440p9
+  },
+  { // Entry 29
+    (long long int)0x1.f480p9,
+    0x1.f44002p9
+  },
+  { // Entry 30
+    (long long int)0x1.p21,
+    0x1.fffffep20
+  },
+  { // Entry 31
+    (long long int)0x1.p21,
+    0x1.p21
+  },
+  { // Entry 32
+    (long long int)0x1.p21,
+    0x1.000002p21
+  },
+  { // Entry 33
+    (long long int)0x1.p22,
+    0x1.fffffep21
+  },
+  { // Entry 34
+    (long long int)0x1.p22,
+    0x1.p22
+  },
+  { // Entry 35
+    (long long int)0x1.p22,
+    0x1.000002p22
+  },
+  { // Entry 36
+    (long long int)0x1.p23,
+    0x1.fffffep22
+  },
+  { // Entry 37
+    (long long int)0x1.p23,
+    0x1.p23
+  },
+  { // Entry 38
+    (long long int)0x1.000002p23,
+    0x1.000002p23
+  },
+  { // Entry 39
+    (long long int)0x1.fffffep23,
+    0x1.fffffep23
+  },
+  { // Entry 40
+    (long long int)0x1.p24,
+    0x1.p24
+  },
+  { // Entry 41
+    (long long int)0x1.000002p24,
+    0x1.000002p24
+  },
+  { // Entry 42
+    (long long int)0x1.fffffep24,
+    0x1.fffffep24
+  },
+  { // Entry 43
+    (long long int)0x1.p25,
+    0x1.p25
+  },
+  { // Entry 44
+    (long long int)0x1.000002p25,
+    0x1.000002p25
+  },
+  { // Entry 45
+    (long long int)-0x1.p0,
+    -0x1.000002p-1
+  },
+  { // Entry 46
+    (long long int)0.0,
+    -0x1.p-1
+  },
+  { // Entry 47
+    (long long int)0.0,
+    -0x1.fffffep-2
+  },
+  { // Entry 48
+    (long long int)-0x1.p0,
+    -0x1.000002p0
+  },
+  { // Entry 49
+    (long long int)-0x1.p0,
+    -0x1.p0
+  },
+  { // Entry 50
+    (long long int)-0x1.p0,
+    -0x1.fffffep-1
+  },
+  { // Entry 51
+    (long long int)-0x1.p1,
+    -0x1.800002p0
+  },
+  { // Entry 52
+    (long long int)-0x1.p1,
+    -0x1.80p0
+  },
+  { // Entry 53
+    (long long int)-0x1.p0,
+    -0x1.7ffffep0
+  },
+  { // Entry 54
+    (long long int)-0x1.p1,
+    -0x1.000002p1
+  },
+  { // Entry 55
+    (long long int)-0x1.p1,
+    -0x1.p1
+  },
+  { // Entry 56
+    (long long int)-0x1.p1,
+    -0x1.fffffep0
+  },
+  { // Entry 57
+    (long long int)-0x1.80p1,
+    -0x1.400002p1
+  },
+  { // Entry 58
+    (long long int)-0x1.p1,
+    -0x1.40p1
+  },
+  { // Entry 59
+    (long long int)-0x1.p1,
+    -0x1.3ffffep1
+  },
+  { // Entry 60
+    (long long int)-0x1.90p6,
+    -0x1.900002p6
+  },
+  { // Entry 61
+    (long long int)-0x1.90p6,
+    -0x1.90p6
+  },
+  { // Entry 62
+    (long long int)-0x1.90p6,
+    -0x1.8ffffep6
+  },
+  { // Entry 63
+    (long long int)-0x1.94p6,
+    -0x1.920002p6
+  },
+  { // Entry 64
+    (long long int)-0x1.90p6,
+    -0x1.92p6
+  },
+  { // Entry 65
+    (long long int)-0x1.90p6,
+    -0x1.91fffep6
+  },
+  { // Entry 66
+    (long long int)-0x1.f4p9,
+    -0x1.f40002p9
+  },
+  { // Entry 67
+    (long long int)-0x1.f4p9,
+    -0x1.f4p9
+  },
+  { // Entry 68
+    (long long int)-0x1.f4p9,
+    -0x1.f3fffep9
+  },
+  { // Entry 69
+    (long long int)-0x1.f480p9,
+    -0x1.f44002p9
+  },
+  { // Entry 70
+    (long long int)-0x1.f4p9,
+    -0x1.f440p9
+  },
+  { // Entry 71
+    (long long int)-0x1.f4p9,
+    -0x1.f43ffep9
+  },
+  { // Entry 72
+    (long long int)-0x1.p21,
+    -0x1.000002p21
+  },
+  { // Entry 73
+    (long long int)-0x1.p21,
+    -0x1.p21
+  },
+  { // Entry 74
+    (long long int)-0x1.p21,
+    -0x1.fffffep20
+  },
+  { // Entry 75
+    (long long int)-0x1.p22,
+    -0x1.000002p22
+  },
+  { // Entry 76
+    (long long int)-0x1.p22,
+    -0x1.p22
+  },
+  { // Entry 77
+    (long long int)-0x1.p22,
+    -0x1.fffffep21
+  },
+  { // Entry 78
+    (long long int)-0x1.000002p23,
+    -0x1.000002p23
+  },
+  { // Entry 79
+    (long long int)-0x1.p23,
+    -0x1.p23
+  },
+  { // Entry 80
+    (long long int)-0x1.p23,
+    -0x1.fffffep22
+  },
+  { // Entry 81
+    (long long int)-0x1.000002p24,
+    -0x1.000002p24
+  },
+  { // Entry 82
+    (long long int)-0x1.p24,
+    -0x1.p24
+  },
+  { // Entry 83
+    (long long int)-0x1.fffffep23,
+    -0x1.fffffep23
+  },
+  { // Entry 84
+    (long long int)-0x1.000002p25,
+    -0x1.000002p25
+  },
+  { // Entry 85
+    (long long int)-0x1.p25,
+    -0x1.p25
+  },
+  { // Entry 86
+    (long long int)-0x1.fffffep24,
+    -0x1.fffffep24
+  },
+  { // Entry 87
+    (long long int)0x1.fffffep29,
+    0x1.fffffep29
+  },
+  { // Entry 88
+    (long long int)0x1.p30,
+    0x1.p30
+  },
+  { // Entry 89
+    (long long int)0x1.000002p30,
+    0x1.000002p30
+  },
+  { // Entry 90
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 91
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 92
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 93
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 94
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 95
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 96
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 97
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 98
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 99
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 100
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 101
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 102
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 103
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 104
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 105
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 106
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 107
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 108
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 109
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 110
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 111
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 112
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 113
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 114
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 115
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 116
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 117
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 118
+    (long long int)0x1.000002p31,
+    0x1.000002p31
+  },
+  { // Entry 119
+    (long long int)0x1.000004p31,
+    0x1.000004p31
+  },
+  { // Entry 120
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 121
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 122
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 123
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 124
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 125
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 126
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 127
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 128
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 129
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 130
+    (long long int)-0x1.000002p30,
+    -0x1.000002p30
+  },
+  { // Entry 131
+    (long long int)-0x1.p30,
+    -0x1.p30
+  },
+  { // Entry 132
+    (long long int)-0x1.fffffep29,
+    -0x1.fffffep29
+  },
+  { // Entry 133
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 134
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 135
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 136
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 137
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 138
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 139
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 140
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 141
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 142
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 143
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 144
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 145
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 146
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 147
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 148
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 149
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 150
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 151
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 152
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 153
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 154
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 155
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 156
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 157
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 158
+    (long long int)-0x1.000004p31,
+    -0x1.000004p31
+  },
+  { // Entry 159
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 160
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 161
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 162
+    (long long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 163
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 164
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 165
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 166
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 167
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 168
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 169
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 170
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 171
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 172
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 173
+    (long long int)0x1.fffffcp61,
+    0x1.fffffcp61
+  },
+  { // Entry 174
+    (long long int)0x1.fffffep61,
+    0x1.fffffep61
+  },
+  { // Entry 175
+    (long long int)0x1.p62,
+    0x1.p62
+  },
+  { // Entry 176
+    (long long int)0x1.000002p62,
+    0x1.000002p62
+  },
+  { // Entry 177
+    (long long int)0x1.000004p62,
+    0x1.000004p62
+  },
+  { // Entry 178
+    (long long int)0x1.fffffcp62,
+    0x1.fffffcp62
+  },
+  { // Entry 179
+    (long long int)0x1.fffffep62,
+    0x1.fffffep62
+  },
+  { // Entry 180
+    (long long int)-0x1.000004p62,
+    -0x1.000004p62
+  },
+  { // Entry 181
+    (long long int)-0x1.000002p62,
+    -0x1.000002p62
+  },
+  { // Entry 182
+    (long long int)-0x1.p62,
+    -0x1.p62
+  },
+  { // Entry 183
+    (long long int)-0x1.fffffep61,
+    -0x1.fffffep61
+  },
+  { // Entry 184
+    (long long int)-0x1.fffffcp61,
+    -0x1.fffffcp61
+  },
+  { // Entry 185
+    (long long int)-0x1.p63,
+    -0x1.p63
+  },
+  { // Entry 186
+    (long long int)-0x1.fffffep62,
+    -0x1.fffffep62
+  },
+  { // Entry 187
+    (long long int)-0x1.fffffcp62,
+    -0x1.fffffcp62
+  },
+  { // Entry 188
+    (long long int)0x1.p62,
+    0x1.p62
+  },
+  { // Entry 189
+    (long long int)-0x1.p62,
+    -0x1.p62
+  },
+  { // Entry 190
+    (long long int)-0x1.p63,
+    -0x1.p63
+  },
+  { // Entry 191
+    (long long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 192
+    (long long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 193
+    (long long int)0x1.p31,
+    0x1.p31
+  },
+  { // Entry 194
+    (long long int)-0x1.000002p31,
+    -0x1.000002p31
+  },
+  { // Entry 195
+    (long long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 196
+    (long long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 197
+    (long long int)0x1.p2,
+    0x1.fffffep1
+  },
+  { // Entry 198
+    (long long int)0x1.p2,
+    0x1.p2
+  },
+  { // Entry 199
+    (long long int)0x1.p2,
+    0x1.000002p2
+  },
+  { // Entry 200
+    (long long int)0x1.p3,
+    0x1.fffffep2
+  },
+  { // Entry 201
+    (long long int)0x1.p3,
+    0x1.p3
+  },
+  { // Entry 202
+    (long long int)0x1.p3,
+    0x1.000002p3
+  },
+  { // Entry 203
+    (long long int)0x1.p4,
+    0x1.fffffep3
+  },
+  { // Entry 204
+    (long long int)0x1.p4,
+    0x1.p4
+  },
+  { // Entry 205
+    (long long int)0x1.p4,
+    0x1.000002p4
+  },
+  { // Entry 206
+    (long long int)0x1.p5,
+    0x1.fffffep4
+  },
+  { // Entry 207
+    (long long int)0x1.p5,
+    0x1.p5
+  },
+  { // Entry 208
+    (long long int)0x1.p5,
+    0x1.000002p5
+  },
+  { // Entry 209
+    (long long int)0x1.p6,
+    0x1.fffffep5
+  },
+  { // Entry 210
+    (long long int)0x1.p6,
+    0x1.p6
+  },
+  { // Entry 211
+    (long long int)0x1.p6,
+    0x1.000002p6
+  },
+  { // Entry 212
+    (long long int)0x1.p7,
+    0x1.fffffep6
+  },
+  { // Entry 213
+    (long long int)0x1.p7,
+    0x1.p7
+  },
+  { // Entry 214
+    (long long int)0x1.p7,
+    0x1.000002p7
+  },
+  { // Entry 215
+    (long long int)0x1.p8,
+    0x1.fffffep7
+  },
+  { // Entry 216
+    (long long int)0x1.p8,
+    0x1.p8
+  },
+  { // Entry 217
+    (long long int)0x1.p8,
+    0x1.000002p8
+  },
+  { // Entry 218
+    (long long int)0x1.p9,
+    0x1.fffffep8
+  },
+  { // Entry 219
+    (long long int)0x1.p9,
+    0x1.p9
+  },
+  { // Entry 220
+    (long long int)0x1.p9,
+    0x1.000002p9
+  },
+  { // Entry 221
+    (long long int)0x1.p10,
+    0x1.fffffep9
+  },
+  { // Entry 222
+    (long long int)0x1.p10,
+    0x1.p10
+  },
+  { // Entry 223
+    (long long int)0x1.p10,
+    0x1.000002p10
+  },
+  { // Entry 224
+    (long long int)0x1.p11,
+    0x1.fffffep10
+  },
+  { // Entry 225
+    (long long int)0x1.p11,
+    0x1.p11
+  },
+  { // Entry 226
+    (long long int)0x1.p11,
+    0x1.000002p11
+  },
+  { // Entry 227
+    (long long int)0x1.p12,
+    0x1.fffffep11
+  },
+  { // Entry 228
+    (long long int)0x1.p12,
+    0x1.p12
+  },
+  { // Entry 229
+    (long long int)0x1.p12,
+    0x1.000002p12
+  },
+  { // Entry 230
+    (long long int)0x1.p2,
+    0x1.1ffffep2
+  },
+  { // Entry 231
+    (long long int)0x1.p2,
+    0x1.20p2
+  },
+  { // Entry 232
+    (long long int)0x1.40p2,
+    0x1.200002p2
+  },
+  { // Entry 233
+    (long long int)0x1.p3,
+    0x1.0ffffep3
+  },
+  { // Entry 234
+    (long long int)0x1.p3,
+    0x1.10p3
+  },
+  { // Entry 235
+    (long long int)0x1.20p3,
+    0x1.100002p3
+  },
+  { // Entry 236
+    (long long int)0x1.p4,
+    0x1.07fffep4
+  },
+  { // Entry 237
+    (long long int)0x1.p4,
+    0x1.08p4
+  },
+  { // Entry 238
+    (long long int)0x1.10p4,
+    0x1.080002p4
+  },
+  { // Entry 239
+    (long long int)0x1.p5,
+    0x1.03fffep5
+  },
+  { // Entry 240
+    (long long int)0x1.p5,
+    0x1.04p5
+  },
+  { // Entry 241
+    (long long int)0x1.08p5,
+    0x1.040002p5
+  },
+  { // Entry 242
+    (long long int)0x1.p6,
+    0x1.01fffep6
+  },
+  { // Entry 243
+    (long long int)0x1.p6,
+    0x1.02p6
+  },
+  { // Entry 244
+    (long long int)0x1.04p6,
+    0x1.020002p6
+  },
+  { // Entry 245
+    (long long int)0x1.p7,
+    0x1.00fffep7
+  },
+  { // Entry 246
+    (long long int)0x1.p7,
+    0x1.01p7
+  },
+  { // Entry 247
+    (long long int)0x1.02p7,
+    0x1.010002p7
+  },
+  { // Entry 248
+    (long long int)0x1.p8,
+    0x1.007ffep8
+  },
+  { // Entry 249
+    (long long int)0x1.p8,
+    0x1.0080p8
+  },
+  { // Entry 250
+    (long long int)0x1.01p8,
+    0x1.008002p8
+  },
+  { // Entry 251
+    (long long int)0x1.p9,
+    0x1.003ffep9
+  },
+  { // Entry 252
+    (long long int)0x1.p9,
+    0x1.0040p9
+  },
+  { // Entry 253
+    (long long int)0x1.0080p9,
+    0x1.004002p9
+  },
+  { // Entry 254
+    (long long int)0x1.p10,
+    0x1.001ffep10
+  },
+  { // Entry 255
+    (long long int)0x1.p10,
+    0x1.0020p10
+  },
+  { // Entry 256
+    (long long int)0x1.0040p10,
+    0x1.002002p10
+  },
+  { // Entry 257
+    (long long int)0x1.0040p10,
+    0x1.005ffep10
+  },
+  { // Entry 258
+    (long long int)0x1.0080p10,
+    0x1.0060p10
+  },
+  { // Entry 259
+    (long long int)0x1.0080p10,
+    0x1.006002p10
+  },
+  { // Entry 260
+    (long long int)0x1.p11,
+    0x1.000ffep11
+  },
+  { // Entry 261
+    (long long int)0x1.p11,
+    0x1.0010p11
+  },
+  { // Entry 262
+    (long long int)0x1.0020p11,
+    0x1.001002p11
+  },
+  { // Entry 263
+    (long long int)0x1.p12,
+    0x1.0007fep12
+  },
+  { // Entry 264
+    (long long int)0x1.p12,
+    0x1.0008p12
+  },
+  { // Entry 265
+    (long long int)0x1.0010p12,
+    0x1.000802p12
+  },
+  { // Entry 266
+    (long long int)0x1.80p1,
+    0x1.921fb6p1
+  },
+  { // Entry 267
+    (long long int)-0x1.80p1,
+    -0x1.921fb6p1
+  },
+  { // Entry 268
+    (long long int)0x1.p1,
+    0x1.921fb6p0
+  },
+  { // Entry 269
+    (long long int)-0x1.p1,
+    -0x1.921fb6p0
+  },
+  { // Entry 270
+    (long long int)0x1.p0,
+    0x1.000002p0
+  },
+  { // Entry 271
+    (long long int)-0x1.p0,
+    -0x1.000002p0
+  },
+  { // Entry 272
+    (long long int)0x1.p0,
+    0x1.p0
+  },
+  { // Entry 273
+    (long long int)-0x1.p0,
+    -0x1.p0
+  },
+  { // Entry 274
+    (long long int)0x1.p0,
+    0x1.fffffep-1
+  },
+  { // Entry 275
+    (long long int)-0x1.p0,
+    -0x1.fffffep-1
+  },
+  { // Entry 276
+    (long long int)0x1.p0,
+    0x1.921fb6p-1
+  },
+  { // Entry 277
+    (long long int)-0x1.p0,
+    -0x1.921fb6p-1
+  },
+  { // Entry 278
+    (long long int)0.0,
+    0x1.000002p-126
+  },
+  { // Entry 279
+    (long long int)0.0,
+    -0x1.000002p-126
+  },
+  { // Entry 280
+    (long long int)0.0,
+    0x1.p-126
+  },
+  { // Entry 281
+    (long long int)0.0,
+    -0x1.p-126
+  },
+  { // Entry 282
+    (long long int)0.0,
+    0x1.fffffcp-127
+  },
+  { // Entry 283
+    (long long int)0.0,
+    -0x1.fffffcp-127
+  },
+  { // Entry 284
+    (long long int)0.0,
+    0x1.fffff8p-127
+  },
+  { // Entry 285
+    (long long int)0.0,
+    -0x1.fffff8p-127
+  },
+  { // Entry 286
+    (long long int)0.0,
+    0x1.p-148
+  },
+  { // Entry 287
+    (long long int)0.0,
+    -0x1.p-148
+  },
+  { // Entry 288
+    (long long int)0.0,
+    0x1.p-149
+  },
+  { // Entry 289
+    (long long int)0.0,
+    -0x1.p-149
+  },
+  { // Entry 290
+    (long long int)0.0,
+    0.0f
+  },
+  { // Entry 291
+    (long long int)0.0,
+    -0.0f
+  },
+  { // Entry 292
+    (long long int)0x1.p1,
+    0x1.80p0
+  },
+  { // Entry 293
+    (long long int)-0x1.p1,
+    -0x1.80p0
+  },
+  { // Entry 294
+    (long long int)0x1.p1,
+    0x1.40p1
+  },
+  { // Entry 295
+    (long long int)-0x1.p1,
+    -0x1.40p1
+  },
+  { // Entry 296
+    (long long int)0.0,
+    0x1.fffff0p-2
+  },
+  { // Entry 297
+    (long long int)0.0,
+    0x1.p-1
+  },
+  { // Entry 298
+    (long long int)0x1.p0,
+    0x1.000010p-1
+  },
+  { // Entry 299
+    (long long int)0.0,
+    -0x1.fffff0p-2
+  },
+  { // Entry 300
+    (long long int)0.0,
+    -0x1.p-1
+  },
+  { // Entry 301
+    (long long int)-0x1.p0,
+    -0x1.000010p-1
+  },
+  { // Entry 302
+    (long long int)0x1.p1,
+    0x1.800010p0
+  },
+  { // Entry 303
+    (long long int)0x1.p0,
+    0x1.7ffff0p0
+  },
+  { // Entry 304
+    (long long int)-0x1.p1,
+    -0x1.800010p0
+  },
+  { // Entry 305
+    (long long int)-0x1.p0,
+    -0x1.7ffff0p0
+  }
+};
\ No newline at end of file
diff --git a/tests/math_data/lrint_intel_data.h b/tests/math_data/lrint_intel_data.h
new file mode 100644
index 0000000..a034be4
--- /dev/null
+++ b/tests/math_data/lrint_intel_data.h
@@ -0,0 +1,982 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+static data_long_1_t<double> g_lrint_intel_data[] = {
+  { // Entry 0
+    (long int)0.0,
+    -0x1.0p-1074
+  },
+  { // Entry 1
+    (long int)0.0,
+    -0.0
+  },
+  { // Entry 2
+    (long int)0.0,
+    0x1.0p-1074
+  },
+  { // Entry 3
+    (long int)0.0,
+    0x1.fffffffffffffp-2
+  },
+  { // Entry 4
+    (long int)0.0,
+    0x1.0p-1
+  },
+  { // Entry 5
+    (long int)0x1.p0,
+    0x1.0000000000001p-1
+  },
+  { // Entry 6
+    (long int)0x1.p0,
+    0x1.fffffffffffffp-1
+  },
+  { // Entry 7
+    (long int)0x1.p0,
+    0x1.0p0
+  },
+  { // Entry 8
+    (long int)0x1.p0,
+    0x1.0000000000001p0
+  },
+  { // Entry 9
+    (long int)0x1.p0,
+    0x1.7ffffffffffffp0
+  },
+  { // Entry 10
+    (long int)0x1.p1,
+    0x1.8p0
+  },
+  { // Entry 11
+    (long int)0x1.p1,
+    0x1.8000000000001p0
+  },
+  { // Entry 12
+    (long int)0x1.p1,
+    0x1.fffffffffffffp0
+  },
+  { // Entry 13
+    (long int)0x1.p1,
+    0x1.0p1
+  },
+  { // Entry 14
+    (long int)0x1.p1,
+    0x1.0000000000001p1
+  },
+  { // Entry 15
+    (long int)0x1.p1,
+    0x1.3ffffffffffffp1
+  },
+  { // Entry 16
+    (long int)0x1.p1,
+    0x1.4p1
+  },
+  { // Entry 17
+    (long int)0x1.80p1,
+    0x1.4000000000001p1
+  },
+  { // Entry 18
+    (long int)0x1.90p6,
+    0x1.8ffffffffffffp6
+  },
+  { // Entry 19
+    (long int)0x1.90p6,
+    0x1.9p6
+  },
+  { // Entry 20
+    (long int)0x1.90p6,
+    0x1.9000000000001p6
+  },
+  { // Entry 21
+    (long int)0x1.90p6,
+    0x1.91fffffffffffp6
+  },
+  { // Entry 22
+    (long int)0x1.90p6,
+    0x1.920p6
+  },
+  { // Entry 23
+    (long int)0x1.94p6,
+    0x1.9200000000001p6
+  },
+  { // Entry 24
+    (long int)0x1.f4p9,
+    0x1.f3fffffffffffp9
+  },
+  { // Entry 25
+    (long int)0x1.f4p9,
+    0x1.f40p9
+  },
+  { // Entry 26
+    (long int)0x1.f4p9,
+    0x1.f400000000001p9
+  },
+  { // Entry 27
+    (long int)0x1.f4p9,
+    0x1.f43ffffffffffp9
+  },
+  { // Entry 28
+    (long int)0x1.f4p9,
+    0x1.f44p9
+  },
+  { // Entry 29
+    (long int)0x1.f480p9,
+    0x1.f440000000001p9
+  },
+  { // Entry 30
+    (long int)-0x1.p0,
+    -0x1.0000000000001p-1
+  },
+  { // Entry 31
+    (long int)0.0,
+    -0x1.0p-1
+  },
+  { // Entry 32
+    (long int)0.0,
+    -0x1.fffffffffffffp-2
+  },
+  { // Entry 33
+    (long int)-0x1.p0,
+    -0x1.0000000000001p0
+  },
+  { // Entry 34
+    (long int)-0x1.p0,
+    -0x1.0p0
+  },
+  { // Entry 35
+    (long int)-0x1.p0,
+    -0x1.fffffffffffffp-1
+  },
+  { // Entry 36
+    (long int)-0x1.p1,
+    -0x1.8000000000001p0
+  },
+  { // Entry 37
+    (long int)-0x1.p1,
+    -0x1.8p0
+  },
+  { // Entry 38
+    (long int)-0x1.p0,
+    -0x1.7ffffffffffffp0
+  },
+  { // Entry 39
+    (long int)-0x1.p1,
+    -0x1.0000000000001p1
+  },
+  { // Entry 40
+    (long int)-0x1.p1,
+    -0x1.0p1
+  },
+  { // Entry 41
+    (long int)-0x1.p1,
+    -0x1.fffffffffffffp0
+  },
+  { // Entry 42
+    (long int)-0x1.80p1,
+    -0x1.4000000000001p1
+  },
+  { // Entry 43
+    (long int)-0x1.p1,
+    -0x1.4p1
+  },
+  { // Entry 44
+    (long int)-0x1.p1,
+    -0x1.3ffffffffffffp1
+  },
+  { // Entry 45
+    (long int)-0x1.90p6,
+    -0x1.9000000000001p6
+  },
+  { // Entry 46
+    (long int)-0x1.90p6,
+    -0x1.9p6
+  },
+  { // Entry 47
+    (long int)-0x1.90p6,
+    -0x1.8ffffffffffffp6
+  },
+  { // Entry 48
+    (long int)-0x1.94p6,
+    -0x1.9200000000001p6
+  },
+  { // Entry 49
+    (long int)-0x1.90p6,
+    -0x1.920p6
+  },
+  { // Entry 50
+    (long int)-0x1.90p6,
+    -0x1.91fffffffffffp6
+  },
+  { // Entry 51
+    (long int)-0x1.f4p9,
+    -0x1.f400000000001p9
+  },
+  { // Entry 52
+    (long int)-0x1.f4p9,
+    -0x1.f40p9
+  },
+  { // Entry 53
+    (long int)-0x1.f4p9,
+    -0x1.f3fffffffffffp9
+  },
+  { // Entry 54
+    (long int)-0x1.f480p9,
+    -0x1.f440000000001p9
+  },
+  { // Entry 55
+    (long int)-0x1.f4p9,
+    -0x1.f44p9
+  },
+  { // Entry 56
+    (long int)-0x1.f4p9,
+    -0x1.f43ffffffffffp9
+  },
+  { // Entry 57
+    (long int)0x1.p30,
+    0x1.fffffffffffffp29
+  },
+  { // Entry 58
+    (long int)0x1.p30,
+    0x1.0p30
+  },
+  { // Entry 59
+    (long int)0x1.p30,
+    0x1.0000000000001p30
+  },
+  { // Entry 60
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff7ffffep30
+  },
+  { // Entry 61
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff7fffffp30
+  },
+  { // Entry 62
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff80p30
+  },
+  { // Entry 63
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff800001p30
+  },
+  { // Entry 64
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff800002p30
+  },
+  { // Entry 65
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff9ffffep30
+  },
+  { // Entry 66
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff9fffffp30
+  },
+  { // Entry 67
+    (long int)0x1.fffffff8p30,
+    0x1.fffffffa0p30
+  },
+  { // Entry 68
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffa00001p30
+  },
+  { // Entry 69
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffa00002p30
+  },
+  { // Entry 70
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffbffffep30
+  },
+  { // Entry 71
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffbfffffp30
+  },
+  { // Entry 72
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 73
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc00001p30
+  },
+  { // Entry 74
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc00002p30
+  },
+  { // Entry 75
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffdffffep30
+  },
+  { // Entry 76
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffdfffffp30
+  },
+  { // Entry 77
+    (long int)0x1.ffffffe0p30,
+    0x1.ffffffep30
+  },
+  { // Entry 78
+    (long int)0x1.ffffffe4p30,
+    0x1.ffffffe40p30
+  },
+  { // Entry 79
+    (long int)0x1.ffffffe8p30,
+    0x1.ffffffe80p30
+  },
+  { // Entry 80
+    (long int)0x1.ffffffecp30,
+    0x1.ffffffec0p30
+  },
+  { // Entry 81
+    (long int)0x1.fffffff0p30,
+    0x1.fffffffp30
+  },
+  { // Entry 82
+    (long int)0x1.fffffff4p30,
+    0x1.fffffff40p30
+  },
+  { // Entry 83
+    (long int)0x1.fffffff8p30,
+    0x1.fffffff80p30
+  },
+  { // Entry 84
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 85
+    (long int)-0x1.p30,
+    -0x1.0000000000001p30
+  },
+  { // Entry 86
+    (long int)-0x1.p30,
+    -0x1.0p30
+  },
+  { // Entry 87
+    (long int)-0x1.p30,
+    -0x1.fffffffffffffp29
+  },
+  { // Entry 88
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff800002p30
+  },
+  { // Entry 89
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff800001p30
+  },
+  { // Entry 90
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff80p30
+  },
+  { // Entry 91
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff7fffffp30
+  },
+  { // Entry 92
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff7ffffep30
+  },
+  { // Entry 93
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffa00002p30
+  },
+  { // Entry 94
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffa00001p30
+  },
+  { // Entry 95
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffffa0p30
+  },
+  { // Entry 96
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff9fffffp30
+  },
+  { // Entry 97
+    (long int)-0x1.fffffff8p30,
+    -0x1.fffffff9ffffep30
+  },
+  { // Entry 98
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffc00002p30
+  },
+  { // Entry 99
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffc00001p30
+  },
+  { // Entry 100
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffc0p30
+  },
+  { // Entry 101
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffbfffffp30
+  },
+  { // Entry 102
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffbffffep30
+  },
+  { // Entry 103
+    (long int)-0x1.p31,
+    -0x1.fffffffe00002p30
+  },
+  { // Entry 104
+    (long int)-0x1.p31,
+    -0x1.fffffffe00001p30
+  },
+  { // Entry 105
+    (long int)-0x1.p31,
+    -0x1.fffffffe0p30
+  },
+  { // Entry 106
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffdfffffp30
+  },
+  { // Entry 107
+    (long int)-0x1.fffffffcp30,
+    -0x1.fffffffdffffep30
+  },
+  { // Entry 108
+    (long int)-0x1.p31,
+    -0x1.0000000000002p31
+  },
+  { // Entry 109
+    (long int)-0x1.p31,
+    -0x1.0000000000001p31
+  },
+  { // Entry 110
+    (long int)-0x1.p31,
+    -0x1.0p31
+  },
+  { // Entry 111
+    (long int)-0x1.p31,
+    -0x1.fffffffffffffp30
+  },
+  { // Entry 112
+    (long int)-0x1.p31,
+    -0x1.ffffffffffffep30
+  },
+  { // Entry 113
+    (long int)-0x1.p31,
+    -0x1.000000010p31
+  },
+  { // Entry 114
+    (long int)-0x1.p31,
+    -0x1.00000000fffffp31
+  },
+  { // Entry 115
+    (long int)-0x1.p31,
+    -0x1.00000000ffffep31
+  },
+  { // Entry 116
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 117
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 118
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 119
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 120
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 121
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 122
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 123
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 124
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 125
+    (long int)-0x1.ffffffe0p30,
+    -0x1.ffffffep30
+  },
+  { // Entry 126
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffbfffffp30
+  },
+  { // Entry 127
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc0p30
+  },
+  { // Entry 128
+    (long int)0x1.fffffffcp30,
+    0x1.fffffffc00001p30
+  },
+  { // Entry 129
+    (long int)-0x1.p31,
+    -0x1.0000000000001p31
+  },
+  { // Entry 130
+    (long int)-0x1.p31,
+    -0x1.0p31
+  },
+  { // Entry 131
+    (long int)-0x1.p31,
+    -0x1.fffffffffffffp30
+  },
+  { // Entry 132
+    (long int)0x1.p2,
+    0x1.fffffffffffffp1
+  },
+  { // Entry 133
+    (long int)0x1.p2,
+    0x1.0p2
+  },
+  { // Entry 134
+    (long int)0x1.p2,
+    0x1.0000000000001p2
+  },
+  { // Entry 135
+    (long int)0x1.p3,
+    0x1.fffffffffffffp2
+  },
+  { // Entry 136
+    (long int)0x1.p3,
+    0x1.0p3
+  },
+  { // Entry 137
+    (long int)0x1.p3,
+    0x1.0000000000001p3
+  },
+  { // Entry 138
+    (long int)0x1.p4,
+    0x1.fffffffffffffp3
+  },
+  { // Entry 139
+    (long int)0x1.p4,
+    0x1.0p4
+  },
+  { // Entry 140
+    (long int)0x1.p4,
+    0x1.0000000000001p4
+  },
+  { // Entry 141
+    (long int)0x1.p5,
+    0x1.fffffffffffffp4
+  },
+  { // Entry 142
+    (long int)0x1.p5,
+    0x1.0p5
+  },
+  { // Entry 143
+    (long int)0x1.p5,
+    0x1.0000000000001p5
+  },
+  { // Entry 144
+    (long int)0x1.p6,
+    0x1.fffffffffffffp5
+  },
+  { // Entry 145
+    (long int)0x1.p6,
+    0x1.0p6
+  },
+  { // Entry 146
+    (long int)0x1.p6,
+    0x1.0000000000001p6
+  },
+  { // Entry 147
+    (long int)0x1.p7,
+    0x1.fffffffffffffp6
+  },
+  { // Entry 148
+    (long int)0x1.p7,
+    0x1.0p7
+  },
+  { // Entry 149
+    (long int)0x1.p7,
+    0x1.0000000000001p7
+  },
+  { // Entry 150
+    (long int)0x1.p8,
+    0x1.fffffffffffffp7
+  },
+  { // Entry 151
+    (long int)0x1.p8,
+    0x1.0p8
+  },
+  { // Entry 152
+    (long int)0x1.p8,
+    0x1.0000000000001p8
+  },
+  { // Entry 153
+    (long int)0x1.p9,
+    0x1.fffffffffffffp8
+  },
+  { // Entry 154
+    (long int)0x1.p9,
+    0x1.0p9
+  },
+  { // Entry 155
+    (long int)0x1.p9,
+    0x1.0000000000001p9
+  },
+  { // Entry 156
+    (long int)0x1.p10,
+    0x1.fffffffffffffp9
+  },
+  { // Entry 157
+    (long int)0x1.p10,
+    0x1.0p10
+  },
+  { // Entry 158
+    (long int)0x1.p10,
+    0x1.0000000000001p10
+  },
+  { // Entry 159
+    (long int)0x1.p11,
+    0x1.fffffffffffffp10
+  },
+  { // Entry 160
+    (long int)0x1.p11,
+    0x1.0p11
+  },
+  { // Entry 161
+    (long int)0x1.p11,
+    0x1.0000000000001p11
+  },
+  { // Entry 162
+    (long int)0x1.p12,
+    0x1.fffffffffffffp11
+  },
+  { // Entry 163
+    (long int)0x1.p12,
+    0x1.0p12
+  },
+  { // Entry 164
+    (long int)0x1.p12,
+    0x1.0000000000001p12
+  },
+  { // Entry 165
+    (long int)0x1.p2,
+    0x1.1ffffffffffffp2
+  },
+  { // Entry 166
+    (long int)0x1.p2,
+    0x1.2p2
+  },
+  { // Entry 167
+    (long int)0x1.40p2,
+    0x1.2000000000001p2
+  },
+  { // Entry 168
+    (long int)0x1.p3,
+    0x1.0ffffffffffffp3
+  },
+  { // Entry 169
+    (long int)0x1.p3,
+    0x1.1p3
+  },
+  { // Entry 170
+    (long int)0x1.20p3,
+    0x1.1000000000001p3
+  },
+  { // Entry 171
+    (long int)0x1.p4,
+    0x1.07fffffffffffp4
+  },
+  { // Entry 172
+    (long int)0x1.p4,
+    0x1.080p4
+  },
+  { // Entry 173
+    (long int)0x1.10p4,
+    0x1.0800000000001p4
+  },
+  { // Entry 174
+    (long int)0x1.p5,
+    0x1.03fffffffffffp5
+  },
+  { // Entry 175
+    (long int)0x1.p5,
+    0x1.040p5
+  },
+  { // Entry 176
+    (long int)0x1.08p5,
+    0x1.0400000000001p5
+  },
+  { // Entry 177
+    (long int)0x1.p6,
+    0x1.01fffffffffffp6
+  },
+  { // Entry 178
+    (long int)0x1.p6,
+    0x1.020p6
+  },
+  { // Entry 179
+    (long int)0x1.04p6,
+    0x1.0200000000001p6
+  },
+  { // Entry 180
+    (long int)0x1.p7,
+    0x1.00fffffffffffp7
+  },
+  { // Entry 181
+    (long int)0x1.p7,
+    0x1.010p7
+  },
+  { // Entry 182
+    (long int)0x1.02p7,
+    0x1.0100000000001p7
+  },
+  { // Entry 183
+    (long int)0x1.p8,
+    0x1.007ffffffffffp8
+  },
+  { // Entry 184
+    (long int)0x1.p8,
+    0x1.008p8
+  },
+  { // Entry 185
+    (long int)0x1.01p8,
+    0x1.0080000000001p8
+  },
+  { // Entry 186
+    (long int)0x1.p9,
+    0x1.003ffffffffffp9
+  },
+  { // Entry 187
+    (long int)0x1.p9,
+    0x1.004p9
+  },
+  { // Entry 188
+    (long int)0x1.0080p9,
+    0x1.0040000000001p9
+  },
+  { // Entry 189
+    (long int)0x1.p10,
+    0x1.001ffffffffffp10
+  },
+  { // Entry 190
+    (long int)0x1.p10,
+    0x1.002p10
+  },
+  { // Entry 191
+    (long int)0x1.0040p10,
+    0x1.0020000000001p10
+  },
+  { // Entry 192
+    (long int)0x1.0040p10,
+    0x1.005ffffffffffp10
+  },
+  { // Entry 193
+    (long int)0x1.0080p10,
+    0x1.006p10
+  },
+  { // Entry 194
+    (long int)0x1.0080p10,
+    0x1.0060000000001p10
+  },
+  { // Entry 195
+    (long int)0x1.p11,
+    0x1.000ffffffffffp11
+  },
+  { // Entry 196
+    (long int)0x1.p11,
+    0x1.001p11
+  },
+  { // Entry 197
+    (long int)0x1.0020p11,
+    0x1.0010000000001p11
+  },
+  { // Entry 198
+    (long int)0x1.p12,
+    0x1.0007fffffffffp12
+  },
+  { // Entry 199
+    (long int)0x1.p12,
+    0x1.00080p12
+  },
+  { // Entry 200
+    (long int)0x1.0010p12,
+    0x1.0008000000001p12
+  },
+  { // Entry 201
+    (long int)0x1.80p1,
+    0x1.921fb54442d18p1
+  },
+  { // Entry 202
+    (long int)-0x1.80p1,
+    -0x1.921fb54442d18p1
+  },
+  { // Entry 203
+    (long int)0x1.p1,
+    0x1.921fb54442d18p0
+  },
+  { // Entry 204
+    (long int)-0x1.p1,
+    -0x1.921fb54442d18p0
+  },
+  { // Entry 205
+    (long int)0x1.p0,
+    0x1.0000000000001p0
+  },
+  { // Entry 206
+    (long int)-0x1.p0,
+    -0x1.0000000000001p0
+  },
+  { // Entry 207
+    (long int)0x1.p0,
+    0x1.0p0
+  },
+  { // Entry 208
+    (long int)-0x1.p0,
+    -0x1.0p0
+  },
+  { // Entry 209
+    (long int)0x1.p0,
+    0x1.fffffffffffffp-1
+  },
+  { // Entry 210
+    (long int)-0x1.p0,
+    -0x1.fffffffffffffp-1
+  },
+  { // Entry 211
+    (long int)0x1.p0,
+    0x1.921fb54442d18p-1
+  },
+  { // Entry 212
+    (long int)-0x1.p0,
+    -0x1.921fb54442d18p-1
+  },
+  { // Entry 213
+    (long int)0.0,
+    0x1.0000000000001p-1022
+  },
+  { // Entry 214
+    (long int)0.0,
+    -0x1.0000000000001p-1022
+  },
+  { // Entry 215
+    (long int)0.0,
+    0x1.0p-1022
+  },
+  { // Entry 216
+    (long int)0.0,
+    -0x1.0p-1022
+  },
+  { // Entry 217
+    (long int)0.0,
+    0x1.ffffffffffffep-1023
+  },
+  { // Entry 218
+    (long int)0.0,
+    -0x1.ffffffffffffep-1023
+  },
+  { // Entry 219
+    (long int)0.0,
+    0x1.ffffffffffffcp-1023
+  },
+  { // Entry 220
+    (long int)0.0,
+    -0x1.ffffffffffffcp-1023
+  },
+  { // Entry 221
+    (long int)0.0,
+    0x1.0p-1073
+  },
+  { // Entry 222
+    (long int)0.0,
+    -0x1.0p-1073
+  },
+  { // Entry 223
+    (long int)0.0,
+    0x1.0p-1074
+  },
+  { // Entry 224
+    (long int)0.0,
+    -0x1.0p-1074
+  },
+  { // Entry 225
+    (long int)0.0,
+    0.0
+  },
+  { // Entry 226
+    (long int)0.0,
+    -0.0
+  },
+  { // Entry 227
+    (long int)0x1.p1,
+    0x1.8p0
+  },
+  { // Entry 228
+    (long int)-0x1.p1,
+    -0x1.8p0
+  },
+  { // Entry 229
+    (long int)0x1.p1,
+    0x1.4p1
+  },
+  { // Entry 230
+    (long int)-0x1.p1,
+    -0x1.4p1
+  },
+  { // Entry 231
+    (long int)0.0,
+    0x1.fffffp-2
+  },
+  { // Entry 232
+    (long int)0.0,
+    0x1.0p-1
+  },
+  { // Entry 233
+    (long int)0x1.p0,
+    0x1.00001p-1
+  },
+  { // Entry 234
+    (long int)0.0,
+    -0x1.fffffp-2
+  },
+  { // Entry 235
+    (long int)0.0,
+    -0x1.0p-1
+  },
+  { // Entry 236
+    (long int)-0x1.p0,
+    -0x1.00001p-1
+  },
+  { // Entry 237
+    (long int)0x1.p1,
+    0x1.80001p0
+  },
+  { // Entry 238
+    (long int)0x1.p0,
+    0x1.7ffffp0
+  },
+  { // Entry 239
+    (long int)-0x1.p1,
+    -0x1.80001p0
+  },
+  { // Entry 240
+    (long int)-0x1.p0,
+    -0x1.7ffffp0
+  }
+};
\ No newline at end of file
diff --git a/tests/math_data/lrintf_intel_data.h b/tests/math_data/lrintf_intel_data.h
new file mode 100644
index 0000000..bd771b2
--- /dev/null
+++ b/tests/math_data/lrintf_intel_data.h
@@ -0,0 +1,1002 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+static data_long_1_t<float> g_lrintf_intel_data[] = {
+  { // Entry 0
+    (long int)0.0,
+    -0x1.p-149
+  },
+  { // Entry 1
+    (long int)0.0,
+    0.0
+  },
+  { // Entry 2
+    (long int)0.0,
+    0x1.p-149
+  },
+  { // Entry 3
+    (long int)0.0,
+    0x1.fffffep-2
+  },
+  { // Entry 4
+    (long int)0.0,
+    0x1.p-1
+  },
+  { // Entry 5
+    (long int)0x1.p0,
+    0x1.000002p-1
+  },
+  { // Entry 6
+    (long int)0x1.p0,
+    0x1.fffffep-1
+  },
+  { // Entry 7
+    (long int)0x1.p0,
+    0x1.p0
+  },
+  { // Entry 8
+    (long int)0x1.p0,
+    0x1.000002p0
+  },
+  { // Entry 9
+    (long int)0x1.p0,
+    0x1.7ffffep0
+  },
+  { // Entry 10
+    (long int)0x1.p1,
+    0x1.80p0
+  },
+  { // Entry 11
+    (long int)0x1.p1,
+    0x1.800002p0
+  },
+  { // Entry 12
+    (long int)0x1.p1,
+    0x1.fffffep0
+  },
+  { // Entry 13
+    (long int)0x1.p1,
+    0x1.p1
+  },
+  { // Entry 14
+    (long int)0x1.p1,
+    0x1.000002p1
+  },
+  { // Entry 15
+    (long int)0x1.p1,
+    0x1.3ffffep1
+  },
+  { // Entry 16
+    (long int)0x1.p1,
+    0x1.40p1
+  },
+  { // Entry 17
+    (long int)0x1.80p1,
+    0x1.400002p1
+  },
+  { // Entry 18
+    (long int)0x1.90p6,
+    0x1.8ffffep6
+  },
+  { // Entry 19
+    (long int)0x1.90p6,
+    0x1.90p6
+  },
+  { // Entry 20
+    (long int)0x1.90p6,
+    0x1.900002p6
+  },
+  { // Entry 21
+    (long int)0x1.90p6,
+    0x1.91fffep6
+  },
+  { // Entry 22
+    (long int)0x1.90p6,
+    0x1.92p6
+  },
+  { // Entry 23
+    (long int)0x1.94p6,
+    0x1.920002p6
+  },
+  { // Entry 24
+    (long int)0x1.f4p9,
+    0x1.f3fffep9
+  },
+  { // Entry 25
+    (long int)0x1.f4p9,
+    0x1.f4p9
+  },
+  { // Entry 26
+    (long int)0x1.f4p9,
+    0x1.f40002p9
+  },
+  { // Entry 27
+    (long int)0x1.f4p9,
+    0x1.f43ffep9
+  },
+  { // Entry 28
+    (long int)0x1.f4p9,
+    0x1.f440p9
+  },
+  { // Entry 29
+    (long int)0x1.f480p9,
+    0x1.f44002p9
+  },
+  { // Entry 30
+    (long int)0x1.p21,
+    0x1.fffffep20
+  },
+  { // Entry 31
+    (long int)0x1.p21,
+    0x1.p21
+  },
+  { // Entry 32
+    (long int)0x1.p21,
+    0x1.000002p21
+  },
+  { // Entry 33
+    (long int)0x1.p22,
+    0x1.fffffep21
+  },
+  { // Entry 34
+    (long int)0x1.p22,
+    0x1.p22
+  },
+  { // Entry 35
+    (long int)0x1.p22,
+    0x1.000002p22
+  },
+  { // Entry 36
+    (long int)0x1.p23,
+    0x1.fffffep22
+  },
+  { // Entry 37
+    (long int)0x1.p23,
+    0x1.p23
+  },
+  { // Entry 38
+    (long int)0x1.000002p23,
+    0x1.000002p23
+  },
+  { // Entry 39
+    (long int)0x1.fffffep23,
+    0x1.fffffep23
+  },
+  { // Entry 40
+    (long int)0x1.p24,
+    0x1.p24
+  },
+  { // Entry 41
+    (long int)0x1.000002p24,
+    0x1.000002p24
+  },
+  { // Entry 42
+    (long int)0x1.fffffep24,
+    0x1.fffffep24
+  },
+  { // Entry 43
+    (long int)0x1.p25,
+    0x1.p25
+  },
+  { // Entry 44
+    (long int)0x1.000002p25,
+    0x1.000002p25
+  },
+  { // Entry 45
+    (long int)-0x1.p0,
+    -0x1.000002p-1
+  },
+  { // Entry 46
+    (long int)0.0,
+    -0x1.p-1
+  },
+  { // Entry 47
+    (long int)0.0,
+    -0x1.fffffep-2
+  },
+  { // Entry 48
+    (long int)-0x1.p0,
+    -0x1.000002p0
+  },
+  { // Entry 49
+    (long int)-0x1.p0,
+    -0x1.p0
+  },
+  { // Entry 50
+    (long int)-0x1.p0,
+    -0x1.fffffep-1
+  },
+  { // Entry 51
+    (long int)-0x1.p1,
+    -0x1.800002p0
+  },
+  { // Entry 52
+    (long int)-0x1.p1,
+    -0x1.80p0
+  },
+  { // Entry 53
+    (long int)-0x1.p0,
+    -0x1.7ffffep0
+  },
+  { // Entry 54
+    (long int)-0x1.p1,
+    -0x1.000002p1
+  },
+  { // Entry 55
+    (long int)-0x1.p1,
+    -0x1.p1
+  },
+  { // Entry 56
+    (long int)-0x1.p1,
+    -0x1.fffffep0
+  },
+  { // Entry 57
+    (long int)-0x1.80p1,
+    -0x1.400002p1
+  },
+  { // Entry 58
+    (long int)-0x1.p1,
+    -0x1.40p1
+  },
+  { // Entry 59
+    (long int)-0x1.p1,
+    -0x1.3ffffep1
+  },
+  { // Entry 60
+    (long int)-0x1.90p6,
+    -0x1.900002p6
+  },
+  { // Entry 61
+    (long int)-0x1.90p6,
+    -0x1.90p6
+  },
+  { // Entry 62
+    (long int)-0x1.90p6,
+    -0x1.8ffffep6
+  },
+  { // Entry 63
+    (long int)-0x1.94p6,
+    -0x1.920002p6
+  },
+  { // Entry 64
+    (long int)-0x1.90p6,
+    -0x1.92p6
+  },
+  { // Entry 65
+    (long int)-0x1.90p6,
+    -0x1.91fffep6
+  },
+  { // Entry 66
+    (long int)-0x1.f4p9,
+    -0x1.f40002p9
+  },
+  { // Entry 67
+    (long int)-0x1.f4p9,
+    -0x1.f4p9
+  },
+  { // Entry 68
+    (long int)-0x1.f4p9,
+    -0x1.f3fffep9
+  },
+  { // Entry 69
+    (long int)-0x1.f480p9,
+    -0x1.f44002p9
+  },
+  { // Entry 70
+    (long int)-0x1.f4p9,
+    -0x1.f440p9
+  },
+  { // Entry 71
+    (long int)-0x1.f4p9,
+    -0x1.f43ffep9
+  },
+  { // Entry 72
+    (long int)-0x1.p21,
+    -0x1.000002p21
+  },
+  { // Entry 73
+    (long int)-0x1.p21,
+    -0x1.p21
+  },
+  { // Entry 74
+    (long int)-0x1.p21,
+    -0x1.fffffep20
+  },
+  { // Entry 75
+    (long int)-0x1.p22,
+    -0x1.000002p22
+  },
+  { // Entry 76
+    (long int)-0x1.p22,
+    -0x1.p22
+  },
+  { // Entry 77
+    (long int)-0x1.p22,
+    -0x1.fffffep21
+  },
+  { // Entry 78
+    (long int)-0x1.000002p23,
+    -0x1.000002p23
+  },
+  { // Entry 79
+    (long int)-0x1.p23,
+    -0x1.p23
+  },
+  { // Entry 80
+    (long int)-0x1.p23,
+    -0x1.fffffep22
+  },
+  { // Entry 81
+    (long int)-0x1.000002p24,
+    -0x1.000002p24
+  },
+  { // Entry 82
+    (long int)-0x1.p24,
+    -0x1.p24
+  },
+  { // Entry 83
+    (long int)-0x1.fffffep23,
+    -0x1.fffffep23
+  },
+  { // Entry 84
+    (long int)-0x1.000002p25,
+    -0x1.000002p25
+  },
+  { // Entry 85
+    (long int)-0x1.p25,
+    -0x1.p25
+  },
+  { // Entry 86
+    (long int)-0x1.fffffep24,
+    -0x1.fffffep24
+  },
+  { // Entry 87
+    (long int)0x1.fffffep29,
+    0x1.fffffep29
+  },
+  { // Entry 88
+    (long int)0x1.p30,
+    0x1.p30
+  },
+  { // Entry 89
+    (long int)0x1.000002p30,
+    0x1.000002p30
+  },
+  { // Entry 90
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 91
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 92
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 93
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 94
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 95
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 96
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 97
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 98
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 99
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 100
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 101
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 102
+    (long int)-0x1.000002p30,
+    -0x1.000002p30
+  },
+  { // Entry 103
+    (long int)-0x1.p30,
+    -0x1.p30
+  },
+  { // Entry 104
+    (long int)-0x1.fffffep29,
+    -0x1.fffffep29
+  },
+  { // Entry 105
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 106
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 107
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 108
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 109
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 110
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 111
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 112
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 113
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 114
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 115
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 116
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 117
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 118
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 119
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 120
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 121
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 122
+    (long int)-0x1.fffffcp30,
+    -0x1.fffffcp30
+  },
+  { // Entry 123
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 124
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 125
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 126
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 127
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 128
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 129
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 130
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 131
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 132
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 133
+    (long int)0x1.fffffcp30,
+    0x1.fffffcp30
+  },
+  { // Entry 134
+    (long int)0x1.fffffep30,
+    0x1.fffffep30
+  },
+  { // Entry 135
+    (long int)-0x1.p31,
+    -0x1.p31
+  },
+  { // Entry 136
+    (long int)-0x1.fffffep30,
+    -0x1.fffffep30
+  },
+  { // Entry 137
+    (long int)0x1.p2,
+    0x1.fffffep1
+  },
+  { // Entry 138
+    (long int)0x1.p2,
+    0x1.p2
+  },
+  { // Entry 139
+    (long int)0x1.p2,
+    0x1.000002p2
+  },
+  { // Entry 140
+    (long int)0x1.p3,
+    0x1.fffffep2
+  },
+  { // Entry 141
+    (long int)0x1.p3,
+    0x1.p3
+  },
+  { // Entry 142
+    (long int)0x1.p3,
+    0x1.000002p3
+  },
+  { // Entry 143
+    (long int)0x1.p4,
+    0x1.fffffep3
+  },
+  { // Entry 144
+    (long int)0x1.p4,
+    0x1.p4
+  },
+  { // Entry 145
+    (long int)0x1.p4,
+    0x1.000002p4
+  },
+  { // Entry 146
+    (long int)0x1.p5,
+    0x1.fffffep4
+  },
+  { // Entry 147
+    (long int)0x1.p5,
+    0x1.p5
+  },
+  { // Entry 148
+    (long int)0x1.p5,
+    0x1.000002p5
+  },
+  { // Entry 149
+    (long int)0x1.p6,
+    0x1.fffffep5
+  },
+  { // Entry 150
+    (long int)0x1.p6,
+    0x1.p6
+  },
+  { // Entry 151
+    (long int)0x1.p6,
+    0x1.000002p6
+  },
+  { // Entry 152
+    (long int)0x1.p7,
+    0x1.fffffep6
+  },
+  { // Entry 153
+    (long int)0x1.p7,
+    0x1.p7
+  },
+  { // Entry 154
+    (long int)0x1.p7,
+    0x1.000002p7
+  },
+  { // Entry 155
+    (long int)0x1.p8,
+    0x1.fffffep7
+  },
+  { // Entry 156
+    (long int)0x1.p8,
+    0x1.p8
+  },
+  { // Entry 157
+    (long int)0x1.p8,
+    0x1.000002p8
+  },
+  { // Entry 158
+    (long int)0x1.p9,
+    0x1.fffffep8
+  },
+  { // Entry 159
+    (long int)0x1.p9,
+    0x1.p9
+  },
+  { // Entry 160
+    (long int)0x1.p9,
+    0x1.000002p9
+  },
+  { // Entry 161
+    (long int)0x1.p10,
+    0x1.fffffep9
+  },
+  { // Entry 162
+    (long int)0x1.p10,
+    0x1.p10
+  },
+  { // Entry 163
+    (long int)0x1.p10,
+    0x1.000002p10
+  },
+  { // Entry 164
+    (long int)0x1.p11,
+    0x1.fffffep10
+  },
+  { // Entry 165
+    (long int)0x1.p11,
+    0x1.p11
+  },
+  { // Entry 166
+    (long int)0x1.p11,
+    0x1.000002p11
+  },
+  { // Entry 167
+    (long int)0x1.p12,
+    0x1.fffffep11
+  },
+  { // Entry 168
+    (long int)0x1.p12,
+    0x1.p12
+  },
+  { // Entry 169
+    (long int)0x1.p12,
+    0x1.000002p12
+  },
+  { // Entry 170
+    (long int)0x1.p2,
+    0x1.1ffffep2
+  },
+  { // Entry 171
+    (long int)0x1.p2,
+    0x1.20p2
+  },
+  { // Entry 172
+    (long int)0x1.40p2,
+    0x1.200002p2
+  },
+  { // Entry 173
+    (long int)0x1.p3,
+    0x1.0ffffep3
+  },
+  { // Entry 174
+    (long int)0x1.p3,
+    0x1.10p3
+  },
+  { // Entry 175
+    (long int)0x1.20p3,
+    0x1.100002p3
+  },
+  { // Entry 176
+    (long int)0x1.p4,
+    0x1.07fffep4
+  },
+  { // Entry 177
+    (long int)0x1.p4,
+    0x1.08p4
+  },
+  { // Entry 178
+    (long int)0x1.10p4,
+    0x1.080002p4
+  },
+  { // Entry 179
+    (long int)0x1.p5,
+    0x1.03fffep5
+  },
+  { // Entry 180
+    (long int)0x1.p5,
+    0x1.04p5
+  },
+  { // Entry 181
+    (long int)0x1.08p5,
+    0x1.040002p5
+  },
+  { // Entry 182
+    (long int)0x1.p6,
+    0x1.01fffep6
+  },
+  { // Entry 183
+    (long int)0x1.p6,
+    0x1.02p6
+  },
+  { // Entry 184
+    (long int)0x1.04p6,
+    0x1.020002p6
+  },
+  { // Entry 185
+    (long int)0x1.p7,
+    0x1.00fffep7
+  },
+  { // Entry 186
+    (long int)0x1.p7,
+    0x1.01p7
+  },
+  { // Entry 187
+    (long int)0x1.02p7,
+    0x1.010002p7
+  },
+  { // Entry 188
+    (long int)0x1.p8,
+    0x1.007ffep8
+  },
+  { // Entry 189
+    (long int)0x1.p8,
+    0x1.0080p8
+  },
+  { // Entry 190
+    (long int)0x1.01p8,
+    0x1.008002p8
+  },
+  { // Entry 191
+    (long int)0x1.p9,
+    0x1.003ffep9
+  },
+  { // Entry 192
+    (long int)0x1.p9,
+    0x1.0040p9
+  },
+  { // Entry 193
+    (long int)0x1.0080p9,
+    0x1.004002p9
+  },
+  { // Entry 194
+    (long int)0x1.p10,
+    0x1.001ffep10
+  },
+  { // Entry 195
+    (long int)0x1.p10,
+    0x1.0020p10
+  },
+  { // Entry 196
+    (long int)0x1.0040p10,
+    0x1.002002p10
+  },
+  { // Entry 197
+    (long int)0x1.0040p10,
+    0x1.005ffep10
+  },
+  { // Entry 198
+    (long int)0x1.0080p10,
+    0x1.0060p10
+  },
+  { // Entry 199
+    (long int)0x1.0080p10,
+    0x1.006002p10
+  },
+  { // Entry 200
+    (long int)0x1.p11,
+    0x1.000ffep11
+  },
+  { // Entry 201
+    (long int)0x1.p11,
+    0x1.0010p11
+  },
+  { // Entry 202
+    (long int)0x1.0020p11,
+    0x1.001002p11
+  },
+  { // Entry 203
+    (long int)0x1.p12,
+    0x1.0007fep12
+  },
+  { // Entry 204
+    (long int)0x1.p12,
+    0x1.0008p12
+  },
+  { // Entry 205
+    (long int)0x1.0010p12,
+    0x1.000802p12
+  },
+  { // Entry 206
+    (long int)0x1.80p1,
+    0x1.921fb6p1
+  },
+  { // Entry 207
+    (long int)-0x1.80p1,
+    -0x1.921fb6p1
+  },
+  { // Entry 208
+    (long int)0x1.p1,
+    0x1.921fb6p0
+  },
+  { // Entry 209
+    (long int)-0x1.p1,
+    -0x1.921fb6p0
+  },
+  { // Entry 210
+    (long int)0x1.p0,
+    0x1.000002p0
+  },
+  { // Entry 211
+    (long int)-0x1.p0,
+    -0x1.000002p0
+  },
+  { // Entry 212
+    (long int)0x1.p0,
+    0x1.p0
+  },
+  { // Entry 213
+    (long int)-0x1.p0,
+    -0x1.p0
+  },
+  { // Entry 214
+    (long int)0x1.p0,
+    0x1.fffffep-1
+  },
+  { // Entry 215
+    (long int)-0x1.p0,
+    -0x1.fffffep-1
+  },
+  { // Entry 216
+    (long int)0x1.p0,
+    0x1.921fb6p-1
+  },
+  { // Entry 217
+    (long int)-0x1.p0,
+    -0x1.921fb6p-1
+  },
+  { // Entry 218
+    (long int)0.0,
+    0x1.000002p-126
+  },
+  { // Entry 219
+    (long int)0.0,
+    -0x1.000002p-126
+  },
+  { // Entry 220
+    (long int)0.0,
+    0x1.p-126
+  },
+  { // Entry 221
+    (long int)0.0,
+    -0x1.p-126
+  },
+  { // Entry 222
+    (long int)0.0,
+    0x1.fffffcp-127
+  },
+  { // Entry 223
+    (long int)0.0,
+    -0x1.fffffcp-127
+  },
+  { // Entry 224
+    (long int)0.0,
+    0x1.fffff8p-127
+  },
+  { // Entry 225
+    (long int)0.0,
+    -0x1.fffff8p-127
+  },
+  { // Entry 226
+    (long int)0.0,
+    0x1.p-148
+  },
+  { // Entry 227
+    (long int)0.0,
+    -0x1.p-148
+  },
+  { // Entry 228
+    (long int)0.0,
+    0x1.p-149
+  },
+  { // Entry 229
+    (long int)0.0,
+    -0x1.p-149
+  },
+  { // Entry 230
+    (long int)0.0,
+    0.0f
+  },
+  { // Entry 231
+    (long int)0.0,
+    -0.0f
+  },
+  { // Entry 232
+    (long int)0x1.p1,
+    0x1.80p0
+  },
+  { // Entry 233
+    (long int)-0x1.p1,
+    -0x1.80p0
+  },
+  { // Entry 234
+    (long int)0x1.p1,
+    0x1.40p1
+  },
+  { // Entry 235
+    (long int)-0x1.p1,
+    -0x1.40p1
+  },
+  { // Entry 236
+    (long int)0.0,
+    0x1.fffff0p-2
+  },
+  { // Entry 237
+    (long int)0.0,
+    0x1.p-1
+  },
+  { // Entry 238
+    (long int)0x1.p0,
+    0x1.000010p-1
+  },
+  { // Entry 239
+    (long int)0.0,
+    -0x1.fffff0p-2
+  },
+  { // Entry 240
+    (long int)0.0,
+    -0x1.p-1
+  },
+  { // Entry 241
+    (long int)-0x1.p0,
+    -0x1.000010p-1
+  },
+  { // Entry 242
+    (long int)0x1.p1,
+    0x1.800010p0
+  },
+  { // Entry 243
+    (long int)0x1.p0,
+    0x1.7ffff0p0
+  },
+  { // Entry 244
+    (long int)-0x1.p1,
+    -0x1.800010p0
+  },
+  { // Entry 245
+    (long int)-0x1.p0,
+    -0x1.7ffff0p0
+  }
+};
\ No newline at end of file
diff --git a/tests/math_data_test.h b/tests/math_data_test.h
index 8aa2bf1..0aba701 100644
--- a/tests/math_data_test.h
+++ b/tests/math_data_test.h
@@ -30,6 +30,18 @@
   T1 input;
 };
 
+template <typename T1>
+struct data_long_1_t {
+  long expected;
+  T1 input;
+};
+
+template <typename T1>
+struct data_llong_1_t {
+  long long expected;
+  T1 input;
+};
+
 template <typename RT, typename T1, typename T2>
 struct data_1_2_t {
   RT expected;
@@ -157,6 +169,28 @@
   }
 }
 
+// Runs through the array 'data' applying 'f' to each of the input values
+// and asserting that the result is within ULP ulps of the expected value.
+// For testing a (double) -> long int function like lrint(3).
+template <size_t ULP, typename T, size_t N>
+void DoMathDataTest(data_long_1_t<T> (&data)[N], long f(T)) {
+  fesetenv(FE_DFL_ENV);
+  for (size_t i = 0; i < N; ++i) {
+    EXPECT_EQ(data[i].expected, f(data[i].input)) << "Failed on element " << i;
+  }
+}
+
+// Runs through the array 'data' applying 'f' to each of the input values
+// and asserting that the result is within ULP ulps of the expected value.
+// For testing a (double) -> long long int function like llrint(3).
+template <size_t ULP, typename T, size_t N>
+void DoMathDataTest(data_llong_1_t<T> (&data)[N], long long f(T)) {
+  fesetenv(FE_DFL_ENV);
+  for (size_t i = 0; i < N; ++i) {
+    EXPECT_EQ(data[i].expected, f(data[i].input)) << "Failed on element " << i;
+  }
+}
+
 // Runs through the array 'data' applying 'f' to each of the pairs of input values
 // and asserting that the result is within ULP ulps of the expected value.
 // For testing a (double, double) -> double function like pow(3).
diff --git a/tests/math_test.cpp b/tests/math_test.cpp
index e616e9b..c805cc2 100644
--- a/tests/math_test.cpp
+++ b/tests/math_test.cpp
@@ -1639,6 +1639,16 @@
   DoMathDataTest<1>(g_ldexpf_intel_data, ldexpf);
 }
 
+#include "math_data/llrint_intel_data.h"
+TEST(math, llrint_intel) {
+  DoMathDataTest<1>(g_llrint_intel_data, llrint);
+}
+
+#include "math_data/llrintf_intel_data.h"
+TEST(math, llrintf_intel) {
+  DoMathDataTest<1>(g_llrintf_intel_data, llrintf);
+}
+
 #include "math_data/log_intel_data.h"
 TEST(math, log_intel) {
   DoMathDataTest<1>(g_log_intel_data, log);
@@ -1689,6 +1699,16 @@
   DoMathDataTest<1>(g_logbf_intel_data, logbf);
 }
 
+#include "math_data/lrint_intel_data.h"
+TEST(math, lrint_intel) {
+  DoMathDataTest<1>(g_lrint_intel_data, lrint);
+}
+
+#include "math_data/lrintf_intel_data.h"
+TEST(math, lrintf_intel) {
+  DoMathDataTest<1>(g_lrintf_intel_data, lrintf);
+}
+
 #include "math_data/modf_intel_data.h"
 TEST(math, modf_intel) {
   DoMathDataTest<1>(g_modf_intel_data, modf);
