diff --git a/benchmarks/bionic_benchmarks.cpp b/benchmarks/bionic_benchmarks.cpp
index 074c3c8..e4c32fa 100644
--- a/benchmarks/bionic_benchmarks.cpp
+++ b/benchmarks/bionic_benchmarks.cpp
@@ -16,6 +16,7 @@
 
 #include <err.h>
 #include <getopt.h>
+#include <inttypes.h>
 #include <math.h>
 #include <sys/resource.h>
 
@@ -85,7 +86,7 @@
   {0, 0, 0, 0},
 };
 
-typedef std::vector<std::vector<int>> args_vector_t;
+typedef std::vector<std::vector<int64_t>> args_vector_t;
 
 void Usage() {
   printf("Usage:\n");
@@ -212,15 +213,16 @@
 static constexpr char kOnebufManualStr[] = "AT_ONEBUF_MANUAL_ALIGN_";
 static constexpr char kTwobufManualStr[] = "AT_TWOBUF_MANUAL_ALIGN1_";
 
-static bool ParseOnebufManualStr(std::string& arg, std::vector<int>* values) {
+static bool ParseOnebufManualStr(std::string& arg, std::vector<int64_t>* values) {
   // The format of this is:
   //   AT_ONEBUF_MANUAL_ALIGN_XX_SIZE_YY
   // Where:
   //   XX is the alignment
   //   YY is the size
-  int align;
-  int size;
-  if (sscanf(arg.c_str(), "AT_ONEBUF_MANUAL_ALIGN_%d_SIZE_%d" , &align, &size) != 2) {
+  int64_t align;
+  int64_t size;
+  if (sscanf(arg.c_str(), "AT_ONEBUF_MANUAL_ALIGN_%" SCNd64 "_SIZE_%" SCNd64,
+             &align, &size) != 2) {
     return false;
   }
 
@@ -228,22 +230,22 @@
     return false;
   }
 
-  values->push_back(static_cast<int>(size));
-  values->push_back(static_cast<int>(align));
+  values->push_back(static_cast<int64_t>(size));
+  values->push_back(static_cast<int64_t>(align));
   return true;
 }
 
-static bool ParseTwobufManualStr(std::string& arg, std::vector<int>* values) {
+static bool ParseTwobufManualStr(std::string& arg, std::vector<int64_t>* values) {
   // The format of this is:
   //   AT_TWOBUF_MANUAL_ALIGN1_XX_ALIGN2_YY_SIZE_ZZ
   // Where:
   //   XX is the alignment of the first argument
   //   YY is the alignment of the second argument
   //   ZZ is the size
-  int align1;
-  int align2;
-  int size;
-  if (sscanf(arg.c_str(), "AT_TWOBUF_MANUAL_ALIGN1_%d_ALIGN2_%d_SIZE_%d" ,
+  int64_t align1;
+  int64_t align2;
+  int64_t size;
+  if (sscanf(arg.c_str(), "AT_TWOBUF_MANUAL_ALIGN1_%" SCNd64 "_ALIGN2_%" SCNd64 "_SIZE_%" SCNd64,
              &align1, &align2, &size) != 3) {
     return false;
   }
@@ -254,9 +256,9 @@
     return false;
   }
 
-  values->push_back(static_cast<int>(size));
-  values->push_back(static_cast<int>(align1));
-  values->push_back(static_cast<int>(align2));
+  values->push_back(static_cast<int64_t>(size));
+  values->push_back(static_cast<int64_t>(align1));
+  values->push_back(static_cast<int64_t>(align2));
   return true;
 }
 
@@ -270,7 +272,7 @@
   }
   // Check for free form macro.
   if (android::base::StartsWith(args, kOnebufManualStr)) {
-    std::vector<int> values;
+    std::vector<int64_t> values;
     if (!ParseOnebufManualStr(args, &values)) {
       errx(1, "ERROR: Bad format of macro %s, should be AT_ONEBUF_MANUAL_ALIGN_XX_SIZE_YY",
            args.c_str());
@@ -278,7 +280,7 @@
     to_populate->push_back(std::move(values));
     return to_populate;
   } else if (android::base::StartsWith(args, kTwobufManualStr)) {
-    std::vector<int> values;
+    std::vector<int64_t> values;
     if (!ParseTwobufManualStr(args, &values)) {
       errx(1,
            "ERROR: Bad format of macro %s, should be AT_TWOBUF_MANUAL_ALIGN1_XX_ALIGNE2_YY_SIZE_ZZ",
@@ -288,7 +290,7 @@
     return to_populate;
   }
 
-  to_populate->push_back(std::vector<int>());
+  to_populate->push_back(std::vector<int64_t>());
   std::stringstream sstream(args);
   std::string argstr;
   while (sstream >> argstr) {
@@ -318,7 +320,7 @@
   }
 
   benchmark_func_t benchmark_function = g_str_to_func.at(fn_name).first;
-  for (const std::vector<int>& args : (*run_args)) {
+  for (const std::vector<int64_t>& args : (*run_args)) {
     auto registration = benchmark::RegisterBenchmark(fn_name.c_str(), LockAndRun,
                                                      benchmark_function,
                                                      cpu_to_use)->Args(args);
@@ -476,7 +478,8 @@
     // that can be created with the current property area size.
     {"NUM_PROPS", args_vector_t{ {1}, {4}, {16}, {64}, {128}, {256}, {512} }},
 
-    {"MATH_COMMON", args_vector_t{ {0}, {1}, {2}, {3} }}
+    {"MATH_COMMON", args_vector_t{ {0}, {1}, {2}, {3} }},
+    {"MATH_SINCOS_COMMON", args_vector_t{ {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7} }},
   };
 
   args_vector_t args_onebuf;
diff --git a/benchmarks/expf_input.cpp b/benchmarks/expf_input.cpp
new file mode 100644
index 0000000..12aa5b4
--- /dev/null
+++ b/benchmarks/expf_input.cpp
@@ -0,0 +1,2416 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ * 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.
+ *
+ * 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.
+ */
+
+// Reduced trace based on 2.4 billion samples extracted from specpu2017
+// 521.wrf_r benchmark.
+static const std::vector<float> expf_input = {
+  -0x0p+0,
+  -0x1.092bd4p+2,
+  -0x1.8af5ecp-1,
+  0x1.45659p+3,
+  0x1.388742p+3,
+  0x1.3857eep+3,
+  -0x1.80f2ep+0,
+  -0x1.3a3adcp+1,
+  -0x1.07b87ap+0,
+  0x1.3c5c22p+3,
+  0x1.ede768p+2,
+  -0x1.bb5bcp-2,
+  -0x1.0e7d6ep+5,
+  -0x1.79ac4p+4,
+  0x1.20fe8ap+3,
+  -0x1.616dd4p+3,
+  -0x1.7d3bc2p+0,
+  0x1.0b8384p+0,
+  0x1.44422ap+3,
+  0x1.e3bce8p+2,
+  0x1.44d11ap+3,
+  0x1.cfdd92p+2,
+  -0x1.b5093p+1,
+  0x1.9d1724p+1,
+  0x1.9471bcp+2,
+  0x1.9ccc52p+0,
+  -0x1.e1ea14p+0,
+  -0x1.46d1ecp-3,
+  0x1.927332p-2,
+  -0x1.d553a2p+1,
+  0x1.923732p+0,
+  0x1.6aea06p+2,
+  0x1.92eb6cp-1,
+  -0x1.a7cd8ep+2,
+  -0x1.bda41p+2,
+  -0x1.312bb8p+1,
+  0x1.b52ab2p+1,
+  -0x1.a90d4ep+2,
+  -0x1.26bc92p+2,
+  -0x1.6035eep-3,
+  -0x1.7dbc7ep+3,
+  -0x1.736a64p-1,
+  -0x1.7595c8p+2,
+  -0x1.dade16p-1,
+  0x1.b3d2c8p+2,
+  -0x1.ec98dep+1,
+  -0x1.134a88p+0,
+  0x1.c5fafap+1,
+  0x1.255ee4p-3,
+  -0x1.2da37ep+6,
+  -0x1.7e171ep+0,
+  0x1.d9f48ap+2,
+  -0x1.75f3eep+2,
+  0x1.3e8f9ap+3,
+  -0x1.608296p-3,
+  0x1.b5f2dcp+2,
+  0x1.d86428p+0,
+  0x1.412beap+3,
+  -0x1.3ea40ap+1,
+  -0x1.41dfc4p+2,
+  -0x1.21bd5p-2,
+  -0x1.54fdf8p+2,
+  -0x1.608d6ap-3,
+  -0x1.863facp+2,
+  0x1.ae490ap+2,
+  -0x1.b04428p+0,
+  0x1.e5a47p+1,
+  0x1.bcf1aep+0,
+  0x1.3c662ap+0,
+  -0x1.3b0756p+0,
+  -0x1.6bafb2p+2,
+  0x1.7bc0dcp+2,
+  0x1.444f44p+3,
+  0x1.44609ap+3,
+  0x1.165ffep+0,
+  0x1.d47be6p+2,
+  -0x1.4263ecp+1,
+  -0x1.8e061ep+2,
+  0x1.0f0eb8p+0,
+  -0x1.3fd988p+2,
+  0x1.4f49f6p+1,
+  -0x1.543c3cp+3,
+  -0x1.5f0aa4p-3,
+  -0x1.5c3fa2p+2,
+  -0x1.82b9b2p+2,
+  -0x1.64ce3ap-3,
+  0x1.79f9f8p+2,
+  0x1.b24b12p+2,
+  -0x1.43658cp+3,
+  -0x1.658068p+0,
+  0x1.203d1cp+0,
+  -0x1.c142c6p-1,
+  0x1.9a1cd6p+1,
+  -0x1.ade766p+1,
+  0x1.daf22p+2,
+  -0x1.62f814p-1,
+  -0x1.79bb9cp+0,
+  -0x1.38a3e4p+0,
+  -0x1.dea0fp+2,
+  -0x1.f09064p+1,
+  0x1.e8baep-1,
+  -0x1.deb80cp+0,
+  0x1.bc846ap+2,
+  0x1.ebc59ep+2,
+  -0x1.4e3848p+3,
+  0x1.d42b04p+2,
+  0x1.e0cb2ep-3,
+  -0x1.7ee3d6p-2,
+  0x1.dfc3a4p+2,
+  -0x1.7b7d56p+2,
+  -0x1.59d8b6p+2,
+  -0x1.17cea4p+0,
+  -0x1.a9839ep+2,
+  0x1.e985b6p+2,
+  -0x1.eb72dp+2,
+  0x1.0dd7aep-1,
+  -0x1.0325eap+1,
+  0x1.a7f02ep+1,
+  -0x1.fab7e2p+1,
+  0x1.ab8e12p+2,
+  0x1.a28b4ep+2,
+  0x1.136d86p-4,
+  -0x1.eafep+0,
+  -0x1.a5b8ep+4,
+  -0x1.217af6p+0,
+  -0x1.517d18p-1,
+  -0x1.525346p+2,
+  0x1.4b30ccp-1,
+  -0x1.5ea04ep-3,
+  -0x1.b96c1p+2,
+  -0x1.23c61ep+1,
+  0x1.1e53dcp-2,
+  -0x1.f550e2p-2,
+  0x1.9d8e66p+0,
+  0x1.c1578cp+2,
+  0x1.c4bbfcp+2,
+  -0x1.5a1902p+2,
+  0x1.d8469cp+2,
+  0x1.43d612p+3,
+  -0x1.578826p+1,
+  -0x1.0ff7e6p+3,
+  -0x1.f89a3cp-3,
+  0x1.71853ap+2,
+  0x1.a8240cp+2,
+  -0x1.40a39ap+0,
+  -0x1.2130e4p+2,
+  0x1.3abdbep+0,
+  0x1.9b57d6p+0,
+  -0x1.21eed8p+3,
+  -0x1.593d7cp-1,
+  0x1.a0b0d4p+2,
+  0x1.1f2aa4p+0,
+  0x1.e06742p+1,
+  0x1.bab072p+2,
+  0x1.46825ep+1,
+  -0x1.6c8604p+2,
+  0x1.980152p+2,
+  -0x1.76b6eep-1,
+  0x1.3d30c2p+3,
+  0x1.996adap+2,
+  0x1.3b8866p+3,
+  -0x1.7b4842p-2,
+  -0x1.1df6b8p-1,
+  -0x1.daa564p+2,
+  0x1.cc7028p+1,
+  0x1.71de86p+0,
+  -0x1.6c3d08p+0,
+  0x1.91c468p-1,
+  -0x1.3ba51ep-3,
+  -0x1.135962p-4,
+  -0x1.1f891p+2,
+  0x1.aa1e92p+2,
+  0x1.ccb4eap+2,
+  0x1.cca312p+2,
+  -0x1.bbb332p-3,
+  -0x1.e86bc8p+1,
+  0x1.53c07ap-1,
+  0x1.35d8cp+3,
+  0x1.47f866p+0,
+  0x1.9808a4p-1,
+  -0x1.fbf91cp+2,
+  -0x1.956b98p+1,
+  -0x1.8c3e7ap+2,
+  -0x1.a907e2p+2,
+  -0x1.792b7p+1,
+  -0x1.5c0e9p-7,
+  0x1.4629ecp-1,
+  0x1.30fed6p+1,
+  -0x1.aa670ap+4,
+  -0x1.65a70ap-2,
+  0x1.668866p+0,
+  0x1.572f5cp-2,
+  -0x1.55aa82p+2,
+  -0x1.1336c2p+1,
+  0x1.3a2c32p+2,
+  0x1.17d2b8p-1,
+  0x1.c1f8bcp+1,
+  0x1.10cb0ep+3,
+  -0x1.b28c42p+1,
+  -0x1.adc0fcp-1,
+  -0x1.7260c4p+2,
+  -0x1.5e4ae4p-2,
+  0x1.a4763ap+2,
+  -0x1.314ab2p-3,
+  -0x1.81ef1cp+2,
+  -0x1.a36d9ep+2,
+  -0x1.d85266p-1,
+  -0x1.503506p+5,
+  0x1.45401ep+3,
+  -0x1.0b5af6p+0,
+  -0x1.bfd03ap+2,
+  0x1.487766p+3,
+  -0x1.490c08p+4,
+  0x1.5f2852p-3,
+  -0x1.0e805cp+0,
+  -0x1.4d25aap+5,
+  -0x1.14973ep+2,
+  -0x1.a416b2p-1,
+  0x1.0e2bccp+1,
+  0x1.213eb8p-4,
+  0x1.3fabaep+0,
+  0x1.ebf592p-1,
+  -0x1.58f156p+2,
+  -0x1.e47384p-1,
+  0x1.41a968p+3,
+  -0x1.62169ap+1,
+  -0x1.24518ap+0,
+  -0x1.2b3848p+2,
+  -0x1.2473e2p+2,
+  0x1.cbf3f6p+2,
+  0x1.c7647ap-1,
+  0x1.0d0038p-1,
+  0x1.35fc7ep+3,
+  0x1.3f8aa6p+3,
+  -0x1.647b64p-3,
+  -0x1.5bbab6p-3,
+  -0x1.79c962p+2,
+  -0x1.57007ap-3,
+  -0x1.06533ap+2,
+  -0x1.43c814p+0,
+  0x1.8b8652p+0,
+  0x1.872cb8p+0,
+  -0x1.7b02ap-3,
+  -0x1.111332p-2,
+  -0x1.5cfe1ep-3,
+  -0x1.5da536p-3,
+  0x1.10caacp+3,
+  0x1.ae6508p+2,
+  0x1.3bef7ap+3,
+  0x1.282ec8p+2,
+  -0x1.9a2e56p+2,
+  -0x1.5bf556p-3,
+  -0x1.010ea8p+3,
+  0x1.7b5c7ap-2,
+  -0x1.648d0ap+0,
+  -0x1.4f6a82p+0,
+  0x1.432dcep+3,
+  0x1.78819ep+2,
+  -0x1.417cfap+2,
+  -0x1.9c93eap+2,
+  -0x1.477822p+2,
+  -0x1.5f354ep-3,
+  0x1.3752eep+2,
+  -0x1.d8cd0ap+2,
+  -0x1.08e0a4p+0,
+  0x1.87b0b8p+0,
+  -0x1.32451ep+1,
+  0x1.305e7p+0,
+  -0x1.649322p-3,
+  -0x1.a2bp-2,
+  -0x1.60850cp-3,
+  -0x1.60f59ap-3,
+  0x1.79ce2cp-1,
+  -0x1.647d6ap-3,
+  0x1.a828ep+0,
+  -0x1.7cd6ep+0,
+  0x1.44835ep+3,
+  0x1.0bd40cp+0,
+  -0x1.b370ccp+0,
+  -0x1.b13c84p+2,
+  0x1.82c1dp-1,
+  -0x1.529398p+5,
+  -0x1.1a187ep-3,
+  0x1.d57a16p+2,
+  0x1.30bf36p+2,
+  -0x1.449d04p+3,
+  -0x1.569fcep-3,
+  -0x1.185e66p+4,
+  0x1.e631eap-2,
+  -0x1.ac70f6p-1,
+  0x1.4627e8p+3,
+  -0x1.633cc4p-3,
+  0x1.9f868ep+2,
+  -0x1.db78ep-1,
+  -0x1.6b700ap+2,
+  -0x1.04137ep+1,
+  0x1.6b8552p+0,
+  0x1.37ad6p+3,
+  0x1.75f16p+3,
+  -0x1.811434p+1,
+  0x1.417fcep+3,
+  -0x1.f1ce28p-2,
+  0x1.363584p+3,
+  0x1.ff1094p+1,
+  0x1.90a454p+2,
+  -0x1.cb3544p+1,
+  -0x1.651e0ep-3,
+  0x1.80cdf4p+3,
+  0x1.5fcd1ap+0,
+  -0x1.31335cp+5,
+  0x1.aa75dep+2,
+  0x1.db9a66p+0,
+  -0x1.52754p+3,
+  0x1.10a55ep+0,
+  0x1.cae0eap+2,
+  0x1.c6af44p-1,
+  -0x1.cde492p+1,
+  -0x1.93aab4p+1,
+  -0x1.1213c4p+2,
+  -0x1.9c4b32p+0,
+  -0x1.d8fa66p+0,
+  0x1.5cf4a6p+2,
+  -0x1.90565ap+2,
+  0x1.b65acp+2,
+  -0x1.5e0c1ep-3,
+  0x1.10cb7p+3,
+  -0x1.658ecap-3,
+  0x1.43e2f6p+0,
+  -0x1.bc6366p+2,
+  0x1.665548p-1,
+  -0x1.11cd7p-1,
+  0x1.173eep+0,
+  -0x1.4e1d58p+2,
+  0x1.7494ccp+1,
+  -0x1.26d708p+4,
+  -0x1.34c074p+1,
+  0x1.85edc2p+1,
+  0x1.a79a8ep+1,
+  -0x1.628072p-3,
+  0x1.f8daep-3,
+  0x1.84fe96p-2,
+  0x1.5b45f4p-2,
+  -0x1.58870cp-3,
+  -0x1.37ba3ep+2,
+  -0x1.653a8ep-1,
+  0x1.719f5cp-2,
+  -0x1.2e786ep+1,
+  0x1.662788p+2,
+  0x1.dba64p+2,
+  -0x1.aca33ap+2,
+  0x1.b3223ap+2,
+  -0x1.23a97ap+2,
+  -0x1.b5b582p+2,
+  0x1.1b9cccp-2,
+  -0x1.7753bp-2,
+  0x1.5e542p+2,
+  -0x1.5abfp+1,
+  0x1.dd8a8ap+2,
+  -0x1.b41d7ep+1,
+  -0x1.65a87p-4,
+  0x1.3966eap+3,
+  -0x1.81735ap+2,
+  0x1.b46238p-1,
+  -0x1.aa568ep+2,
+  0x1.37a5bp+3,
+  0x1.e3p-4,
+  0x1.97a2f6p-1,
+  0x1.334cep+0,
+  0x1.90b7aep-3,
+  0x1.0d89fap+1,
+  0x1.6231ccp+2,
+  -0x1.614f2p+0,
+  0x1.34f15cp+0,
+  -0x1.6d631ap+1,
+  0x1.ba88d2p+2,
+  -0x1.3f0d44p+3,
+  0x1.aff8bp-4,
+  0x1.05c3d6p+1,
+  0x1.407924p-1,
+  -0x1.52616cp+0,
+  0x1.bcbf28p+2,
+  -0x1.48f218p+2,
+  0x1.3f457p+0,
+  0x1.ecbac4p-4,
+  0x1.9088bap-2,
+  -0x1.d4d294p+2,
+  -0x1.620106p-3,
+  0x1.487b7cp+3,
+  0x1.3c89f8p-2,
+  -0x1.82a98p+2,
+  0x1.f69746p+0,
+  0x1.cf72b6p+2,
+  -0x1.6460cep-3,
+  -0x1.813142p+1,
+  -0x1.7d2a9cp+2,
+  0x1.ebf4eep+2,
+  0x1.bbc7fcp+2,
+  -0x1.fc9bf2p+1,
+  -0x1.abd912p-1,
+  -0x1.181baep-1,
+  -0x1.376852p-3,
+  0x1.2f9d3ap+2,
+  0x1.a43f72p+2,
+  0x1.10cd82p+3,
+  0x1.330766p-7,
+  0x1.9c7abap-2,
+  -0x1.1d151ap+4,
+  0x1.0420aep+2,
+  -0x1.1c82d8p-4,
+  0x1.03f97p-1,
+  -0x1.9ce762p-2,
+  -0x1.01d9a8p+1,
+  0x1.bc5b9ep-3,
+  -0x1.b85dd4p+2,
+  -0x1.5fbe3ep-3,
+  0x1.a2fca8p-1,
+  -0x1.f87332p-2,
+  0x1.ffb102p-1,
+  0x1.496214p+0,
+  -0x1.830a7p+2,
+  -0x1.0509fap-2,
+  -0x1.53079ap+0,
+  0x1.76198p+0,
+  -0x1.5dbb76p-3,
+  0x1.a46a9ep+1,
+  -0x1.646f1ap+5,
+  -0x1.ab75c8p+1,
+  -0x1.b85902p-6,
+  0x1.284bc2p+0,
+  -0x1.62cc74p-3,
+  0x1.c928cap+2,
+  0x1.40b302p-2,
+  -0x1.737232p+2,
+  0x1.3a823cp-1,
+  0x1.157b9ep+1,
+  -0x1.a1ba3ep+4,
+  0x1.f51844p+2,
+  0x1.b43bdep+2,
+  0x1.142676p+2,
+  -0x1.2d1b7ep+2,
+  0x1.51213ep-2,
+  0x1.7b7938p+2,
+  -0x1.57e164p+1,
+  -0x1.1f42a4p+1,
+  -0x1.bedddep+1,
+  -0x1.0501eap+2,
+  0x1.c8d1fp+2,
+  -0x1.7427cep+5,
+  -0x1.167deep-1,
+  0x1.820772p-3,
+  -0x1.f0b1dap+1,
+  0x1.87c9e4p+2,
+  0x1.6eeeeap+1,
+  -0x1.a35f4ap+2,
+  0x1.8ae50ap+0,
+  -0x1.28cd7ap+1,
+  0x1.3e18f6p+0,
+  0x1.50b63p+2,
+  0x1.36c114p+3,
+  -0x1.00bc3p+1,
+  -0x1.0a799p+3,
+  0x1.3cc37p+0,
+  0x1.8c48p-1,
+  -0x1.0d831ep+1,
+  0x1.ce8994p+2,
+  0x1.745a2ep+1,
+  0x1.36a8p+3,
+  -0x1.1a770ap+1,
+  -0x1.86528ep-1,
+  0x1.47be68p+3,
+  -0x1.0eb4f6p+0,
+  -0x1.611df2p-3,
+  0x1.46c5ecp+3,
+  -0x1.e55996p-10,
+  -0x1.5e20e4p-3,
+  -0x1.60f51ep-1,
+  -0x1.49bcp+2,
+  0x1.649348p+1,
+  0x1.87a4aep-4,
+  -0x1.7aa58cp+2,
+  0x1.8cf99ap-4,
+  0x1.bd5326p+2,
+  0x1.8ce666p+0,
+  -0x1.6bff88p-1,
+  0x1.d12a7ap+2,
+  0x1.7dc29cp+2,
+  0x1.421e8ap+3,
+  -0x1.656186p-3,
+  -0x1.1fa2e2p+1,
+  0x1.dfd894p+2,
+  -0x1.e24b84p-1,
+  -0x1.08b8c2p+0,
+  -0x1.b3cd68p+2,
+  -0x1.5b7acep-3,
+  0x1.e3432ap+2,
+  -0x1.58e15cp+2,
+  -0x1.0d7ad6p+3,
+  0x1.a8262ep-3,
+  -0x1.55364ap+2,
+  -0x1.b95818p+1,
+  -0x1.5263c2p+1,
+  -0x1.43d4ccp-1,
+  -0x1.ccb046p+3,
+  -0x1.f4969ap-1,
+  -0x1.3bcb7ep-2,
+  -0x1.2f32cp+2,
+  -0x1.61303ap-3,
+  -0x1.df2826p-1,
+  0x1.5e9fc2p+2,
+  0x1.d03e14p-4,
+  0x1.42320cp+3,
+  -0x1.aa2f4p+2,
+  -0x1.f3d52ap+0,
+  -0x1.818c72p-2,
+  0x1.32d08ep+2,
+  -0x1.c332p+0,
+  0x1.dc5dc2p+0,
+  0x1.1c7358p-1,
+  -0x1.3adfd8p-1,
+  0x1.113bap+0,
+  -0x1.5b65a6p-3,
+  0x1.36437cp+3,
+  0x1.bb8dbap+2,
+  -0x1.c46d9p+1,
+  -0x1.c678d6p-1,
+  0x1.3c9146p+3,
+  0x1.485612p+3,
+  0x1.f87d98p-1,
+  -0x1.bf2d5cp+0,
+  -0x1.cd2c2ap+2,
+  0x1.829d9ap-1,
+  -0x1.a95bd8p+2,
+  0x1.a857aep+0,
+  -0x1.03261cp+2,
+  -0x1.8657d6p-1,
+  0x1.50b348p+0,
+  0x1.d615fp+2,
+  0x1.8b0548p-5,
+  -0x1.d0aa84p+1,
+  -0x1.9b93cap+2,
+  -0x1.595412p-3,
+  0x1.b6ab74p-2,
+  0x1.16c592p-2,
+  0x1.cccc72p+1,
+  -0x1.657c7p+1,
+  0x1.aa995cp+2,
+  -0x1.fa172ep+1,
+  -0x1.12a886p+2,
+  -0x1.9173d8p+2,
+  0x1.9c3ca8p-3,
+  0x1.e796ccp+0,
+  0x1.182396p-3,
+  -0x1.4291dap-4,
+  -0x1.62f536p-3,
+  0x1.7216e8p+2,
+  0x1.cb45c8p+2,
+  -0x1.497518p+2,
+  -0x1.351996p+1,
+  -0x1.0dfe32p+2,
+  0x1.3bfc3cp+0,
+  -0x1.39bd7p-6,
+  -0x1.3a197ap+1,
+  -0x1.830bc2p+2,
+  0x1.b3857ep-5,
+  -0x1.53f426p+2,
+  -0x1.5f6ba2p-3,
+  -0x1.4ed77ap+1,
+  -0x1.556abp+2,
+  0x1.9712p+1,
+  0x1.0bf266p+0,
+  -0x1.ad2376p+2,
+  -0x1.af3504p+1,
+  -0x1.76e7ep+2,
+  -0x1.6562bap+1,
+  0x1.843614p-2,
+  0x1.384ef8p+3,
+  -0x1.47a784p+0,
+  0x1.f4a732p+2,
+  -0x1.7ce922p+2,
+  -0x1.336c52p+0,
+  -0x1.48c65cp+1,
+  0x1.494452p+3,
+  -0x1.193914p+5,
+  0x1.3577d2p+2,
+  -0x1.63f1bep-3,
+  -0x1.55d4d8p-4,
+  0x1.d880eep-1,
+  -0x1.7204ep+0,
+  0x1.dbbb12p+2,
+  -0x1.5e758ap-3,
+  -0x1.21018p+1,
+  0x1.06676ep+2,
+  -0x1.646416p-3,
+  0x1.03d04p+2,
+  0x1.10cb02p+3,
+  -0x1.6987b8p+1,
+  -0x1.fb44dp+0,
+  0x1.0e49ecp+1,
+  -0x1.ae974ap+2,
+  -0x1.8170a4p-9,
+  -0x1.a49d78p+1,
+  0x1.f48614p-2,
+  0x1.c3c598p+0,
+  0x1.5b5d38p+2,
+  -0x1.e7e994p+1,
+  -0x1.5ffb9ap-3,
+  -0x1.1b21bp+3,
+  -0x1.71927p+1,
+  -0x1.5b87aep-3,
+  0x1.106eccp+2,
+  0x1.3e7aep-4,
+  0x1.36a5d8p+3,
+  0x1.1e7f48p+0,
+  -0x1.6caff6p+2,
+  0x1.91cf84p-1,
+  -0x1.34c43cp+1,
+  -0x1.594ad2p+2,
+  0x1.dd37d4p+2,
+  0x1.f073e8p+2,
+  0x1.cef936p+2,
+  -0x1.bab5acp-2,
+  -0x1.035e0ap+0,
+  0x1.6d44ccp-2,
+  -0x1.1c4808p+2,
+  -0x1.e8786ap+1,
+  0x1.388c7cp+3,
+  0x1.8766aep+1,
+  -0x1.5eaeb6p-3,
+  -0x1.64b42cp-3,
+  -0x1.027faep-1,
+  -0x1.ba8b4ep+1,
+  0x1.266edap+2,
+  0x1.9fd6c2p+2,
+  -0x1.a44034p+1,
+  0x1.78abccp+1,
+  0x1.377b5p+3,
+  -0x1.940a02p+1,
+  -0x1.fdb2bcp+0,
+  -0x1.65ae92p-3,
+  0x1.a521c8p+3,
+  -0x1.4749aap+3,
+  -0x1.c1a2dep-1,
+  -0x1.7f4bfep+3,
+  0x1.3f9db8p+3,
+  0x1.6c7c0ap+2,
+  0x1.82779cp-1,
+  -0x1.824e0ep+2,
+  0x1.fec4ccp-2,
+  0x1.e58412p+2,
+  -0x1.578fc8p+3,
+  0x1.0ccf34p-2,
+  -0x1.6173bcp+0,
+  -0x1.f7357p+0,
+  0x1.f3e768p+2,
+  0x1.4317e2p+3,
+  -0x1.0f5222p+1,
+  -0x1.e5895ep-5,
+  0x1.d298dep+2,
+  0x1.c86c1ep+2,
+  0x1.459134p+3,
+  -0x1.553b7ap-3,
+  -0x1.05c35cp+0,
+  0x1.4461bcp+2,
+  0x1.9bc9eap-4,
+  0x1.06295cp+0,
+  0x1.43d93ep+3,
+  0x1.556832p+2,
+  0x1.f4b8d6p+1,
+  -0x1.465f64p+1,
+  -0x1.614fdep-3,
+  -0x1.b5350ep-3,
+  0x1.9f56p+0,
+  0x1.454eb6p+3,
+  -0x1.fba2cep+1,
+  -0x1.5f303cp-3,
+  0x1.6ceed2p+0,
+  0x1.58255cp+2,
+  0x1.b69528p+1,
+  0x1.7177ep+3,
+  -0x1.a45ad8p-1,
+  -0x1.94f706p+0,
+  -0x1.be9e04p+2,
+  0x1.5bf948p+0,
+  0x1.10cacep+3,
+  -0x1.740c94p+2,
+  -0x1.09bff6p+1,
+  0x1.3671c4p+3,
+  0x1.bec15cp+2,
+  -0x1.6346d4p+2,
+  0x1.bd4e1cp+2,
+  0x1.82d99ap-1,
+  -0x1.8225a8p+2,
+  0x1.220a66p-2,
+  -0x1.e16c52p-1,
+  -0x1.35848ep-1,
+  0x1.e11384p-2,
+  -0x1.8d8592p+0,
+  0x1.4c29bcp+1,
+  0x1.387af8p+2,
+  0x1.8d8fd6p-1,
+  0x1.c7d02ep+2,
+  -0x0p+0,
+  0x1.38ec96p+3,
+  -0x1.306a06p+2,
+  -0x1.59c33ep-3,
+  0x1.6d72f4p+0,
+  -0x1.cf944cp+2,
+  -0x1.5dac8cp-3,
+  0x1.acda6p+2,
+  -0x1.e3cbf2p+1,
+  -0x1.0cdac4p+0,
+  0x1.390014p+2,
+  -0x1.64fceep+2,
+  -0x1.82edfep+2,
+  -0x1.3ea13cp+3,
+  -0x1.0b4e5cp+1,
+  0x1.01028ep-5,
+  -0x1.2bb428p-2,
+  0x1.00128p+0,
+  -0x1.7adbfap-1,
+  0x1.e535f2p+2,
+  -0x1.648a8cp-3,
+  0x1.e84186p+2,
+  -0x1.6321p+0,
+  -0x1.0a5654p+3,
+  0x1.124c1cp-2,
+  0x1.bba78ep+2,
+  0x1.4531d8p+3,
+  0x1.1bf358p+0,
+  0x1.6cf66p+1,
+  -0x1.033dc6p+2,
+  0x1.4311aap+3,
+  -0x1.766bdcp-3,
+  0x1.828456p+2,
+  0x1.3e467ap+3,
+  -0x1.7fcebep-2,
+  -0x1.432faep-1,
+  -0x1.924aaep+1,
+  -0x1.646662p+2,
+  -0x1.892088p+0,
+  -0x1.2b8eb8p+0,
+  0x1.50170ap-5,
+  0x1.50ad28p+1,
+  0x1.e2ca16p+2,
+  0x1.c2a97cp-1,
+  -0x1.613492p-3,
+  -0x1.7c95f4p+1,
+  -0x1.b20d22p+0,
+  0x1.713644p-2,
+  0x1.f59c7ap-2,
+  0x1.07cd36p+2,
+  -0x1.467f64p-2,
+  -0x1.01f75cp-2,
+  0x1.54450cp-2,
+  -0x1.cd8dc2p-1,
+  0x1.441b4ap+3,
+  -0x1.a839b6p+2,
+  0x1.6a2932p+0,
+  -0x1.3345ecp-1,
+  0x1.d0f1dep+2,
+  -0x1.657a4cp-3,
+  -0x1.408364p+2,
+  -0x1.01883ep+1,
+  0x1.fe29aap-4,
+  0x1.924d0ap+0,
+  -0x1.5d1a3cp-2,
+  0x1.c7d03cp+2,
+  0x1.d03b78p+2,
+  0x1.0b450ep+0,
+  -0x1.e230c4p+1,
+  -0x1.baa6ep-1,
+  0x1.75c21ep+2,
+  0x1.30bcbcp+0,
+  -0x1.8f395cp+2,
+  0x1.d0c2aep+2,
+  -0x1.64f59ap-3,
+  -0x1.ea3c2ap+1,
+  -0x1.0506c6p+2,
+  0x1.67c7fp-2,
+  0x1.1b8feep+2,
+  -0x1.1b0498p+3,
+  0x1.451682p+3,
+  0x1.76a29p-1,
+  -0x1.2162d4p+4,
+  -0x1.7e93c8p-4,
+  -0x1.afffd6p+2,
+  0x1.f2p-7,
+  -0x1.8c62bep+5,
+  0x1.effbep+2,
+  0x1.d1b852p+2,
+  0x1.5cdbd2p+0,
+  0x1.c06b2p-1,
+  -0x1.b33b84p-2,
+  0x1.71d7c2p+0,
+  -0x1.64c27ap-3,
+  -0x1.3ea13cp+3,
+  -0x1.7d82b2p+2,
+  0x1.aa6d0cp+2,
+  -0x1.ed7f5p-4,
+  -0x1.e8264ep+2,
+  -0x1.ae1c56p+2,
+  -0x1.7abe24p+2,
+  0x1.4236f4p+3,
+  -0x1.c2268cp-2,
+  0x1.6114aep+1,
+  -0x1.60f716p-3,
+  -0x1.09918ap+0,
+  0x1.1c06a4p+0,
+  0x1.860c26p-2,
+  0x1.c42886p+3,
+  -0x1.3447aep-5,
+  -0x1.db094cp+3,
+  -0x1.6dcbep+2,
+  -0x1.4ec2dep-2,
+  0x1.45b736p+3,
+  0x1.3ff3dp-1,
+  -0x1.bcfd2ap+2,
+  -0x1.8854acp+2,
+  -0x1.a0ff42p+0,
+  0x1.04fab8p-1,
+  -0x1.30bp-2,
+  0x1.407192p+3,
+  -0x1.79ac6ap+2,
+  0x1.2277cap-1,
+  0x1.35f784p+3,
+  -0x1.35df54p+2,
+  -0x1.610686p-3,
+  -0x1.64178ep-3,
+  -0x1.65b712p-3,
+  0x1.10795cp+0,
+  0x1.8ab654p+2,
+  0x1.37e6dcp+3,
+  0x1.4375bep+3,
+  0x1.98562p+2,
+  0x1.e2c1a8p+2,
+  0x1.53f1ecp-1,
+  -0x1.0c4b76p+1,
+  -0x1.54a9ep+2,
+  0x1.84b444p+3,
+  0x1.a738a4p+0,
+  0x1.95b5e4p+2,
+  -0x1.eda14p+1,
+  0x1.9f4bb6p+2,
+  0x1.ff370ap-1,
+  0x1.443dbcp+3,
+  0x1.7780ccp-1,
+  -0x1.968c9ap+1,
+  0x1.6612fap+2,
+  0x1.7b6bdep+2,
+  -0x1.5b9b7cp-3,
+  0x1.8679b8p-1,
+  0x1.456d38p+3,
+  -0x1.b3db5cp-1,
+  0x1.9c6b3cp+1,
+  0x1.96479cp+0,
+  -0x1.814ec8p+2,
+  -0x1.6dcb18p+2,
+  0x1.110848p-2,
+  -0x1.1f7ffp+1,
+  -0x1.e60428p+1,
+  0x1.6bea2ep+1,
+  0x1.21c3d4p-1,
+  -0x1.d0723ap+2,
+  -0x1.2b0ccap-1,
+  -0x1.ed681cp+1,
+  0x1.5423d6p-4,
+  0x1.43c694p+1,
+  0x1.335p+0,
+  -0x1.551ee4p-3,
+  -0x1.7961eep+2,
+  -0x1.10339cp+2,
+  0x1.62a75ep-4,
+  0x1.d3e368p+2,
+  -0x1.c5a18ep+1,
+  -0x1.2da37ep+6,
+  0x1.9fd6ep+0,
+  -0x1.617842p+2,
+  0x1.7ceeb8p-3,
+  0x1.c1b256p-1,
+  -0x1.04dbfp+5,
+  -0x1.c276c6p+0,
+  -0x1.667c36p+2,
+  -0x1.700c48p+2,
+  0x1.0174ecp+0,
+  -0x1.e1e5f8p-1,
+  0x1.e5b97p+2,
+  0x1.797d68p+2,
+  -0x1.2b722ap+0,
+  -0x1.143b4ap+3,
+  0x1.437d6ep+3,
+  0x1.942202p-4,
+  -0x1.06013ep+1,
+  -0x1.e739p+2,
+  0x1.369ddap+3,
+  -0x1.6f15eap+2,
+  0x1.231e36p+2,
+  -0x1.f77b84p+0,
+  -0x1.68ed1ep+0,
+  -0x1.84c91ap+4,
+  -0x1.e6819cp-2,
+  0x1.a0c1e6p+2,
+  -0x1.80a3ecp+0,
+  0x1.ce8948p-2,
+  -0x1.e6dc46p+1,
+  0x1.bbde32p-5,
+  0x1.0ef40cp+2,
+  -0x1.5f668p-1,
+  -0x1.99b3a4p+2,
+  0x1.497064p+3,
+  -0x1.96d5f6p+2,
+  -0x1.2db79p-5,
+  -0x1.5b661ep-3,
+  0x1.5f1226p+2,
+  0x1.cd7992p+2,
+  -0x1.5c4c9ep+2,
+  0x1.860548p+0,
+  0x1.3d40ep+3,
+  0x1.1e676ep+2,
+  0x1.7a52e6p-2,
+  -0x1.5ecea6p+0,
+  0x1.53567ap+2,
+  -0x1.78bf34p-1,
+  0x1.430f92p+3,
+  -0x1.26b57p-2,
+  -0x1.81b49p+2,
+  -0x1.7949ep+0,
+  -0x1.58403ep-3,
+  0x1.941b48p+0,
+  -0x1.508df4p+2,
+  0x1.99ca4ap-2,
+  -0x1.944b84p-3,
+  0x1.36bb82p+3,
+  0x1.2b7daep+0,
+  -0x1.3b6ed8p+2,
+  0x1.18abep-2,
+  -0x1.f359d6p+0,
+  -0x1.8d59fep-2,
+  0x1.175bd4p-1,
+  -0x1.7bb492p+2,
+  -0x1.6c687ap+0,
+  -0x1.6551b2p-3,
+  -0x1.1077aep-2,
+  -0x1.23a6d6p+1,
+  -0x1.7c9692p+2,
+  -0x1.649712p-3,
+  0x1.71726ap+1,
+  -0x1.10ac4ep+3,
+  0x1.3a74a6p+0,
+  0x1.6e98a4p-1,
+  0x1.b7dc68p-2,
+  -0x1.c34fbep+1,
+  -0x1.9b2efap+2,
+  0x1.64fc28p+1,
+  -0x1.08275ep+0,
+  -0x1.90b768p+1,
+  -0x1.04687ap+0,
+  0x1.022a3ep-2,
+  0x1.31d856p+2,
+  -0x1.1916a6p+2,
+  -0x1.071b6p+5,
+  0x1.580aeep+2,
+  -0x1.0e753ep+1,
+  0x1.6d8e6ep+0,
+  0x1.afc04p+2,
+  -0x1.0c5c88p+2,
+  -0x1.0b0094p+2,
+  -0x1.a9374cp+2,
+  -0x1.389e9ap-4,
+  -0x1.9e1a66p+0,
+  0x1.2917a4p+2,
+  0x1.4516a4p+0,
+  -0x1.58d6d2p-3,
+  -0x1.8d3282p-1,
+  0x1.9ce2acp+3,
+  0x1.75f332p-1,
+  0x1.ab3d0ap+0,
+  -0x1.75513ep+3,
+  0x1.b4056ap+1,
+  0x1.accf0ap+0,
+  -0x1.648446p-3,
+  0x1.b6284ap+2,
+  0x1.0a73e6p+3,
+  -0x1.8f931ep+0,
+  -0x1.653ab4p-3,
+  -0x1.a07646p+2,
+  -0x1.838fcep+2,
+  -0x1.1fcca4p-1,
+  0x1.3f8acp+3,
+  -0x1.e72a6p+2,
+  0x1.53451ep-3,
+  -0x1.21bf8p-1,
+  0x1.477cccp+0,
+  -0x1.1f2f32p-1,
+  0x1.65303cp+0,
+  0x1.43e608p+3,
+  -0x1.c06e3cp+0,
+  0x1.b3408ep+0,
+  -0x1.5b09dp-2,
+  -0x1.2f482ep+2,
+  -0x1.358416p+2,
+  -0x1.d2b2ap+2,
+  -0x1.1883d6p+2,
+  0x1.d2229cp+2,
+  -0x1.35c1a2p+1,
+  -0x1.8bb666p+3,
+  -0x1.1d2eb6p+3,
+  -0x1.600dp-3,
+  -0x1.1c721p+3,
+  -0x1.644118p+2,
+  0x1.9f08ap+2,
+  0x1.8c13d4p+2,
+  0x1.35c95p+3,
+  0x1.80d7cap+2,
+  -0x1.58caa4p-2,
+  0x1.4628p-2,
+  -0x1.27d56ep+0,
+  0x1.380e6cp+3,
+  0x1.8539aap+2,
+  -0x1.56efep+1,
+  -0x1.ef1648p-1,
+  -0x1.8549eep+2,
+  0x1.155e12p+4,
+  -0x1.53d3bap-3,
+  -0x1.9c7e88p+2,
+  0x1.d688fcp+2,
+  -0x1.54807ep-3,
+  -0x1.7436b8p-2,
+  0x1.6ca666p-1,
+  -0x1.6c77b6p-1,
+  0x1.37fa42p+3,
+  -0x1.98f9eep+1,
+  0x1.1b44p+0,
+  -0x1.3277eep-1,
+  0x1.0da99ap-2,
+  0x1.9c6892p+2,
+  -0x1.c47754p+2,
+  0x1.a31352p-4,
+  0x1.71f8p-1,
+  -0x1.22ff28p+1,
+  0x1.374108p+3,
+  0x1.b5cd8ap+1,
+  -0x1.5b3f32p-3,
+  -0x1.56193ap-3,
+  -0x1.2fdd8ap+4,
+  -0x1.5956b2p+2,
+  -0x1.772006p+1,
+  -0x1.5a291cp-3,
+  0x1.2124fcp+2,
+  0x1.d378fp+2,
+  0x1.76b3f4p-3,
+  0x1.00387ap+0,
+  -0x1.362686p+2,
+  0x1.451ba6p+3,
+  -0x1.066914p+1,
+  0x1.213ddap+0,
+  -0x1.6f10d2p+2,
+  -0x1.ecab64p-6,
+  0x1.b96d0cp+2,
+  -0x1.63cd96p-3,
+  0x1.366b4cp+1,
+  0x1.31a756p+0,
+  -0x1.c721c6p-5,
+  -0x1.6ed70ap-6,
+  0x1.24ab92p-3,
+  -0x1.47a3aep-1,
+  0x1.950d6p+2,
+  -0x1.57ffb6p-3,
+  0x1.c9c3aep+0,
+  0x1.d7bf4p+2,
+  -0x1.2814f6p+0,
+  -0x1.60f6cep-3,
+  -0x1.62a2fep-3,
+  0x1.d818ccp-1,
+  0x1.76c47ap-3,
+  -0x1.5b8674p+2,
+  -0x1.d5f9dep+2,
+  0x1.620a42p+2,
+  0x1.b6d2d6p+2,
+  -0x1.4b037p+0,
+  -0x1.a0735cp-1,
+  -0x1.272cf6p-1,
+  -0x1.14c35cp-1,
+  -0x1.d9620ap-1,
+  0x1.f2921p-1,
+  0x1.7784f6p+1,
+  0x1.ba38f6p-3,
+  -0x1.cecfdep+2,
+  -0x1.13b832p-5,
+  0x1.d4f442p+2,
+  0x1.b36cap+2,
+  0x1.500062p-1,
+  -0x1.04dc5cp+1,
+  -0x1.5e9754p+2,
+  -0x1.b961p-6,
+  -0x1.cfcfe6p+1,
+  0x1.650866p+0,
+  -0x1.545418p+3,
+  -0x1.115a7ap+0,
+  -0x1.99b554p+2,
+  -0x1.ea403p-2,
+  -0x1.6183a2p-2,
+  0x1.919b5ap+2,
+  -0x1.5afc4ap-3,
+  0x1.ea9146p-2,
+  -0x1.00c81ep+1,
+  -0x1.4aa03ep+2,
+  0x1.878edp-3,
+  0x1.18dadap-4,
+  0x1.60d8bcp+1,
+  0x1.e9192cp-1,
+  0x1.797b0ap+0,
+  0x1.1dafa4p+0,
+  -0x1.98f70ap-1,
+  0x1.ae13c2p+2,
+  -0x1.c9ffd6p-4,
+  0x1.3cd90ap+0,
+  -0x1.5638cep-3,
+  0x1.448b38p+3,
+  0x1.b5f5e4p+2,
+  -0x1.27e222p+2,
+  0x1.42a508p+3,
+  -0x1.9a6a7p+2,
+  0x1.36cbc2p+3,
+  0x1.e9676p+1,
+  0x1.95abdep+2,
+  -0x1.666aep+0,
+  -0x1.d48214p+0,
+  0x1.d7d86ap+1,
+  0x1.78e714p+1,
+  0x1.a4161ep-2,
+  -0x1.34e68ep-1,
+  0x1.d5450cp+2,
+  0x1.7e3dc2p-2,
+  -0x1.92407ap+2,
+  0x1.4418b4p+3,
+  -0x1.763d3p+3,
+  -0x1.116978p+3,
+  0x1.9018aep+2,
+  -0x1.80c9bep-2,
+  0x1.5bec14p+0,
+  -0x1.7ccf84p+0,
+  0x1.44e018p+3,
+  -0x1.279b7p+2,
+  -0x1.2d08ap-1,
+  0x1.bb4d8ep+1,
+  0x1.be100ep-1,
+  -0x1.5c1c3ap-3,
+  0x1.4bf624p+2,
+  0x1.adaa76p+2,
+  -0x1.5cd68ep+0,
+  -0x1.3185fp+2,
+  0x1.3dee18p-4,
+  -0x1.e395f8p-1,
+  -0x1.e8528ap+2,
+  -0x1.5b326ap+2,
+  0x1.35bcbcp+3,
+  -0x1.0802cp+5,
+  0x1.fdab84p-2,
+  -0x1.158152p-1,
+  -0x1.5140c6p+3,
+  0x1.14f5c2p+1,
+  -0x1.a6f156p-1,
+  -0x1.63d8b2p-3,
+  -0x1.228ec4p+2,
+  0x1.51173p-1,
+  -0x1.c2abeep+2,
+  -0x1.5f6792p+2,
+  -0x1.88bfc2p+2,
+  0x1.4a6decp+0,
+  0x1.d0a6cp+2,
+  -0x1.c10dccp+1,
+  -0x1.60b94p+5,
+  -0x1.3f78eep+3,
+  0x1.f1b1ep+1,
+  -0x1.404326p+2,
+  0x1.9c6bd6p-2,
+  0x1.4e963cp-4,
+  0x1.1d26b4p+2,
+  -0x1.37d952p+2,
+  0x1.7eee38p+3,
+  0x1.c5392ep+2,
+  0x1.9128ap+2,
+  0x1.9c8fd6p+2,
+  0x1.be43d6p-2,
+  -0x1.57f9e2p-4,
+  0x1.434bacp+3,
+  0x1.2d0f2cp-1,
+  -0x1.ba23aap+1,
+  0x1.3ae01cp+3,
+  -0x1.95778ap+2,
+  -0x1.c65b3cp+1,
+  0x1.23ae7ap+1,
+  -0x1.23d308p+2,
+  -0x1.ba5c3cp+0,
+  -0x1.d07b0ep-3,
+  0x1.504052p-2,
+  0x1.5e1a46p+0,
+  0x1.95dd28p+2,
+  0x1.897f68p+2,
+  -0x1.56811ep+0,
+  0x1.9b504p+2,
+  0x1.034f02p+4,
+  -0x1.6a872ap+0,
+  0x1.eb077ap+2,
+  -0x1.6b6004p+0,
+  0x1.71ec28p-1,
+  0x1.00a18ap+2,
+  0x1.a65932p+0,
+  0x1.f27e3cp+2,
+  -0x1.683308p+0,
+  -0x1.6de68ap+0,
+  -0x1.f15cbap+2,
+  -0x1.2390c2p+2,
+  0x1.eeaa42p+2,
+  -0x1.feccb4p+0,
+  -0x1.234018p+4,
+  -0x1.ffb332p+0,
+  -0x1.8fbd1ep-1,
+  -0x1.2666b8p-1,
+  0x1.10c816p+3,
+  -0x1.7fd956p-2,
+  -0x1.073c3ap+3,
+  -0x1.63a47cp+1,
+  0x1.814d1ep-2,
+  0x1.65d55ap-1,
+  -0x1.64c9b4p-3,
+  0x1.d9562ap+2,
+  -0x1.60f91cp-3,
+  -0x1.650866p-3,
+  0x1.48178cp+3,
+  0x1.e0d776p+2,
+  -0x1.6f9418p+1,
+  -0x1.1bf3ecp+0,
+  0x1.f4717p-1,
+  0x1.c791f6p+2,
+  -0x1.525c08p-1,
+  -0x1.62d062p-3,
+  -0x1.eb511ep-2,
+  -0x1.09cd3cp+0,
+  0x1.3e45ap+3,
+  0x1.301802p-1,
+  -0x1.39bbdap+2,
+  -0x1.c82196p+2,
+  -0x1.303b3ap+4,
+  0x1.8f4b08p+2,
+  0x1.035eeep-2,
+  -0x1.5fe326p-3,
+  0x1.04028ep-5,
+  0x1.d3fafcp+2,
+  0x1.42ba5ap-1,
+  -0x1.cdeb2ep+0,
+  -0x1.7500a8p+2,
+  0x1.7dbbbcp+0,
+  -0x1.f4eb86p+2,
+  0x1.7c47aep-6,
+  0x1.75b67p-2,
+  0x1.8d873ap+2,
+  0x1.5bccacp+0,
+  -0x1.e151a8p+0,
+  -0x1.51474ep-2,
+  0x1.c0ea9ep+2,
+  -0x1.a23e0ep+2,
+  -0x1.011accp+0,
+  -0x1.dde764p+4,
+  -0x1.da003cp+0,
+  -0x1.b005c2p-4,
+  0x1.43b4aep+3,
+  0x1.869f5cp+1,
+  -0x1.f8e706p+0,
+  -0x1.55077ap+1,
+  -0x1.136deap+2,
+  -0x1.0376a6p+3,
+  0x1.f668f6p-3,
+  0x1.17f31ep+0,
+  0x1.ab83d8p-1,
+  -0x1.534404p+4,
+  -0x1.63de7cp-3,
+  -0x1.1cfap+0,
+  0x1.576bd6p+0,
+  -0x1.4463a4p+2,
+  -0x1.65a27cp-3,
+  0x1.b13052p-2,
+  0x1.d483a4p+2,
+  -0x1.02d042p+1,
+  -0x1.60fa9cp-3,
+  -0x1.16e87ap-1,
+  0x1.b492b8p+0,
+  -0x1.a4cf6ep+2,
+  0x1.19af4cp+1,
+  0x1.7e8bc2p+2,
+  -0x1.29775p+1,
+  -0x1.4cccccp+1,
+  0x1.167266p+0,
+  -0x1.647cccp+1,
+  0x1.1debfap+1,
+  -0x1.4e9166p-3,
+  0x1.87c92ap+0,
+  -0x1.3ea13cp+3,
+  0x1.8976ccp+0,
+  0x1.6c7384p+0,
+  -0x1.5b557cp-3,
+  -0x1.30c126p+1,
+  -0x1.639d72p-3,
+  -0x1.4c44ap+2,
+  -0x1.6ea332p+1,
+  0x1.8e982ap+2,
+  -0x1.81006p+2,
+  0x1.1d4be4p+4,
+  -0x1.ec89fcp-1,
+  -0x1.503f1ap+2,
+  0x1.e57e76p+2,
+  -0x1.5ddcaap-1,
+  0x1.439434p+3,
+  -0x1.4a897ap+2,
+  -0x1.939222p+2,
+  -0x1.3da46cp-4,
+  -0x1.58bf08p+2,
+  -0x1.3eaadep+3,
+  -0x1.aab2eep+2,
+  -0x1.7c5af6p-1,
+  0x1.bf4fccp+2,
+  0x1.10cd1ep+3,
+  0x1.fa0198p-1,
+  -0x1.ca7dc2p-4,
+  0x1.894544p+2,
+  0x1.442d5ep+3,
+  0x1.371242p+3,
+  -0x1.95fba6p-1,
+  0x1.d1a67p+2,
+  0x1.769918p+0,
+  0x1.4e61c2p-1,
+  -0x1.57c1ep+1,
+  -0x1.d74902p+0,
+  -0x1.3ea13cp+3,
+  -0x1.851e32p+2,
+  0x1.247602p+2,
+  0x1.3f0314p+1,
+  -0x1.637aep-2,
+  0x1.41b1fap+3,
+  -0x1.04efc6p-3,
+  -0x1.88130cp+2,
+  -0x1.b2a146p+2,
+  0x1.54bb5ep+3,
+  -0x1.a06ap+0,
+  -0x1.569e66p+0,
+  0x1.2a59a8p+4,
+  -0x1.6105fap-3,
+  -0x1.82a98cp+1,
+  0x1.a428f2p+2,
+  -0x1.8bb3eap+0,
+  -0x1.627f62p-3,
+  0x1.b0f5c2p-9,
+  -0x1.469442p+1,
+  0x1.4507e8p+3,
+  -0x1.86afacp+2,
+  0x1.da41f8p+2,
+  -0x1.eece8ep-1,
+  -0x1.03cddp+1,
+  -0x1.225768p+4,
+  -0x1.51a33ap+2,
+  0x1.24c926p+0,
+  0x1.7b8ad4p+2,
+  -0x1.17bebcp-2,
+  0x1.ac0e14p-3,
+  -0x1.82f9f6p+2,
+  -0x1.5e5b3p-1,
+  -0x1.805ffcp+2,
+  -0x1.600742p-3,
+  -0x1.887c68p-3,
+  -0x1.615aacp-3,
+  -0x1.7ba8fep+4,
+  0x1.f6370ap-4,
+  -0x1.e06b9p+2,
+  -0x1.5fbfb2p-3,
+  0x1.aaa50ep+2,
+  -0x1.8176fep+2,
+  0x1.5ce1d2p+0,
+  0x1.b23e64p-1,
+  -0x1.aea0ep+0,
+  -0x1.26c00cp+2,
+  -0x1.5a23bap+2,
+  -0x1.55a02ep-3,
+  0x1.350bap+3,
+  -0x1.9b4ec6p+1,
+  0x1.e0a52ep+2,
+  -0x1.74fe26p+2,
+  -0x1.1d92c2p+1,
+  -0x1.5da7d6p-1,
+  -0x1.312282p+1,
+  -0x1.62c91cp-3,
+  -0x1.c173f8p-1,
+  -0x1.9f0316p-1,
+  -0x1.4ba776p+2,
+  0x1.cb445ep+2,
+  -0x1.7efb5cp-1,
+  0x1.4595cap+3,
+  -0x1.5bcf12p-3,
+  0x1.c3b3d6p-3,
+  -0x1.cb85d8p-3,
+  -0x1.2824ccp-1,
+  -0x1.a35d68p+2,
+  -0x1.87e812p+2,
+  -0x1.68cfd6p-1,
+  -0x1.b44846p+2,
+  -0x1.4cb4d4p+2,
+  -0x1.058c1cp-2,
+  -0x1.600046p-3,
+  0x1.d80cb8p-2,
+  0x1.babe66p+0,
+  0x1.be9c56p+2,
+  0x1.016978p-2,
+  -0x1.a61fbp+2,
+  0x1.6bd5f6p+2,
+  -0x1.9e2b36p-2,
+  -0x1.936c78p+2,
+  -0x1.390932p+0,
+  -0x1.c978ccp+0,
+  0x1.4fbcccp-2,
+  -0x1.605154p-3,
+  0x1.00c70ap-2,
+  -0x1.65c06cp-3,
+  0x1.a6f552p+2,
+  0x1.0f98p-1,
+  -0x1.a673c6p+1,
+  0x1.36420ap+3,
+  0x1.20469p+2,
+  0x1.da8c28p-1,
+  -0x1.451f4ep+2,
+  -0x1.c56adcp+2,
+  0x1.c57f32p+0,
+  -0x1.12477p-1,
+  -0x1.3aa0aap-6,
+  0x1.c60c24p+1,
+  -0x1.6476acp-3,
+  -0x1.6bbc9cp+2,
+  -0x1.7e46b6p+1,
+  -0x1.fae904p-3,
+  0x1.b9451ep-4,
+  0x1.4a5348p+0,
+  0x1.aa0cp-1,
+  -0x1.7b5694p+2,
+  -0x1.59cb04p+2,
+  0x1.47eaf2p+3,
+  -0x1.61696cp-3,
+  0x1.3b5cep+0,
+  0x1.30facp+0,
+  -0x1.7dfp-2,
+  0x1.aefcfap+1,
+  0x1.e5ae7cp+2,
+  -0x1.9920aap+1,
+  -0x1.410848p+1,
+  0x1.7aa234p+1,
+  0x1.5fe74cp+2,
+  -0x1.07b5aep+0,
+  0x1.8d2e4p-1,
+  -0x1.5dc9bap-3,
+  0x1.4edc32p-5,
+  -0x1.5a747ap-4,
+  -0x1.551516p-3,
+  0x1.427c36p+3,
+  0x1.d5762p+2,
+  -0x1.a94422p+0,
+  0x1.2813dp+0,
+  -0x1.0aececp+2,
+  0x1.430af8p+3,
+  0x1.704334p+0,
+  -0x1.6180ecp-3,
+  0x1.9878cep+2,
+  -0x1.5c8532p-3,
+  -0x1.a0f696p+2,
+  -0x1.63c81cp-3,
+  0x1.5c9ccep+2,
+  0x1.d0b332p+0,
+  0x1.dd02fp+2,
+  0x1.30824ap-4,
+  0x1.f0ce3cp-1,
+  0x1.375f9cp+3,
+  -0x1.1b636cp+4,
+  -0x1.c607ap+2,
+  0x1.93b6f6p+0,
+  -0x1.640b8ap-3,
+  -0x1.ac8748p+0,
+  -0x1.148e5ep+2,
+  -0x1.60dfdep-3,
+  -0x1.61688cp-3,
+  -0x1.a87362p+2,
+  -0x1.5d02d8p+3,
+  -0x1.3692eep-1,
+  0x1.ece852p-3,
+  -0x1.01c6ep+0,
+  0x1.be7a58p+2,
+  -0x1.365372p-3,
+  0x1.7dd0d4p-1,
+  0x1.94f6ep+0,
+  0x1.df5e8ap+2,
+  -0x1.28cdf2p+0,
+  -0x1.6547d2p-3,
+  -0x1.cbe236p-4,
+  -0x1.23dffep+1,
+  -0x1.2b9e4ep+2,
+  0x1.28ff22p+0,
+  -0x1.5f1b8ep-3,
+  -0x1.af4f5cp-2,
+  -0x1.261c7cp+2,
+  -0x1.940248p+0,
+  -0x1.aa31eap-1,
+  -0x1.17841ep+0,
+  -0x1.a15b06p+1,
+  0x1.852a0ap+2,
+  -0x1.1d74a4p-1,
+  0x1.3d8912p+3,
+  0x1.def324p+2,
+  0x1.3ba8eep+0,
+  -0x1.5fbb8ep+0,
+  0x1.55f48ep-2,
+  -0x1.d12e1p+1,
+  -0x1.591d24p-3,
+  -0x1.f08bbcp-1,
+  -0x1.d5aadp+2,
+  0x1.d7b94p+2,
+  0x1.4215ecp+3,
+  -0x1.531ac8p+3,
+  -0x1.785704p+2,
+  0x1.cab5d6p+2,
+  0x1.48437ap+3,
+  0x1.fd2b46p-5,
+  -0x1.640bfep-3,
+  0x1.44d448p+0,
+  -0x1.4bfd76p-1,
+  0x1.49063p+3,
+  -0x1.74b3a8p+3,
+  0x1.7f4ca8p+1,
+  0x1.55a30ep+1,
+  0x1.2fc866p+0,
+  -0x1.80e5eap+0,
+  -0x1.2e49e2p+4,
+  -0x1.89d538p+1,
+  0x1.8012b8p+0,
+  -0x1.651586p-3,
+  -0x1.82af5cp+2,
+  0x1.f1b0a4p-1,
+  0x1.28e914p+1,
+  -0x1.e08a7ap+0,
+  0x1.10c9f4p+3,
+  -0x1.64dbbcp-3,
+  0x1.cfceb8p+2,
+  -0x1.64e71ep+2,
+  0x1.01c214p-1,
+  -0x1.0cee7ap+2,
+  0x1.66bb84p-2,
+  -0x1.47ba7ap+5,
+  0x1.ccb8e8p+2,
+  0x1.d34b7cp+2,
+  0x1.5828p+0,
+  -0x1.9bf8c6p+2,
+  -0x1.270aacp+2,
+  0x1.445e38p+3,
+  -0x1.c2af3p+2,
+  0x1.73bcd6p-1,
+  -0x1.5d3f7ap-3,
+  -0x1.54c33ep+3,
+  0x1.b0f92ep+2,
+  0x1.54694ap+2,
+  0x1.365b8ep-1,
+  0x1.81712ep+1,
+  -0x1.64de44p-3,
+  0x1.8b28f6p-2,
+  0x1.e79ceap+2,
+  -0x1.790c14p+2,
+  -0x1.0e76b8p+5,
+  -0x1.7afc7p+2,
+  0x1.bb846ep+2,
+  -0x1.b1403cp+1,
+  -0x1.86fe4cp+2,
+  0x1.05ff34p+4,
+  -0x1.861eb8p+0,
+  0x1.6ee384p+0,
+  -0x1.1d674cp-1,
+  0x1.27cee8p-3,
+  0x1.203dfcp+1,
+  -0x1.94085p+1,
+  -0x1.62fdf6p-3,
+  -0x1.259494p+4,
+  0x1.e7b2bap+2,
+  -0x1.7ea7bcp-3,
+  -0x1.3ea13cp+3,
+  -0x1.287842p+2,
+  -0x1.ab0f56p+2,
+  0x1.d4ab54p+2,
+  0x1.99c332p-3,
+  0x1.2739aep+0,
+  0x1.10cda8p+3,
+  0x1.8c677p-1,
+  0x1.792b74p-1,
+  0x1.be6c56p+2,
+  -0x1.003724p+2,
+  0x1.ef91eap-3,
+  -0x1.5fec66p+0,
+  -0x1.3f348cp+2,
+  0x1.899daep+0,
+  -0x1.324956p+2,
+  0x1.e44ee4p+2,
+  -0x1.597012p-3,
+  0x1.2af992p+0,
+  -0x1.7569c8p+1,
+  0x1.af3934p-4,
+  0x1.808d1ep+0,
+  -0x1.8d45e4p+2,
+  0x1.463158p+3,
+  0x1.3adp+0,
+  0x1.ecdf32p+2,
+  0x1.2aad9ap-3,
+  -0x1.d803ecp-2,
+  0x1.f03244p+2,
+  0x1.9dc15cp+2,
+  -0x1.b4c5cap-6,
+  -0x1.659e44p-3,
+  -0x1.798c8ap+1,
+  0x1.c8d80ep+2,
+  -0x1.47ae14p-6,
+  -0x1.1e8216p+2,
+  -0x1.5d407ep-3,
+  0x1.13ee36p+2,
+  -0x1.61244cp-3,
+  -0x1.f2d01ep+1,
+  -0x1.53e61ep-3,
+  -0x1.1239ccp+1,
+  -0x1.8d8168p+2,
+  -0x1.585ed8p+2,
+  -0x1.916e16p+1,
+  0x1.a99198p-1,
+  -0x1.936488p-1,
+  0x1.424e58p+3,
+  0x1.5e15c2p-1,
+  -0x1.614486p-3,
+  -0x1.a5a616p+2,
+  0x1.3ef362p+3,
+  -0x1.0dbee4p-4,
+  0x1.03b99ap-2,
+  -0x1.910a68p+3,
+  -0x1.2fbfc2p+0,
+  -0x1.59f8eap-3,
+  0x1.7cec24p+1,
+  0x1.1c27c2p+0,
+  -0x1.de5f06p+2,
+  0x1.7621c2p+0,
+  -0x1.98de22p+1,
+  -0x1.1f41d2p+1,
+  0x1.adddaap+2,
+  0x1.784fd8p-1,
+  -0x1.5f00f2p+2,
+  0x1.48dfc2p-1,
+  0x1.7e3b1ep+0,
+  0x1.8bc666p-3,
+  0x1.37d0e2p-1,
+  0x1.157c74p+2,
+  0x1.6ff89ep+0,
+  0x1.165ffep+0,
+  0x1.d7529ep+2,
+  0x1.44055ap+3,
+  -0x1.6576e4p-3,
+  0x1.b5bdc2p-2,
+  -0x1.86a71p+2,
+  -0x1.e0bb9ap+1,
+  -0x1.3efb4ep+3,
+  0x1.465b4ap+3,
+  0x1.69ccccp-2,
+  0x1.fa8332p+0,
+  0x1.4f36aep-3,
+  0x1.901bdcp+2,
+  -0x1.93f8dap+1,
+  -0x1.c6d308p-1,
+  -0x1.8ab1e6p+2,
+  0x1.3a40b8p+3,
+  -0x1.347ff6p+1,
+  -0x1.ab55b8p-3,
+  0x1.2b15d2p+2,
+  -0x1.78cb5p+2,
+  -0x1.44fd58p+1,
+  0x1.8874ccp+2,
+  -0x1.95c6eap+2,
+  0x1.6a9ad6p+2,
+  0x1.5ac8p-2,
+  -0x1.a31878p+1,
+  -0x1.61f5eep-2,
+  0x1.daa598p+2,
+  -0x1.99370ap-1,
+  0x1.8d1328p+2,
+  -0x1.717428p-6,
+  0x1.a4ac26p-1,
+  -0x1.a8341ap+4,
+  -0x1.3d9104p+2,
+  -0x1.3461e8p+4,
+  0x1.af6bd4p+2,
+  0x1.ad2e52p+2,
+  -0x1.5eb886p-3,
+  0x1.4cc9c2p-1,
+  0x1.363ce2p+3,
+  0x1.cac2d4p+2,
+  -0x1.64c11ap-3,
+  -0x1.5bb654p-3,
+  0x1.9cd41ep+2,
+  0x1.a0c9fep-1,
+  0x1.0f9018p-4,
+  -0x1.669748p+0,
+  0x1.b1023cp+1,
+  0x1.d9e51ep-3,
+  -0x1.860c04p+2,
+  -0x1.004e04p+0,
+  0x1.606e3cp+0,
+  -0x1.3d5198p+2,
+  0x1.e50c02p+3,
+  0x1.175666p-2,
+  -0x1.15400ap+1,
+  0x1.d3df72p+2,
+  0x1.8474f6p+2,
+  -0x1.7beef6p-1,
+  -0x1.234dfcp+1,
+  0x1.a31fap+2,
+  0x1.371dd2p+3,
+  0x1.49ae1ap+1,
+  0x1.09183cp+0,
+  -0x1.9943fep+2,
+  -0x1.65ae36p-3,
+  -0x1.3f64f6p+2,
+  0x1.a9d88cp-1,
+  -0x1.108da4p+1,
+  0x1.239b84p-1,
+  -0x1.7a3fcap+1,
+  0x1.2fb65cp-3,
+  -0x1.c22adp-1,
+  -0x1.4e4a96p+2,
+  -0x1.b97532p-2,
+  0x1.6a1b84p-1,
+  -0x1.4acc7ep+2,
+  0x1.597faep-2,
+  -0x1.29e666p-4,
+  -0x1.92f968p+2,
+  0x1.b5bcbcp+2,
+  0x1.d44a0ap+2,
+  -0x1.118962p+0,
+  -0x1.0963fcp-1,
+  0x1.b49e72p+2,
+  0x1.479932p+3,
+  -0x1.96ebb8p+2,
+  -0x1.17fd5ap+2,
+  -0x1.30bf5cp-3,
+  0x1.458e58p+3,
+  0x1.36d3dap+3,
+  0x1.498cc4p+0,
+  0x1.a51dp+2,
+  -0x1.76eaep-2,
+  0x1.a92b5cp-1,
+  0x1.1cb5c8p+1,
+  0x1.f116dap-1,
+  -0x1.2fefa4p+1,
+  0x1.895384p-1,
+  0x1.3ea70ap-1,
+  0x1.4e5bc2p+0,
+  -0x1.5d3056p-3,
+  0x1.6e4f32p+1,
+  0x1.a0cb4ap+2,
+  0x1.3e9daep+0,
+  -0x1.610884p-3,
+  -0x1.e575c2p-4,
+  -0x1.4aa4e4p+3,
+  0x1.6b2384p-1,
+  0x1.10ccccp+3,
+  0x1.287d32p+0,
+  0x1.3ecp-2,
+  -0x1.ac3126p+2,
+  -0x1.375428p-2,
+  0x1.dd5e32p+2,
+  -0x1.3cc38cp+5,
+  -0x1.63b394p-3,
+  -0x1.36dd2ap+0,
+  -0x1.abaca4p-1,
+  0x1.9a4998p-3,
+  0x1.a8322ep+1,
+  0x1.495ba8p+2,
+  -0x1.2b1d96p+2,
+  0x1.3cb612p+3,
+  0x1.3b0bacp+2,
+  -0x1.24da3ep+2,
+  0x1.b4cc52p-1,
+  -0x1.7231e6p+2,
+  0x1.68579ap+0,
+  0x1.98b34p+2,
+  0x1.b0f174p+2,
+  -0x1.19633p+1,
+  0x1.4e8p-5,
+  0x1.c0b04cp+2,
+  0x1.3707a8p+3,
+  -0x1.0e597ap+2,
+  -0x1.cedcfep+4,
+  -0x1.086438p+3,
+  -0x1.a9c966p+1,
+  -0x1.74d70ap-7,
+  -0x1.641bbap-3,
+  0x1.bbba02p+2,
+  -0x1.348cccp-3,
+  -0x1.660e72p-3,
+  0x1.ace148p-4,
+  -0x1.21da26p+0,
+  0x1.46698ap+0,
+  -0x1.1153b6p+0,
+  -0x1.785416p+2,
+  -0x1.fa611ep-1,
+  -0x1.f9b342p-10,
+  0x1.bc4b08p+2,
+  -0x1.5b84eep-3,
+  0x1.47768p+1,
+  0x1.4c15c2p+0,
+  -0x1.c77e56p+0,
+  0x1.7d241ep+1,
+  0x1.ae9d56p+1,
+  0x1.969368p+2,
+  -0x1.cae3fp+0,
+  0x1.dd0f7ap+2,
+  -0x1.60cbbcp-3,
+  0x1.e8d8bap+2,
+  -0x1.994098p+0,
+  -0x1.4fca34p+3,
+  0x1.c4a67ap+2,
+  0x1.7d00ap+2,
+  -0x1.c32c1p+2,
+  -0x1.8632b6p+2,
+  0x1.b1f5cep+2,
+  -0x1.97022ep+4,
+  -0x1.55a7ep+3,
+  -0x1.d4fa1ep+2,
+  0x1.5fff5cp-3,
+  0x1.c1ca3ep-6,
+  0x1.8f307ap-1,
+  -0x1.43319ap-1,
+  -0x1.ab6e94p-1,
+  -0x1.a640ap-2,
+  0x1.44e4e4p+3,
+  -0x1.d568c8p+3,
+  0x1.2f5ba6p+2,
+  0x1.4371b2p+3,
+  -0x1.63de96p-3,
+  0x1.674f7ep+0,
+  0x1.899e56p+2,
+  -0x1.493136p+0,
+  -0x1.be2b2ep+1,
+  -0x1.01d56ap+2,
+  -0x1.3d4ddp+5,
+  0x1.479bf6p+3,
+  -0x1.67a02ep-1,
+  0x1.b4265cp+2,
+  -0x1.07d2a4p+1,
+  -0x1.85bb08p+2,
+  0x1.d3d95cp+2,
+  -0x1.6fd80cp+2,
+  -0x1.141ed8p+0,
+  -0x1.5e4264p-3,
+  0x1.3ff1fp+2,
+  0x1.3f5e2ap+1,
+  -0x1.683c8ap+2,
+  0x1.456ad2p+1,
+  -0x1.203312p+2,
+  -0x1.63533ap-3,
+  -0x1.554ceap+2,
+  -0x1.506d48p+2,
+  0x1.f2cap-1,
+  0x1.432124p+3,
+  -0x1.6905d4p+2,
+  0x1.a13008p+2,
+  -0x1.61007cp-3,
+  -0x1.80ada8p+2,
+  -0x1.2b5e12p+2,
+  0x1.0c38c6p-2,
+  0x1.6bb408p+2,
+  0x1.ee99c2p-1,
+  0x1.3c9f7cp+0,
+  -0x1.ca076p+4,
+  -0x1.b9fd7p-2,
+  0x1.d3c47ap-1,
+  -0x1.2dadfp+2,
+  -0x1.1f362p-4,
+  0x1.6923dep+2,
+  0x1.be923ap+2,
+  -0x1.6cb73ep+2,
+  -0x1.565dd6p-3,
+  0x1.0d65ecp+0,
+  0x1.8e8a76p+2,
+  -0x1.9f02cep-4,
+  0x1.43d63ep-1,
+  0x1.36302cp+3,
+  -0x1.0e3a4ep+1,
+  -0x1.9a6fdap+2,
+  -0x1.5ac962p-3,
+  -0x1.2531c6p+1,
+  -0x1.7803f8p+2,
+  -0x1.527bccp-2,
+  0x1.7c4c54p+2,
+  0x1.3e060ep+2,
+  -0x1.6f1faep+1,
+  0x1.d71794p+2,
+  -0x1.4ef87cp+0,
+  0x1.34ebd6p-1,
+  -0x1.bcdef2p-11,
+  -0x1.7c89b4p+1,
+  0x1.1dde7ap+0,
+  0x1.070a4cp+2,
+  0x1.944982p+2,
+  -0x1.8fc20cp+2,
+  0x1.0a54d2p-4,
+  0x1.44068ap+1,
+  -0x1.3682ccp+1,
+  -0x1.6027b4p-3,
+  -0x1.56433cp-3,
+  -0x1.611a72p-3,
+  0x1.f3e98p-2,
+  0x1.d08a02p+2,
+  -0x1.3caae2p-6,
+  0x1.c20dbcp+2,
+  -0x1.018d48p-1,
+  -0x1.64ea72p+5,
+  -0x1.8cf15cp+1,
+  -0x1.7bd526p+2,
+  0x1.910532p+0,
+  0x1.876cccp-1,
+  0x1.6b878ap+2,
+  -0x1.631b5cp-3,
+  0x1.b00e48p+2,
+  -0x1.f2bbc8p+1,
+  -0x1.45803cp+1,
+  -0x1.5f5a66p-3,
+  -0x1.96ce1cp+2,
+  0x1.291652p+0,
+  -0x1.d34f3ap+0,
+  0x1.38998ep+0,
+  0x1.ada72p-1,
+  -0x1.237184p+0,
+  -0x1.20ab84p+2,
+  0x1.067852p-3,
+  0x1.3cac66p+0,
+  0x1.bccd8ep+2,
+  0x1.252d84p+0,
+  -0x1.32397ap+2,
+  0x1.35fc82p+3,
+  -0x1.70551ep-3,
+  -0x1.813478p+4,
+  0x1.3f75c4p+3,
+  0x1.3f7dd6p+3,
+  0x1.381c9ep+1,
+  -0x1.fd3b32p-2,
+  -0x1.2bb33cp-1,
+  0x1.de544ap+2,
+  0x1.772e6ap+0,
+  0x1.a7acfap+1,
+  -0x1.0615c6p+3,
+  0x1.5b0bbcp+2,
+  -0x1.9dd4a8p-2,
+  -0x1.9f4442p+1,
+  -0x1.d50b1ep+1,
+  -0x1.56bf4ap-3,
+  0x1.16945cp+1,
+  -0x1.5ff37ap-3,
+  -0x1.ffbccap+2,
+  -0x1.384d24p+1,
+  -0x1.b98b6cp+1,
+  0x1.3a1936p+2,
+  0x1.44faf8p+3,
+  0x1.50b852p-8,
+  -0x1.57888ep+2,
+  0x1.489e2ap+3,
+  0x1.7ef8eep-1,
+  -0x1.242e6ep-10,
+  0x1.b2a55cp+3,
+  0x1.c89c72p+2,
+  0x1.35d764p+3,
+  -0x1.9e46p+0,
+  -0x1.75e2f4p-3,
+  -0x1.5c53c6p-3,
+  -0x1.12715cp+0,
+  -0x1.d39724p+2,
+  -0x1.9a8eb8p+0,
+  0x1.e68af6p+2,
+  0x1.24099ep+1,
+  0x1.8bc658p-1,
+  0x1.a15c28p-7,
+  -0x1.6294e6p-3,
+  0x1.e64718p+2,
+  -0x1.88c804p+1,
+  -0x1.9198b6p+5,
+  -0x1.283048p-1,
+  0x1.ce516ap+2,
+  -0x1.2b3baep+1,
+  0x1.812d0cp+2,
+  0x1.7ba71cp-1,
+  0x1.47349p+0,
+  -0x1.0b8e48p+4,
+  -0x1.e6dfaep-2,
+  0x1.440fa2p+3,
+  -0x1.912c34p+2,
+  -0x1.4bee34p+2,
+  -0x1.ad47c8p-4,
+  0x1.35fa32p+3,
+  -0x1.8e0298p-1,
+  0x1.48aaf6p+3,
+  -0x1.0fe0d2p+0,
+  -0x1.18fef6p-2,
+  -0x1.e6b47ap+0,
+  0x1.ca98aep+2,
+  0x1.e2d266p-1,
+  -0x1.351f76p+0,
+  0x1.6d3c66p+2,
+  0x1.ffcb3ep+0,
+  -0x1.6d0c0cp+2,
+  -0x1.3c1c28p-5,
+  -0x1.c15cccp-3,
+  0x1.98650ap+0,
+  0x1.a6029ep+2,
+  -0x1.9379f8p-3,
+  0x1.3759e6p+3,
+  0x1.5fdf7p+0,
+  -0x1.6cc55ep+4,
+  -0x1.053ee8p+2,
+  0x1.4af0c8p+1,
+  0x1.47654p+3,
+  -0x1.2efceap-3,
+  0x1.35a8bcp+3,
+  -0x1.fc1d5ep-1,
+  -0x1.459dfp+0,
+  0x1.f8a8dep-1,
+  -0x1.a7f5c2p-5,
+  -0x1.9f3316p+1,
+  -0x1.1aefp+2,
+  0x1.36e29p+3,
+  0x1.11eb7p+0,
+  0x1.6532ep-1,
+  -0x1.26974ep+1,
+  0x1.acf71ep+1,
+  -0x1.0aa7d6p-5,
+  -0x1.9d2ad4p+0,
+  -0x1.394222p+4,
+  0x1.2d6428p+0,
+  -0x1.b3fe3p-6,
+  0x1.dbf61cp+2,
+  -0x1.61fb7cp-3,
+  -0x1.02cbep+1,
+  -0x1.3d3f54p+0,
+  -0x1.64d5bep-3,
+  -0x1.9a6666p-5,
+  -0x1.40a212p+4,
+  -0x1.846292p+2,
+  -0x1.257d9cp-1,
+  0x1.e20d2ep+2,
+  0x1.506cbap-1,
+  -0x1.9f6c8ap-1,
+  0x1.cb5852p-2,
+  0x1.dfede8p+2,
+  -0x1.df03d2p+1,
+  -0x1.44c584p+1,
+  -0x1.a3a42p+1,
+  -0x1.2d988ap+1,
+  -0x1.33a426p+4,
+  -0x1.654542p-3,
+  0x1.1e27bep+1,
+  0x1.3faddap+3,
+  -0x1.9066fp+1,
+  -0x1.5c72dap-3,
+  0x1.ac0814p+0,
+  0x1.46ebd6p-1,
+  -0x1.bc3a8ep+1,
+  0x1.3104p+0,
+  0x1.4c56fap+1,
+  -0x1.742226p+0,
+  -0x1.5c0486p-3,
+  0x1.6285ecp+0,
+  -0x1.c9b584p+0,
+  0x1.e5955cp-3,
+  -0x1.632452p-3,
+  0x1.5bee1ep+1,
+  0x1.3c2fb6p+3,
+  0x1.16c592p-2,
+  0x1.b295eap+2,
+  0x1.407dcap+3,
+  -0x1.767ef6p-1,
+  0x1.eaf332p-3,
+  -0x1.4c6c5p+2,
+  -0x1.637f32p+1,
+  -0x1.7f5e8ep-6,
+  -0x1.65b23ap-3,
+  -0x1.11900ap-1,
+  0x1.10cef4p+3,
+  0x1.d66a2ep+2,
+  -0x1.3900ccp+2,
+  0x1.b3f344p+2,
+  -0x1.148232p+1,
+  -0x1.3b252ep+2,
+  0x1.da34a6p+2,
+  -0x1.65a516p-3,
+  -0x1.5ab462p+5,
+  0x1.a73528p+2,
+  -0x1.52d4dcp-2,
+  -0x1.3f1bf4p+2,
+  0x1.3d109cp+3,
+  -0x1.e7b434p-3,
+  0x1.4a8e1ap+0,
+  -0x1.69edc2p-1,
+  0x1.ad5e14p+0,
+  0x1.366efp+3,
+  -0x1.f320ep+3,
+  -0x1.60c86ep-3,
+  -0x1.062e96p+1,
+  -0x1.a5e6b4p-1,
+  0x1.48c082p+3,
+  -0x1.54a50cp-1,
+  -0x1.1d0e38p+1,
+  -0x1.0d72cap-3,
+  -0x1.c7214cp+4,
+  0x1.cf20a8p+2,
+  -0x1.42b7ecp+1,
+  0x1.421b4p+3,
+  -0x1.9509aep+2,
+  -0x1.641eep+2,
+  0x1.37c6f4p+3,
+  -0x1.321a78p+2,
+  0x1.c01464p+2,
+  0x1.2ad612p+0,
+  -0x1.baaeb4p-5,
+  0x1.f1ba76p+1,
+  -0x1.16b9aep+0,
+  0x1.69f97p+0,
+  0x1.d7236ep+2,
+  -0x1.2655ecp+0,
+  -0x1.b6036p+2,
+  0x1.3bf742p+2,
+  0x1.3a2338p+3,
+  0x1.302f54p+2,
+  0x1.b783cep+2,
+  0x1.231e54p+2,
+  0x1.b9a226p+2,
+  0x1.3d6ec4p-4,
+  -0x1.6605fep+2,
+  -0x1.016e18p-15,
+  0x1.7fb554p+2,
+  0x1.bb8caep+2,
+  0x1.397678p+3,
+  -0x1.08edp+1,
+  0x1.e85b2ep+2,
+  -0x1.ba8f1ep+0,
+  -0x1.600bc2p-3,
+  0x1.4706b2p+2,
+  0x1.76e914p+1,
+  -0x1.d276ep-1,
+  -0x1.fb3c58p+1,
+  0x1.7fec7p+2,
+  -0x1.488bf6p+5,
+  0x1.3daea4p+0,
+  -0x1.babc8ep+2,
+  0x1.421582p+3,
+  0x1.3b2066p+1,
+  -0x1.ea428ep-3,
+  0x1.c4b67ap-5,
+  -0x1.4a9be6p+4,
+  0x1.076be8p-2,
+  0x1.979a26p+2,
+  0x1.3fcdcp+3,
+  0x1.3b8242p+3,
+  0x1.8d651ep-4,
+  0x1.b4919ap-2,
+  -0x1.1a234ep-1,
+  0x1.2fd148p-3,
+  0x1.42871cp+3,
+  0x1.97d77p+0,
+  -0x1.86b75cp-2,
+  0x1.9009a6p+2,
+  0x1.408e7ap+1,
+  -0x1.0fb01cp-7,
+  0x1.a2f7d2p+2,
+  -0x1.2cc04ap-5,
+  -0x1.69a5ap+1,
+  0x1.0bbc28p-2,
+  0x1.2e22a2p+0,
+  -0x1.88dc7ap-2,
+  0x1.7c0c2p+2,
+  -0x1.407b66p-2,
+  0x1.d9152p+2,
+  0x1.7002b4p+0,
+  0x1.758778p+2,
+  0x1.0dcfbap+2,
+  -0x1.7f44bp+2,
+  0x1.cd82p+2,
+  -0x1.feb61ap+2,
+  -0x1.1a4e4ep+2,
+  0x1.e4a6a4p+1,
+  -0x1.0b5fp+3,
+  0x1.799eccp+1,
+  -0x1.e3f07ap-1,
+  0x1.38249cp+3,
+  -0x1.bffb68p+1,
+  -0x1.082034p+2,
+  0x1.23fcd6p+1,
+  -0x1.c101eep+1,
+  -0x1.54d51ap-3,
+  0x1.767064p+2,
+  -0x1.9bc01ap-1,
+  -0x1.29edc6p+2,
+  -0x1.3877a4p+1,
+  -0x1.61a294p-3,
+  -0x1.bb793p+1,
+  0x1.7a649ep+1,
+  0x1.d2ed52p+2,
+  0x1.48241cp+3,
+  0x1.75e9c2p-2,
+  0x1.42bcc4p+3,
+  -0x1.cfdaaep+2,
+  -0x1.858b18p+4,
+  0x1.54595cp+0,
+  0x1.0b3c52p+0,
+  -0x1.d3180cp-1,
+  0x1.58da68p+2,
+  0x1.c6adp+1,
+  0x1.a98beep+2,
+  0x1.5c53b2p+1,
+  -0x1.89d0ccp-1,
+  -0x1.650562p-3,
+  0x1.193d82p-1,
+  0x1.5bca22p+3,
+  0x1.3a05bp+3,
+  0x1.161abcp+4,
+  -0x1.71d802p+2,
+  -0x1.02919ap+0,
+  0x1.dc4546p-1,
+  -0x1.f46284p+1,
+  -0x1.8e38cep-2,
+  -0x1.2b76d6p+1,
+  0x1.b21856p+2,
+  0x1.9c86e6p+2,
+  -0x1.64d776p-3,
+  -0x1.267618p+2,
+  -0x1.53a72ap+2,
+  0x1.dcabd6p-2,
+  0x1.d42ac6p+2,
+  0x1.45b8acp+3,
+  -0x1.5c0da8p-1,
+  -0x1.acc00ap+2,
+  0x1.da4a46p+2,
+  -0x1.64e686p-3,
+  -0x1.729f8p+5,
+  -0x1.194d9ap+3,
+  0x1.7e3eb8p+0,
+  -0x1.5ef7a2p-3,
+  0x1.e443b2p+1,
+  -0x1.7470dp+2,
+  -0x1.3f927p+1,
+  0x1.b096cp+2,
+  0x1.b6792ap+2,
+  -0x1.44742p+3,
+  0x1.492384p+3,
+  0x1.d3c576p-3,
+  -0x1.11ab9ap+0,
+  -0x1.e35b8cp-2,
+  0x1.de41f6p-1,
+  -0x1.2b6a16p-4,
+  0x1.2d4eb2p+0,
+  0x1.48aac8p+1,
+  0x1.4450cap+3,
+  0x1.35d076p+3,
+  0x1.a536cep-1,
+  0x1.735fbcp-1,
+  0x1.b2e3d2p-1,
+  0x1.775ab8p+2,
+  0x1.819c92p-2,
+  0x1.8f27cep+2,
+  0x1.bb9e3ap+2,
+  -0x1.4d9a94p+2,
+  0x1.d7bcd8p+2,
+  -0x1.1febecp+2,
+  0x1.4d60e2p+3,
+  -0x1.4b24d2p+3,
+  -0x1.49a54cp-2,
+  0x1.456e9ep+3,
+  0x1.49f47ap-1,
+  -0x1.63babep-4,
+  0x1.b15424p+2,
+  0x1.e115eap+2,
+  -0x1.513732p+3,
+  -0x1.35b7dep-2,
+  -0x1.1bd7a4p+2,
+  0x1.599a8ep+0,
+  0x1.ad84aap-2,
+  0x1.d976fcp+2,
+  -0x1.86e666p-1,
+  0x1.10cb48p+3,
+  0x1.1d27fep+2,
+  0x1.ea9446p+2,
+  0x1.acbc8p+2,
+  0x1.a6d17p+0,
+  -0x1.100aa2p-3,
+  -0x1.6dfbbep+5,
+  -0x1.5b177p+0,
+  0x1.9524f6p+0,
+  -0x1.5aa4fap+2,
+  0x1.6c782p+4,
+  0x1.af708ap+1,
+  0x1.cec838p+2,
+  0x1.089898p+0,
+  -0x1.63ccacp-3,
+  0x1.1940bap+2,
+  -0x1.14ca86p+1,
+  -0x1.b5d494p+2,
+  -0x1.0a319ap-2,
+  -0x1.171efp+2,
+  0x1.49beaap+3,
+  -0x1.e727d4p+3,
+  -0x1.234bcp-1,
+  0x1.43c804p+3,
+  -0x1.178dfep+2,
+  0x1.fdc47ap-3,
+  -0x1.e75396p+2,
+  0x1.f8f04cp+2,
+  0x1.3a2882p+3,
+  -0x1.4fab3ep+2,
+  0x1.952e04p+1,
+  -0x1.f99bd6p+0,
+  0x1.233548p+0,
+  0x1.0fccccp-6,
+  -0x1.54f26ap+2,
+  -0x1.ea8732p-4,
+  -0x1.44f526p+2,
+  0x1.9dfe8ep+0,
+  0x1.4df2ep-1,
+  -0x1.5f4d08p+0,
+  0x1.350aap+3,
+  0x1.e7b63cp+2,
+  -0x1.cba3f6p+1,
+  0x1.3ec0f6p+0,
+  0x1.b8a2bap+2,
+  -0x1.5c199cp+4,
+  -0x1.056936p+3,
+  0x1.8e304p+2,
+  0x1.b2fc28p-2,
+  0x1.0af75cp-2,
+  -0x1.57f7b8p+3,
+  0x1.3d1ecp+3,
+  -0x1.2a76fp-1,
+  -0x1.2da37ep+6,
+  -0x1.4fc948p-2,
+  0x1.002a8ep+0,
+  -0x1.20bdd4p+2,
+  -0x1.5f6ceep+2,
+  0x1.93eb84p-4,
+  -0x1.c443cp+2,
+  0x1.b34272p+2,
+  -0x1.fec732p-1,
+  0x1.5a9794p+1,
+  0x1.9f7c76p+2,
+  0x1.c86a0cp+2,
+  0x1.88d064p-1,
+  -0x1.782b46p+2,
+  -0x1.a8241p-2,
+  0x1.01e8cep+2,
+  -0x1.65f582p-3,
+  -0x1.a6e786p+2,
+  0x1.268be2p-2,
+  0x1.d4ca68p+2,
+  0x1.10d1fep+3,
+  0x1.33280ap+1,
+  0x1.45129ap+3,
+  0x1.b2f9fp+2,
+  0x1.c06c2ap+2,
+  -0x1.2e4b6p+2,
+  0x1.532108p-1,
+  -0x1.198f1p+0,
+  0x1.32f2ep-1,
+  -0x1.63b1fap-3,
+  0x1.de7384p-1,
+  -0x1.f9c4ep+0,
+  0x1.bd8dc4p+2,
+  -0x1.748c3p+2,
+  -0x1.0c2204p+2,
+  0x1.3f400cp+3,
+  0x1.16ef8ep+1,
+  0x1.ffaf0ap-1,
+  -0x1.3df84ep-5,
+  -0x1.0a47f6p+3,
+  -0x1.074b02p-3,
+  0x1.358ba2p+3,
+};
diff --git a/benchmarks/logf_input.cpp b/benchmarks/logf_input.cpp
new file mode 100644
index 0000000..322d3bf
--- /dev/null
+++ b/benchmarks/logf_input.cpp
@@ -0,0 +1,2916 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ * 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.
+ *
+ * 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.
+ */
+
+// Reduced trace based on 2.8 billion samples extracted from specpu2017
+// 521.wrf_r benchmark.
+static const std::vector<float> logf_input = {
+  0x1.fe4c3p-1,
+  0x1.0e33e6p+1,
+  0x1.00000ap+0,
+  0x1.900028p+4,
+  0x1.f8cdeep+0,
+  0x1.332986p+7,
+  0x1.493696p+0,
+  0x1p+0,
+  0x1.38c67p+7,
+  0x1.029046p+1,
+  0x1.1bd31cp+4,
+  0x1.bb3e3ep+12,
+  0x1.000098p+0,
+  0x1.a7971p+7,
+  0x1p+0,
+  0x1.0001a8p+0,
+  0x1.00004ep+0,
+  0x1p+0,
+  0x1.0606f2p+0,
+  0x1.3e54a8p+11,
+  0x1.3a0662p+3,
+  0x1.000c72p+0,
+  0x1p+0,
+  0x1.0bf8b6p+0,
+  0x1.000204p+0,
+  0x1.500ad2p+0,
+  0x1p+0,
+  0x1.3e4cfp+8,
+  0x1.00006cp+0,
+  0x1.54f7fp+0,
+  0x1.267858p+0,
+  0x1.191ccp+0,
+  0x1.0cdb18p+1,
+  0x1.29bf1ep+15,
+  0x1.64bd92p+1,
+  0x1.255534p+0,
+  0x1p+0,
+  0x1.93bb82p+3,
+  0x1.1348ep+1,
+  0x1.00456ep+0,
+  0x1.08afbcp+8,
+  0x1.32c37ep+0,
+  0x1.3437cep-1,
+  0x1.000214p+0,
+  0x1.03d5ap+0,
+  0x1.172378p+6,
+  0x1p+0,
+  0x1.330f22p-1,
+  0x1.00b91p+0,
+  0x1.e831f2p+15,
+  0x1.092318p+9,
+  0x1p+0,
+  0x1.e80902p+7,
+  0x1.71ec54p+2,
+  0x1.1935dcp+0,
+  0x1.651082p+14,
+  0x1p+0,
+  0x1.0f41d8p+8,
+  0x1.17f4p+0,
+  0x1.7cf946p+9,
+  0x1.b14396p+0,
+  0x1.92f94p+1,
+  0x1.2f3784p-1,
+  0x1p+0,
+  0x1.305ad4p-1,
+  0x1.002a08p+0,
+  0x1.3e338p+5,
+  0x1.1863f6p+8,
+  0x1p+0,
+  0x1.ed8fd8p+58,
+  0x1p+0,
+  0x1p+0,
+  0x1.215fc8p+9,
+  0x1.1965bep+16,
+  0x1.00031cp+0,
+  0x1.00011p+0,
+  0x1p+0,
+  0x1.e384fep-20,
+  0x1p+0,
+  0x1.00020cp+0,
+  0x1.007e24p+0,
+  0x1.b14346p+0,
+  0x1.243ff8p+0,
+  0x1.3f6ac2p+3,
+  0x1.816ff6p+5,
+  0x1.0115ap+8,
+  0x1.162028p+16,
+  0x1.62692cp+0,
+  0x1.0227c8p+1,
+  0x1.4dda3ep+0,
+  0x1.418696p+0,
+  0x1.0272f4p+2,
+  0x1.62c6ecp+5,
+  0x1.3cd07ap+18,
+  0x1.0191eap+0,
+  0x1.21c3a2p+8,
+  0x1p+0,
+  0x1.000bf6p+0,
+  0x1.a4b51cp+7,
+  0x1.04d1f8p+0,
+  0x1.8de2b8p+0,
+  0x1.7b7a4ep+8,
+  0x1.1928acp+5,
+  0x1.305a8p-1,
+  0x1.ba8662p+5,
+  0x1p+0,
+  0x1.ab75a2p-12,
+  0x1.7cc13cp+9,
+  0x1.505306p+0,
+  0x1.63085p+0,
+  0x1.000064p+0,
+  0x1.b3f16ap+7,
+  0x1.1348f8p+1,
+  0x1.71fe88p+1,
+  0x1.0b7132p+4,
+  0x1.470316p+1,
+  0x1.3228b6p-1,
+  0x1.8dd666p+0,
+  0x1.38ed88p+12,
+  0x1.432218p+0,
+  0x1.00e0cap+0,
+  0x1.73eb44p+2,
+  0x1p+0,
+  0x1p+0,
+  0x1.bda15ep+7,
+  0x1.0272fep+2,
+  0x1.00171ep+0,
+  0x1p+0,
+  0x1.3faa86p+3,
+  0x1.33c2a2p-1,
+  0x1.3e48e2p+7,
+  0x1.017ef2p+0,
+  0x1.30115ap-1,
+  0x1.587444p+0,
+  0x1.3efed8p+8,
+  0x1.8a5526p+0,
+  0x1.cb1ecap+15,
+  0x1.1f5cp+0,
+  0x1.0001a4p+0,
+  0x1.1a20dap+7,
+  0x1.376e6p+0,
+  0x1.0001aap+0,
+  0x1.9182f6p-1,
+  0x1.000292p+0,
+  0x1.3d46a2p+12,
+  0x1.e177b6p+7,
+  0x1.3f5646p+1,
+  0x1.2ab784p+9,
+  0x1.dc81b4p+1,
+  0x1.0ef326p+0,
+  0x1.996588p-12,
+  0x1.740848p+3,
+  0x1.00016p+0,
+  0x1.ffd51ap+52,
+  0x1p+0,
+  0x1.4461ap+4,
+  0x1.08e7bcp+51,
+  0x1p+0,
+  0x1.106e98p+3,
+  0x1.5490e4p+0,
+  0x1.46703cp+4,
+  0x1.6b1e86p-29,
+  0x1.324caap+0,
+  0x1.0467ccp+0,
+  0x1.424574p+0,
+  0x1p+0,
+  0x1.001da4p+0,
+  0x1.364604p+0,
+  0x1p+0,
+  0x1.0951e2p+8,
+  0x1.408994p+0,
+  0x1.0003ap+0,
+  0x1.619e92p+12,
+  0x1.313e72p+2,
+  0x1.8b47p-6,
+  0x1.2190fp+2,
+  0x1.20aaacp+0,
+  0x1.f0059cp-1,
+  0x1p+0,
+  0x1.018e78p+0,
+  0x1.313e1p+2,
+  0x1p+0,
+  0x1.2efce4p-1,
+  0x1.5ebdap+0,
+  0x1p+0,
+  0x1.5e2488p+51,
+  0x1.bf95f2p+5,
+  0x1.5a1124p+16,
+  0x1.73bad6p+1,
+  0x1.00048ap+0,
+  0x1.0c9beap+8,
+  0x1p+0,
+  0x1.358c08p+7,
+  0x1.7f834ep-26,
+  0x1.3e56bcp+15,
+  0x1.52d8b2p+15,
+  0x1p+0,
+  0x1.00109cp+0,
+  0x1.0a0bb2p+0,
+  0x1p+0,
+  0x1.026908p+6,
+  0x1.370f22p+0,
+  0x1.5c6c5ap+1,
+  0x1.7fe4bcp+2,
+  0x1p+0,
+  0x1p+0,
+  0x1.42be68p+49,
+  0x1.0000d8p+0,
+  0x1.3abdf8p+12,
+  0x1.370a44p-12,
+  0x1.aef9f4p+0,
+  0x1.00001ep+2,
+  0x1.017c2p+0,
+  0x1.00b614p+0,
+  0x1.32f9f8p-1,
+  0x1p+0,
+  0x1.00ebf2p+0,
+  0x1.0c3116p+0,
+  0x1.00004p+0,
+  0x1.03b992p+0,
+  0x1p+0,
+  0x1.24eb3cp+0,
+  0x1.4c73ecp+51,
+  0x1.fad3ep+1,
+  0x1p+0,
+  0x1.32368ap-1,
+  0x1.000908p+0,
+  0x1.5ea59ep+12,
+  0x1.1928ccp+5,
+  0x1p+0,
+  0x1.21a93cp+8,
+  0x1p+0,
+  0x1.0001e8p+0,
+  0x1.95b6c2p-12,
+  0x1.00002p+0,
+  0x1.2399fap+9,
+  0x1.449b44p+0,
+  0x1p+0,
+  0x1.64a766p+15,
+  0x1.06ccecp+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.c81f9cp+1,
+  0x1.5ef196p+0,
+  0x1.022822p+1,
+  0x1.99beep+3,
+  0x1.1f417p+8,
+  0x1p+0,
+  0x1.c08726p+5,
+  0x1.397d9ep+0,
+  0x1.88e748p+18,
+  0x1.3b319p+9,
+  0x1.2fd3b6p-1,
+  0x1.0001aep+0,
+  0x1.4a0562p+5,
+  0x1.4e5f1ap+0,
+  0x1p+0,
+  0x1.017fbp+0,
+  0x1.acaf56p+57,
+  0x1.ef7d66p+8,
+  0x1.736c3cp+1,
+  0x1.12ddbep+0,
+  0x1.b85ebcp+6,
+  0x1.0e259p+1,
+  0x1.5cc2c4p+2,
+  0x1.99e614p+3,
+  0x1.f30aa6p+2,
+  0x1.3911c6p+15,
+  0x1.119b92p+1,
+  0x1.352a3p-1,
+  0x1.0001b2p+0,
+  0x1.00b26p+0,
+  0x1.bd730ep+60,
+  0x1.54fc5p+0,
+  0x1.5a4804p+0,
+  0x1.ff7eaep-1,
+  0x1.5cc268p+2,
+  0x1.1077aap+2,
+  0x1.1723d6p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.30c17p-1,
+  0x1.000648p+0,
+  0x1.91aa4cp+6,
+  0x1.17234p+6,
+  0x1p+0,
+  0x1.6d5b18p+2,
+  0x1.00027ap+0,
+  0x1.dc8224p+1,
+  0x1.a9eabep-6,
+  0x1.099edcp+1,
+  0x1.004118p+1,
+  0x1.58d5fcp+60,
+  0x1.000098p+0,
+  0x1.004e8p+0,
+  0x1.f32edap-1,
+  0x1.0394aep+0,
+  0x1.0689bp+2,
+  0x1.124e5cp+0,
+  0x1.71fe86p+1,
+  0x1.025ce2p+0,
+  0x1.46107cp+0,
+  0x1.047c74p+2,
+  0x1.a57e74p+15,
+  0x1.18bbcep+0,
+  0x1p+0,
+  0x1.65b9a4p+0,
+  0x1.0000eep+0,
+  0x1.08a4a4p+0,
+  0x1.0fe774p+1,
+  0x1.000128p+0,
+  0x1.3e95fp+12,
+  0x1.b14e3ap-56,
+  0x1.00007cp+0,
+  0x1.5619c2p+1,
+  0x1.4ac958p+0,
+  0x1.00031p+0,
+  0x1.003064p+0,
+  0x1.e119eap-1,
+  0x1.577b36p+0,
+  0x1p+0,
+  0x1.26ff2ap+0,
+  0x1.004ap+0,
+  0x1.0000a2p+0,
+  0x1.1fcc7ep+4,
+  0x1.6f959p+16,
+  0x1.000064p+0,
+  0x1.375c6ap+0,
+  0x1.6a806ep+2,
+  0x1p+0,
+  0x1.8e27aep+1,
+  0x1p+0,
+  0x1.000b22p+0,
+  0x1.8f0c12p+0,
+  0x1.192892p+5,
+  0x1.2bcaacp+1,
+  0x1.984264p+2,
+  0x1.0034cp+0,
+  0x1p+0,
+  0x1.abf4dp+0,
+  0x1.001044p+0,
+  0x1.0d26f4p+0,
+  0x1.626906p+0,
+  0x1.8bf0c2p+5,
+  0x1.02d288p+0,
+  0x1.900128p+4,
+  0x1.bbbbcp+12,
+  0x1.45fa5p+0,
+  0x1p+0,
+  0x1.01bef2p+0,
+  0x1.524f26p+2,
+  0x1.083b0ep+0,
+  0x1.4811e4p+0,
+  0x1.0163a8p+0,
+  0x1.9570fap+15,
+  0x1.3022f2p-1,
+  0x1.14c73ap+0,
+  0x1.0009d8p+0,
+  0x1.056b92p+63,
+  0x1.0025a4p+0,
+  0x1.36aad4p+17,
+  0x1.05c244p+8,
+  0x1.d00886p+17,
+  0x1.001188p+0,
+  0x1.3376ecp-1,
+  0x1.6719c8p+16,
+  0x1.02495p+0,
+  0x1.fd9bacp-1,
+  0x1.3882c6p+6,
+  0x1.3cb358p+0,
+  0x1.0ec93ep+0,
+  0x1.4fd2bap+1,
+  0x1.f8b68p+1,
+  0x1.33b1f2p-1,
+  0x1.ba7f4cp+1,
+  0x1p+0,
+  0x1.44a3d2p-17,
+  0x1.9a6a8p+2,
+  0x1.00918ap+6,
+  0x1.30d50ep-1,
+  0x1p+0,
+  0x1.0001bep+0,
+  0x1.05b93ep+0,
+  0x1.aa9d98p+0,
+  0x1.039b74p+0,
+  0x1.1ac25ep+8,
+  0x1p+0,
+  0x1.12b23ap+1,
+  0x1.4c5c52p+0,
+  0x1.07de64p+0,
+  0x1.950f94p+1,
+  0x1.001caap+47,
+  0x1.0a9448p+0,
+  0x1.01026cp+0,
+  0x1.03d74ap+0,
+  0x1p+0,
+  0x1.0032dap+0,
+  0x1.380922p-1,
+  0x1.c0e7ccp+15,
+  0x1.a35e4p+4,
+  0x1.25b1e6p+0,
+  0x1.000044p+2,
+  0x1.05ac24p+7,
+  0x1.1fa744p+44,
+  0x1.0007b2p+0,
+  0x1.2cca62p+2,
+  0x1.04be3ap+6,
+  0x1.00065p+0,
+  0x1.2b9f3ap+1,
+  0x1.74085p+3,
+  0x1p+0,
+  0x1.01fc4cp+0,
+  0x1.e137bcp+2,
+  0x1.097ac8p+0,
+  0x1.ad1458p+4,
+  0x1.c8587cp+1,
+  0x1.31d172p-1,
+  0x1.0b414ap+1,
+  0x1.664e36p+1,
+  0x1.30ae16p-1,
+  0x1p+0,
+  0x1.3b7e3cp+2,
+  0x1.9cc348p+64,
+  0x1p+0,
+  0x1p+0,
+  0x1.cdb384p-32,
+  0x1p+0,
+  0x1.00b998p+0,
+  0x1.36b69ep-1,
+  0x1.939538p+4,
+  0x1.dc9deep+4,
+  0x1.36f86ep+2,
+  0x1.02113cp+0,
+  0x1.035852p+0,
+  0x1.9de428p+2,
+  0x1.369814p+1,
+  0x1.147f44p+3,
+  0x1.031bc8p+0,
+  0x1.03f7cp+0,
+  0x1.000924p+0,
+  0x1.145e14p+2,
+  0x1.0000d4p+0,
+  0x1p+0,
+  0x1.54fdfp+2,
+  0x1.07c0ep+0,
+  0x1.829aeep+1,
+  0x1.000f08p+0,
+  0x1.34dcdp-1,
+  0x1p+0,
+  0x1.cd56e4p+1,
+  0x1.16400ap+8,
+  0x1p+0,
+  0x1.00000ap+2,
+  0x1.00a21p+0,
+  0x1.8d6286p+6,
+  0x1.de4f28p+1,
+  0x1.9f55b6p+48,
+  0x1.01c802p+0,
+  0x1.0327cp+0,
+  0x1.32fb52p-1,
+  0x1p+0,
+  0x1.2525dcp+0,
+  0x1.91da28p-6,
+  0x1.5a23a8p+0,
+  0x1.5f024ap+1,
+  0x1p+0,
+  0x1.0008f2p+0,
+  0x1.05563cp+0,
+  0x1.89381cp+0,
+  0x1.8bb056p+16,
+  0x1.7cc93ep+1,
+  0x1.8bf0acp+5,
+  0x1.1722bap+6,
+  0x1p+0,
+  0x1.00238ep+0,
+  0x1.ebb8d2p-1,
+  0x1.001194p+0,
+  0x1.6cd388p+1,
+  0x1.08e4bp+8,
+  0x1.00002p+0,
+  0x1.01a0bep+0,
+  0x1.00e7cep+8,
+  0x1.1193p+0,
+  0x1.06a9c8p+0,
+  0x1.11c7fep+0,
+  0x1.5ef17cp+0,
+  0x1.4ae72cp+0,
+  0x1.e0df4cp+41,
+  0x1.7e5468p+1,
+  0x1.8dd478p+0,
+  0x1.3c2784p+51,
+  0x1p+0,
+  0x1p+0,
+  0x1.b9d454p+12,
+  0x1.011a58p+0,
+  0x1.3efb48p+4,
+  0x1.000208p+0,
+  0x1.57b3eep+7,
+  0x1.000004p+0,
+  0x1.1cd6b8p+0,
+  0x1.c366fap+9,
+  0x1.466d2cp+0,
+  0x1p+0,
+  0x1.300096p-1,
+  0x1p+0,
+  0x1.bef388p+0,
+  0x1.0c20e8p+8,
+  0x1.397f2p+4,
+  0x1.037596p+2,
+  0x1.62a0a4p+52,
+  0x1.37269ap+0,
+  0x1.81fe24p+2,
+  0x1.dd4196p+56,
+  0x1.b143ep+0,
+  0x1p+0,
+  0x1.b8c2fp+1,
+  0x1.056b3ep+1,
+  0x1.3b6cbp+0,
+  0x1.3ffb2p+0,
+  0x1p+0,
+  0x1.3c21cp+0,
+  0x1.00312cp+0,
+  0x1p+0,
+  0x1.3822f8p+0,
+  0x1.02734p+2,
+  0x1.05a7dap+0,
+  0x1.6df1b4p+5,
+  0x1.0006f4p+0,
+  0x1.31aebep-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.b997fap+18,
+  0x1.0570d8p+0,
+  0x1p+0,
+  0x1.0a9216p+42,
+  0x1.ef16f2p+1,
+  0x1p+0,
+  0x1.31269ep-1,
+  0x1.a9954ap+2,
+  0x1.1cc5e8p+0,
+  0x1.01d334p+0,
+  0x1.905f98p+4,
+  0x1.0310d4p+0,
+  0x1.16a62ap+0,
+  0x1.8dd6b2p+0,
+  0x1.395dcep+7,
+  0x1.ef5f92p+0,
+  0x1.000868p+0,
+  0x1p+0,
+  0x1.844a16p+2,
+  0x1.452efcp+0,
+  0x1p+0,
+  0x1.1c5da2p+6,
+  0x1.31ac3ap-1,
+  0x1.cc1bfp+2,
+  0x1p+0,
+  0x1.08215ap+0,
+  0x1.3b4306p+0,
+  0x1.71fe6p+1,
+  0x1.192bd8p+0,
+  0x1.262f78p+0,
+  0x1.00013cp+0,
+  0x1.33c486p-1,
+  0x1.000014p+0,
+  0x1.b8f4fp+1,
+  0x1.5f9f5ap-1,
+  0x1.059872p+0,
+  0x1p+0,
+  0x1.58168p+1,
+  0x1.826d5cp+0,
+  0x1p+0,
+  0x1.032a04p+0,
+  0x1p+0,
+  0x1.0c0a5cp+0,
+  0x1.668d9p+0,
+  0x1.2f9644p-1,
+  0x1p+0,
+  0x1.1821b8p+6,
+  0x1.b22e8ep+7,
+  0x1.4f7a78p+0,
+  0x1.52df24p+0,
+  0x1.48c612p+0,
+  0x1.93a19ap+4,
+  0x1.8bf102p+5,
+  0x1.122d94p+0,
+  0x1p+0,
+  0x1.00018p+0,
+  0x1.30083ap-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.30d20ep-1,
+  0x1p+0,
+  0x1.0000dcp+0,
+  0x1.285bb4p+0,
+  0x1p+0,
+  0x1.0003a4p+0,
+  0x1p+0,
+  0x1.2ffcfcp-1,
+  0x1.093d96p+0,
+  0x1.239bfcp+0,
+  0x1.f7c33cp-27,
+  0x1.a9982ep+2,
+  0x1.1969f4p+4,
+  0x1.ff5c88p-1,
+  0x1.04db6ep+2,
+  0x1p+0,
+  0x1.f010dap-1,
+  0x1.13647p+7,
+  0x1p+0,
+  0x1.ea6e18p-10,
+  0x1.2d16eap+0,
+  0x1.02b668p+0,
+  0x1.191704p+4,
+  0x1.18f2b4p+0,
+  0x1.b186eap+0,
+  0x1.24c01ap+2,
+  0x1.6a3adap+16,
+  0x1p+0,
+  0x1p+0,
+  0x1.2f9f28p-1,
+  0x1.4b5da4p+0,
+  0x1.004054p+0,
+  0x1.002616p+8,
+  0x1.561954p+1,
+  0x1p+0,
+  0x1.4c4394p+0,
+  0x1.1eed34p+1,
+  0x1.a702eap+5,
+  0x1.ee054p+7,
+  0x1.1156a8p+0,
+  0x1.9a81fcp+2,
+  0x1.10ce16p-28,
+  0x1.b18b88p+0,
+  0x1.d9c4a8p+1,
+  0x1.0e275cp+0,
+  0x1.905f58p+4,
+  0x1p+0,
+  0x1.02f774p+0,
+  0x1.7ce226p+1,
+  0x1.0002bcp+0,
+  0x1.010f58p+0,
+  0x1p+0,
+  0x1.000198p+0,
+  0x1p+0,
+  0x1.4aa832p+0,
+  0x1.0006c2p+0,
+  0x1.358ca4p+7,
+  0x1.1edc64p+0,
+  0x1.003508p+0,
+  0x1.fdb69p+1,
+  0x1.0ff4fep+0,
+  0x1p+0,
+  0x1.b8c2fp+1,
+  0x1.284c16p+0,
+  0x1.00a228p+0,
+  0x1.03080cp+0,
+  0x1.91a8f4p+48,
+  0x1p+0,
+  0x1.2080fep+1,
+  0x1.0002f8p+0,
+  0x1.b14338p+0,
+  0x1.081288p+0,
+  0x1.71b9bep+0,
+  0x1.09c368p+0,
+  0x1.35ed64p+0,
+  0x1.8dd68cp+0,
+  0x1.d2cc42p+0,
+  0x1.9be0ecp+3,
+  0x1.7407fcp+3,
+  0x1.313ecp-1,
+  0x1.cdc978p+0,
+  0x1.0ed538p+1,
+  0x1.159af4p+8,
+  0x1p+0,
+  0x1.128694p+0,
+  0x1.2f1b06p-1,
+  0x1.19c0d8p+0,
+  0x1.dcc7c8p+1,
+  0x1.a33f8ap+7,
+  0x1.000158p+0,
+  0x1p+0,
+  0x1.28bdaep-16,
+  0x1.74086cp+3,
+  0x1.ea297cp+1,
+  0x1.5d87fp+2,
+  0x1.0e2658p+1,
+  0x1.621c14p+1,
+  0x1.9d8a8cp+3,
+  0x1p+0,
+  0x1.7807e8p+3,
+  0x1.74c924p+0,
+  0x1.a484e4p+53,
+  0x1.771c44p+0,
+  0x1.13d1e4p+2,
+  0x1.2fa402p-1,
+  0x1p+0,
+  0x1.024d72p+2,
+  0x1.064c6ap+8,
+  0x1.15d2dep+0,
+  0x1.9c004ep+3,
+  0x1.bc2fcap+12,
+  0x1.befdbep+0,
+  0x1.36461p+0,
+  0x1.6db7b8p+5,
+  0x1.0000cp+0,
+  0x1p+0,
+  0x1.02f354p+0,
+  0x1p+0,
+  0x1.000228p+0,
+  0x1.013fep+0,
+  0x1.213782p+0,
+  0x1p+0,
+  0x1.000204p+0,
+  0x1.a69cccp+7,
+  0x1.0036acp+0,
+  0x1.0982b8p+0,
+  0x1.81693cp-22,
+  0x1.1e5d64p+6,
+  0x1.0009f2p+0,
+  0x1.2fe96p-1,
+  0x1.0368f8p+0,
+  0x1.2d2cbep+0,
+  0x1.37bc04p-1,
+  0x1p+0,
+  0x1.d45d88p+1,
+  0x1.000694p+0,
+  0x1.000272p+0,
+  0x1p+0,
+  0x1.d0b2e6p+1,
+  0x1.2598a4p+3,
+  0x1p+0,
+  0x1.8b7d3p+2,
+  0x1.192902p+5,
+  0x1.3d5386p+0,
+  0x1.9c779ap+1,
+  0x1.08257cp+0,
+  0x1.0b8a4p+2,
+  0x1.01afa4p+3,
+  0x1.e48b7ap-1,
+  0x1.f30a5cp+2,
+  0x1.0df814p+0,
+  0x1.2f28p-1,
+  0x1.983f46p+3,
+  0x1.009094p+6,
+  0x1.326a3ep-1,
+  0x1.9767e6p+0,
+  0x1.1027fp+0,
+  0x1.3274f8p-1,
+  0x1.197a9cp+1,
+  0x1.3807p+2,
+  0x1.90533p+4,
+  0x1.0332ecp+0,
+  0x1.3ca37p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.3ff4dcp+0,
+  0x1p+0,
+  0x1.900046p+0,
+  0x1p+0,
+  0x1.195576p+5,
+  0x1.aec2ecp+7,
+  0x1.65b984p+0,
+  0x1.74677p+3,
+  0x1.423322p+0,
+  0x1.aeef9ep+16,
+  0x1.0338c4p+0,
+  0x1.1ae22ap+8,
+  0x1.cc4adcp+0,
+  0x1.d20a9ep+0,
+  0x1.cdbefcp-45,
+  0x1.03b23cp+0,
+  0x1.25970cp+3,
+  0x1.e6b02ep-1,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.000aa8p+0,
+  0x1.0054a4p+0,
+  0x1.06600ap+0,
+  0x1.b8601cp+6,
+  0x1.fea92cp+5,
+  0x1.6p+5,
+  0x1.c76586p+0,
+  0x1.90007ap+0,
+  0x1.ef2d1p-84,
+  0x1.03d5b6p+0,
+  0x1.0164ecp+0,
+  0x1.4441d8p+0,
+  0x1.005c42p+0,
+  0x1.046838p+0,
+  0x1.51f04ap+0,
+  0x1.cf822cp+0,
+  0x1.033b4ap+0,
+  0x1p+0,
+  0x1.091bep+0,
+  0x1p+0,
+  0x1.5bb2a4p+0,
+  0x1.01fe2cp+0,
+  0x1.2b96p+1,
+  0x1.242d9p+0,
+  0x1.42ade4p+0,
+  0x1p+0,
+  0x1.689714p+2,
+  0x1.4ac756p+0,
+  0x1p+0,
+  0x1.101ad8p+0,
+  0x1.6208e8p+41,
+  0x1.47091p+0,
+  0x1.3e28p+3,
+  0x1.04b70ep+0,
+  0x1p+0,
+  0x1.086c9p+0,
+  0x1.70eb62p+54,
+  0x1.dfb744p+4,
+  0x1p+0,
+  0x1.f302bcp-8,
+  0x1.8d5fd4p+6,
+  0x1.12d9a8p+0,
+  0x1.00a39p+0,
+  0x1p+0,
+  0x1.00003cp+0,
+  0x1.00031p+0,
+  0x1.58743ep+0,
+  0x1.003ae4p+0,
+  0x1.7de5cep+2,
+  0x1.096c7ep+0,
+  0x1.57e436p+1,
+  0x1.21fcb4p+2,
+  0x1.31297ap-1,
+  0x1p+0,
+  0x1.ab5fcp+16,
+  0x1.91e912p+42,
+  0x1.5cb206p+1,
+  0x1.000072p+0,
+  0x1.00f4d2p+0,
+  0x1.0ee52p+0,
+  0x1.000014p+0,
+  0x1.2f3a5ep-1,
+  0x1.3fc07cp+1,
+  0x1.64bd36p+1,
+  0x1.f48f56p-1,
+  0x1.0115f4p+0,
+  0x1.1650bcp+2,
+  0x1.013494p+0,
+  0x1p+0,
+  0x1.684e92p+0,
+  0x1.0063a4p+0,
+  0x1.3ca364p+0,
+  0x1.197a48p+1,
+  0x1.00a6f4p+0,
+  0x1.31ce92p-1,
+  0x1.fea91ep+5,
+  0x1.6dd5cep+5,
+  0x1.05035ep+8,
+  0x1.6d6acep+5,
+  0x1.8c4fa2p+5,
+  0x1.f4e59cp-12,
+  0x1.6330e4p+0,
+  0x1.01a9fep+0,
+  0x1.4f48e4p+0,
+  0x1.d589c6p+1,
+  0x1.5be04ap+15,
+  0x1.f9e2f2p-1,
+  0x1.294bdp+1,
+  0x1.8bf1p+5,
+  0x1.967eb8p-9,
+  0x1.018d04p+0,
+  0x1.00032cp+0,
+  0x1p+0,
+  0x1.ba21bcp+14,
+  0x1.8dd6bp+0,
+  0x1.7455a8p+3,
+  0x1p+0,
+  0x1.8e8a02p+15,
+  0x1.015f06p+0,
+  0x1.04a26p+8,
+  0x1.000c58p+0,
+  0x1.26a58cp+3,
+  0x1.2719bap-19,
+  0x1p+0,
+  0x1.05194cp+7,
+  0x1.34d9f4p+0,
+  0x1p+0,
+  0x1.029fa2p+0,
+  0x1.99a9dap+0,
+  0x1.cee06ep+0,
+  0x1.3e921ap+0,
+  0x1.9f8eep+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.13f606p+0,
+  0x1p+0,
+  0x1.0a176ep+2,
+  0x1.aa9c94p+7,
+  0x1.1211ep+0,
+  0x1.122594p+0,
+  0x1.b39642p+47,
+  0x1p+0,
+  0x1.000068p+0,
+  0x1.6600aep-12,
+  0x1.e0d6ecp+1,
+  0x1.0019ep+0,
+  0x1.34b8f4p-1,
+  0x1.581728p+2,
+  0x1.00016p+0,
+  0x1.12b1ep+8,
+  0x1.a679fp+14,
+  0x1.90005ap+4,
+  0x1.837996p-1,
+  0x1p+0,
+  0x1.0e2552p+1,
+  0x1.22160cp+9,
+  0x1p+0,
+  0x1.57e4b4p+1,
+  0x1p+0,
+  0x1.bf8d0cp+0,
+  0x1.d7e10ep+16,
+  0x1.06bcc8p+0,
+  0x1.133b12p+0,
+  0x1.1b6542p+6,
+  0x1p+0,
+  0x1.feddbcp-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.2fd98ep-1,
+  0x1.03d5b6p+0,
+  0x1p+0,
+  0x1.db8a46p-1,
+  0x1.42e588p+0,
+  0x1.0ee1p+1,
+  0x1.361fep+0,
+  0x1.2f74a8p+0,
+  0x1p+0,
+  0x1.31596cp-1,
+  0x1.740a2p+3,
+  0x1p+0,
+  0x1.8dd672p+0,
+  0x1.00011cp+0,
+  0x1p+0,
+  0x1.000102p+0,
+  0x1.5cc2b2p+2,
+  0x1p+0,
+  0x1.17f4b4p+0,
+  0x1.619318p+12,
+  0x1.b14362p+0,
+  0x1.c1004ep+0,
+  0x1.318578p-1,
+  0x1.9728ecp+2,
+  0x1.25bdbcp+3,
+  0x1.37ac8ap+63,
+  0x1p+0,
+  0x1.41ef56p+2,
+  0x1.e65866p-1,
+  0x1p+0,
+  0x1.307e0ap+0,
+  0x1.ef570ep+54,
+  0x1.0290fap+1,
+  0x1.9dd308p+0,
+  0x1.21db9p+0,
+  0x1.00003cp+0,
+  0x1.eabf94p+0,
+  0x1.386614p+10,
+  0x1.f244dap+16,
+  0x1p+0,
+  0x1.00e094p+0,
+  0x1.5605e6p+1,
+  0x1.b16374p+2,
+  0x1.9a2d88p+0,
+  0x1.48748ap+9,
+  0x1p+0,
+  0x1.28e674p+0,
+  0x1.bf4324p+7,
+  0x1.2598c6p+3,
+  0x1.215484p+1,
+  0x1.05fb5p+51,
+  0x1.0000d8p+0,
+  0x1.f389dcp+6,
+  0x1.41a1bp+0,
+  0x1.001582p+0,
+  0x1.1928ecp+5,
+  0x1.00ff3ep+0,
+  0x1.3883c4p+13,
+  0x1.98b044p+2,
+  0x1.8a43eep+0,
+  0x1.733e8p+14,
+  0x1.73ebfcp+2,
+  0x1.0cd1fp+0,
+  0x1p+0,
+  0x1.af357p+5,
+  0x1.b2c586p+5,
+  0x1.470f58p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.0ffddep+0,
+  0x1.02c422p+1,
+  0x1.56c4a6p+1,
+  0x1.492014p-47,
+  0x1.192862p+5,
+  0x1p+0,
+  0x1.c7e222p+7,
+  0x1p+0,
+  0x1p+0,
+  0x1.1a0d3p+49,
+  0x1.946148p+0,
+  0x1.524f6ap+2,
+  0x1.31566ep-1,
+  0x1.000198p+0,
+  0x1.3d7efcp+3,
+  0x1.000264p+0,
+  0x1.4ed7ccp+0,
+  0x1.b667ecp+0,
+  0x1.81940ep+1,
+  0x1p+0,
+  0x1.088e6cp+0,
+  0x1.065bbcp+1,
+  0x1.009ae4p+1,
+  0x1.008bfp+6,
+  0x1.e9f5acp+7,
+  0x1.1e1c44p+8,
+  0x1.992348p+0,
+  0x1.3162fp+0,
+  0x1.fb0e1ap+48,
+  0x1.8bf0acp+5,
+  0x1p+0,
+  0x1.1f57b2p+60,
+  0x1.011f3p+0,
+  0x1.3af642p+0,
+  0x1.ccae9p+46,
+  0x1.21325cp+0,
+  0x1.07743p+7,
+  0x1.1ae49ep+8,
+  0x1.00006ap+0,
+  0x1.1928aap+5,
+  0x1.838206p-1,
+  0x1p+0,
+  0x1.00e9e8p+0,
+  0x1.4684cap+0,
+  0x1.02568p+0,
+  0x1.5efc62p+1,
+  0x1p+0,
+  0x1.000352p+0,
+  0x1.0578cap+0,
+  0x1.0039ecp+0,
+  0x1.2fc412p-1,
+  0x1.4a939ap+1,
+  0x1.ff27ep+5,
+  0x1.091a62p+0,
+  0x1.08c012p+0,
+  0x1.67c8p+4,
+  0x1.e26b74p-48,
+  0x1p+0,
+  0x1.283076p+3,
+  0x1.2fe494p-1,
+  0x1.4dcd9ep+5,
+  0x1p+0,
+  0x1.cdf4e4p+7,
+  0x1p+0,
+  0x1.c77d16p+1,
+  0x1.fccf76p-1,
+  0x1p+0,
+  0x1.120a84p+0,
+  0x1.054cdep+0,
+  0x1.002a0cp+0,
+  0x1.063b76p+0,
+  0x1.0000d8p+0,
+  0x1.30cedep-1,
+  0x1.003884p+0,
+  0x1p+0,
+  0x1.e0065cp-1,
+  0x1.693bd2p+15,
+  0x1.0fadc2p+0,
+  0x1.415d06p+0,
+  0x1.0002ecp+0,
+  0x1.27ce08p+0,
+  0x1.3b9762p+0,
+  0x1.2fb36p+2,
+  0x1.02c8f8p+0,
+  0x1.629facp+50,
+  0x1.281c56p+3,
+  0x1.4a93c8p+1,
+  0x1.0e6cacp-1,
+  0x1.f9ef4ap+0,
+  0x1.44f78ap+2,
+  0x1.9a1e18p+0,
+  0x1p+0,
+  0x1.3e566p+3,
+  0x1.000128p+0,
+  0x1p+0,
+  0x1.112c38p+0,
+  0x1.03d2dap+0,
+  0x1.5fb222p+12,
+  0x1.1f4b96p+0,
+  0x1.01422p+1,
+  0x1.ee5728p+63,
+  0x1.4bcdd8p+1,
+  0x1p+0,
+  0x1.30e0e4p-1,
+  0x1.6a36b2p+0,
+  0x1.00016cp+0,
+  0x1.04b966p+0,
+  0x1.106e16p+16,
+  0x1p+0,
+  0x1.1233d2p+0,
+  0x1p+0,
+  0x1.15d1cap+1,
+  0x1.137c02p+8,
+  0x1.00001ap+0,
+  0x1.07ab74p+0,
+  0x1.800b4ep-1,
+  0x1.55047p+0,
+  0x1.90017ap+4,
+  0x1.5c9898p+1,
+  0x1.8ce4ccp+6,
+  0x1p+0,
+  0x1.6ee34p+0,
+  0x1.bf600cp+0,
+  0x1.f13a7ep+8,
+  0x1.00015cp+0,
+  0x1.b9c51ep+12,
+  0x1.740826p+3,
+  0x1.c29e5p+1,
+  0x1.f56ba8p-1,
+  0x1.37fe18p+2,
+  0x1.190eap+0,
+  0x1.419f1cp+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.20687ep+8,
+  0x1.938ecap+4,
+  0x1.01dd1cp+0,
+  0x1.bbe888p+7,
+  0x1.09d802p+0,
+  0x1.cf3b8p+0,
+  0x1.ea0d98p-1,
+  0x1.172472p+6,
+  0x1p+0,
+  0x1.61dce4p+1,
+  0x1.20b4fcp+0,
+  0x1.00038cp+0,
+  0x1p+0,
+  0x1.0822p+0,
+  0x1.9966ep+2,
+  0x1.21f47cp+0,
+  0x1.3a9762p+0,
+  0x1.8c4e0cp+5,
+  0x1p+0,
+  0x1.61878cp+12,
+  0x1.3ca348p+0,
+  0x1.289028p+0,
+  0x1.06e004p+0,
+  0x1.02b4b4p+0,
+  0x1.144eeep+1,
+  0x1.30a14ap-1,
+  0x1.07652p+0,
+  0x1p+0,
+  0x1.2ef288p+0,
+  0x1.1ba73cp+5,
+  0x1.48c714p+2,
+  0x1.25c508p+3,
+  0x1.b14382p+0,
+  0x1.b39acep+0,
+  0x1.0001c2p+0,
+  0x1.996938p+3,
+  0x1p+0,
+  0x1.e49b2ep+7,
+  0x1.000436p+0,
+  0x1.34712p+0,
+  0x1.47089p+0,
+  0x1.0353b8p-49,
+  0x1.2a818p+2,
+  0x1.00058p+0,
+  0x1.8a5a7ep+51,
+  0x1p+0,
+  0x1.8dbf04p+0,
+  0x1.5004d8p+61,
+  0x1.9557b2p+1,
+  0x1.0fa92cp+0,
+  0x1.16984ep+8,
+  0x1.72bd7ap+1,
+  0x1.980f0cp+1,
+  0x1.ae63fp+14,
+  0x1p+0,
+  0x1.085224p+0,
+  0x1.d8889ap-1,
+  0x1.1d3ff6p+4,
+  0x1.02c6ecp+1,
+  0x1.73eb4ep+2,
+  0x1.1916fp+4,
+  0x1.4a04e8p+5,
+  0x1.134906p+1,
+  0x1.0002dp+0,
+  0x1p+0,
+  0x1.32db7p+0,
+  0x1.0105b8p+0,
+  0x1.09f78p+0,
+  0x1.1d3e78p+4,
+  0x1.41b184p+0,
+  0x1.134914p+1,
+  0x1.410e6ep+1,
+  0x1.312a4ap-1,
+  0x1.7308f4p+1,
+  0x1p+0,
+  0x1.0afbe8p+0,
+  0x1p+0,
+  0x1.00026ap+0,
+  0x1.2ee012p+0,
+  0x1.001318p+0,
+  0x1.af1034p+4,
+  0x1.687b1cp-24,
+  0x1.a93ap+2,
+  0x1.084598p+0,
+  0x1.37031ap-1,
+  0x1.c046ep+5,
+  0x1.79a75ep+2,
+  0x1.46a9c8p+1,
+  0x1.000766p+0,
+  0x1.245d98p+0,
+  0x1.19287ap+5,
+  0x1.6a0fbep+0,
+  0x1p+0,
+  0x1.011424p+0,
+  0x1.879f4cp+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.4ca7ecp-51,
+  0x1.5818c6p+2,
+  0x1p+0,
+  0x1.b4c9fap+7,
+  0x1.b14384p+0,
+  0x1.082fdp+0,
+  0x1.085672p+8,
+  0x1.918f3cp+6,
+  0x1p+0,
+  0x1.45623ep+0,
+  0x1.95515cp+2,
+  0x1.000068p+0,
+  0x1.31f33ap-1,
+  0x1.f9eed8p+0,
+  0x1.91b218p+6,
+  0x1.331446p-1,
+  0x1.000202p+0,
+  0x1p+0,
+  0x1.3cdfb8p-1,
+  0x1p+0,
+  0x1.08fb58p+7,
+  0x1.4dde38p+5,
+  0x1p+0,
+  0x1.0053a4p+0,
+  0x1p+0,
+  0x1.31e138p+7,
+  0x1p+0,
+  0x1.01c35cp+0,
+  0x1.dba85cp+7,
+  0x1.03682cp+2,
+  0x1.000108p+0,
+  0x1.bff348p+55,
+  0x1.582dbp+1,
+  0x1.31158p+0,
+  0x1.760bep+44,
+  0x1.e43226p+7,
+  0x1.082008p+0,
+  0x1.a03e4cp+7,
+  0x1.00b984p+0,
+  0x1.20c58ep+1,
+  0x1.221c1p+0,
+  0x1.594056p+7,
+  0x1.aabf58p+2,
+  0x1p+0,
+  0x1.b142e4p+0,
+  0x1.8bf166p+5,
+  0x1p+0,
+  0x1.000168p+0,
+  0x1.06c69cp+0,
+  0x1.900166p+4,
+  0x1.621b64p+12,
+  0x1.b142eep+0,
+  0x1p+0,
+  0x1.31c642p-1,
+  0x1p+0,
+  0x1.65b9cap+0,
+  0x1.4adbbep+0,
+  0x1p+0,
+  0x1.858ea2p+0,
+  0x1.076d06p+0,
+  0x1.000dap+0,
+  0x1.70cd96p+2,
+  0x1.347a2p-1,
+  0x1.73c75cp+2,
+  0x1p+0,
+  0x1.180c6ep+8,
+  0x1p+0,
+  0x1.1a32dcp+5,
+  0x1.342abp-1,
+  0x1.4a08p+5,
+  0x1.000484p+0,
+  0x1.e498b4p+7,
+  0x1.91e072p+0,
+  0x1p+0,
+  0x1.9ab2a8p+0,
+  0x1.0001dp+0,
+  0x1.6ab22p+0,
+  0x1.00036p+0,
+  0x1.00042cp+0,
+  0x1.0012a2p+0,
+  0x1.f2b45cp+0,
+  0x1.31b8fep-1,
+  0x1.2a3f48p+1,
+  0x1p+0,
+  0x1.d8ecc8p+49,
+  0x1.b143b2p+0,
+  0x1.4f7516p+0,
+  0x1.09a35cp+0,
+  0x1.000ap+0,
+  0x1.ad259ap+5,
+  0x1.8d9b38p-18,
+  0x1.92ef44p+0,
+  0x1.7407ep+3,
+  0x1.bcb74cp+7,
+  0x1.57d22p+0,
+  0x1.610e16p+0,
+  0x1.2ff3fap-1,
+  0x1.00aefcp+0,
+  0x1.6aaf1cp+0,
+  0x1.000298p+0,
+  0x1.10b236p+0,
+  0x1.2b6a4p+0,
+  0x1.25c852p+3,
+  0x1.000354p+0,
+  0x1p+0,
+  0x1.4fe4c2p+2,
+  0x1.8ea358p+6,
+  0x1.cd77f6p+2,
+  0x1.0000aap+0,
+  0x1.8c2a1ep-19,
+  0x1.000264p+0,
+  0x1.03001p+0,
+  0x1.0c772cp+0,
+  0x1.daea4p+4,
+  0x1p+0,
+  0x1.0f2d5ep+0,
+  0x1p+0,
+  0x1.1604d6p+0,
+  0x1.2f7b08p-1,
+  0x1.0002f4p+0,
+  0x1p+0,
+  0x1.91aaf8p+1,
+  0x1.896624p+0,
+  0x1.0024c2p+0,
+  0x1.0fde8cp+1,
+  0x1.3a7214p+16,
+  0x1.01ff8p+0,
+  0x1.02458p+1,
+  0x1.1d3f4cp+4,
+  0x1p+0,
+  0x1.c0d546p+1,
+  0x1.0ac2d4p+54,
+  0x1p+0,
+  0x1p+0,
+  0x1.75e65p+55,
+  0x1p+0,
+  0x1.010256p+0,
+  0x1.68165p+53,
+  0x1p+0,
+  0x1.013c3p+0,
+  0x1.bc712ep+13,
+  0x1p+0,
+  0x1.71d1cp+5,
+  0x1.49c482p+0,
+  0x1.00665p+0,
+  0x1.386324p+1,
+  0x1.385c4ap-1,
+  0x1p+0,
+  0x1.379e5p+0,
+  0x1.232592p+8,
+  0x1p+0,
+  0x1.000338p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.055404p+0,
+  0x1.208ef8p+1,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.015d52p+0,
+  0x1.9ea35cp+1,
+  0x1.dc7eb4p+18,
+  0x1p+0,
+  0x1p+0,
+  0x1.b3d24ep+7,
+  0x1.fba328p+8,
+  0x1.00c7fp+0,
+  0x1.0d1acep+8,
+  0x1.779a24p+2,
+  0x1p+0,
+  0x1.19499ep+0,
+  0x1.25ddcep+3,
+  0x1.78346cp+3,
+  0x1.428e7ap+49,
+  0x1.003dp+0,
+  0x1p+0,
+  0x1.313dbcp-1,
+  0x1.6fef7p+1,
+  0x1p+0,
+  0x1.2ff116p-1,
+  0x1.00f598p+0,
+  0x1.45ab88p+0,
+  0x1p+0,
+  0x1.a93a36p+2,
+  0x1p+0,
+  0x1.54bb7p+2,
+  0x1p+0,
+  0x1.00004cp+0,
+  0x1.edac12p+0,
+  0x1.40f4fap+0,
+  0x1.45c0bcp+0,
+  0x1.0a2626p+0,
+  0x1.bfa67ap+51,
+  0x1.933f18p+0,
+  0x1p+0,
+  0x1.3f3fe8p+0,
+  0x1.006fc8p+0,
+  0x1.c04aecp+1,
+  0x1.0afc4p+0,
+  0x1.9b2f1ep+3,
+  0x1.11a134p+3,
+  0x1.0624dep-11,
+  0x1.eabf94p+0,
+  0x1.8950d8p+1,
+  0x1.35eba2p-1,
+  0x1.11c438p+0,
+  0x1.02073p+0,
+  0x1.483096p+0,
+  0x1.484bf4p+2,
+  0x1.1b86dcp+0,
+  0x1.0d3c56p+0,
+  0x1.0000e4p+0,
+  0x1.a93b64p+2,
+  0x1.b8db1cp+1,
+  0x1.308c0ep-1,
+  0x1p+0,
+  0x1.1e84fp+0,
+  0x1.3fc808p+0,
+  0x1.19179ap+4,
+  0x1p+0,
+  0x1.f1d3a4p+7,
+  0x1.273d1ep+1,
+  0x1.000a16p+0,
+  0x1.42ead6p+0,
+  0x1.b8c318p+1,
+  0x1.7226dp+1,
+  0x1.43af5cp+0,
+  0x1.450224p+0,
+  0x1.000234p+0,
+  0x1.358bc4p-1,
+  0x1.0000acp+0,
+  0x1.02ef5cp+0,
+  0x1.1d16fap+8,
+  0x1p+0,
+  0x1.0a9be6p+0,
+  0x1.2221d2p+8,
+  0x1.45abbp+0,
+  0x1p+0,
+  0x1.b787f6p-12,
+  0x1.960416p+0,
+  0x1.0af8b6p+1,
+  0x1.232048p+64,
+  0x1.f6b2fp+0,
+  0x1p+0,
+  0x1.02fc3ep+0,
+  0x1.19292ep+5,
+  0x1.00fdcap+0,
+  0x1.51ac2p+1,
+  0x1.020b04p+0,
+  0x1.3fe772p+1,
+  0x1p+0,
+  0x1.3a87dap+0,
+  0x1.00dbf8p+0,
+  0x1.dc825cp+1,
+  0x1.051eap+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.000bp+0,
+  0x1.004874p+0,
+  0x1.ed7906p+14,
+  0x1.ba64fcp+12,
+  0x1.03e86ap+0,
+  0x1.5cdd2p+2,
+  0x1.2fc1c6p-1,
+  0x1.08a1b8p+0,
+  0x1p+0,
+  0x1.4e97bp+62,
+  0x1.364392p+0,
+  0x1.000236p+0,
+  0x1.32f478p-1,
+  0x1.362732p+4,
+  0x1.1d3f0ep+4,
+  0x1.205236p+44,
+  0x1p+0,
+  0x1.93afd4p+2,
+  0x1.2f40ecp-1,
+  0x1p+0,
+  0x1.0fe4a4p+1,
+  0x1.9975e8p+64,
+  0x1.4a93fap+1,
+  0x1.259756p+3,
+  0x1.1e1e64p+8,
+  0x1.000048p+0,
+  0x1p+0,
+  0x1.2f1f74p-1,
+  0x1.7a124ap+0,
+  0x1.5e3f8ep+2,
+  0x1.e58cd8p-1,
+  0x1.b3857ep+0,
+  0x1.6f4da4p+0,
+  0x1p+0,
+  0x1.44caaep+0,
+  0x1.6831b2p+0,
+  0x1.7537bep+1,
+  0x1p+0,
+  0x1.003054p+0,
+  0x1.4934p+2,
+  0x1.00005p+0,
+  0x1.000098p+0,
+  0x1.091ebcp+0,
+  0x1.465e2cp+9,
+  0x1.00017p+0,
+  0x1p+0,
+  0x1.31ab6cp-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.f2386ep+57,
+  0x1.147d32p+3,
+  0x1.e480eep+7,
+  0x1.03b3b2p+0,
+  0x1.02035cp+0,
+  0x1.11d934p+3,
+  0x1.5776d8p+53,
+  0x1.2c73p+0,
+  0x1.63073ap+9,
+  0x1.2041aep+8,
+  0x1p+0,
+  0x1.00594cp+0,
+  0x1.3ee136p+0,
+  0x1p+0,
+  0x1.09548p+1,
+  0x1.05f1f4p-11,
+  0x1.0002a4p+0,
+  0x1.16ac18p+3,
+  0x1.b8531ep+7,
+  0x1.0fd73cp+1,
+  0x1.011f64p+0,
+  0x1.0ff65ep+0,
+  0x1.b1ecfp+4,
+  0x1.8f0888p+0,
+  0x1.f95e02p-1,
+  0x1p+0,
+  0x1.9000cep+0,
+  0x1.e9b4fep+52,
+  0x1.009838p+0,
+  0x1.5ef598p+1,
+  0x1.a6ad24p+7,
+  0x1.4913c6p+0,
+  0x1p+0,
+  0x1.3d7314p+0,
+  0x1p+0,
+  0x1.a591c8p+0,
+  0x1.017966p-13,
+  0x1.9825cep+3,
+  0x1.192898p+5,
+  0x1.cddc2p+42,
+  0x1p+0,
+  0x1p+0,
+  0x1.0dde0ap+8,
+  0x1.0e56e8p+1,
+  0x1.a6fbcep+3,
+  0x1.b92cc8p+7,
+  0x1.d57268p+0,
+  0x1.b8f132p+1,
+  0x1.4c257ap+0,
+  0x1.00000ap+0,
+  0x1.38635p+1,
+  0x1.1cc07ap+45,
+  0x1.71ff7ep+1,
+  0x1.ef8b44p+0,
+  0x1.6cf93ep+51,
+  0x1p+0,
+  0x1p+0,
+  0x1.11f506p+8,
+  0x1.77844ap+0,
+  0x1p+0,
+  0x1.bdd978p+7,
+  0x1.00006ap+0,
+  0x1.0e2602p+1,
+  0x1.045486p+0,
+  0x1.0002c8p+0,
+  0x1.4d67c8p+1,
+  0x1.e5b314p-1,
+  0x1.6a374cp+0,
+  0x1.99db52p+0,
+  0x1.f9eeap-1,
+  0x1.bf7f2cp+5,
+  0x1.da61b4p+4,
+  0x1.488ff4p+0,
+  0x1.003p+0,
+  0x1p+0,
+  0x1.02ffcp+0,
+  0x1.d09a76p+1,
+  0x1.225a2cp+0,
+  0x1.0637f2p+0,
+  0x1.b3893p+0,
+  0x1.00005p+0,
+  0x1.bcc5ccp+59,
+  0x1p+0,
+  0x1.01f38ep+0,
+  0x1.a720ecp+7,
+  0x1.05390cp+1,
+  0x1.bf3ffep+2,
+  0x1.6b9574p+0,
+  0x1.388f0cp+11,
+  0x1.29a6aap+0,
+  0x1.31e90ep-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.2f1498p-1,
+  0x1.0000eep+0,
+  0x1p+0,
+  0x1.3190e2p-1,
+  0x1p+0,
+  0x1.7703c2p+1,
+  0x1.0ffd1cp-24,
+  0x1p+0,
+  0x1p+0,
+  0x1.f5c25p-24,
+  0x1.7407c8p+3,
+  0x1.45abd2p+0,
+  0x1.1304ecp+0,
+  0x1p+0,
+  0x1.0002f4p+0,
+  0x1.cd1cdap+1,
+  0x1.6ef2fp+15,
+  0x1.0002cap+0,
+  0x1.dc83cp+1,
+  0x1.0000ccp+0,
+  0x1.0093cep+0,
+  0x1.0066bap+0,
+  0x1.002dp+0,
+  0x1.0e6c8p+0,
+  0x1.7be50ap+16,
+  0x1.00b348p+0,
+  0x1.089b3p+16,
+  0x1.98b07cp+2,
+  0x1.3389b2p+0,
+  0x1.a41e1ep+7,
+  0x1.7195dep+5,
+  0x1.08b45cp+0,
+  0x1.29c1eap+56,
+  0x1.740b96p+3,
+  0x1.71fef4p+1,
+  0x1.07ba2cp+0,
+  0x1.5ee4a2p+1,
+  0x1p+0,
+  0x1.f9599cp-1,
+  0x1.b9154ep+14,
+  0x1.f8911cp+0,
+  0x1p+0,
+  0x1.373e1p+4,
+  0x1p+0,
+  0x1.00146cp+0,
+  0x1.4a05acp+5,
+  0x1.1928aap+5,
+  0x1.060cecp+0,
+  0x1.773996p+0,
+  0x1.af11c2p-11,
+  0x1p+0,
+  0x1.3f7d98p+7,
+  0x1.1361ep+52,
+  0x1.f9f064p+0,
+  0x1p+0,
+  0x1.a9b908p+7,
+  0x1.c55b46p+0,
+  0x1p+0,
+  0x1.682ec4p+46,
+  0x1.00003p+0,
+  0x1p+0,
+  0x1.2fdba4p-1,
+  0x1.9beca4p+0,
+  0x1.0004a8p+0,
+  0x1.2fb262p-1,
+  0x1.8bf118p+5,
+  0x1.0001aap+0,
+  0x1.31a74p-1,
+  0x1.25db7ep+3,
+  0x1p+0,
+  0x1.197a7cp+1,
+  0x1p+0,
+  0x1.2d315cp+0,
+  0x1.0024f8p+0,
+  0x1.2a7f04p+1,
+  0x1p+0,
+  0x1p+0,
+  0x1.01211cp+0,
+  0x1.f11d7ep-1,
+  0x1.d4f718p+2,
+  0x1.b233dep+0,
+  0x1.6d6b1cp+5,
+  0x1.7724fep+15,
+  0x1p+0,
+  0x1.a86fbap+7,
+  0x1p+0,
+  0x1p+0,
+  0x1.4aa984p+49,
+  0x1.000054p+0,
+  0x1p+0,
+  0x1.33d3f4p-1,
+  0x1p+0,
+  0x1.1b0cd8p+6,
+  0x1.000958p+0,
+  0x1p+0,
+  0x1.49ef4ep+4,
+  0x1.7cc648p+1,
+  0x1p+0,
+  0x1.23470ap+0,
+  0x1.3223a4p+0,
+  0x1p+0,
+  0x1.4d6912p+0,
+  0x1.51e25p+0,
+  0x1p+0,
+  0x1.34962cp+0,
+  0x1.0fdd0cp+1,
+  0x1.0001d8p+0,
+  0x1.38637cp+1,
+  0x1.9de754p+3,
+  0x1.8e020cp+5,
+  0x1.ad9158p+4,
+  0x1.094afap+0,
+  0x1.ea949ep+52,
+  0x1.ec6aa4p+1,
+  0x1.1a5e6cp+4,
+  0x1.07ed56p+0,
+  0x1.711ffp+0,
+  0x1p+0,
+  0x1.062702p+8,
+  0x1.233ffap+18,
+  0x1.10c252p+7,
+  0x1.002a14p+0,
+  0x1.98f468p+0,
+  0x1.833884p+0,
+  0x1p+0,
+  0x1.9179acp+4,
+  0x1.d944c4p-1,
+  0x1.00bc84p+0,
+  0x1p+0,
+  0x1.46c0aep+0,
+  0x1.ad157p+4,
+  0x1.13492cp+1,
+  0x1.4b0ceep+0,
+  0x1.000246p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.176dbep+0,
+  0x1.52e1b8p+0,
+  0x1.050ab8p+0,
+  0x1p+0,
+  0x1.ef2d1p-84,
+  0x1.d0999p+1,
+  0x1.00b594p+0,
+  0x1.19ae42p+54,
+  0x1p+0,
+  0x1p+0,
+  0x1.bf05cap-56,
+  0x1.fba48p+0,
+  0x1.19a5ecp+4,
+  0x1.000518p+0,
+  0x1.cd1cc6p+1,
+  0x1.0008d2p+0,
+  0x1.00291cp+0,
+  0x1.01ae5cp+0,
+  0x1.18229cp+0,
+  0x1.0000d6p+0,
+  0x1.00017p+0,
+  0x1.1083fep-25,
+  0x1p+0,
+  0x1.7d379ap+9,
+  0x1.2f5e0ep-1,
+  0x1.365e38p+0,
+  0x1.000912p+0,
+  0x1.8p+3,
+  0x1.13e39cp+1,
+  0x1p+0,
+  0x1.0ba4aep+0,
+  0x1.9deafcp+3,
+  0x1.2fead4p-1,
+  0x1p+0,
+  0x1.11a49cp+16,
+  0x1.968f3ap+62,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.b85f8ep+6,
+  0x1.141a8ep+8,
+  0x1.0564ecp+0,
+  0x1.c6b168p+2,
+  0x1.05b106p+8,
+  0x1.000298p+0,
+  0x1p+0,
+  0x1.0001fap+0,
+  0x1.000164p+0,
+  0x1.31a84p+0,
+  0x1p+0,
+  0x1.403f5cp+5,
+  0x1.ea62dep-1,
+  0x1p+0,
+  0x1.131eeep+1,
+  0x1.3625d8p+4,
+  0x1.066f0cp+0,
+  0x1.e7a64p+7,
+  0x1.047e06p+0,
+  0x1p+0,
+  0x1.32aad8p-1,
+  0x1p+0,
+  0x1.000118p+0,
+  0x1.1b0d0cp+6,
+  0x1.a11c9p+0,
+  0x1.a2588ep+54,
+  0x1p+0,
+  0x1p+0,
+  0x1.09ffa8p+8,
+  0x1.bb2a7cp+5,
+  0x1p+0,
+  0x1.a1f9p+0,
+  0x1p+0,
+  0x1.f3d4b4p-1,
+  0x1.4dc16ap+5,
+  0x1.3b2274p+4,
+  0x1.457d56p+0,
+  0x1.01cfcp+0,
+  0x1p+0,
+  0x1.a93982p+2,
+  0x1.04054cp+0,
+  0x1.0080fap+0,
+  0x1.dc801cp+0,
+  0x1.0b77bep+1,
+  0x1.013094p+0,
+  0x1.0001e8p+0,
+  0x1.02e2ep+0,
+  0x1p+0,
+  0x1.000094p+0,
+  0x1.fb4382p-1,
+  0x1.00019p+0,
+  0x1.0007b8p+0,
+  0x1.127e1ap+8,
+  0x1p+0,
+  0x1p+0,
+  0x1.0e25cp+1,
+  0x1.2f4b78p+1,
+  0x1.015b26p+8,
+  0x1.0eb20cp+0,
+  0x1.081558p+7,
+  0x1.42ff58p+0,
+  0x1.1c5d1p+6,
+  0x1.887b42p+14,
+  0x1.02904p+1,
+  0x1.7ce25ap+1,
+  0x1.f96d6p-1,
+  0x1.5c64f4p+0,
+  0x1.0005c8p+0,
+  0x1.78e9d4p-33,
+  0x1.da628ep+4,
+  0x1.003634p+0,
+  0x1.3184d6p-1,
+  0x1.bd96f4p+6,
+  0x1.ba5156p+12,
+  0x1.8df4acp+0,
+  0x1p+0,
+  0x1.a3b92p+7,
+  0x1.3e4f26p+11,
+  0x1.543868p+4,
+  0x1.eabfe6p+0,
+  0x1.0073e6p+0,
+  0x1.0f2bdep+8,
+  0x1.3e3c3ep+13,
+  0x1.3884dp+6,
+  0x1p+0,
+  0x1.690fecp+0,
+  0x1.dfa074p-1,
+  0x1.000638p+0,
+  0x1.4a93acp+1,
+  0x1.8dd68ap+0,
+  0x1.0048dcp+0,
+  0x1.002f8ep+0,
+  0x1.00015p+0,
+  0x1.45abbcp+0,
+  0x1.f3f306p-1,
+  0x1.1b639p+0,
+  0x1.ef2d1p-84,
+  0x1.abd54p+0,
+  0x1.36f8aap+2,
+  0x1.e317cep-1,
+  0x1.36f9cap+2,
+  0x1.530ddp+0,
+  0x1.2f74bp+0,
+  0x1.3c4448p+0,
+  0x1.0718dcp+0,
+  0x1.0001bp+0,
+  0x1p+0,
+  0x1.1d3ebap+4,
+  0x1.42e55ap+0,
+  0x1.3ace3ep+50,
+  0x1.5b5108p+1,
+  0x1.13527cp+3,
+  0x1.0002ap+0,
+  0x1.6f3ebcp+2,
+  0x1.b0af06p+7,
+  0x1.016c28p+0,
+  0x1p+0,
+  0x1.4542a6p+0,
+  0x1p+0,
+  0x1.6120cep+55,
+  0x1.02a2p+0,
+  0x1.0714d6p+15,
+  0x1.21293ep+0,
+  0x1.023b38p+0,
+  0x1.000d12p+0,
+  0x1.4d9f06p+15,
+  0x1p+0,
+  0x1.dd3bb4p-1,
+  0x1p+0,
+  0x1.00029ep+0,
+  0x1.eabfa8p+0,
+  0x1.362a2ep+0,
+  0x1.000a5ap+48,
+  0x1.dfbac8p+4,
+  0x1.259742p+3,
+  0x1.0000acp+0,
+  0x1.00cc58p+1,
+  0x1.49155ep+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.30d9ap-1,
+  0x1.02fc6p+0,
+  0x1.3cac76p+0,
+  0x1.b8c472p+1,
+  0x1.8bf1bcp+5,
+  0x1.2cd56p+0,
+  0x1.1d37a6p+0,
+  0x1p+0,
+  0x1.6b03dep+2,
+  0x1p+0,
+  0x1.4bc794p+0,
+  0x1.dc56e6p+1,
+  0x1.b1432ap+0,
+  0x1.5a6574p+2,
+  0x1.a21356p+4,
+  0x1.6269ep+64,
+  0x1.0000dp+0,
+  0x1.10766cp+7,
+  0x1.0096e6p+0,
+  0x1.adf486p+0,
+  0x1.309de8p-1,
+  0x1.085fb4p+0,
+  0x1.3afb0ep+0,
+  0x1.0002a2p+0,
+  0x1.085208p+0,
+  0x1.213daap+8,
+  0x1.000a5ap+0,
+  0x1.503f0cp+0,
+  0x1.000428p+0,
+  0x1.7ee7d4p+16,
+  0x1.8e5064p+61,
+  0x1.3f6054p+7,
+  0x1.3a78a6p+0,
+  0x1.0a197ap+0,
+  0x1.016ea8p+0,
+  0x1.0bbb28p+8,
+  0x1.000014p+0,
+  0x1.0010d4p+0,
+  0x1.5983f8p-26,
+  0x1.2dddep+0,
+  0x1.3f4af4p+0,
+  0x1.15f078p+0,
+  0x1p+0,
+  0x1.8ffae8p-20,
+  0x1.0000a4p+0,
+  0x1.4f32a8p+0,
+  0x1.8bf1f2p+5,
+  0x1.0000fp+0,
+  0x1.1e9612p+0,
+  0x1.000512p+0,
+  0x1.000184p+0,
+  0x1p+0,
+  0x1.4a071ap+5,
+  0x1.316586p-1,
+  0x1.026922p+0,
+  0x1.9323dcp+3,
+  0x1.0530acp+0,
+  0x1.18125p+0,
+  0x1.e39054p-1,
+  0x1.3ad2p+11,
+  0x1.005ad4p+0,
+  0x1.000208p+0,
+  0x1.b85f4cp+6,
+  0x1.002d02p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.da3556p+8,
+  0x1p+0,
+  0x1.02c298p+0,
+  0x1.11a35ep+3,
+  0x1.4a0a02p+1,
+  0x1.02741p+2,
+  0x1p+0,
+  0x1.2749a2p+0,
+  0x1.45abacp+0,
+  0x1p+0,
+  0x1.3920bcp+13,
+  0x1.000054p+0,
+  0x1.4ceda8p+0,
+  0x1p+0,
+  0x1.390b2p+7,
+  0x1.66764ep+7,
+  0x1p+0,
+  0x1.e11478p+7,
+  0x1.0f264cp+0,
+  0x1p+0,
+  0x1.2f7ec2p-1,
+  0x1p+0,
+  0x1.0ac6fcp+8,
+  0x1.3ca396p+0,
+  0x1.9ad138p+5,
+  0x1.e5b8acp+7,
+  0x1.0000b8p+0,
+  0x1.f14fd6p-11,
+  0x1.00009p+0,
+  0x1.01571ep+0,
+  0x1.17c726p+0,
+  0x1.00019p+0,
+  0x1.362514p+4,
+  0x1.004efp+0,
+  0x1.003f5cp+0,
+  0x1.43c41cp+0,
+  0x1p+0,
+  0x1.3e6c78p+12,
+  0x1.000c5cp+0,
+  0x1.3e795cp+6,
+  0x1.b825a6p+7,
+  0x1.ace64p+1,
+  0x1.36f8dp+2,
+  0x1.587484p+0,
+  0x1.94967ap+14,
+  0x1.af98e6p+17,
+  0x1.6488b6p+0,
+  0x1.1d3e98p+4,
+  0x1.009978p+0,
+  0x1.377d08p+0,
+  0x1.2fdc0ep+0,
+  0x1.045768p+0,
+  0x1.f9ef1ap+0,
+  0x1.003e4ap+0,
+  0x1.3e825p+9,
+  0x1.38da1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.00d4a2p+0,
+  0x1.3e6838p+12,
+  0x1.0c24a8p+0,
+  0x1.00012cp+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.001188p+0,
+  0x1.30be32p-1,
+  0x1.d20bfcp+0,
+  0x1.000314p+0,
+  0x1.467b6ap+1,
+  0x1.b14436p+0,
+  0x1.be3eccp+7,
+  0x1.035cc4p+0,
+  0x1p+0,
+  0x1.358ca4p+7,
+  0x1p+0,
+  0x1.052ef8p+8,
+  0x1.08ac7ep+0,
+  0x1p+0,
+  0x1.ef2d1p-84,
+  0x1p+0,
+  0x1.388d04p+56,
+  0x1.003836p+0,
+  0x1.65f1ecp+0,
+  0x1.5b141p+47,
+  0x1.fadea2p+0,
+  0x1.d1e872p+59,
+  0x1p+0,
+  0x1.acd704p+0,
+  0x1.d46c0ap-34,
+  0x1p+0,
+  0x1.015a84p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.02161ep+0,
+  0x1p+0,
+  0x1.02283cp+0,
+  0x1.2fb3d8p+2,
+  0x1.3b1854p+4,
+  0x1.9a69d8p+48,
+  0x1.f9ef08p+0,
+  0x1.7e849cp+3,
+  0x1.eabffp+0,
+  0x1.054884p+0,
+  0x1.9faadcp+7,
+  0x1.01dbfep+0,
+  0x1.a9a6aap+1,
+  0x1p+0,
+  0x1.ae82b2p+5,
+  0x1.423f6p-20,
+  0x1.42e57p+0,
+  0x1.41466p+2,
+  0x1p+0,
+  0x1.49ef3ep+4,
+  0x1.f264ccp-1,
+  0x1.0084dap+0,
+  0x1.07aabap+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.009f06p+0,
+  0x1.008b44p+0,
+  0x1.3e2b8cp+5,
+  0x1.000324p+0,
+  0x1.0c4158p+0,
+  0x1.32644cp-1,
+  0x1.1929dp+5,
+  0x1.8ac548p+4,
+  0x1.01b036p+0,
+  0x1.7e3a98p+5,
+  0x1.34bc8p-1,
+  0x1.b14336p+0,
+  0x1.0cb4e2p+0,
+  0x1.b931bp+12,
+  0x1.2358fp+1,
+  0x1.f23b6cp+51,
+  0x1p+0,
+  0x1.16fa4cp+4,
+  0x1.0baf84p+0,
+  0x1.a856a8p+5,
+  0x1.066f6p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.20b7bp+0,
+  0x1.3fe392p+0,
+  0x1.388ae2p+0,
+  0x1.00035cp+0,
+  0x1.3adcf2p+12,
+  0x1.30393p-1,
+  0x1.e17338p+1,
+  0x1.aa6b1ap+7,
+  0x1.0000b6p+0,
+  0x1p+0,
+  0x1.345b46p-1,
+  0x1.74921cp+8,
+  0x1.b29bd6p+7,
+  0x1p+0,
+  0x1.77c706p+2,
+  0x1.c4d8ecp+65,
+  0x1.8d98bp+0,
+  0x1.8b8002p-6,
+  0x1.3881ecp+15,
+  0x1.010cd4p+0,
+  0x1.c8fdaap+7,
+  0x1.72b958p+2,
+  0x1.965c1cp+3,
+  0x1p+0,
+  0x1p+0,
+  0x1.2a515cp+0,
+  0x1.cd1e9p+1,
+  0x1.006674p+0,
+  0x1p+0,
+  0x1.66e4cp+2,
+  0x1.13aa9ep+8,
+  0x1p+0,
+  0x1.13101cp+1,
+  0x1.0004ecp+0,
+  0x1p+0,
+  0x1.c51ad2p+7,
+  0x1p+0,
+  0x1.2a0908p+8,
+  0x1.000182p+0,
+  0x1.ac40fcp+2,
+  0x1.30f308p-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.1ceeaep+7,
+  0x1.0000a4p+0,
+  0x1.f407acp+7,
+  0x1.36f98ep+2,
+  0x1.1c60a8p+10,
+  0x1.617238p+12,
+  0x1p+0,
+  0x1.48fb3ap+0,
+  0x1p+0,
+  0x1.000d5p+0,
+  0x1.33833cp-1,
+  0x1p+0,
+  0x1.41be46p+51,
+  0x1.238e58p+0,
+  0x1.00266cp+0,
+  0x1.9fc4bp+58,
+  0x1.000618p+0,
+  0x1.88a592p+48,
+  0x1.0001c8p+0,
+  0x1p+0,
+  0x1.51c89cp+0,
+  0x1.317344p+7,
+  0x1.308e8ap-1,
+  0x1p+0,
+  0x1.0387e6p+0,
+  0x1.454a32p+0,
+  0x1.74a828p+7,
+  0x1.f57daep-8,
+  0x1.287a44p+0,
+  0x1.b84b08p+2,
+  0x1.27fc5ap+0,
+  0x1p+0,
+  0x1.0e423p+1,
+  0x1p+0,
+  0x1.079ddp+0,
+  0x1.f49a74p+14,
+  0x1.0f47bp+0,
+  0x1.9000bap+4,
+  0x1.000244p+0,
+  0x1p+0,
+  0x1.4a38ep+0,
+  0x1.36f8bp+2,
+  0x1.6bf43cp+0,
+  0x1.a3a9f4p+1,
+  0x1.001d24p+0,
+  0x1.106f8ap+0,
+  0x1.0003ep+0,
+  0x1.00025p+0,
+  0x1.89be24p+0,
+  0x1.3d65b4p+6,
+  0x1.44b46ep+0,
+  0x1.5caecap+1,
+  0x1.00327cp+2,
+  0x1.54bbep+2,
+  0x1.2597aap+3,
+  0x1.059a5ap-11,
+  0x1.43884ep+2,
+  0x1p+0,
+  0x1.c04628p+9,
+  0x1p+0,
+  0x1.c1b9bp-49,
+  0x1.73ed24p+2,
+  0x1.000598p+0,
+  0x1.44105p+0,
+  0x1.b7c192p+5,
+  0x1.312178p-1,
+  0x1p+0,
+  0x1.f9efc2p+0,
+  0x1.014252p-51,
+  0x1.017a66p+0,
+  0x1.1f3de4p+8,
+  0x1.02b182p+0,
+  0x1.257372p+0,
+  0x1.93944ap+48,
+  0x1.e2305cp+1,
+  0x1.3e0ee6p-8,
+  0x1.00011ep+0,
+  0x1.a31448p+5,
+  0x1.8c9ca6p+48,
+  0x1.194216p+0,
+  0x1p+0,
+  0x1.5cc2ap+2,
+  0x1p+0,
+  0x1.506fe6p+49,
+  0x1.2588fp+0,
+  0x1.26ffaep+1,
+  0x1p+0,
+  0x1p+0,
+  0x1.4ff01ap+66,
+  0x1.00009cp+0,
+  0x1.000f38p+0,
+  0x1.00e4d6p+0,
+  0x1.001d5cp+0,
+  0x1.02b29cp+50,
+  0x1.358d1p+7,
+  0x1.3eff02p+8,
+  0x1.900058p+4,
+  0x1.3ae0bcp+13,
+  0x1.034d3ep+0,
+  0x1.b9346p+5,
+  0x1p+0,
+  0x1.71b9cp+0,
+  0x1.2f7456p+0,
+  0x1.47ccf2p+0,
+  0x1.498974p+0,
+  0x1.046cb8p+0,
+  0x1.458c62p+1,
+  0x1.a93bf4p+2,
+  0x1.0f113ap+8,
+  0x1p+0,
+  0x1.04ae52p+0,
+  0x1.7c2a68p+0,
+  0x1.3b24fep+9,
+  0x1.04ef5p-11,
+  0x1.11a28ap+3,
+  0x1p+0,
+  0x1.056b24p+1,
+  0x1.0000e4p+0,
+  0x1.2c01cap+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.c61f72p+15,
+  0x1p+0,
+  0x1.02fc2ap+0,
+  0x1p+0,
+  0x1.093acep+0,
+  0x1.5643eap+53,
+  0x1p+0,
+  0x1.0087a8p-47,
+  0x1.2f5868p+0,
+  0x1.38e848p+10,
+  0x1.e5c11cp+7,
+  0x1p+0,
+  0x1.129e64p+8,
+  0x1.5c6c98p+1,
+  0x1.00015ap+0,
+  0x1.b745e2p+48,
+  0x1.1bfb08p+0,
+  0x1.a92b86p+5,
+  0x1.7c2a54p+0,
+  0x1p+0,
+  0x1.3334b6p+0,
+  0x1.b5c006p+5,
+  0x1p+0,
+  0x1.bec8c6p+16,
+  0x1p+0,
+  0x1.dc5496p-1,
+  0x1.0a88ep+0,
+  0x1.f95e78p+1,
+  0x1p+0,
+  0x1.0037b4p+0,
+  0x1.1eaf62p+8,
+  0x1p+0,
+  0x1.43bfcp+5,
+  0x1.3af986p+15,
+  0x1.03dbf4p+0,
+  0x1.b1b5a8p-12,
+  0x1p+0,
+  0x1.90007ep+0,
+  0x1.0003b4p+0,
+  0x1p+0,
+  0x1.f8f086p-12,
+  0x1.dd7178p+4,
+  0x1.00207p+0,
+  0x1.118916p+0,
+  0x1p+0,
+  0x1.a298c4p+7,
+  0x1.006a6cp+0,
+  0x1.1dfa5p+0,
+  0x1.327c54p-1,
+  0x1p+0,
+  0x1.f7e922p-1,
+  0x1.3e365ap+13,
+  0x1p+0,
+  0x1.04318ap+0,
+  0x1.52381cp+0,
+  0x1.60a298p-1,
+  0x1.000076p+0,
+  0x1.977c42p+14,
+  0x1.a8cb5cp+7,
+  0x1.1b0d18p+6,
+  0x1.29cedp+0,
+  0x1.15a46ap+1,
+  0x1p+0,
+  0x1.639aaep-12,
+  0x1.004a8cp+0,
+  0x1.0ab1bcp+1,
+  0x1.b85ecp+6,
+  0x1.36279ep+4,
+  0x1.22ae32p+8,
+  0x1.615228p+1,
+  0x1.000898p+0,
+  0x1.001968p+0,
+  0x1p+0,
+  0x1.2f791ap-1,
+  0x1.00001cp+0,
+  0x1p+0,
+  0x1.0627aep+0,
+  0x1.0e38d4p+5,
+  0x1.490936p+57,
+  0x1p+0,
+  0x1.000358p+0,
+  0x1.57b4bp+7,
+  0x1.4b4766p+0,
+  0x1.26da06p+0,
+  0x1.cd1ec6p+1,
+  0x1.38ee44p+15,
+  0x1.c0ffbcp+15,
+  0x1.01caacp+0,
+  0x1.e2a336p-1,
+  0x1p+0,
+  0x1.0c69f4p+2,
+  0x1.50a08cp+55,
+  0x1.10d0b8p+0,
+  0x1.1eed7p+1,
+  0x1.b14428p+0,
+  0x1.004f94p+0,
+  0x1.31c2acp-1,
+  0x1p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.b47948p+0,
+  0x1.78d5eap+51,
+  0x1.01316ep+0,
+  0x1.4a937cp+0,
+  0x1.1ba54ap+1,
+  0x1.6ba304p+0,
+  0x1.3591c6p-1,
+  0x1p+0,
+  0x1.08a91ap+8,
+  0x1.19ade8p+0,
+  0x1.01535ap+0,
+  0x1.317184p-1,
+  0x1.36f9a4p+2,
+  0x1.7f08a8p+0,
+  0x1p+0,
+  0x1.00013p+0,
+  0x1.ff478p-1,
+  0x1.27e0d2p+0,
+  0x1.0ecbacp+7,
+  0x1.8dd6acp+0,
+  0x1.100ecep+0,
+  0x1.25edd8p+8,
+  0x1.198a9p+0,
+  0x1p+0,
+  0x1.5c6cc2p+1,
+  0x1.016276p+0,
+  0x1.329f88p-1,
+  0x1.9e35ap+0,
+  0x1.004612p+0,
+  0x1.fb9b82p-1,
+  0x1.000d84p+0,
+  0x1.43e8a8p+0,
+  0x1.57e548p+1,
+  0x1.057f18p+0,
+  0x1.a6dfbep+7,
+  0x1p+0,
+  0x1.341ce2p-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.fcbce2p+56,
+  0x1.004454p+0,
+  0x1.909ec2p-6,
+  0x1p+0,
+  0x1.58649p+9,
+  0x1.4b96e6p+49,
+  0x1.3ca38cp+0,
+  0x1.00033ep+0,
+  0x1.0099f4p+0,
+  0x1p+0,
+  0x1.21869p+8,
+  0x1p+0,
+  0x1.65b514p+16,
+  0x1p+0,
+  0x1.740878p+3,
+  0x1.a4cea2p+43,
+  0x1.b143fep+0,
+  0x1.25ed36p+4,
+  0x1.003d7ap+0,
+  0x1.0d82d4p+1,
+  0x1.3389ap-1,
+  0x1p+0,
+  0x1.11a222p+3,
+  0x1.983f38p+3,
+  0x1.000162p+0,
+  0x1.46b986p+0,
+  0x1.3e3e9cp+8,
+  0x1.58747p+0,
+  0x1.45632cp+0,
+  0x1.3f738cp+3,
+  0x1.00d0bp+0,
+  0x1.5dca1p+0,
+  0x1p+0,
+  0x1.43257p+0,
+  0x1.0b38fap+0,
+  0x1.1ca4aep+8,
+  0x1p+0,
+  0x1p+0,
+  0x1.319a2p-1,
+  0x1.2d4fd4p+5,
+  0x1.02f006p+0,
+  0x1.e0c05ap+4,
+  0x1.98f464p+0,
+  0x1.05db3ap+8,
+  0x1.a2bd9ep+2,
+  0x1.a05a58p+0,
+  0x1.8bf254p+5,
+  0x1.3eb04cp+4,
+  0x1.3140a6p-1,
+  0x1.011d98p+0,
+  0x1p+0,
+  0x1.000ac8p+0,
+  0x1.3b2774p+10,
+  0x1.44d29p+0,
+  0x1p+0,
+  0x1.009f9ep+0,
+  0x1.0a8702p+2,
+  0x1.1349bep+1,
+  0x1.a585b4p+7,
+  0x1.00f23cp+0,
+  0x1.338168p+0,
+  0x1p+0,
+  0x1.3e7816p+14,
+  0x1.0e9d14p+0,
+  0x1.8f53ccp+1,
+  0x1.28c922p+0,
+  0x1.6bb30ep+15,
+  0x1.b58932p+14,
+  0x1.1c682p+0,
+  0x1.00846p+0,
+  0x1.00240cp+0,
+  0x1.000674p+0,
+  0x1.2c71ep+3,
+  0x1.750298p+67,
+  0x1.364684p+0,
+  0x1.134676p+16,
+  0x1.47a244p+0,
+  0x1p+0,
+  0x1.dee22ep-1,
+  0x1.3e8204p+9,
+  0x1.00007p+0,
+  0x1.31f1e6p-1,
+  0x1p+0,
+  0x1.a187f8p+7,
+  0x1.0097e4p+0,
+  0x1.08e1b2p+0,
+  0x1.0e3e7ap+0,
+  0x1.0006fap+0,
+  0x1p+0,
+  0x1.358ca6p+7,
+  0x1.83bcacp+3,
+  0x1.4603f4p+0,
+  0x1.3093c8p+0,
+  0x1.5c6cap+1,
+  0x1.1f5efcp+0,
+  0x1.6ba3e8p+0,
+  0x1.cba7b2p+7,
+  0x1.015e1ep+0,
+  0x1.b85f58p+6,
+  0x1.dc835ep+1,
+  0x1.000598p+0,
+  0x1.f9551ap-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.0a67fp+0,
+  0x1.1bdf58p+0,
+  0x1.f75026p-1,
+  0x1.5e3b5p+1,
+  0x1.3f9b72p+0,
+  0x1.8ff798p-51,
+  0x1.0115bap+0,
+  0x1.4e13fcp+0,
+  0x1.6d6c54p+5,
+  0x1.0e7538p+0,
+  0x1.dcf5d8p-12,
+  0x1.134aa6p+1,
+  0x1.b7cc8p+12,
+  0x1.3e46dap+12,
+  0x1p+0,
+  0x1.3fb2fep+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.0f8834p+0,
+  0x1p+0,
+  0x1.2f8fc8p-1,
+  0x1.0032aap+0,
+  0x1.0134d4p+0,
+  0x1.0006ecp+0,
+  0x1.36f9b8p+2,
+  0x1.d32d7p+43,
+  0x1.65f516p+1,
+  0x1.a71662p+5,
+  0x1.02731cp+2,
+  0x1.00002cp+0,
+  0x1.090ap+0,
+  0x1.8ce46ep+6,
+  0x1.0001bp+0,
+  0x1.003c82p+0,
+  0x1.a2cb78p+5,
+  0x1.1b3cc6p+0,
+  0x1p+0,
+  0x1.000698p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.0a01d2p+50,
+  0x1.000b52p+0,
+  0x1.63092ep+0,
+  0x1.0011fcp+0,
+  0x1.684b74p+2,
+  0x1.782834p+49,
+  0x1.213286p+0,
+  0x1.2b13b6p+9,
+  0x1.383ep+0,
+  0x1.f91f5cp+2,
+  0x1.bf1f3cp+7,
+  0x1.3e44f4p+7,
+  0x1p+0,
+  0x1.4637a4p+0,
+  0x1.3e8c48p+12,
+  0x1.192a3cp+8,
+  0x1.0008c2p+0,
+  0x1p+0,
+  0x1.01a4b6p+8,
+  0x1.0002d8p+0,
+  0x1.001054p-6,
+  0x1p+0,
+  0x1.275d2cp+0,
+  0x1.320582p-1,
+  0x1.02643ep+0,
+  0x1.aa4074p+5,
+  0x1.02528cp+0,
+  0x1.0adc1p+7,
+  0x1.e25f42p-1,
+  0x1p+0,
+  0x1.0076ap+0,
+  0x1.0008acp+0,
+  0x1.783ba4p+3,
+  0x1.01af66p+0,
+  0x1.192eep+0,
+  0x1.132ea6p+7,
+  0x1.a93964p+2,
+  0x1.9bc85p+14,
+  0x1.1e3f46p+8,
+  0x1.1d8db6p+13,
+  0x1.0007cap+0,
+  0x1.2fa568p-1,
+  0x1.3e8fd4p+12,
+  0x1.2f5bf6p-1,
+  0x1.a0994cp+14,
+  0x1.7ed6b2p+0,
+  0x1.0f2b1ap+0,
+  0x1.4ab6e6p+1,
+  0x1.04c838p+8,
+  0x1.000034p+0,
+  0x1p+0,
+  0x1.eadcd6p-1,
+  0x1.00008p+0,
+  0x1.12103cp-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.2f93bp-1,
+  0x1.7b4b16p+5,
+  0x1.38fe8cp+6,
+  0x1p+0,
+  0x1.36f96cp+2,
+  0x1.716462p+39,
+  0x1.000048p+0,
+  0x1.7c680ep+4,
+  0x1p+0,
+  0x1.28cbfap+0,
+  0x1.a416eap+41,
+  0x1p+0,
+  0x1.57e51p+1,
+  0x1.0004f4p+0,
+  0x1p+0,
+  0x1.3167b6p-1,
+  0x1.984032p+3,
+  0x1.04f21ep+0,
+  0x1p+0,
+  0x1.73ed4p+2,
+  0x1.0f4eb8p+8,
+  0x1p+0,
+  0x1.2df9p+5,
+  0x1.54bbf8p+2,
+  0x1.0bf9a4p+0,
+  0x1.a91d34p+63,
+  0x1.130ed8p+0,
+  0x1p+0,
+  0x1.00036ap+0,
+  0x1.3ae7aep+8,
+  0x1.16524ap+8,
+  0x1.9f774ap+0,
+  0x1.ba601cp+2,
+  0x1.bb2f0cp+12,
+  0x1.a93bd4p+2,
+  0x1.32e318p+0,
+  0x1.0ab44ap+0,
+  0x1p+0,
+  0x1.2f871ep-1,
+  0x1p+0,
+  0x1.a78356p+7,
+  0x1.001e8cp+0,
+  0x1.4a08dap+5,
+  0x1.069e1cp+0,
+  0x1.e3e184p+1,
+  0x1.f60012p+18,
+  0x1p+0,
+  0x1.b8600ep+6,
+  0x1.300bc6p-1,
+  0x1.76f83cp+6,
+  0x1.16f978p+0,
+  0x1.0003a4p+0,
+  0x1.0b4f22p+7,
+  0x1.37409cp+0,
+  0x1p+0,
+  0x1.3e95dp+12,
+  0x1.00098p+0,
+  0x1.004038p+0,
+  0x1.301bfep-1,
+  0x1p+0,
+  0x1.9c872ep+0,
+  0x1.378344p+16,
+  0x1.18c55cp+0,
+  0x1.274a0ep-20,
+  0x1.2811b2p+0,
+  0x1p+0,
+  0x1.ba668cp+12,
+  0x1.7f2c8ap+13,
+  0x1.0f72fcp+8,
+  0x1.6308a6p+0,
+  0x1.b0cac6p+13,
+  0x1.4837p+0,
+  0x1p+0,
+  0x1.40bd6cp+0,
+  0x1p+0,
+  0x1.39133p+12,
+  0x1.c62f4cp+46,
+  0x1.0004bcp+0,
+  0x1.12257ap+8,
+  0x1p+0,
+  0x1.85645cp+9,
+  0x1.4cb85ep+0,
+  0x1p+0,
+  0x1.a234a8p-1,
+  0x1p+0,
+  0x1p+0,
+  0x1.3cf408p-27,
+  0x1.0e263ep+1,
+  0x1.00026p+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.332f2cp-1,
+  0x1.04bb28p+0,
+  0x1.4a67cap+0,
+  0x1.0003dcp+0,
+  0x1p+0,
+  0x1.3482d4p-1,
+  0x1.134a04p+1,
+  0x1p+0,
+  0x1.9000ecp+4,
+  0x1p+0,
+  0x1.2f4e26p-1,
+  0x1.0395dp+9,
+  0x1.38dbb4p+11,
+  0x1p+0,
+  0x1.049432p+0,
+  0x1.1a9a96p+8,
+  0x1.54bcd2p+2,
+  0x1.14487cp+0,
+  0x1.020458p+0,
+  0x1.000b9p+0,
+  0x1.32254cp-1,
+  0x1.73ed2ep+2,
+  0x1p+0,
+  0x1.3d8be4p+0,
+  0x1.3e96d4p+15,
+  0x1.ffa44cp-1,
+  0x1.11a334p+3,
+  0x1.08317p+0,
+  0x1.000238p+0,
+  0x1.3e498p+9,
+  0x1.3389eap-1,
+  0x1.36f9ccp+2,
+  0x1.0bbe0ap+0,
+  0x1.0b53f4p+8,
+  0x1p+0,
+  0x1.0e42d2p+0,
+  0x1.d22332p+18,
+  0x1p+0,
+  0x1.05197ep+0,
+  0x1.205a74p+1,
+  0x1p+0,
+  0x1.0086dp+0,
+  0x1p+0,
+  0x1.296a6cp+0,
+  0x1.7ced1p+2,
+  0x1p+0,
+  0x1p+0,
+  0x1.0053eep+0,
+  0x1.09c5dcp+0,
+  0x1p+0,
+  0x1.a07194p+9,
+  0x1.0a151ap+0,
+  0x1.01e6ccp+0,
+  0x1.ef2d1p-84,
+  0x1.8eb89cp+3,
+  0x1.15dbb6p+0,
+  0x1.00307ap+0,
+  0x1.03571ep+0,
+  0x1.f5292ep-1,
+  0x1.59f064p+0,
+  0x1.0e26a8p+1,
+  0x1.6d6ab4p+5,
+  0x1.7ad0fcp+6,
+  0x1.40fc28p+0,
+  0x1.c6b9p+14,
+  0x1.071bfcp+0,
+  0x1.b0cb28p+7,
+  0x1.1614b2p+1,
+  0x1.4bdc7ep+0,
+  0x1.358db8p+7,
+  0x1.405dp+3,
+  0x1.0461d4p+0,
+  0x1p+0,
+  0x1.a8b5b2p+7,
+  0x1.130dbap+7,
+  0x1.259792p+3,
+  0x1.2fcf92p-1,
+  0x1.0092d2p+0,
+  0x1.0fea96p+0,
+  0x1.000024p+0,
+  0x1.a0abccp+5,
+  0x1.3b1076p+0,
+  0x1.192914p+5,
+  0x1.85f5dap-9,
+  0x1.0b2ae8p+0,
+  0x1.dc84ap+1,
+  0x1.2121acp+8,
+  0x1.b144fep+0,
+  0x1.131a68p+1,
+  0x1.28131p+0,
+  0x1.35dc48p+5,
+  0x1.b81b5p-51,
+  0x1.0a1caep+0,
+  0x1.f9ef34p+0,
+  0x1.95da52p+0,
+  0x1p+0,
+  0x1.3032a2p-1,
+  0x1.1cc56ep+0,
+  0x1.c77bfcp+0,
+  0x1.05370ep+0,
+  0x1.d6d0c6p+2,
+  0x1.2fbfap-1,
+  0x1p+0,
+  0x1.0000b8p+2,
+  0x1.b8c316p+1,
+  0x1.00010cp+0,
+  0x1.028104p+0,
+  0x1p+0,
+  0x1.13f12cp+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.fb7e4ep+53,
+  0x1p+0,
+  0x1.780d04p+9,
+  0x1.1973c4p+6,
+  0x1.b09184p+0,
+  0x1.b4ed32p+51,
+  0x1p+0,
+  0x1.00b82p+0,
+  0x1.198ba4p+0,
+  0x1.57b63cp+7,
+  0x1.0016d4p+0,
+  0x1p+0,
+  0x1.01a3e4p+0,
+  0x1.e8d11ep+44,
+  0x1.b7e5d4p+13,
+  0x1.00667cp+0,
+  0x1.06ed08p+0,
+  0x1.05f47ap+0,
+  0x1.4aa86ap+0,
+  0x1.04aeap+0,
+  0x1p+0,
+  0x1p+0,
+  0x1.3b13a8p+11,
+  0x1.596846p+47,
+  0x1.0d8c64p+0,
+  0x1.0012aap+0,
+  0x1p+0,
+};
diff --git a/benchmarks/math_benchmark.cpp b/benchmarks/math_benchmark.cpp
index ccb3555..d64830a 100644
--- a/benchmarks/math_benchmark.cpp
+++ b/benchmarks/math_benchmark.cpp
@@ -23,7 +23,6 @@
 static const double values[] = { 1234.0, nan(""), HUGE_VAL, 0.0 };
 static const char* names[] = { "1234.0", "nan", "HUGE_VAL", "0.0" };
 
-
 static void SetLabel(benchmark::State& state) {
   state.SetLabel(names[state.range(0)]);
 }
@@ -31,6 +30,9 @@
 // Avoid optimization.
 volatile double d;
 volatile double v;
+volatile float f;
+
+static float zero = 0.0f;
 
 static void BM_math_sqrt(benchmark::State& state) {
   d = 0.0;
@@ -230,3 +232,213 @@
   }
 }
 BIONIC_BENCHMARK(BM_math_sincos);
+
+#include "expf_input.cpp"
+
+static void BM_math_expf_speccpu2017(benchmark::State& state) {
+  f = 0.0;
+  auto cin = expf_input.cbegin();
+  for (auto _ : state) {
+    f = expf(*cin);
+    if (++cin == expf_input.cend())
+      cin = expf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_expf_speccpu2017);
+
+static void BM_math_expf_speccpu2017_latency(benchmark::State& state) {
+  f = 0.0;
+  auto cin = expf_input.cbegin();
+  for (auto _ : state) {
+    f = expf(f * zero + *cin);
+    if (++cin == expf_input.cend())
+      cin = expf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_expf_speccpu2017_latency);
+
+static void BM_math_exp2f_speccpu2017(benchmark::State& state) {
+  f = 0.0;
+  auto cin = expf_input.cbegin();
+  for (auto _ : state) {
+    f = exp2f(*cin);
+    if (++cin == expf_input.cend())
+      cin = expf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_exp2f_speccpu2017);
+
+static void BM_math_exp2f_speccpu2017_latency(benchmark::State& state) {
+  f = 0.0;
+  auto cin = expf_input.cbegin();
+  for (auto _ : state) {
+    f = exp2f(f * zero + *cin);
+    if (++cin == expf_input.cend())
+      cin = expf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_exp2f_speccpu2017_latency);
+
+#include "powf_input.cpp"
+
+static void BM_math_powf_speccpu2006(benchmark::State& state) {
+  f = 0.0;
+  auto cin = powf_input.cbegin();
+  for (auto _ : state) {
+    f = powf(cin->first, cin->second);
+    if (++cin == powf_input.cend())
+      cin = powf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_powf_speccpu2006);
+
+static void BM_math_powf_speccpu2017_latency(benchmark::State& state) {
+  f = 0.0;
+  auto cin = powf_input.cbegin();
+  for (auto _ : state) {
+    f = powf(f * zero + cin->first, cin->second);
+    if (++cin == powf_input.cend())
+      cin = powf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_powf_speccpu2017_latency);
+
+#include "logf_input.cpp"
+
+static void BM_math_logf_speccpu2017(benchmark::State& state) {
+  f = 0.0;
+  auto cin = logf_input.cbegin();
+  for (auto _ : state) {
+    f = logf(*cin);
+    if (++cin == logf_input.cend())
+      cin = logf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_logf_speccpu2017);
+
+static void BM_math_logf_speccpu2017_latency(benchmark::State& state) {
+  f = 0.0;
+  auto cin = logf_input.cbegin();
+  for (auto _ : state) {
+    f = logf(f * zero + *cin);
+    if (++cin == logf_input.cend())
+      cin = logf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_logf_speccpu2017_latency);
+
+static void BM_math_log2f_speccpu2017(benchmark::State& state) {
+  f = 0.0;
+  auto cin = logf_input.cbegin();
+  for (auto _ : state) {
+    f = log2f(*cin);
+    if (++cin == logf_input.cend())
+      cin = logf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_log2f_speccpu2017);
+
+static void BM_math_log2f_speccpu2017_latency(benchmark::State& state) {
+  f = 0.0;
+  auto cin = logf_input.cbegin();
+  for (auto _ : state) {
+    f = log2f(f * zero + *cin);
+    if (++cin == logf_input.cend())
+      cin = logf_input.cbegin();
+  }
+}
+BIONIC_BENCHMARK(BM_math_log2f_speccpu2017_latency);
+
+// Four ranges of values are checked:
+// * 0.0 <= x < 0.1
+// * 0.1 <= x < 0.7
+// * 0.7 <= x < 3.1
+// * -3.1 <= x < 3.1
+// * 3.3 <= x < 33.3
+// * 100.0 <= x < 1000.0
+// * 1e6 <= x < 1e32
+// * 1e32 < x < FLT_MAX
+
+#include "sincosf_input.cpp"
+
+static void BM_math_sinf(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    f = sinf(*cin);
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_sinf, "MATH_SINCOS_COMMON");
+
+static void BM_math_sinf_latency(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    f = sinf(f * zero + *cin);
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_sinf_latency, "MATH_SINCOS_COMMON");
+
+static void BM_math_cosf(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    f = cosf(*cin);
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_cosf, "MATH_SINCOS_COMMON");
+
+static void BM_math_cosf_latency(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    f = cosf(f * zero + *cin);
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_cosf_latency, "MATH_SINCOS_COMMON");
+
+static void BM_math_sincosf(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    float s, c;
+    sincosf(*cin, &s, &c);
+    f += s;
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_sincosf, "MATH_SINCOS_COMMON");
+
+static void BM_math_sincosf_latency(benchmark::State& state) {
+  auto range = sincosf_input[state.range(0)];
+  auto cin = range.values.cbegin();
+  f = 0.0;
+  for (auto _ : state) {
+    float s, c;
+    sincosf(f * zero + *cin, &s, &c);
+    f += s;
+    if (++cin == range.values.cend())
+      cin = range.values.cbegin();
+  }
+  state.SetLabel(range.label);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_math_sincosf_latency, "MATH_SINCOS_COMMON");
diff --git a/benchmarks/powf_input.cpp b/benchmarks/powf_input.cpp
new file mode 100644
index 0000000..f28cc79
--- /dev/null
+++ b/benchmarks/powf_input.cpp
@@ -0,0 +1,2218 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ * 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.
+ *
+ * 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.
+ */
+
+// Reduced trace based on 2.3 billion samples extracted from specpu2017
+// 521.wrf_r benchmark.
+static const std::vector<std::pair<float, float>> powf_input = {
+  {0x1.00daap+0, 0x1.249236p-2},
+  {0x1.3e510ap-4, 0x1.19999ap+0},
+  {0x1.66c872p-3, 0x1.666666p+0},
+  {0x1.897858p+1, 0x1.19999ap+0},
+  {0x1.a6efc4p-2, 0x1.666666p+0},
+  {0x1.3fc088p+8, 0x1.51eb86p-2},
+  {0x1.03e8bcp-1, 0x1.666666p+0},
+  {0x1.3f0094p+10, 0x1.51eb86p-2},
+  {0x1.f6c41ep-1, 0x1.249236p-2},
+  {0x1.3880bap+12, 0x1.19999ap+0},
+  {0x1.003a1p+0, 0x1.d1746p-1},
+  {0x1.391bc6p-2, 0x1.19999ap+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0005c4p+0, 0x1.51eb86p-2},
+  {0x1.7800b4p+8, 0x1.51eb86p-2},
+  {0x1.06db5p-3, 0x1.666666p+0},
+  {0x1.6e98b2p+5, 0x1.51eb86p-2},
+  {0x1.8c241cp-1, 0x1.249236p-2},
+  {0x1.970124p+3, 0x1.51eb86p-2},
+  {0x1.9dadfcp-3, 0x1.666666p+0},
+  {0x1.8700f8p+4, 0x1.51eb86p-2},
+  {0x1.a3269ep-2, 0x1.666666p+0},
+  {0x1.00258ep+0, 0x1.d1746p-1},
+  {0x1.e80102p+6, 0x1.d1746p-1},
+  {0x1.000d5ep+0, 0x1.51eb86p-2},
+  {0x1.3f4104p+9, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e7e468p+6, 0x1.d1746p-1},
+  {0x1.ef66e8p-1, 0x1.249236p-2},
+  {0x1.778238p+9, 0x1.51eb86p-2},
+  {0x1.9a0caep-1, 0x1.249236p-2},
+  {0x1.00013ep+0, 0x1.99999ap-2},
+  {0x1.5ae57ap-1, 0x1.666666p+0},
+  {0x1.3e4dcap+11, 0x1.19999ap+0},
+  {0x1.97e8acp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.0dd4ccp+5, 0x1.19999ap+0},
+  {0x1.60dfdep-3, 0x1.19999ap+0},
+  {0x1.c99286p-4, 0x1.19999ap+0},
+  {0x1.0001d6p+0, 0x1.51eb86p-2},
+  {0x1.917594p+5, 0x1.51eb86p-2},
+  {0x1.3c751cp-1, 0x1.666666p+0},
+  {0x1.318c4cp+0, 0x1.51eb86p-2},
+  {0x1.d25376p-1, 0x1.249236p-2},
+  {0x1.ad4ddep+15, 0x1.d1746p-1},
+  {0x1.ce1da8p-2, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.d4a4f4p-1, 0x1.666666p+0},
+  {0x1.058d04p+5, 0x1.d1746p-1},
+  {0x1.607416p+6, 0x1.99999ap-2},
+  {0x1.000326p+0, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.bca0c2p-2, 0x1.249236p-2},
+  {0x1.3b4dcep-3, 0x1.19999ap+0},
+  {0x1.3fd0dp-12, 0x1.4f5c28p+0},
+  {0x1.3e6644p-1, 0x1.19999ap+0},
+  {0x1.656bcap-3, 0x1.666666p+0},
+  {0x1.018384p+0, 0x1.d1746p-1},
+  {0x1.959ba2p-1, 0x1.666666p+0},
+  {0x1.46c044p+5, 0x1.51eb86p-2},
+  {0x1.321426p-1, 0x1.d51eb8p+2},
+  {0x1.001606p+0, 0x1.d1746p-1},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.391dbep+7, 0x1.19999ap+0},
+  {0x1.00001p+0, 0x1.99999ap-2},
+  {0x1.9787aep-1, 0x1.666666p+0},
+  {0x1.00112cp+0, 0x1.51eb86p-2},
+  {0x1.6738a4p-3, 0x1.666666p+0},
+  {0x1.42367cp+8, 0x1.51eb86p-2},
+  {0x1.2eafeep-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0a95p-2, 0x1.666666p+0},
+  {0x1.5dedaep+0, 0x1.51eb86p-2},
+  {0x1.98ebaap-1, 0x1.666666p+0},
+  {0x1.5debb8p+0, 0x1.51eb86p-2},
+  {0x1.1a21fap+0, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.05c316p+0, 0x1.51eb86p-2},
+  {0x1.bf03bap+4, 0x1.99999ap-2},
+  {0x1.bea6ap-1, 0x1.249236p-2},
+  {0x1.382992p+33, 0x1.99999ap-2},
+  {0x1.8aa716p-2, 0x1.249236p-2},
+  {0x1.0009b4p+0, 0x1.51eb86p-2},
+  {0x1.fa4b76p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.66afccp-4, 0x1.249236p-2},
+  {0x1.001908p+0, 0x1.51eb86p-2},
+  {0x1.9aa4fcp-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.381eeep-1, 0x1.666666p+0},
+  {0x1.00169cp+0, 0x1.d1746p-1},
+  {0x1.075e64p-3, 0x1.666666p+0},
+  {0x1.3e17f4p+2, 0x1.19999ap+0},
+  {0x1.60d52p-2, 0x1.b51eb8p+3},
+  {0x1.1ba56ap+9, 0x1.d1746p-1},
+  {0x1.011d04p+0, 0x1.51eb86p-2},
+  {0x1.0d5beep+0, 0x1.51eb86p-2},
+  {0x1.348b22p+0, 0x1.d1746p-1},
+  {0x1.0067fp+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.ceca68p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.2ce5b4p-2, 0x1.666666p+0},
+  {0x1.0ea8a8p+2, 0x1.d1746p-1},
+  {0x1.25eedcp-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ab0c24p-1, 0x1.666666p+0},
+  {0x1.aa822p-9, 0x1.19999ap+0},
+  {0x1.f667d8p-1, 0x1.666666p+0},
+  {0x1.77106p+12, 0x1.51eb86p-2},
+  {0x1.2b18dap-2, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.833312p-1, 0x1.af5c28p+2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a53368p+15, 0x1.d1746p-1},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.e075fep+18, 0x1.99999ap-2},
+  {0x1.036976p-3, 0x1.249236p-2},
+  {0x1.5f2a72p+3, 0x1.19999ap+0},
+  {0x1.06c764p-3, 0x1.666666p+0},
+  {0x1.000064p+0, 0x1.99999ap-2},
+  {0x1.528912p-2, 0x1.666666p+0},
+  {0x1.3b34bp+12, 0x1.19999ap+0},
+  {0x1.a3941p-1, 0x1.249236p-2},
+  {0x1.6c61dp+21, 0x1.99999ap-2},
+  {0x1.042ce4p-1, 0x1.666666p+0},
+  {0x1.004d34p+0, 0x1.51eb86p-2},
+  {0x1.d61ed6p-3, 0x1.666666p+0},
+  {0x1.4c0832p-3, 0x1.19999ap+0},
+  {0x1.9029aep-8, 0x1.19999ap+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.000032p+0, 0x1.99999ap-2},
+  {0x1.d7c4dap+2, 0x1.19999ap+0},
+  {0x1.102a24p+0, 0x1.51eb86p-2},
+  {0x1.0149d8p+0, 0x1.51eb86p-2},
+  {0x1.61be2cp-4, 0x1.249236p-2},
+  {0x1.905a2ep+1, 0x1.d1746p-1},
+  {0x1.d4d4ccp-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.baed36p-1, 0x1.249236p-2},
+  {0x1.0001b4p+0, 0x1.51eb86p-2},
+  {0x1.bad278p-1, 0x1.249236p-2},
+  {0x1.03ccf2p+0, 0x1.51eb86p-2},
+  {0x1.fe2974p-1, 0x1.666666p+0},
+  {0x1.3ec326p+15, 0x1.51eb86p-2},
+  {0x1.1b7b08p-1, 0x1.666666p+0},
+  {0x1.3e5ddap+8, 0x1.19999ap+0},
+  {0x1.fe95fap-1, 0x1.666666p+0},
+  {0x1.ae340ap+2, 0x1.d1746p-1},
+  {0x1.9a18bep-1, 0x1.af5c28p+2},
+  {0x1.005436p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.9701eap+3, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.febf22p-3, 0x1.249236p-2},
+  {0x1.0a0408p+0, 0x1.51eb86p-2},
+  {0x1.f8a58cp-1, 0x1.666666p+0},
+  {0x1.300fd2p+10, 0x1.d1746p-1},
+  {0x1.b36cep-3, 0x1.249236p-2},
+  {0x1.7ebcc4p+9, 0x1.51eb86p-2},
+  {0x1.091cd2p-2, 0x1.666666p+0},
+  {0x1.a79de6p+3, 0x1.51eb86p-2},
+  {0x1.f80b88p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.959c06p-1, 0x1.666666p+0},
+  {0x1.7f668p+2, 0x1.51eb86p-2},
+  {0x1.2f8fbcp+0, 0x1.23bc4ep-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.cb633ep+5, 0x1.d1746p-1},
+  {0x1.00a30ep+0, 0x1.d1746p-1},
+  {0x1.55ab4cp+0, 0x1.d1746p-1},
+  {0x1.0001d6p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.866e44p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.a67a1p-1, 0x1.666666p+0},
+  {0x1.fbc1cep-1, 0x1.249236p-2},
+  {0x1.b46e4cp-3, 0x1.249236p-2},
+  {0x1.127514p+5, 0x1.51eb86p-2},
+  {0x1.53c42ap-2, 0x1.666666p+0},
+  {0x1.12018ap-8, 0x1.19999ap+0},
+  {0x1.c821f2p-1, 0x1.666666p+0},
+  {0x1.21086p+0, 0x1.d1746p-1},
+  {0x1.7c3654p-2, 0x1.666666p+0},
+  {0x1.2a0884p+28, 0x1.99999ap-2},
+  {0x1.04f7cap+0, 0x1.249236p-2},
+  {0x1.70344cp+0, 0x1.99999ap-2},
+  {0x1.83fbfp+1, 0x1.d1746p-1},
+  {0x1.c1131p+4, 0x1.451eb8p-1},
+  {0x1.0004a8p+0, 0x1.51eb86p-2},
+  {0x1.e0678cp-1, 0x1.666666p+0},
+  {0x1.6a9884p+6, 0x1.51eb86p-2},
+  {0x1.a42742p-1, 0x1.249236p-2},
+  {0x1.2c396p+8, 0x1.99999ap-2},
+  {0x1.d0c6f8p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.fa604ep-2, 0x1.249236p-2},
+  {0x1.9de0b4p+0, 0x1.51eb86p-2},
+  {0x1.8d5066p-2, 0x1.249236p-2},
+  {0x1.00001p+0, 0x1.99999ap-2},
+  {0x1.03f9e8p+0, 0x1.51eb86p-2},
+  {0x1.0a392ep+0, 0x1.d1746p-1},
+  {0x1.000acp+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.000c42p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.000368p+0, 0x1.51eb86p-2},
+  {0x1.c4bed8p+1, 0x1.51eb86p-2},
+  {0x1.391a6p+9, 0x1.19999ap+0},
+  {0x1.c641ep+18, 0x1.99999ap-2},
+  {0x1.01ebb8p+0, 0x1.51eb86p-2},
+  {0x1.272b24p-1, 0x1.70a3d8p+3},
+  {0x1.5f7c02p+0, 0x1.51eb86p-2},
+  {0x1.d86552p-3, 0x1.666666p+0},
+  {0x1.0b5696p+0, 0x1.51eb86p-2},
+  {0x1.74fdbp-2, 0x1.666666p+0},
+  {0x1.0003bcp+0, 0x1.51eb86p-2},
+  {0x1.eac86p-1, 0x1.666666p+0},
+  {0x1.a57cd6p+15, 0x1.99999ap-2},
+  {0x1.53b602p-2, 0x1.666666p+0},
+  {0x1.4dfbe8p+0, 0x1.99999ap-2},
+  {0x1.a79aaep-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3cc9eap-1, 0x1.666666p+0},
+  {0x1.00016p+0, 0x1.51eb86p-2},
+  {0x1.c5c466p-2, 0x1.666666p+0},
+  {0x1.071a4cp+0, 0x1.d1746p-1},
+  {0x1.9d81f2p-3, 0x1.666666p+0},
+  {0x1.c1286cp+1, 0x1.51eb86p-2},
+  {0x1.67c06ep-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.211b6p-1, 0x1.666666p+0},
+  {0x1.57f68p+0, 0x1.51eb86p-2},
+  {0x1.fc6412p-1, 0x1.666666p+0},
+  {0x1.79009p+7, 0x1.51eb86p-2},
+  {0x1.573472p-2, 0x1.249236p-2},
+  {0x1.bb80ecp+0, 0x1.51eb86p-2},
+  {0x1.65a576p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e6fe2ep-1, 0x1.249236p-2},
+  {0x1.3ed034p+12, 0x1.51eb86p-2},
+  {0x1.d002e2p-5, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.fb24a6p-2, 0x1.249236p-2},
+  {0x1.070f4ap+0, 0x1.d1746p-1},
+  {0x1.0624dep-11, 0x1.4f5c28p+0},
+  {0x1.46ded2p+7, 0x1.51eb86p-2},
+  {0x1.7b95a2p-12, 0x1.a3d70ap-2},
+  {0x1.37fb26p+0, 0x1.99999ap-2},
+  {0x1.e6696ap-1, 0x1.249236p-2},
+  {0x1.000852p+0, 0x1.51eb86p-2},
+  {0x1.1f26dp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.50f474p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f91be6p-1, 0x1.249236p-2},
+  {0x1.006b38p+0, 0x1.99999ap-2},
+  {0x1.d402d2p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.74810ap-1, 0x1.666666p+0},
+  {0x1.87002ap+4, 0x1.51eb86p-2},
+  {0x1.544decp-1, 0x1.249236p-2},
+  {0x1.188bp+0, 0x1.51eb86p-2},
+  {0x1.fb9p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.1b393ap-1, 0x1.666666p+0},
+  {0x1.a8e8ecp+3, 0x1.d1746p-1},
+  {0x1.7b002cp+6, 0x1.51eb86p-2},
+  {0x1.e6206ep+5, 0x1.51eb86p-2},
+  {0x1.3ab324p+1, 0x1.19999ap+0},
+  {0x1.8d48ccp-2, 0x1.666666p+0},
+  {0x1.711948p-17, 0x1.19999ap+0},
+  {0x1.a2e48ep-2, 0x1.666666p+0},
+  {0x1.0016bep+0, 0x1.51eb86p-2},
+  {0x1.095422p-2, 0x1.666666p+0},
+  {0x1.00c0ep+0, 0x1.51eb86p-2},
+  {0x1.f68858p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.eb630ap-1, 0x1.666666p+0},
+  {0x1.f1a0aap+4, 0x1.51eb86p-2},
+  {0x1.f98266p+0, 0x1.51eb86p-2},
+  {0x1.4ec144p+4, 0x1.51eb86p-2},
+  {0x1.5f88fcp-10, 0x1.19999ap+0},
+  {0x1.10cbcp+0, 0x1.236e72p-2},
+  {0x1.7eead2p+8, 0x1.51eb86p-2},
+  {0x1.0b3312p-2, 0x1.666666p+0},
+  {0x1.037a8p+0, 0x1.51eb86p-2},
+  {0x1.3b3d08p-1, 0x1.666666p+0},
+  {0x1.1ce79ap+0, 0x1.51eb86p-2},
+  {0x1.82fcfp-1, 0x1.249236p-2},
+  {0x1.41c992p+9, 0x1.51eb86p-2},
+  {0x1.eb6bd2p-1, 0x1.666666p+0},
+  {0x1.01f2ccp+0, 0x1.51eb86p-2},
+  {0x1.05cabp-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.77114cp+12, 0x1.51eb86p-2},
+  {0x1.4a0e62p-1, 0x1.b51eb8p+3},
+  {0x1.7c5b96p+6, 0x1.51eb86p-2},
+  {0x1.36d0b4p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.03bc2cp-1, 0x1.666666p+0},
+  {0x1.1db456p+0, 0x1.51eb86p-2},
+  {0x1.65f41ap-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.79fd36p-1, 0x1.666666p+0},
+  {0x1.9e712ep+4, 0x1.51eb86p-2},
+  {0x1.f31f46p-14, 0x1.a3d70ap-2},
+  {0x1.4f0d9ap+4, 0x1.51eb86p-2},
+  {0x1.02c798p-1, 0x1.249236p-2},
+  {0x1.0354e2p+0, 0x1.51eb86p-2},
+  {0x1.94f484p-5, 0x1.19999ap+0},
+  {0x1.3ea4cap-1, 0x1.666666p+0},
+  {0x1.0011c2p+0, 0x1.51eb86p-2},
+  {0x1.0c3a42p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.b0f17p-3, 0x1.249236p-2},
+  {0x1.0021f2p+0, 0x1.51eb86p-2},
+  {0x1.e3d4aep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.001d2ap+0, 0x1.51eb86p-2},
+  {0x1.47557ap-1, 0x1.a1999ap+4},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a60daap-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.666cb2p-3, 0x1.666666p+0},
+  {0x1.5132e8p+4, 0x1.51eb86p-2},
+  {0x1.b10774p-4, 0x1.249236p-2},
+  {0x1.802022p+7, 0x1.51eb86p-2},
+  {0x1.fcd3ep-3, 0x1.249236p-2},
+  {0x1.b7011p+2, 0x1.51eb86p-2},
+  {0x1.ae70dp+3, 0x1.51eb86p-2},
+  {0x1.fcfe7ap-1, 0x1.249236p-2},
+  {0x1.d1985cp+3, 0x1.51eb86p-2},
+  {0x1.d70de8p-3, 0x1.666666p+0},
+  {0x1.7a5234p+9, 0x1.51eb86p-2},
+  {0x1.ee9d0ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b97354p-12, 0x1.4f5c28p+0},
+  {0x1.000496p+0, 0x1.51eb86p-2},
+  {0x1.32021p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.4p+2, 0x1.51eb86p-2},
+  {0x1.18b7f6p+0, 0x1.249236p-2},
+  {0x1.000304p+0, 0x1.51eb86p-2},
+  {0x1.ffc372p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.721bc2p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.5a07b4p-11, 0x1.a3d70ap-2},
+  {0x1.790194p+7, 0x1.51eb86p-2},
+  {0x1.c5bc02p-2, 0x1.249236p-2},
+  {0x1.97015p+3, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f49c4ep-1, 0x1.666666p+0},
+  {0x1.4c9e84p+5, 0x1.51eb86p-2},
+  {0x1.ae008ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b39864p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.cf5b1cp-5, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.bef1bap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0001b4p+0, 0x1.51eb86p-2},
+  {0x1.cf3fdap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.bad5bep-1, 0x1.666666p+0},
+  {0x1.b7b9f2p+2, 0x1.51eb86p-2},
+  {0x1.b6d58cp-1, 0x1.666666p+0},
+  {0x1.7f4544p+8, 0x1.51eb86p-2},
+  {0x1.ed10b2p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.47b56cp-1, 0x1.249236p-2},
+  {0x1.89a996p+5, 0x1.51eb86p-2},
+  {0x1.ef689cp+1, 0x1.51eb86p-2},
+  {0x1.d2c9f2p-1, 0x1.666666p+0},
+  {0x1.3eed58p+11, 0x1.d1746p-1},
+  {0x1.0042d8p+0, 0x1.666666p+0},
+  {0x1.0001b4p+0, 0x1.51eb86p-2},
+  {0x1.60525p-12, 0x1.99999ap-1},
+  {0x1.b7b89ep+2, 0x1.51eb86p-2},
+  {0x1.b37436p-3, 0x1.249236p-2},
+  {0x1.403fe2p+8, 0x1.51eb86p-2},
+  {0x1.ae746ap+3, 0x1.51eb86p-2},
+  {0x1.5a6938p-1, 0x1.666666p+0},
+  {0x1.0535fcp+0, 0x1.51eb86p-2},
+  {0x1.b75b3ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.cf2496p-5, 0x1.249236p-2},
+  {0x1.4134ap+15, 0x1.51eb86p-2},
+  {0x1.f6bca6p-1, 0x1.666666p+0},
+  {0x1.055a8ep+0, 0x1.51eb86p-2},
+  {0x1.78029p+8, 0x1.51eb86p-2},
+  {0x1.1a1cacp+0, 0x1.238de6p-2},
+  {0x1.7abbe2p+8, 0x1.51eb86p-2},
+  {0x1.d96e58p-2, 0x1.666666p+0},
+  {0x1.000d9p+0, 0x1.51eb86p-2},
+  {0x1.79207ep-1, 0x1.666666p+0},
+  {0x1.f701b8p+1, 0x1.51eb86p-2},
+  {0x1.fd330ap-1, 0x1.666666p+0},
+  {0x1.0b8e34p+5, 0x1.51eb86p-2},
+  {0x1.026752p+0, 0x1.249236p-2},
+  {0x1.07ab1p+0, 0x1.51eb86p-2},
+  {0x1.1afdcap+0, 0x1.51eb86p-2},
+  {0x1.9a4fp-2, 0x1.666666p+0},
+  {0x1.000076p+0, 0x1.d1746p-1},
+  {0x1.ce3b26p-1, 0x1.666666p+0},
+  {0x1.28244ep+1, 0x1.51eb86p-2},
+  {0x1.8c5c9ap-13, 0x1.a3d70ap-2},
+  {0x1.47376p+5, 0x1.51eb86p-2},
+  {0x1.5640eap-2, 0x1.249236p-2},
+  {0x1.0020b4p+0, 0x1.51eb86p-2},
+  {0x1.64e27cp+9, 0x1.451eb8p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.8702bep+4, 0x1.51eb86p-2},
+  {0x1.f64ffcp-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.c8474ep-1, 0x1.666666p+0},
+  {0x1.794446p+4, 0x1.51eb86p-2},
+  {0x1.9b0ab2p-11, 0x1.a3d70ap-2},
+  {0x1.7b007cp+6, 0x1.51eb86p-2},
+  {0x1.e9adc8p-1, 0x1.666666p+0},
+  {0x1.96af1cp+1, 0x1.51eb86p-2},
+  {0x1.c94d2p+4, 0x1.51eb86p-2},
+  {0x1.965f1p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0450cep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.63a8e8p-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d38da4p-1, 0x1.666666p+0},
+  {0x1.4c687p+4, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f13512p-1, 0x1.666666p+0},
+  {0x1.3f017ep+10, 0x1.51eb86p-2},
+  {0x1.3b71fcp-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.67abfcp-3, 0x1.666666p+0},
+  {0x1.77c84cp+11, 0x1.51eb86p-2},
+  {0x1.f551d6p-2, 0x1.249236p-2},
+  {0x1.29ce6cp+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d6441p-2, 0x1.666666p+0},
+  {0x1.bd3996p+0, 0x1.51eb86p-2},
+  {0x1.99c9d6p-3, 0x1.666666p+0},
+  {0x1.6c1672p+1, 0x1.51eb86p-2},
+  {0x1.0624dep-11, 0x1.4f5c28p+0},
+  {0x1.000314p+0, 0x1.51eb86p-2},
+  {0x1.03bd16p-1, 0x1.249236p-2},
+  {0x1.877e74p+4, 0x1.51eb86p-2},
+  {0x1.786616p+2, 0x1.51eb86p-2},
+  {0x1.36aa2ap-1, 0x1.666666p+0},
+  {0x1.3ec82cp+13, 0x1.51eb86p-2},
+  {0x1.fea3ep-2, 0x1.666666p+0},
+  {0x1.3522b6p+5, 0x1.51eb86p-2},
+  {0x1.013122p-2, 0x1.249236p-2},
+  {0x1.89b86p+4, 0x1.51eb86p-2},
+  {0x1.d02752p-1, 0x1.249236p-2},
+  {0x1.3ee112p+11, 0x1.51eb86p-2},
+  {0x1.8702e4p+4, 0x1.51eb86p-2},
+  {0x1.34762ap-3, 0x1.666666p+0},
+  {0x1.01fd6ap+0, 0x1.51eb86p-2},
+  {0x1.071ac2p-3, 0x1.666666p+0},
+  {0x1.87010cp+4, 0x1.51eb86p-2},
+  {0x1.f06a9p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.cd5f9ap-12, 0x1.4f5c28p+0},
+  {0x1.e846fap+4, 0x1.51eb86p-2},
+  {0x1.00635ap+0, 0x1.249236p-2},
+  {0x1.7720d4p+11, 0x1.51eb86p-2},
+  {0x1.d4bf0ap-6, 0x1.19999ap+0},
+  {0x1.ac115ep-1, 0x1.666666p+0},
+  {0x1.000edp+0, 0x1.51eb86p-2},
+  {0x1.ce1bbp-1, 0x1.666666p+0},
+  {0x1.99afbp+0, 0x1.51eb86p-2},
+  {0x1.a12e84p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f129ccp-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.2f1094p+2, 0x1.51eb86p-2},
+  {0x1.7a31a4p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.32db1ep-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a303cp-1, 0x1.249236p-2},
+  {0x1.0b2fcap+0, 0x1.51eb86p-2},
+  {0x1.f69b9ep-1, 0x1.666666p+0},
+  {0x1.77d424p+9, 0x1.51eb86p-2},
+  {0x1.000736p+0, 0x1.51eb86p-2},
+  {0x1.de90bcp-1, 0x1.666666p+0},
+  {0x1.5e3c0cp+2, 0x1.51eb86p-2},
+  {0x1.9a6e76p-3, 0x1.666666p+0},
+  {0x1.3aa8f4p+5, 0x1.51eb86p-2},
+  {0x1.2188b2p-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7a979ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.377836p+0, 0x1.51eb86p-2},
+  {0x1.c9ab2ap-2, 0x1.d51eb8p+2},
+  {0x1.0057f4p+0, 0x1.d1746p-1},
+  {0x1.de18cep-1, 0x1.666666p+0},
+  {0x1.7dc354p+7, 0x1.51eb86p-2},
+  {0x1.3c2e78p-1, 0x1.666666p+0},
+  {0x1.e99f7cp+3, 0x1.51eb86p-2},
+  {0x1.2eb5f6p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.491bc6p-1, 0x1.249236p-2},
+  {0x1.2f679p-1, 0x1.bp+3},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.caef92p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d66f94p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.c4fc1ep-16, 0x1.a3d70ap-2},
+  {0x1.000e5ap+0, 0x1.51eb86p-2},
+  {0x1.4bdab6p-1, 0x1.249236p-2},
+  {0x1.186aacp+6, 0x1.51eb86p-2},
+  {0x1.01b436p+0, 0x1.51eb86p-2},
+  {0x1.cf1306p-1, 0x1.666666p+0},
+  {0x1.ba6794p+0, 0x1.51eb86p-2},
+  {0x1.2e718ap-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.069dfap-3, 0x1.666666p+0},
+  {0x1.eb3ae6p+6, 0x1.51eb86p-2},
+  {0x1.1d73eap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.00c4fp+0, 0x1.51eb86p-2},
+  {0x1.c872bp-2, 0x1.b51eb8p+3},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f0e15p-1, 0x1.666666p+0},
+  {0x1.b70226p+2, 0x1.51eb86p-2},
+  {0x1.cc2892p-1, 0x1.666666p+0},
+  {0x1.55692cp+0, 0x1.51eb86p-2},
+  {0x1.7d1654p-1, 0x1.666666p+0},
+  {0x1.781dbap+9, 0x1.51eb86p-2},
+  {0x1.d77708p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3dfde2p+9, 0x1.19999ap+0},
+  {0x1.aa5c1cp-1, 0x1.666666p+0},
+  {0x1.931c18p+3, 0x1.51eb86p-2},
+  {0x1.a25204p-2, 0x1.666666p+0},
+  {0x1.05409ap+0, 0x1.51eb86p-2},
+  {0x1.60525p-16, 0x1.99999ap-1},
+  {0x1.fa083ap-1, 0x1.249236p-2},
+  {0x1.34751cp-3, 0x1.249236p-2},
+  {0x1.1ee8e2p+5, 0x1.51eb86p-2},
+  {0x1.02eafap+0, 0x1.51eb86p-2},
+  {0x1.d52652p-3, 0x1.666666p+0},
+  {0x1.7740eep+10, 0x1.51eb86p-2},
+  {0x1.e731f4p-1, 0x1.666666p+0},
+  {0x1.7e3748p+12, 0x1.51eb86p-2},
+  {0x1.abd1aap-15, 0x1.a3d70ap-2},
+  {0x1.d75a54p+3, 0x1.51eb86p-2},
+  {0x1.27cd46p-2, 0x1.249236p-2},
+  {0x1.0014d8p+0, 0x1.51eb86p-2},
+  {0x1.5940e2p+2, 0x1.51eb86p-2},
+  {0x1.1e951p-1, 0x1.666666p+0},
+  {0x1.3ee078p+11, 0x1.51eb86p-2},
+  {0x1.670b06p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a36e2ep-14, 0x1.a3d70ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.cff1b6p-1, 0x1.249236p-2},
+  {0x1.21d0bcp+3, 0x1.51eb86p-2},
+  {0x1.00815ep+0, 0x1.51eb86p-2},
+  {0x1.bb1316p-1, 0x1.666666p+0},
+  {0x1.ae7168p+3, 0x1.51eb86p-2},
+  {0x1.7cbea4p-2, 0x1.666666p+0},
+  {0x1.452ea6p+6, 0x1.51eb86p-2},
+  {0x1.5d5b04p-1, 0x1.249236p-2},
+  {0x1.46c07ap+5, 0x1.51eb86p-2},
+  {0x1.3a860ep-3, 0x1.249236p-2},
+  {0x1.366f5cp+4, 0x1.51eb86p-2},
+  {0x1.66682ep+9, 0x1.451eb8p-1},
+  {0x1.02d612p+0, 0x1.51eb86p-2},
+  {0x1.3fc2e8p+8, 0x1.51eb86p-2},
+  {0x1.e4c188p-1, 0x1.666666p+0},
+  {0x1.5ef72cp+0, 0x1.51eb86p-2},
+  {0x1.03604ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a5870ep-12, 0x1.4f5c28p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.db541ap-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.001f76p+0, 0x1.51eb86p-2},
+  {0x1.2916p-1, 0x1.666666p+0},
+  {0x1.24094ep+0, 0x1.51eb86p-2},
+  {0x1.5221p-2, 0x1.666666p+0},
+  {0x1.000076p+0, 0x1.51eb86p-2},
+  {0x1.908e58p-12, 0x1.4f5c28p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.55377ep-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.01521ap+0, 0x1.51eb86p-2},
+  {0x1.9bdc6ap-3, 0x1.666666p+0},
+  {0x1.bef1bap+0, 0x1.51eb86p-2},
+  {0x1.e4256cp-1, 0x1.666666p+0},
+  {0x1.7b026ap+6, 0x1.51eb86p-2},
+  {0x1.f75104p-15, 0x1.4f5c28p+0},
+  {0x1.001e14p+0, 0x1.51eb86p-2},
+  {0x1.f5330ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.5ec246p+3, 0x1.51eb86p-2},
+  {0x1.9de376p-3, 0x1.666666p+0},
+  {0x1.c1f738p+4, 0x1.51eb86p-2},
+  {0x1.bd4b6ap-1, 0x1.666666p+0},
+  {0x1.7dd4fp+6, 0x1.51eb86p-2},
+  {0x1.6ef262p-1, 0x1.249236p-2},
+  {0x1.0011b2p+0, 0x1.51eb86p-2},
+  {0x1.a67104p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.502ddp+0, 0x1.51eb86p-2},
+  {0x1.e7735cp-1, 0x1.666666p+0},
+  {0x1.00ff64p+0, 0x1.51eb86p-2},
+  {0x1.9e08aep-2, 0x1.666666p+0},
+  {0x1.44d47p+12, 0x1.51eb86p-2},
+  {0x1.ba4dd2p-1, 0x1.249236p-2},
+  {0x1.b58b58p+1, 0x1.51eb86p-2},
+  {0x1.f456d6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.00257cp+0, 0x1.51eb86p-2},
+  {0x1.005836p+0, 0x1.666666p+0},
+  {0x1.3ed086p+12, 0x1.51eb86p-2},
+  {0x1.971994p-1, 0x1.666666p+0},
+  {0x1.00013ep+0, 0x1.51eb86p-2},
+  {0x1.39a7c2p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.1bdb8p-1, 0x1.666666p+0},
+  {0x1.a9f66p+7, 0x1.51eb86p-2},
+  {0x1.bdff6p-1, 0x1.249236p-2},
+  {0x1.015dd4p+0, 0x1.51eb86p-2},
+  {0x1.3f0262p+10, 0x1.51eb86p-2},
+  {0x1.515fccp-2, 0x1.666666p+0},
+  {0x1.ddb004p+0, 0x1.51eb86p-2},
+  {0x1.f23cc8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e8e5e6p-1, 0x1.249236p-2},
+  {0x1.6b50f2p+7, 0x1.51eb86p-2},
+  {0x1.7cda6ep-2, 0x1.666666p+0},
+  {0x1.4p+2, 0x1.51eb86p-2},
+  {0x1.77428ap+10, 0x1.51eb86p-2},
+  {0x1.fb24a6p-1, 0x1.666666p+0},
+  {0x1.7fe282p+7, 0x1.51eb86p-2},
+  {0x1.a7f3dp-1, 0x1.666666p+0},
+  {0x1.f701b8p+1, 0x1.51eb86p-2},
+  {0x1.049fd8p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e2656ap-1, 0x1.666666p+0},
+  {0x1.040bfp+4, 0x1.51eb86p-2},
+  {0x1.0013dcp+0, 0x1.d1746p-1},
+  {0x1.7cd74ap-2, 0x1.666666p+0},
+  {0x1.075bf6p+0, 0x1.51eb86p-2},
+  {0x1.2a81dcp-2, 0x1.666666p+0},
+  {0x1.2e62bap+0, 0x1.51eb86p-2},
+  {0x1.cf2cfap-1, 0x1.249236p-2},
+  {0x1.267946p+0, 0x1.51eb86p-2},
+  {0x1.67b17cp-2, 0x1.666666p+0},
+  {0x1.87017cp+4, 0x1.51eb86p-2},
+  {0x1.ae33bap+2, 0x1.d1746p-1},
+  {0x1.9e1fcp-3, 0x1.666666p+0},
+  {0x1.0c17d8p+3, 0x1.51eb86p-2},
+  {0x1.a735c2p-2, 0x1.666666p+0},
+  {0x1.2d70d6p+0, 0x1.51eb86p-2},
+  {0x1.965a9ap-3, 0x1.666666p+0},
+  {0x1.7f72d2p+6, 0x1.51eb86p-2},
+  {0x1.0725c4p-3, 0x1.666666p+0},
+  {0x1.29406ap+4, 0x1.51eb86p-2},
+  {0x1.00193cp+0, 0x1.51eb86p-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.6ffa14p+7, 0x1.51eb86p-2},
+  {0x1.fc1616p-1, 0x1.666666p+0},
+  {0x1.a46d82p+0, 0x1.51eb86p-2},
+  {0x1.97d19ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.39e5cp-1, 0x1.666666p+0},
+  {0x1.f9fcdep+2, 0x1.51eb86p-2},
+  {0x1.f4202ep-1, 0x1.249236p-2},
+  {0x1.cec7a8p-1, 0x1.328f5cp+2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7d15aep-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a67276p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.214f06p-4, 0x1.249236p-2},
+  {0x1.257abcp+0, 0x1.51eb86p-2},
+  {0x1.51793ap-2, 0x1.666666p+0},
+  {0x1.2893f4p+6, 0x1.51eb86p-2},
+  {0x1.000582p+0, 0x1.51eb86p-2},
+  {0x1.fcfb34p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.d96638p-3, 0x1.666666p+0},
+  {0x1.000ef2p+0, 0x1.51eb86p-2},
+  {0x1.0357c4p+0, 0x1.249236p-2},
+  {0x1.034d1ep+1, 0x1.51eb86p-2},
+  {0x1.941afp-1, 0x1.666666p+0},
+  {0x1.231c54p+0, 0x1.51eb86p-2},
+  {0x1.0014e8p+0, 0x1.51eb86p-2},
+  {0x1.83211cp-2, 0x1.d51eb8p+2},
+  {0x1.7724b8p+11, 0x1.51eb86p-2},
+  {0x1.bf8f8ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f1aed6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e5ce5cp-1, 0x1.666666p+0},
+  {0x1.00140ep+0, 0x1.51eb86p-2},
+  {0x1.f775f6p+2, 0x1.51eb86p-2},
+  {0x1.fe9a4ep-1, -0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fd27a2p-1, 0x1.666666p+0},
+  {0x1.000746p+0, 0x1.51eb86p-2},
+  {0x1.f90c4ep-1, 0x1.666666p+0},
+  {0x1.426272p+8, 0x1.51eb86p-2},
+  {0x1.f75104p-17, 0x1.99999ap-1},
+  {0x1.facabep+5, 0x1.51eb86p-2},
+  {0x1.e1db44p-1, 0x1.249236p-2},
+  {0x1.42c0b4p+6, 0x1.51eb86p-2},
+  {0x1.7744d4p+10, 0x1.51eb86p-2},
+  {0x1.0739bp-3, 0x1.666666p+0},
+  {0x1.25b1c8p+0, 0x1.51eb86p-2},
+  {0x1.665732p-3, 0x1.666666p+0},
+  {0x1.00010cp+0, 0x1.51eb86p-2},
+  {0x1.3cab82p-12, 0x1.4f5c28p+0},
+  {0x1.f856ccp+3, 0x1.51eb86p-2},
+  {0x1.204d12p-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.13bb2p+0, 0x1.51eb86p-2},
+  {0x1.0730c6p-3, 0x1.666666p+0},
+  {0x1.3ee06ep+11, 0x1.51eb86p-2},
+  {0x1.ba5722p-1, 0x1.666666p+0},
+  {0x1.46bed6p+7, 0x1.51eb86p-2},
+  {0x1.b14a2cp-1, 0x1.249236p-2},
+  {0x1.0001e6p+0, 0x1.51eb86p-2},
+  {0x1.26b11cp-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f00beep-1, 0x1.666666p+0},
+  {0x1.1f6bf4p+5, 0x1.51eb86p-2},
+  {0x1.a59ab6p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7bf5d8p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f969e4p-13, 0x1.4f5c28p+0},
+  {0x1.d74108p+1, 0x1.51eb86p-2},
+  {0x1.f00c96p-1, 0x1.249236p-2},
+  {0x1.ed68e8p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.5a4fcap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fe2282p-1, 0x1.666666p+0},
+  {0x1.e920ccp+7, 0x1.51eb86p-2},
+  {0x1.0c6f7ap-17, 0x1.a3d70ap-2},
+  {0x1.abfd2cp+3, 0x1.51eb86p-2},
+  {0x1.c57f74p-2, 0x1.249236p-2},
+  {0x1.b790f8p+2, 0x1.51eb86p-2},
+  {0x1.bec1ap+1, 0x1.51eb86p-2},
+  {0x1.5251c2p-2, 0x1.666666p+0},
+  {0x1.79021cp+7, 0x1.51eb86p-2},
+  {0x1.f503b8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.af3d3ap-3, 0x1.249236p-2},
+  {0x1.428256p+8, 0x1.51eb86p-2},
+  {0x1.f8f3ecp-1, 0x1.249236p-2},
+  {0x1.001334p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.00e486p+0, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.fc8dap-2, 0x1.666666p+0},
+  {0x1.5755e6p+1, 0x1.51eb86p-2},
+  {0x1.009d4ap-2, 0x1.249236p-2},
+  {0x1.259c06p+0, 0x1.51eb86p-2},
+  {0x1.377dd8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.2a0f6ep+13, 0x1.99999ap-2},
+  {0x1.139de4p-1, 0x1.dp+2},
+  {0x1.5d0ad4p+1, 0x1.51eb86p-2},
+  {0x1.ed133p-1, 0x1.666666p+0},
+  {0x1.3374eep+0, 0x1.51eb86p-2},
+  {0x1.21f3a6p-4, 0x1.249236p-2},
+  {0x1.01618p+0, 0x1.51eb86p-2},
+  {0x1.65553ep-3, 0x1.666666p+0},
+  {0x1.88ffe2p+1, 0x1.51eb86p-2},
+  {0x1.a56a38p-1, 0x1.249236p-2},
+  {0x1.9df9fp+3, 0x1.51eb86p-2},
+  {0x1.7e4fc4p+9, 0x1.51eb86p-2},
+  {0x1.ffd156p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a25354p-1, 0x1.666666p+0},
+  {0x1.03f8bap+0, 0x1.51eb86p-2},
+  {0x1.f9187ep-1, 0x1.666666p+0},
+  {0x1.06bf66p+0, 0x1.51eb86p-2},
+  {0x1.8ca57ap-2, 0x1.249236p-2},
+  {0x1.4004a6p+8, 0x1.51eb86p-2},
+  {0x1.00da6ep+0, 0x1.51eb86p-2},
+  {0x1.3a6eap+1, 0x1.551eb8p+2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7b2874p-1, 0x1.666666p+0},
+  {0x1.0003eep+0, 0x1.51eb86p-2},
+  {0x1.217d28p-4, 0x1.249236p-2},
+  {0x1.12748p+5, 0x1.51eb86p-2},
+  {0x1.060ccp-1, 0x1.666666p+0},
+  {0x1.80bf9cp+3, 0x1.51eb86p-2},
+  {0x1.a06e5cp-1, 0x1.249236p-2},
+  {0x1.0014c6p+0, 0x1.51eb86p-2},
+  {0x1.72be26p+8, 0x1.51eb86p-2},
+  {0x1.ed51d6p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.5487fcp-1, 0x1.666666p+0},
+  {0x1.376694p+0, 0x1.51eb86p-2},
+  {0x1.0624dep-11, 0x1.4f5c28p+0},
+  {0x1.7514bcp+7, 0x1.51eb86p-2},
+  {0x1.afba02p-4, 0x1.249236p-2},
+  {0x1.001798p+0, 0x1.51eb86p-2},
+  {0x1.0000a8p+0, 0x1.51eb86p-2},
+  {0x1.d3b42cp-3, 0x1.666666p+0},
+  {0x1.0003dep+0, 0x1.51eb86p-2},
+  {0x1.e28134p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.9efd22p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.8df548p-2, 0x1.249236p-2},
+  {0x1.20c89cp+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fd786p-1, 0x1.666666p+0},
+  {0x1.bef61ep+0, 0x1.51eb86p-2},
+  {0x1.52ccb4p-2, 0x1.666666p+0},
+  {0x1.5ec068p+3, 0x1.51eb86p-2},
+  {0x1.9618acp-1, 0x1.249236p-2},
+  {0x1.b60a44p+3, 0x1.51eb86p-2},
+  {0x1.e728a6p-1, 0x1.666666p+0},
+  {0x1.42c036p+6, 0x1.51eb86p-2},
+  {0x1.00c73ap+0, 0x1.51eb86p-2},
+  {0x1.9ecbb8p-3, 0x1.666666p+0},
+  {0x1.2d7d66p+5, 0x1.51eb86p-2},
+  {0x1.d6f4bep-2, 0x1.666666p+0},
+  {0x1.7d5396p+7, 0x1.51eb86p-2},
+  {0x1.76616cp-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3bfb58p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.019f9p+0, 0x1.51eb86p-2},
+  {0x1.d479e6p+0, 0x1.551eb8p+2},
+  {0x1.002d5ap+0, 0x1.51eb86p-2},
+  {0x1.9baf54p-1, 0x1.666666p+0},
+  {0x1.46c138p+5, 0x1.51eb86p-2},
+  {0x1.76ba8cp-2, 0x1.666666p+0},
+  {0x1.79d43p+13, 0x1.51eb86p-2},
+  {0x1.21ef74p-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.9cd574p-3, 0x1.666666p+0},
+  {0x1.12e636p+6, 0x1.51eb86p-2},
+  {0x1.870302p+4, 0x1.51eb86p-2},
+  {0x1.fba86p-1, 0x1.249236p-2},
+  {0x1.000096p+0, 0x1.99999ap-2},
+  {0x1.551938p-2, 0x1.666666p+0},
+  {0x1.780188p+8, 0x1.51eb86p-2},
+  {0x1.f81776p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ba6bf8p-1, 0x1.666666p+0},
+  {0x1.085826p+0, 0x1.51eb86p-2},
+  {0x1.d3c382p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.ba732ep-2, 0x1.666666p+0},
+  {0x1.7ec812p+5, 0x1.51eb86p-2},
+  {0x1.ecb4aep-1, 0x1.666666p+0},
+  {0x1.84892p+5, 0x1.51eb86p-2},
+  {0x1.8635e8p-1, 0x1.249236p-2},
+  {0x1.7b4364p+0, 0x1.51eb86p-2},
+  {0x1.05efeap-3, 0x1.249236p-2},
+  {0x1.f9a16ep+2, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.11d92cp+0, 0x1.23a322p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.038b48p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ed89acp-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e27a42p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0007dep+0, 0x1.51eb86p-2},
+  {0x1.7aaf6p+1, 0x1.5p+2},
+  {0x1.b45554p+0, 0x1.51eb86p-2},
+  {0x1.a903a8p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a32d2cp-2, 0x1.666666p+0},
+  {0x1.3ad024p+2, 0x1.19999ap+0},
+  {0x1.f60dccp-1, 0x1.666666p+0},
+  {0x1.040b8ep+4, 0x1.51eb86p-2},
+  {0x1.23d35ep-2, 0x1.249236p-2},
+  {0x1.c8d466p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f98d48p-1, 0x1.666666p+0},
+  {0x1.5ec606p+3, 0x1.51eb86p-2},
+  {0x1.f298ccp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ae76p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.9f310ap-1, 0x1.249236p-2},
+  {0x1.171db4p+0, 0x1.51eb86p-2},
+  {0x1.a8c33p+5, 0x1.451eb8p-1},
+  {0x1.54a9c2p+4, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.cfdbb2p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0cb536p-2, 0x1.666666p+0},
+  {0x1.5f8712p+2, 0x1.51eb86p-2},
+  {0x1.c2511ap-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.f84ee8p-1, 0x1.666666p+0},
+  {0x1.2aca7ep+2, 0x1.51eb86p-2},
+  {0x1.c621b8p-2, 0x1.249236p-2},
+  {0x1.7b873ap+6, 0x1.51eb86p-2},
+  {0x1.002278p+0, 0x1.51eb86p-2},
+  {0x1.3a0902p-1, 0x1.666666p+0},
+  {0x1.028522p+0, 0x1.51eb86p-2},
+  {0x1.ed61b2p-1, 0x1.666666p+0},
+  {0x1.50e05cp+7, 0x1.51eb86p-2},
+  {0x1.cfe26p-1, 0x1.666666p+0},
+  {0x1.9f234cp+3, 0x1.51eb86p-2},
+  {0x1.cfa44p-1, 0x1.666666p+0},
+  {0x1.f9c79cp+1, 0x1.51eb86p-2},
+  {0x1.ee8d1p-2, 0x1.249236p-2},
+  {0x1.0011b2p+0, 0x1.51eb86p-2},
+  {0x1.92a738p-19, 0x1.19999ap+0},
+  {0x1.599bf6p-1, 0x1.666666p+0},
+  {0x1.bace3p+6, 0x1.51eb86p-2},
+  {0x1.b19f3cp-1, 0x1.666666p+0},
+  {0x1.46c118p+5, 0x1.51eb86p-2},
+  {0x1.8a09aap-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.dbacf8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b1d92cp-4, 0x1.249236p-2},
+  {0x1.566e34p+3, 0x1.51eb86p-2},
+  {0x1.a83c34p+6, 0x1.51eb86p-2},
+  {0x1.7df97ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d53d64p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.762f9cp-3, 0x1.249236p-2},
+  {0x1.3ec6a2p+14, 0x1.51eb86p-2},
+  {0x1.db293ep-1, 0x1.666666p+0},
+  {0x1.0f9fdcp+0, 0x1.51eb86p-2},
+  {0x1.c22d0ep-2, 0x1.249236p-2},
+  {0x1.001494p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.079896p-3, 0x1.666666p+0},
+  {0x1.0000dap+0, 0x1.51eb86p-2},
+  {0x1.ff6ec6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.02528ap-1, 0x1.249236p-2},
+  {0x1.029802p+0, 0x1.51eb86p-2},
+  {0x1.f26784p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.2254a4p-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.28dde8p-2, 0x1.249236p-2},
+  {0x1.1e354p+0, 0x1.51eb86p-2},
+  {0x1.8880dap+14, 0x1.d1746p-1},
+  {0x1.34db5ap-3, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.0b9aep-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3ba216p-1, 0x1.666666p+0},
+  {0x1.01d93cp+0, 0x1.d1746p-1},
+  {0x1.cef36ep-1, 0x1.249236p-2},
+  {0x1.000e8cp+0, 0x1.51eb86p-2},
+  {0x1.dfd7e4p-1, 0x1.666666p+0},
+  {0x1.5cb568p+12, 0x1.d1746p-1},
+  {0x1.694e5ep-3, 0x1.249236p-2},
+  {0x1.779a84p+12, 0x1.51eb86p-2},
+  {0x1.77829p+9, 0x1.51eb86p-2},
+  {0x1.eceeep-2, 0x1.b51eb8p+3},
+  {0x1.52bd6ep+1, 0x1.99999ap-2},
+  {0x1.362de8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.59bb8cp-1, 0x1.666666p+0},
+  {0x1.46c56ep+5, 0x1.51eb86p-2},
+  {0x1.78ec52p-1, 0x1.666666p+0},
+  {0x1.41a93ap+9, 0x1.51eb86p-2},
+  {0x1.8e757ap-13, 0x1.99999ap-1},
+  {0x1.0004b8p+0, 0x1.51eb86p-2},
+  {0x1.353cdep-3, 0x1.666666p+0},
+  {0x1.016894p+0, 0x1.51eb86p-2},
+  {0x1.4d104ep-1, 0x1.249236p-2},
+  {0x1.8dd6e8p+3, 0x1.19999ap+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.7f707ap-1, 0x1.af5c28p+2},
+  {0x1.848798p+2, 0x1.51eb86p-2},
+  {0x1.df3084p-1, 0x1.666666p+0},
+  {0x1.7800f2p+8, 0x1.51eb86p-2},
+  {0x1.081ba8p-2, 0x1.666666p+0},
+  {0x1.512bc2p+0, 0x1.51eb86p-2},
+  {0x1.defb9p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b00368p-13, 0x1.a3d70ap-2},
+  {0x1.000182p+0, 0x1.51eb86p-2},
+  {0x1.3c1fp-1, 0x1.666666p+0},
+  {0x1.00a02cp+0, 0x1.99999ap-2},
+  {0x1.0168f8p+0, 0x1.51eb86p-2},
+  {0x1.0005c4p+0, 0x1.51eb86p-2},
+  {0x1.4fae58p+0, 0x1.51eb86p-2},
+  {0x1.c44242p-2, 0x1.b51eb8p+3},
+  {0x1.890a52p+3, 0x1.51eb86p-2},
+  {0x1.591dbcp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3ac9d2p-1, 0x1.666666p+0},
+  {0x1.281b86p+0, 0x1.51eb86p-2},
+  {0x1.50bd24p-1, 0x1.249236p-2},
+  {0x1.0c240cp+3, 0x1.51eb86p-2},
+  {0x1.3a0c6cp-11, 0x1.a3d70ap-2},
+  {0x1.08cc9ap+0, 0x1.51eb86p-2},
+  {0x1.2be48ap-12, 0x1.99999ap-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b09a68p-3, 0x1.249236p-2},
+  {0x1.002246p+0, 0x1.51eb86p-2},
+  {0x1.000192p+0, 0x1.51eb86p-2},
+  {0x1.00054ep+0, 0x1.51eb86p-2},
+  {0x1.772292p+11, 0x1.51eb86p-2},
+  {0x1.81c5dep+11, 0x1.99999ap-2},
+  {0x1.b3e708p+0, 0x1.51eb86p-2},
+  {0x1.3940ep+3, 0x1.51eb86p-2},
+  {0x1.5f2cd8p+6, 0x1.51eb86p-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.85f58ap+3, 0x1.51eb86p-2},
+  {0x1.0afbc2p-2, 0x1.666666p+0},
+  {0x1.0000fcp+0, 0x1.51eb86p-2},
+  {0x1.4da016p-1, 0x1.666666p+0},
+  {0x1.0604bp+0, 0x1.51eb86p-2},
+  {0x1.d1ca18p-1, 0x1.666666p+0},
+  {0x1.3f0136p+10, 0x1.51eb86p-2},
+  {0x1.dae77p-1, 0x1.666666p+0},
+  {0x1.5dc066p+0, 0x1.51eb86p-2},
+  {0x1.7e15a8p-1, 0x1.666666p+0},
+  {0x1.0004dap+0, 0x1.d1746p-1},
+  {0x1.bd3868p-1, 0x1.666666p+0},
+  {0x1.3f41ccp+9, 0x1.51eb86p-2},
+  {0x1.22717ap-4, 0x1.249236p-2},
+  {0x1.24244ep+0, 0x1.51eb86p-2},
+  {0x1.574d9cp-2, 0x1.249236p-2},
+  {0x1.b047e2p+3, 0x1.d1746p-1},
+  {0x1.d734d6p-1, 0x1.249236p-2},
+  {0x1.422444p+8, 0x1.51eb86p-2},
+  {0x1.f75104p-16, 0x1.99999ap-1},
+  {0x1.ac0ef2p+3, 0x1.d1746p-1},
+  {0x1.feb2f2p-1, 0x1.666666p+0},
+  {0x1.1ee88cp+5, 0x1.51eb86p-2},
+  {0x1.a4341ap-1, 0x1.249236p-2},
+  {0x1.27cebp+1, 0x1.51eb86p-2},
+  {0x1.c65776p-2, 0x1.249236p-2},
+  {0x1.0f43a6p+0, 0x1.d1746p-1},
+  {0x1.f1f46ep-1, 0x1.249236p-2},
+  {0x1.3fc02cp+8, 0x1.51eb86p-2},
+  {0x1.ae72f4p+3, 0x1.51eb86p-2},
+  {0x1.0014f8p+0, 0x1.51eb86p-2},
+  {0x1.27cd68p+0, 0x1.51eb86p-2},
+  {0x1.0012aep+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3d1c5cp+1, 0x1.551eb8p+2},
+  {0x1.000778p+0, 0x1.51eb86p-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.3b8138p+1, 0x1.51eb86p-2},
+  {0x1.014e3cp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.52e44cp-2, 0x1.666666p+0},
+  {0x1.9eb2e2p+0, 0x1.51eb86p-2},
+  {0x1.6670e2p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b63348p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7a2596p-2, 0x1.666666p+0},
+  {0x1.bf64a6p+1, 0x1.51eb86p-2},
+  {0x1.d709fap-2, 0x1.666666p+0},
+  {0x1.3b80e4p+1, 0x1.51eb86p-2},
+  {0x1.5452c6p-2, 0x1.666666p+0},
+  {0x1.104524p+0, 0x1.51eb86p-2},
+  {0x1.a445eep-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e9d10cp-1, 0x1.666666p+0},
+  {0x1.00ef24p+0, 0x1.51eb86p-2},
+  {0x1.98769ep-3, 0x1.666666p+0},
+  {0x1.000346p+0, 0x1.51eb86p-2},
+  {0x1.a8c9fcp-2, 0x1.666666p+0},
+  {0x1.2e38p+0, 0x1.51eb86p-2},
+  {0x1.01c0a8p-1, 0x1.666666p+0},
+  {0x1.9f60cp+0, 0x1.51eb86p-2},
+  {0x1.a1e732p-1, 0x1.666666p+0},
+  {0x1.bcabcep+1, 0x1.51eb86p-2},
+  {0x1.1ca7f8p-1, 0x1.666666p+0},
+  {0x1.f704ccp+1, 0x1.51eb86p-2},
+  {0x1.04f312p-1, 0x1.666666p+0},
+  {0x1.000358p+0, 0x1.51eb86p-2},
+  {0x1.2cd184p-2, 0x1.666666p+0},
+  {0x1.ce7a8cp+4, 0x1.51eb86p-2},
+  {0x1.59d388p-1, 0x1.666666p+0},
+  {0x1.b1fc54p+1, 0x1.51eb86p-2},
+  {0x1.dac51ap-1, 0x1.666666p+0},
+  {0x1.7225b8p-8, 0x1.19999ap+0},
+  {0x1.a6c11ap-1, 0x1.666666p+0},
+  {0x1.7f01ap+5, 0x1.51eb86p-2},
+  {0x1.e6a29p-1, 0x1.666666p+0},
+  {0x1.12ecaep+0, 0x1.51eb86p-2},
+  {0x1.5dd852p-1, 0x1.666666p+0},
+  {0x1.7851c6p+9, 0x1.51eb86p-2},
+  {0x1.7aebe6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.9d2e0ep-3, 0x1.666666p+0},
+  {0x1.7b7596p+7, 0x1.51eb86p-2},
+  {0x1.e1decep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7797ccp-1, 0x1.666666p+0},
+  {0x1.42c15p+6, 0x1.51eb86p-2},
+  {0x1.cfef7cp-2, 0x1.666666p+0},
+  {0x1.bdf6cep+6, 0x1.51eb86p-2},
+  {0x1.fbc4d2p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d45bf2p-2, 0x1.666666p+0},
+  {0x1.53eda6p+0, 0x1.51eb86p-2},
+  {0x1.02abfp+0, 0x1.666666p+0},
+  {0x1.78013cp+8, 0x1.51eb86p-2},
+  {0x1.9d0d06p-3, 0x1.666666p+0},
+  {0x1.5336dep-11, 0x1.19999ap+0},
+  {0x1.6691eap-3, 0x1.666666p+0},
+  {0x1.488ea4p+6, 0x1.51eb86p-2},
+  {0x1.e42edcp-1, 0x1.666666p+0},
+  {0x1.02b97p+0, 0x1.51eb86p-2},
+  {0x1.39e98ep-1, 0x1.666666p+0},
+  {0x1.9421f2p+2, 0x1.51eb86p-2},
+  {0x1.ddfb72p-1, 0x1.666666p+0},
+  {0x1.7b0224p+6, 0x1.51eb86p-2},
+  {0x1.aeb32cp+1, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.51f7d8p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.04767ep+0, 0x1.d1746p-1},
+  {0x1.6f1402p+1, 0x1.51eb86p-2},
+  {0x1.bd4862p+4, 0x1.d1746p-1},
+  {0x1.4ec1eap+4, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.df2da2p-1, 0x1.249236p-2},
+  {0x1.8e61f2p+10, 0x1.99999ap-2},
+  {0x1.c34e76p-1, 0x1.666666p+0},
+  {0x1.00119p+0, 0x1.51eb86p-2},
+  {0x1.f3213ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.f1181ap-1, 0x1.249236p-2},
+  {0x1.000e18p+0, 0x1.51eb86p-2},
+  {0x1.ff2842p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.d2f3c2p-2, 0x1.666666p+0},
+  {0x1.9701b6p+3, 0x1.51eb86p-2},
+  {0x1.015592p+0, 0x1.666666p+0},
+  {0x1.3e449ap+9, 0x1.19999ap+0},
+  {0x1.58a82ap-1, 0x1.666666p+0},
+  {0x1.970292p+3, 0x1.51eb86p-2},
+  {0x1.975d56p-2, 0x1p-1},
+  {0x1.7e0e04p+10, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.51eb86p-2},
+  {0x1.02684cp+0, 0x1.51eb86p-2},
+  {0x1.48f286p+4, 0x1.d1746p-1},
+  {0x1.eb3f64p-1, 0x1.249236p-2},
+  {0x1.0601f4p+8, 0x1.d1746p-1},
+  {0x1.bd2ac8p-1, 0x1.249236p-2},
+  {0x1.33354cp-4, 0x1.19999ap+0},
+  {0x1.e7662p-1, 0x1.666666p+0},
+  {0x1.3f02c8p+10, 0x1.51eb86p-2},
+  {0x1.c4fc1ep-16, 0x1.4f5c28p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.53ac5p-2, 0x1.249236p-2},
+  {0x1.2f6014p+3, 0x1.19999ap+0},
+  {0x1.9d07c8p-3, 0x1.666666p+0},
+  {0x1.98d53p+0, 0x1.51eb86p-2},
+  {0x1.e20792p-1, 0x1.666666p+0},
+  {0x1.028a4p+0, 0x1.249236p-2},
+  {0x1.7b9842p-2, 0x1.666666p+0},
+  {0x1.fdf5fp+1, 0x1.51eb86p-2},
+  {0x1.bcfc62p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.771258p+12, 0x1.51eb86p-2},
+  {0x1.00057p+0, 0x1.51eb86p-2},
+  {0x1.3ee1ecp+11, 0x1.51eb86p-2},
+  {0x1.5c5292p+3, 0x1.d1746p-1},
+  {0x1.aee41ap-4, 0x1.249236p-2},
+  {0x1.7ec31ap+2, 0x1.51eb86p-2},
+  {0x1.93b96ap-3, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.e54994p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.30d49ap-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.a9027ap-1, 0x1.666666p+0},
+  {0x1.8621b8p+5, 0x1.51eb86p-2},
+  {0x1.cba2ep-1, 0x1.666666p+0},
+  {0x1.00a256p+0, 0x1.d1746p-1},
+  {0x1.66d72p-3, 0x1.666666p+0},
+  {0x1.000022p+0, 0x1.51eb86p-2},
+  {0x1.a6bb98p-2, 0x1.666666p+0},
+  {0x1.3e30b2p+6, 0x1.19999ap+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.8a85ep+4, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.8aa822p-2, 0x1.249236p-2},
+  {0x1.a91de2p+4, 0x1.d1746p-1},
+  {0x1.a36e2ep-16, 0x1.99999ap-1},
+  {0x1.94e454p+0, 0x1.51eb86p-2},
+  {0x1.5348f6p-2, 0x1.666666p+0},
+  {0x1.b5b33p+5, 0x1.99999ap-2},
+  {0x1.ea0dbap-1, 0x1.666666p+0},
+  {0x1.728e92p-4, 0x1.19999ap+0},
+  {0x1.d5cfeep-2, 0x1.666666p+0},
+  {0x1.ce725cp+2, 0x1.51eb86p-2},
+  {0x1.790186p+7, 0x1.51eb86p-2},
+  {0x1.00062ap+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.5cc272p-1, 0x1.666666p+0},
+  {0x1.395fd6p+8, 0x1.99999ap-2},
+  {0x1.1fefcp-2, 0x1.249236p-2},
+  {0x1.a8bf32p+4, 0x1.d1746p-1},
+  {0x1.b3994ep-1, 0x1.666666p+0},
+  {0x1.00727ep+0, 0x1.51eb86p-2},
+  {0x1.d2cd3ap-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.768c48p-1, 0x1.d51eb8p+2},
+  {0x1.813fep+4, 0x1.51eb86p-2},
+  {0x1.17a55ep+6, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.86bc5cp+5, 0x1.99999ap-2},
+  {0x1.06d8b2p-3, 0x1.666666p+0},
+  {0x1.79049cp+7, 0x1.51eb86p-2},
+  {0x1.f42c8p-1, 0x1.249236p-2},
+  {0x1.a7297p-2, 0x1.19999ap+0},
+  {0x1.eb8b26p-1, 0x1.666666p+0},
+  {0x1.989286p+9, 0x1.99999ap-2},
+  {0x1.9b54ap-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.03e864p+3, 0x1.d1746p-1},
+  {0x1.014da4p+0, 0x1.51eb86p-2},
+  {0x1.1613d4p-3, 0x1.19999ap+0},
+  {0x1.00180ep+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.cdd872p-1, 0x1.666666p+0},
+  {0x1.3e7fcp+10, 0x1.19999ap+0},
+  {0x1.c51b5p-2, 0x1.249236p-2},
+  {0x1.08988p+0, 0x1.99999ap-2},
+  {0x1.55ec3ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.9b706ap-3, 0x1.666666p+0},
+  {0x1.dd566cp-3, 0x1.19999ap+0},
+  {0x1.38c95ap+9, 0x1.19999ap+0},
+  {0x1.0011c2p+0, 0x1.51eb86p-2},
+  {0x1.51d54ep+0, 0x1.99999ap-2},
+  {0x1.d902dep-1, 0x1.249236p-2},
+  {0x1.508eb6p+3, 0x1.99999ap-2},
+  {0x1.cdd7ecp-1, 0x1.666666p+0},
+  {0x1.020b2cp+0, 0x1.51eb86p-2},
+  {0x1.d10bc8p-1, 0x1.249236p-2},
+  {0x1.870154p+4, 0x1.51eb86p-2},
+  {0x1.7d6a9cp-1, 0x1.666666p+0},
+  {0x1.7712p+12, 0x1.51eb86p-2},
+  {0x1.bb4c8p-1, 0x1.666666p+0},
+  {0x1.5c772ep+1, 0x1.99999ap-2},
+  {0x1.000adp+0, 0x1.99999ap-2},
+  {0x1.768e2ap+2, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.50af1cp-1, 0x1.249236p-2},
+  {0x1.00711ep+0, 0x1.51eb86p-2},
+  {0x1.afb6dcp-4, 0x1.249236p-2},
+  {0x1.571422p+6, 0x1.99999ap-2},
+  {0x1.523358p-2, 0x1.666666p+0},
+  {0x1.e9059ep+3, 0x1.99999ap-2},
+  {0x1.5232f4p-1, 0x1.666666p+0},
+  {0x1.221414p+7, 0x1.d1746p-1},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.3fc0e8p+8, 0x1.51eb86p-2},
+  {0x1.1a7c18p-5, 0x1.19999ap+0},
+  {0x1.bffde8p-2, 0x1.249236p-2},
+  {0x1.42c3aep+6, 0x1.51eb86p-2},
+  {0x1.df3776p-1, 0x1.249236p-2},
+  {0x1.2eeca6p+1, 0x1.19999ap+0},
+  {0x1.7b482cp-1, 0x1.666666p+0},
+  {0x1.26e908p+4, 0x1.51eb86p-2},
+  {0x1.3a5c1cp-1, 0x1.666666p+0},
+  {0x1.6adf2ep+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.0069e8p+0, 0x1.99999ap-2},
+  {0x1.3ac936p+2, 0x1.19999ap+0},
+  {0x1.5a14cep-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.1f0c34p-10, 0x1.a3d70ap-2},
+  {0x1.d3b928p-2, 0x1.19999ap+0},
+  {0x1.b85122p-1, 0x1.666666p+0},
+  {0x1.76a5fp+1, 0x1.19999ap+0},
+  {0x1.bacba8p-1, 0x1.666666p+0},
+  {0x1.3e400ep+14, 0x1.19999ap+0},
+  {0x1.05243ap+0, 0x1.249236p-2},
+  {0x1.01cf36p+0, 0x1.d1746p-1},
+  {0x1.7d4174p-5, 0x1.19999ap+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.efcb2ep-1, 0x1.666666p+0},
+  {0x1.01cc2p+0, 0x1.d1746p-1},
+  {0x1.861c36p-1, 0x1.666666p+0},
+  {0x1.11d15ap+2, 0x1.d1746p-1},
+  {0x1.cb267cp-1, 0x1.666666p+0},
+  {0x1.0074c8p+0, 0x1.51eb86p-2},
+  {0x1.7773ap-2, 0x1.d51eb8p+2},
+  {0x1.000064p+0, 0x1.99999ap-2},
+  {0x1.04669p+0, 0x1.d1746p-1},
+  {0x1.4ec128p+4, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.ed6d3cp-1, 0x1.666666p+0},
+  {0x1.7711f2p+12, 0x1.51eb86p-2},
+  {0x1.cebbfep-1, 0x1.249236p-2},
+  {0x1.4115e2p+11, 0x1.d1746p-1},
+  {0x1.03828p-1, 0x1.666666p+0},
+  {0x1.774322p+10, 0x1.51eb86p-2},
+  {0x1.7be1a8p-1, 0x1.666666p+0},
+  {0x1.870414p+4, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.1907bcp+3, 0x1.51eb86p-2},
+  {0x1.00069ep+0, 0x1.51eb86p-2},
+  {0x1.0aa4bap-2, 0x1.666666p+0},
+  {0x1.001f1p+0, 0x1.99999ap-2},
+  {0x1.b97c8p-1, 0x1.249236p-2},
+  {0x1.adbcap+10, 0x1.99999ap-2},
+  {0x1.ef29d4p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.34df8cp-3, 0x1.666666p+0},
+  {0x1.b9ab88p+3, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3ec5f4p+14, 0x1.51eb86p-2},
+  {0x1.2a90e4p+3, 0x1.19999ap+0},
+  {0x1.c9d798p-1, 0x1.666666p+0},
+  {0x1.7a17dcp+5, 0x1.19999ap+0},
+  {0x1.e4dd94p-1, 0x1.249236p-2},
+  {0x1.007044p+0, 0x1.99999ap-2},
+  {0x1.070196p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.9a133cp-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3f40cap+9, 0x1.51eb86p-2},
+  {0x1.df6c9cp+0, 0x1.19999ap+0},
+  {0x1.0ed528p+0, 0x1.99999ap-2},
+  {0x1.064eaep-1, 0x1.249236p-2},
+  {0x1.4940bcp-12, 0x1.19999ap+0},
+  {0x1.b5e4c6p-1, 0x1.249236p-2},
+  {0x1.00e5d6p+0, 0x1.d1746p-1},
+  {0x1.66ce36p-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.3bf50ep-1, 0x1.666666p+0},
+  {0x1.3ec8d4p+14, 0x1.51eb86p-2},
+  {0x1.2c247cp+8, 0x1.99999ap-2},
+  {0x1.510c14p+4, 0x1.51eb86p-2},
+  {0x1.00c038p+0, 0x1.d1746p-1},
+  {0x1.cf2192p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.01f32p-11, 0x1.4f5c28p+0},
+  {0x1.149796p+0, 0x1.99999ap-2},
+  {0x1.39c13p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.92ef7p-1, 0x1.666666p+0},
+  {0x1.b129a2p+2, 0x1.d1746p-1},
+  {0x1.2f2644p+13, 0x1.99999ap-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.7f01b6p+5, 0x1.51eb86p-2},
+  {0x1.b1012ap-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a79fecp-13, 0x1.99999ap-1},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.2e008ep-2, 0x1.666666p+0},
+  {0x1.33c1cep-8, 0x1.19999ap+0},
+  {0x1.aa60d4p-1, 0x1.666666p+0},
+  {0x1.3ad252p+11, 0x1.19999ap+0},
+  {0x1.f7cd04p-1, -0x1.249236p-2},
+  {0x1.b83e86p+1, 0x1.99999ap-2},
+  {0x1.00050cp+0, 0x1.51eb86p-2},
+  {0x1.8a13ap-1, 0x1.249236p-2},
+  {0x1.7903bep+7, 0x1.51eb86p-2},
+  {0x1.20f58p-1, 0x1.666666p+0},
+  {0x1.20a02cp+0, 0x1.d1746p-1},
+  {0x1.cf78fep-3, 0x1.666666p+0},
+  {0x1.1c2f52p+2, 0x1.d1746p-1},
+  {0x1.a849ecp-1, 0x1.666666p+0},
+  {0x1.bd3b2ap+4, 0x1.d1746p-1},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.b93c7ep+10, 0x1.99999ap-2},
+  {0x1.007304p+0, 0x1.51eb86p-2},
+  {0x1.ec3222p-1, 0x1.249236p-2},
+  {0x1.3e97c6p+5, 0x1.19999ap+0},
+  {0x1.65dd9p-3, 0x1.666666p+0},
+  {0x1.048f22p+0, 0x1.d1746p-1},
+  {0x1.06b7aap-3, 0x1.666666p+0},
+  {0x1.b958d8p+30, 0x1.99999ap-2},
+  {0x1.f00842p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.696638p-2, 0x1.dp+2},
+  {0x1.005718p+0, 0x1.51eb86p-2},
+  {0x1.4ec176p+4, 0x1.51eb86p-2},
+  {0x1.e82f94p-1, 0x1.249236p-2},
+  {0x1.82a95p+0, 0x1.99999ap-2},
+  {0x1.d5d91ap-3, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.cf2cfap-5, 0x1.249236p-2},
+  {0x1.00b33ep+0, 0x1.d1746p-1},
+  {0x1.d230bap-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7b9736p-2, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.770a96p+13, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.000b34p+0, 0x1.51eb86p-2},
+  {0x1.eba45p-1, 0x1.666666p+0},
+  {0x1.017fb6p+0, 0x1.d1746p-1},
+  {0x1.263348p-2, 0x1.249236p-2},
+  {0x1.00ab72p+0, 0x1.51eb86p-2},
+  {0x1.ed41d8p-1, 0x1.666666p+0},
+  {0x1.05683p+0, 0x1.99999ap-2},
+  {0x1.0cc74cp-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.c22026p+0, 0x1.19999ap+0},
+  {0x1.000208p+0, 0x1.51eb86p-2},
+  {0x1.9eee2cp+4, 0x1.d1746p-1},
+  {0x1.508aacp-2, 0x1.666666p+0},
+  {0x1.31ffe6p+0, 0x1.19999ap+0},
+  {0x1.cc63f2p-5, 0x1.249236p-2},
+  {0x1.c718bp+8, 0x1.99999ap-2},
+  {0x1.ab2e38p-1, 0x1.666666p+0},
+  {0x1.126d9cp+0, 0x1.d1746p-1},
+  {0x1.06f60ep-3, 0x1.666666p+0},
+  {0x1.34b6b8p+8, 0x1.d1746p-1},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.771204p+12, 0x1.51eb86p-2},
+  {0x1.38e07cp+6, 0x1.19999ap+0},
+  {0x1.7bb01cp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.387724p-3, 0x1.249236p-2},
+  {0x1.0080b6p+0, 0x1.99999ap-2},
+  {0x1.a9e6acp-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.f2a3aep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.002364p+0, 0x1.51eb86p-2},
+  {0x1.0009a2p+0, 0x1.51eb86p-2},
+  {0x1.16df4ep+3, 0x1.19999ap+0},
+  {0x1.8bd5fep-1, 0x1.249236p-2},
+  {0x1.0d71bp+0, 0x1.99999ap-2},
+  {0x1.6c588ap-1, 0x1.249236p-2},
+  {0x1.56c7cap+1, 0x1.99999ap-2},
+  {0x1.d7f6b2p-3, 0x1.666666p+0},
+  {0x1.fff738p-1, 0x1.249236p-2},
+  {0x1.7a9542p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.77218ep+11, 0x1.51eb86p-2},
+  {0x1.30555p+8, 0x1.99999ap-2},
+  {0x1.38f81ep-3, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.232442p-1, 0x1.249236p-2},
+  {0x1.001c5p+0, 0x1.51eb86p-2},
+  {0x1.33f6c2p-3, 0x1.666666p+0},
+  {0x1.015182p+0, 0x1.d1746p-1},
+  {0x1.a39326p-2, 0x1.666666p+0},
+  {0x1.8df676p+4, 0x1.51eb86p-2},
+  {0x1.384adcp+28, 0x1.99999ap-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.3acb16p+11, 0x1.19999ap+0},
+  {0x1.88891ap-1, 0x1.249236p-2},
+  {0x1.06b638p+4, 0x1.d1746p-1},
+  {0x1.ce6c0ap-12, 0x1.4f5c28p+0},
+  {0x1.a8ae02p+6, 0x1.d1746p-1},
+  {0x1.2ca46ep-2, 0x1.666666p+0},
+  {0x1.5dc0a8p+0, 0x1.51eb86p-2},
+  {0x1.ac200cp-1, 0x1.666666p+0},
+  {0x1.73639p-1, 0x1.19999ap+0},
+  {0x1.fac216p-1, -0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.ac8a38p-8, 0x1.19999ap+0},
+  {0x1.f22a0ap-1, 0x1.249236p-2},
+  {0x1.cf8962p+0, 0x1.d1746p-1},
+  {0x1.301b44p-2, 0x1.666666p+0},
+  {0x1.b702b8p+2, 0x1.51eb86p-2},
+  {0x1.3cea08p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.e19f5ep-1, 0x1.666666p+0},
+  {0x1.d76fa6p+9, 0x1.99999ap-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.6d4212p+5, 0x1.19999ap+0},
+  {0x1.05eabcp+0, 0x1.51eb86p-2},
+  {0x1.000778p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.776c6ap-1, 0x1.666666p+0},
+  {0x1.46dacap+0, 0x1.d1746p-1},
+  {0x1.f6c28cp-1, 0x1.249236p-2},
+  {0x1.2f6a4ap+4, 0x1.19999ap+0},
+  {0x1.d760cp-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.1db1fap+0, 0x1.23586cp-2},
+  {0x1.37d09p+33, 0x1.99999ap-2},
+  {0x1.150374p+0, 0x1.99999ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.1b91d2p+4, 0x1.19999ap+0},
+  {0x1.d64778p-2, 0x1.666666p+0},
+  {0x1.2fc746p+33, 0x1.99999ap-2},
+  {0x1.73f9a4p-2, 0x1.249236p-2},
+  {0x1.010a24p+0, 0x1.51eb86p-2},
+  {0x1.ea4314p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.04e336p-1, 0x1.666666p+0},
+  {0x1.c12de4p+5, 0x1.99999ap-2},
+  {0x1.3e75b2p+12, 0x1.19999ap+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.19111ap+4, 0x1.19999ap+0},
+  {0x1.b481b2p-3, 0x1.249236p-2},
+  {0x1.712c3p+13, 0x1.d1746p-1},
+  {0x1.1904b4p-13, 0x1.99999ap-1},
+  {0x1.40c14ap+7, 0x1.51eb86p-2},
+  {0x1.3b7198p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.d06034p-2, 0x1.666666p+0},
+  {0x1.05307ap+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.01849p+0, 0x1.51eb86p-2},
+  {0x1.12fc6cp+4, 0x1.51eb86p-2},
+  {0x1.fc1e7ap-1, 0x1.249236p-2},
+  {0x1.000f24p+0, 0x1.51eb86p-2},
+  {0x1.9d3dc8p-3, 0x1.666666p+0},
+  {0x1.3ac6fp-1, 0x1.19999ap+0},
+  {0x1.cb34e8p-3, 0x1.666666p+0},
+  {0x1.380f14p+13, 0x1.99999ap-2},
+  {0x1.04611p-1, 0x1.666666p+0},
+  {0x1.00051cp+0, 0x1.99999ap-2},
+  {0x1.a6dd2ap+25, 0x1.99999ap-2},
+  {0x1.2dedaep-4, 0x1.19999ap+0},
+  {0x1.007768p+0, 0x1.d1746p-1},
+  {0x1.97012ap+3, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.e303cp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.8a72eap-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.50ae54p-2, 0x1.666666p+0},
+  {0x1.8b9278p+4, 0x1.51eb86p-2},
+  {0x1.056474p+0, -0x1.249236p-2},
+  {0x1.77858ap+9, 0x1.51eb86p-2},
+  {0x1.3ee07ep+11, 0x1.51eb86p-2},
+  {0x1.0f11p+3, 0x1.51eb86p-2},
+  {0x1.032f34p+0, 0x1.99999ap-2},
+  {0x1.5b24a6p-2, 0x1.249236p-2},
+  {0x1.2dfd6ap-12, 0x1.19999ap+0},
+  {0x1.7c3c18p-1, 0x1.249236p-2},
+  {0x1.07d392p+0, 0x1.d1746p-1},
+  {0x1.cde00ep-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.d7d8fp-1, 0x1.666666p+0},
+  {0x1.b9eacp+2, 0x1.51eb86p-2},
+  {0x1.38d998p+8, 0x1.19999ap+0},
+  {0x1.05b26p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b01754p-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.358538p-3, 0x1.666666p+0},
+  {0x1.1842dep+9, 0x1.d1746p-1},
+  {0x1.e4016p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.a8ebccp-2, 0x1.666666p+0},
+  {0x1.9efa1p+5, 0x1.99999ap-2},
+  {0x1.ba088ep+0, 0x1.d1746p-1},
+  {0x1.000bccp+0, 0x1.51eb86p-2},
+  {0x1.3e8d88p+5, 0x1.19999ap+0},
+  {0x1.46c16p+5, 0x1.51eb86p-2},
+  {0x1.287dc4p+0, 0x1.d1746p-1},
+  {0x1.4ab474p-1, 0x1.666666p+0},
+  {0x1.32c51ap-4, 0x1.19999ap+0},
+  {0x1.abe166p-1, 0x1.666666p+0},
+  {0x1.070f8cp+0, 0x1.d1746p-1},
+  {0x1.f75a54p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.2dd5d4p-2, 0x1.666666p+0},
+  {0x1.0c5bbp+0, 0x1.51eb86p-2},
+  {0x1.004674p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.d594bp-1, 0x1.249236p-2},
+  {0x1.0ea476p+0, 0x1.d1746p-1},
+  {0x1.f7bf84p-1, 0x1.249236p-2},
+  {0x1.1b2764p+2, 0x1.51eb86p-2},
+  {0x1.0c675ap-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fe0ac8p-1, 0x1.666666p+0},
+  {0x1.737542p-5, 0x1.19999ap+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.352008p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.0624dep-11, 0x1.4f5c28p+0},
+  {0x1.b703a8p+2, 0x1.51eb86p-2},
+  {0x1.192c28p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.544028p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.804e4p-1, 0x1.af5c28p+2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.90b4fap+14, 0x1.d1746p-1},
+  {0x1.00025cp+0, 0x1.51eb86p-2},
+  {0x1.7f0292p+5, 0x1.51eb86p-2},
+  {0x1.569446p-1, 0x1.666666p+0},
+  {0x1.282c2cp+0, 0x1.d1746p-1},
+  {0x1.211234p-4, 0x1.249236p-2},
+  {0x1.3e69e6p+4, 0x1.19999ap+0},
+  {0x1.cdde38p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.bb68aep-1, 0x1.666666p+0},
+  {0x1.002fc6p+0, 0x1.d1746p-1},
+  {0x1.0017p+0, 0x1.51eb86p-2},
+  {0x1.00e26ep+0, 0x1.51eb86p-2},
+  {0x1.36e9aep+3, 0x1.51eb86p-2},
+  {0x1.284fb2p-1, 0x1.249236p-2},
+  {0x1.e9aa68p+16, 0x1.99999ap-2},
+  {0x1.cdfce4p-5, 0x1.249236p-2},
+  {0x1.cf67b2p-6, 0x1.19999ap+0},
+  {0x1.e4f638p-1, 0x1.666666p+0},
+  {0x1.3ae36p+13, 0x1.19999ap+0},
+  {0x1.fbc622p-1, 0x1.666666p+0},
+  {0x1.004fap+0, 0x1.51eb86p-2},
+  {0x1.0082aep+0, 0x1.249236p-2},
+  {0x1.3e4086p-1, 0x1.19999ap+0},
+  {0x1.10483cp+3, 0x1.51eb86p-2},
+  {0x1.6e9a2cp-3, 0x1.249236p-2},
+  {0x1.7543aep-4, 0x1.19999ap+0},
+  {0x1.1f4fb6p-1, 0x1.666666p+0},
+  {0x1.4fc866p+3, 0x1.99999ap-2},
+  {0x1.013fdp-2, 0x1.249236p-2},
+  {0x1.486e7ep-2, 0x1.19999ap+0},
+  {0x1.2fa4a4p-1, 0x1.666666p+0},
+  {0x1.00053ep+0, 0x1.99999ap-2},
+  {0x1.f63f78p-1, 0x1.666666p+0},
+  {0x1.771366p+12, 0x1.51eb86p-2},
+  {0x1.007d4ep+0, 0x1.d1746p-1},
+  {0x1.416ae2p+11, 0x1.d1746p-1},
+  {0x1.0ab628p+0, 0x1.d1746p-1},
+  {0x1.67297p-3, 0x1.666666p+0},
+  {0x1.3e8e5p+2, 0x1.19999ap+0},
+  {0x1.4f0542p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.7a03e6p-1, 0x1.666666p+0},
+  {0x1.0515e6p+6, 0x1.d1746p-1},
+  {0x1.a3443ep-2, 0x1.666666p+0},
+  {0x1.72b452p-3, 0x1.19999ap+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.8f7fp+4, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.fd3c36p-3, 0x1.249236p-2},
+  {0x1.3445bap+0, 0x1.19999ap+0},
+  {0x1.2be48ap-12, 0x1.4f5c28p+0},
+  {0x1.5262acp+6, 0x1.19999ap+0},
+  {0x1.fbc3c6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.fcbfb2p-1, 0x1.666666p+0},
+  {0x1.392556p+6, 0x1.19999ap+0},
+  {0x1.fd22c8p-1, 0x1.249236p-2},
+  {0x1.015572p+0, 0x1.d1746p-1},
+  {0x1.5d17e8p+1, 0x1.99999ap-2},
+  {0x1.8700f8p+4, 0x1.51eb86p-2},
+  {0x1.0b19bcp+4, 0x1.d1746p-1},
+  {0x1.7f4b4p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.c52ac8p-2, 0x1.249236p-2},
+  {0x1.b146a6p+2, 0x1.d1746p-1},
+  {0x1.be4474p-1, 0x1.666666p+0},
+  {0x1.801afap+7, 0x1.51eb86p-2},
+  {0x1.0d3f18p-2, 0x1.666666p+0},
+  {0x1.0cc672p+0, 0x1.51eb86p-2},
+  {0x1.0270f4p+0, 0x1.99999ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.c363f6p-2, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.0c6f7ap-18, 0x1.4f5c28p+0},
+  {0x1.349386p-6, 0x1.19999ap+0},
+  {0x1.d78f8ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.5680ep-1, 0x1.666666p+0},
+  {0x1.3e472cp+2, 0x1.19999ap+0},
+  {0x1.b70186p+2, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.7ec27ap+2, 0x1.51eb86p-2},
+  {0x1.42c14cp+6, 0x1.51eb86p-2},
+  {0x1.4ba366p+0, 0x1.51eb86p-2},
+  {0x1.3af0cp-1, 0x1.666666p+0},
+  {0x1.6a6a1ap+1, 0x1.51eb86p-2},
+  {0x1.9de00ep-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.a2b778p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.0095bp+0, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.0011f4p+0, 0x1.d1746p-1},
+  {0x1.1b8d92p+0, 0x1.51eb86p-2},
+  {0x1.874774p-1, 0x1.19999ap+0},
+  {0x1.dbbc0ap-1, 0x1.249236p-2},
+  {0x1.0c52a4p+0, 0x1.99999ap-2},
+  {0x1.29cbacp-10, 0x1.a3d70ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.f63de6p-1, 0x1.666666p+0},
+  {0x1.55b308p+0, 0x1.d1746p-1},
+  {0x1.973cb4p-1, 0x1.666666p+0},
+  {0x1.bb80fep+0, 0x1.51eb86p-2},
+  {0x1.3ac3fp+3, 0x1.19999ap+0},
+  {0x1.000992p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fd5498p-2, 0x1.249236p-2},
+  {0x1.88fc6ep+14, 0x1.d1746p-1},
+  {0x1.d23c42p-3, 0x1.666666p+0},
+  {0x1.27f4f4p+17, 0x1.99999ap-2},
+  {0x1.c83794p-1, 0x1.666666p+0},
+  {0x1.39218ap+9, 0x1.19999ap+0},
+  {0x1.2d0072p-2, 0x1.666666p+0},
+  {0x1.3f7836p+0, 0x1.51eb86p-2},
+  {0x1.3a7654p-3, 0x1p-1},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.1f9ea6p+1, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.aee194p+2, 0x1.d1746p-1},
+  {0x1.8a4cc6p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.64096p-4, 0x1.249236p-2},
+  {0x1.1bb116p+9, 0x1.d1746p-1},
+  {0x1.d83d7ap-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.c5de9cp-3, 0x1.666666p+0},
+  {0x1.001052p+0, 0x1.99999ap-2},
+  {0x1.ba177p+10, 0x1.99999ap-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.97dd22p+0, 0x1.d1746p-1},
+  {0x1.513404p-2, 0x1.249236p-2},
+  {0x1.45fecap+0, 0x1.d1746p-1},
+  {0x1.92a738p-19, 0x1.4f5c28p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.072218p-3, 0x1.666666p+0},
+  {0x1.b0296cp+1, 0x1.d1746p-1},
+  {0x1.a76d12p-2, 0x1.666666p+0},
+  {0x1.7b02b2p+6, 0x1.51eb86p-2},
+  {0x1.3cfa48p-1, 0x1.b51eb8p+3},
+  {0x1.3e43ccp-1, 0x1.19999ap+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.168b3ap+9, 0x1.d1746p-1},
+  {0x1.01a9dap+0, 0x1.666666p+0},
+  {0x1.0008b8p+0, 0x1.99999ap-2},
+  {0x1.24e3dep-1, 0x1.249236p-2},
+  {0x1.62fdp+0, 0x1.99999ap-2},
+  {0x1.15c7cep-1, 0x1.666666p+0},
+  {0x1.12aee2p+0, 0x1.d1746p-1},
+  {0x1.959b3ep-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.433c3ep-1, 0x1.19999ap+0},
+  {0x1.007f66p+0, 0x1.51eb86p-2},
+  {0x1.1848eep+9, 0x1.d1746p-1},
+  {0x1.743a64p-3, 0x1.249236p-2},
+  {0x1.771704p+12, 0x1.51eb86p-2},
+  {0x1.c4fc1ep-14, 0x1.a3d70ap-2},
+  {0x1.1b840ap+9, 0x1.d1746p-1},
+  {0x1.c97daep-1, 0x1.666666p+0},
+  {0x1.5e806cp+16, 0x1.99999ap-2},
+  {0x1.cccfaep-1, 0x1.666666p+0},
+  {0x1.7e173p+11, 0x1.51eb86p-2},
+  {0x1.ab69dcp-2, 0x1.bp+3},
+  {0x1.3acc74p+9, 0x1.19999ap+0},
+  {0x1.46c2ep+5, 0x1.51eb86p-2},
+  {0x1.630faep-1, 0x1.249236p-2},
+  {0x1.4f5de6p+15, 0x1.99999ap-2},
+  {0x1.3422ccp-3, 0x1.666666p+0},
+  {0x1.855cfap-1, 0x1.19999ap+0},
+  {0x1.bbab44p-1, 0x1.249236p-2},
+  {0x1.00151ap+0, 0x1.d1746p-1},
+  {0x1.d6277cp-2, 0x1.666666p+0},
+  {0x1.7b5aeap-6, 0x1.19999ap+0},
+  {0x1.51c9b4p-2, 0x1.666666p+0},
+  {0x1.00028ep+0, 0x1.51eb86p-2},
+  {0x1.001dbp+0, 0x1.51eb86p-2},
+  {0x1.447e4ap-5, 0x1.19999ap+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.380992p-3, 0x1.249236p-2},
+  {0x1.4fc0b2p+3, 0x1.99999ap-2},
+  {0x1.f75104p-16, 0x1.a3d70ap-2},
+  {0x1.47c18cp+0, 0x1.99999ap-2},
+  {0x1.f7a1c2p-1, 0x1.666666p+0},
+  {0x1.26d7a6p+0, 0x1.d1746p-1},
+  {0x1.7d145ep-2, 0x1.666666p+0},
+  {0x1.005e1cp+0, 0x1.99999ap-2},
+  {0x1.6633fp-1, 0x1.90a3d8p+2},
+  {0x1.3c2a78p+2, 0x1.19999ap+0},
+  {0x1.79c5f8p+10, 0x1.99999ap-2},
+  {0x1.b1b8aap-4, 0x1.249236p-2},
+  {0x1.000b78p+0, 0x1.d1746p-1},
+  {0x1.a65c0cp-1, 0x1.666666p+0},
+  {0x1.265c7p+0, 0x1.19999ap+0},
+  {0x1.c08df4p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.4eeccp-2, 0x1.666666p+0},
+  {0x1.002b84p+0, 0x1.51eb86p-2},
+  {0x1.818b94p+1, 0x1.243808p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.aecbacp+2, 0x1.d1746p-1},
+  {0x1.3fc19cp+8, 0x1.51eb86p-2},
+  {0x1.9a1912p+0, 0x1.d1746p-1},
+  {0x1.00781p-2, 0x1.249236p-2},
+  {0x1.8e448ep+15, 0x1.99999ap-2},
+  {0x1.f4b556p-1, 0x1.249236p-2},
+  {0x1.4ee8d2p-4, 0x1.19999ap+0},
+  {0x1.b66948p-1, 0x1.666666p+0},
+  {0x1.f7810ep+2, 0x1.d1746p-1},
+  {0x1.d728a6p-3, 0x1.666666p+0},
+  {0x1.9e1b2ap+1, 0x1.99999ap-2},
+  {0x1.00c2f8p+0, 0x1.d1746p-1},
+  {0x1.e92694p+4, 0x1.51eb86p-2},
+  {0x1.5ec3d2p+3, 0x1.51eb86p-2},
+  {0x1.cfa072p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.f9ea36p-1, 0x1.666666p+0},
+  {0x1.012c38p+0, 0x1.99999ap-2},
+  {0x1.b0ac3ap-4, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.02f48cp-1, 0x1.666666p+0},
+  {0x1.4b9a2p+3, 0x1.99999ap-2},
+  {0x1.ae4086p-4, 0x1.d51eb8p+2},
+  {0x1.d64c3cp+3, 0x1.51eb86p-2},
+  {0x1.7d0054p+4, 0x1.19999ap+0},
+  {0x1.fb73f4p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.217f42p-4, 0x1.249236p-2},
+  {0x1.bec29cp+1, 0x1.51eb86p-2},
+  {0x1.c15098p-11, 0x1.a3d70ap-2},
+  {0x1.1f61ccp+1, 0x1.51eb86p-2},
+  {0x1.5a02fcp-1, 0x1.666666p+0},
+  {0x1.4cd49p+5, 0x1.51eb86p-2},
+  {0x1.9a964ep-3, 0x1.666666p+0},
+  {0x1.40c1b4p+7, 0x1.51eb86p-2},
+  {0x1.45a44cp+11, 0x1.d1746p-1},
+  {0x1.46c16ep+5, 0x1.51eb86p-2},
+  {0x1.0953ecp+8, 0x1.d1746p-1},
+  {0x1.b07d0ap-4, 0x1.249236p-2},
+  {0x1.79035ap+7, 0x1.51eb86p-2},
+  {0x1.f2e276p-1, 0x1.666666p+0},
+  {0x1.3b81d8p+1, 0x1.51eb86p-2},
+  {0x1.4ec8d6p-2, 0x1.666666p+0},
+  {0x1.3e3582p+0, 0x1.d1746p-1},
+  {0x1.77ee2cp-1, 0x1.666666p+0},
+  {0x1.000314p+0, 0x1.51eb86p-2},
+  {0x1.bf5ba2p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.00001p+0, 0x1.99999ap-2},
+  {0x1.1d8876p+4, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.f8d5a6p-1, 0x1.249236p-2},
+  {0x1.16d7fap+0, 0x1.99999ap-2},
+  {0x1.aaed9ap-3, 0x1.249236p-2},
+  {0x1.029446p+0, 0x1.d1746p-1},
+  {0x1.0cf0b6p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.e6f9fcp-1, 0x1.666666p+0},
+  {0x1.32b074p+0, 0x1.d1746p-1},
+  {0x1.2a9e6p+18, 0x1.99999ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.4f36acp+0, 0x1.d1746p-1},
+  {0x1.a7659p+15, 0x1.99999ap-2},
+  {0x1.b91298p-1, 0x1.19999ap+0},
+  {0x1.058b6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.f6d9bep-1, 0x1.666666p+0},
+  {0x1.4f8b58p-10, 0x1.19999ap+0},
+  {0x1.fdb2b4p-3, 0x1.666666p+0},
+  {0x1.003e86p+0, 0x1.d1746p-1},
+  {0x1.1ec4e8p-1, 0x1.666666p+0},
+  {0x1.001c82p+0, 0x1.99999ap-2},
+  {0x1.870276p+4, 0x1.51eb86p-2},
+  {0x1.000f66p+0, 0x1.51eb86p-2},
+  {0x1.000d5ep+0, 0x1.51eb86p-2},
+  {0x1.1ba3ecp-1, 0x1.666666p+0},
+  {0x1.03eb4ap+0, 0x1.99999ap-2},
+  {0x1.190b64p-1, 0x1.249236p-2},
+  {0x1.3e8d38p+3, 0x1.19999ap+0},
+  {0x1.9cba3p-3, 0x1.666666p+0},
+  {0x1.00001p+0, 0x1.99999ap-2},
+  {0x1.38c0aep-1, 0x1.666666p+0},
+  {0x1.a8082cp+4, 0x1.19999ap+0},
+  {0x1.507704p+1, 0x1.d1746p-1},
+  {0x1.90646cp+14, 0x1.d1746p-1},
+  {0x1.00ae74p+0, 0x1.99999ap-2},
+  {0x1.c5714cp-2, 0x1.249236p-2},
+  {0x1.00577ep+0, 0x1.d1746p-1},
+  {0x1.d87012p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.05aa2ep-3, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.f548ccp-1, 0x1.666666p+0},
+  {0x1.51c5c6p-8, 0x1.19999ap+0},
+  {0x1.f2717ap-1, 0x1.666666p+0},
+  {0x1.0ca148p+1, 0x1.51eb86p-2},
+  {0x1.3884c4p+18, 0x1.99999ap-2},
+  {0x1.000fecp+0, 0x1.51eb86p-2},
+  {0x1.000022p+0, 0x1.99999ap-2},
+  {0x1.292428p-2, 0x1.249236p-2},
+  {0x1.ad8caap+25, 0x1.99999ap-2},
+  {0x1.a5b27p-1, 0x1.249236p-2},
+  {0x1.f1886ep-2, 0x1.19999ap+0},
+  {0x1.b87486p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.bda598p-1, 0x1.666666p+0},
+  {0x1.29f40ap-2, 0x1.19999ap+0},
+  {0x1.c2d2bcp-2, 0x1.d51eb8p+2},
+  {0x1.019568p+0, 0x1.d1746p-1},
+  {0x1.062318p+0, 0x1.d1746p-1},
+  {0x1.b23a2ap-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.0432a8p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.0642cp-3, 0x1.249236p-2},
+  {0x1.00463p+0, 0x1.51eb86p-2},
+  {0x1.651ap-3, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.142adcp+0, 0x1.23ea2ep-2},
+  {0x0p+0, 0x1.51eb86p-2},
+  {0x1.000608p+0, 0x1.51eb86p-2},
+  {0x1.0008b8p+0, 0x1.51eb86p-2},
+  {0x1.b702acp+2, 0x1.51eb86p-2},
+  {0x1.50eb24p-1, 0x1.249236p-2},
+  {0x1.0581ecp+3, 0x1.d1746p-1},
+  {0x1.6f5cbp-3, 0x1.249236p-2},
+  {0x1.12cdf2p+0, 0x1.d1746p-1},
+  {0x1.6678cp-3, 0x1.666666p+0},
+  {0x1.032faap+0, 0x1.d1746p-1},
+  {0x1.a112fep-2, 0x1.666666p+0},
+  {0x1.594296p+2, 0x1.51eb86p-2},
+  {0x1.262026p-8, 0x1.19999ap+0},
+  {0x1.02bdc2p+0, 0x1.51eb86p-2},
+  {0x1.c400aep+3, 0x1.d1746p-1},
+  {0x1.da454ep-1, 0x1.249236p-2},
+  {0x1.184adap+9, 0x1.d1746p-1},
+  {0x1.5c5a3ep-1, 0x1.666666p+0},
+  {0x1.ceada6p+5, 0x1.d1746p-1},
+  {0x1.8cf03p-1, 0x1.249236p-2},
+  {0x1.569b5ep+12, 0x1.d1746p-1},
+  {0x1.7d028ap-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.4a7b4ep-1, 0x1.8f5c28p+3},
+  {0x1.031972p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.b701dap+2, 0x1.51eb86p-2},
+  {0x1.3ed14p+12, 0x1.51eb86p-2},
+  {0x1.04052ep+0, 0x1.249236p-2},
+  {0x1.00521ep+0, 0x1.51eb86p-2},
+  {0x1.d094e6p-1, 0x1.249236p-2},
+  {0x1.1715cp+5, 0x1.d1746p-1},
+  {0x1.3a08cp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.661c7ap-3, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.017e02p+0, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.ae8e8ep+2, 0x1.d1746p-1},
+  {0x1.d58212p-1, 0x1.249236p-2},
+  {0x1.7abca6p+7, 0x1.d1746p-1},
+  {0x1.f0eb68p-1, 0x1.666666p+0},
+  {0x1.2c3a1ep+10, 0x1.d1746p-1},
+  {0x1.09af18p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.543e1p-2, 0x1.666666p+0},
+  {0x1.3e5f32p+9, 0x1.19999ap+0},
+  {0x1.4d3112p-1, 0x1.8f5c28p+3},
+  {0x1.000874p+0, 0x1.51eb86p-2},
+  {0x1.7f7af6p-1, 0x1.19999ap+0},
+  {0x1.7ca2p+3, 0x1.51eb86p-2},
+  {0x1.56a6e4p+1, 0x1.99999ap-2},
+  {0x1.3bedfap-1, 0x1.666666p+0},
+  {0x1.00a2ap+1, 0x1.51eb86p-2},
+  {0x1.8a0b1cp-1, 0x1.249236p-2},
+  {0x1.744728p+5, 0x1.19999ap+0},
+  {0x1.071f7ap-3, 0x1.666666p+0},
+  {0x1.97d2a6p+0, 0x1.d1746p-1},
+  {0x1.a52c9ep-2, 0x1.666666p+0},
+  {0x1.4p+2, 0x1.51eb86p-2},
+  {0x1.0f6b1ap+0, 0x1.d1746p-1},
+  {0x1.0e630ep+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.6a2d72p-1, 0x1.249236p-2},
+  {0x1.0001a4p+0, 0x1.51eb86p-2},
+  {0x1.a5c358p-3, 0x1.249236p-2},
+  {0x1.2fb7c8p+28, 0x1.99999ap-2},
+  {0x1.65eaacp-3, 0x1.666666p+0},
+  {0x1.59a30ap-8, 0x1.19999ap+0},
+  {0x1.3539fcp-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.fb851ep-1, -0x1.249236p-2},
+  {0x1.000032p+0, 0x1.99999ap-2},
+  {0x1.358666p+0, 0x1.99999ap-2},
+  {0x1.0014c6p+0, 0x1.51eb86p-2},
+  {0x1.02eeb8p+0, 0x1.d1746p-1},
+  {0x1.348776p-3, 0x1.666666p+0},
+  {0x1.3293d2p-9, 0x1.19999ap+0},
+  {0x1.00d1d8p+0, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.796bdcp-1, 0x1.666666p+0},
+  {0x1.006888p+0, 0x1.d1746p-1},
+  {0x1.396872p-1, 0x1.666666p+0},
+  {0x1.6318c2p+2, 0x1.d1746p-1},
+  {0x1.001398p+0, 0x1.51eb86p-2},
+  {0x1.e37a7p+0, 0x1.d1746p-1},
+  {0x1.99413ap+1, 0x1.51eb86p-2},
+  {0x1.29fep-1, 0x1.249236p-2},
+  {0x1.3ae404p+8, 0x1.19999ap+0},
+  {0x1.06937ep-3, 0x1.249236p-2},
+  {0x1.208dacp+13, 0x1.99999ap-2},
+  {0x1.d4039ap-2, 0x1.666666p+0},
+  {0x1.7e5aaap+6, 0x1.19999ap+0},
+  {0x1.5385c6p-2, 0x1.666666p+0},
+  {0x1.00042p+0, 0x1.51eb86p-2},
+  {0x1.fca516p-1, -0x1.249236p-2},
+  {0x1.713616p+13, 0x1.d1746p-1},
+  {0x1.0030c2p+0, 0x1.99999ap-2},
+  {0x1.cee0f4p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.071ac2p-3, 0x1.666666p+0},
+  {0x1.970316p+3, 0x1.51eb86p-2},
+  {0x1.284f0ap-2, 0x1.249236p-2},
+  {0x1.8bd418p+14, 0x1.d1746p-1},
+  {0x1.94432cp-1, 0x1.666666p+0},
+  {0x1.398fd6p+0, 0x1.51eb86p-2},
+  {0x1.33aa36p-3, 0x1.666666p+0},
+  {0x1.8f27bcp+1, 0x1.51eb86p-2},
+  {0x1.36dfb6p+5, 0x1.99999ap-2},
+  {0x1.5ea8b8p+1, 0x1.51eb86p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.e5dbfcp-1, 0x1.249236p-2},
+  {0x1.778264p+9, 0x1.51eb86p-2},
+  {0x1.53bd16p-13, 0x1.99999ap-1},
+  {0x1.968e32p+3, 0x1.d1746p-1},
+  {0x1.e38066p-1, 0x1.666666p+0},
+  {0x1.1bcf06p+13, 0x1.99999ap-2},
+  {0x1.5c5308p-1, 0x1.666666p+0},
+  {0x1.00096p+0, 0x1.51eb86p-2},
+  {0x1.0494e6p+0, 0x1.249236p-2},
+  {0x1.001b32p+0, 0x1.51eb86p-2},
+  {0x1.3ee508p+11, 0x1.51eb86p-2},
+  {0x1.af2d8p-4, 0x1.249236p-2},
+  {0x1.00547ap+0, 0x1.d1746p-1},
+  {0x1.eaa5e8p-1, 0x1.666666p+0},
+  {0x1.ae62a6p+8, 0x1.99999ap-2},
+  {0x1.013c04p-1, 0x1.249236p-2},
+  {0x1.3e527p+12, 0x1.19999ap+0},
+  {0x1.754f5ap-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.1f05eap+0, 0x1.2360dp-2},
+  {0x1.f7037ep+1, 0x1.51eb86p-2},
+  {0x1.2fd448p+10, 0x1.d1746p-1},
+  {0x1.001cd6p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.289daep-2, 0x1.249236p-2},
+  {0x1.1f6d34p+0, 0x1.d1746p-1},
+  {0x1.3cab82p-13, 0x1.99999ap-1},
+  {0x1.ba54e4p+20, 0x1.99999ap-2},
+  {0x1.2ce1c6p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.8af3c2p-1, 0x1.666666p+0},
+  {0x1.d57ffap-8, 0x1.19999ap+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.a7290ep+30, 0x1.99999ap-2},
+  {0x1.02c1b2p+0, 0x1.99999ap-2},
+  {0x1.fc2706p+1, 0x1.d1746p-1},
+  {0x1.06ba4ap-3, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.f30036p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.4f34d6p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.7b431p-2, 0x1.666666p+0},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.a72726p+15, 0x1.99999ap-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.4f92bp-4, 0x1.19999ap+0},
+  {0x1.f740a2p-1, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.7b6aa4p-1, 0x1.666666p+0},
+  {0x1.4e0382p+0, 0x1.99999ap-2},
+  {0x1.e80b46p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.b4c122p-1, 0x1.666666p+0},
+  {0x1.391bc6p+1, 0x1.19999ap+0},
+  {0x1.02e4cp+0, 0x1.249236p-2},
+  {0x1.cc610ep+8, 0x1.99999ap-2},
+  {0x1.0017dap+0, 0x1.51eb86p-2},
+  {0x1.0005c4p+0, 0x1.51eb86p-2},
+  {0x1.4d716ep-4, 0x1.19999ap+0},
+  {0x1.29746p-2, 0x1.666666p+0},
+  {0x1.3aefeap+13, 0x1.19999ap+0},
+  {0x1.8e395p-1, 0x1.249236p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.d4727ep-3, 0x1.666666p+0},
+  {0x1.eb4cfep+1, 0x1.51eb86p-2},
+  {0x1.fb3a48p-1, 0x1.666666p+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.39092ap+5, 0x1.19999ap+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.003904p+0, 0x1.d1746p-1},
+  {0x1.ce50c6p-5, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.52b0a6p-12, 0x1.4f5c28p+0},
+  {0x1.2f8d58p+13, 0x1.99999ap-2},
+  {0x1.d28178p-3, 0x1.666666p+0},
+  {0x1.3ee4a4p+11, 0x1.51eb86p-2},
+  {0x1.3cb38p-1, 0x1.666666p+0},
+  {0x1.6847c4p+0, 0x1.d1746p-1},
+  {0x1.dd7d3ap-2, 0x1.b51eb8p+3},
+  {0x1.b704a2p+2, 0x1.51eb86p-2},
+  {0x1.40c324p+7, 0x1.51eb86p-2},
+  {0x1.7900dep+7, 0x1.51eb86p-2},
+  {0x1.000758p+0, 0x1.51eb86p-2},
+  {0x1.65460ap-3, 0x1.666666p+0},
+  {0x1.7e1fcp-3, 0x1.19999ap+0},
+  {0x1.649d38p-4, 0x1.249236p-2},
+  {0x1.186cbp+9, 0x1.d1746p-1},
+  {0x1.d63886p-3, 0x1.666666p+0},
+  {0x1.3b814p+1, 0x1.51eb86p-2},
+  {0x1.d5c854p-3, 0x1.666666p+0},
+  {0x1.11e27ap+0, 0x1.d1746p-1},
+  {0x1.aed4ep+5, 0x1.99999ap-2},
+  {0x1.7f023cp+5, 0x1.51eb86p-2},
+  {0x1.000032p+0, 0x1.99999ap-2},
+  {0x1.22089ep-4, 0x1.249236p-2},
+  {0x1.ad8b4p+4, 0x1.d1746p-1},
+  {0x1.6ee41ap-3, 0x1.249236p-2},
+  {0x1.1e27f2p+0, 0x1.d1746p-1},
+  {0x1.fa8a62p-1, 0x1.666666p+0},
+  {0x1.38c468p+8, 0x1.d1746p-1},
+  {0x1.d6ce36p-2, 0x1.666666p+0},
+  {0x1.037ec4p+0, 0x1.51eb86p-2},
+  {0x1.16d1cp-1, 0x1.70a3d8p+3},
+  {0x1.25c456p+4, 0x1.19999ap+0},
+  {0x1.870122p+4, 0x1.51eb86p-2},
+  {0x1.365fd8p-3, 0x1.249236p-2},
+  {0x1.fbdc8cp-1, 0x1.19999ap+0},
+  {0x1.d56756p-3, 0x1.666666p+0},
+  {0x1.cf888p+5, 0x1.d1746p-1},
+  {0x1.70b9bap-1, 0x1.249236p-2},
+  {0x1.391ddep-3, 0x1.19999ap+0},
+  {0x1.a7a9e2p-1, 0x1.666666p+0},
+  {0x1.a6de18p+4, 0x1.d1746p-1},
+  {0x1.02ad6p-1, 0x1.666666p+0},
+  {0x1.06e01ap+0, 0x1.51eb86p-2},
+  {0x1.3fb284p+3, 0x1.d1746p-1},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.00062ap+0, 0x1.51eb86p-2},
+  {0x1.f41e14p-1, 0x1.666666p+0},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.fa07b4p-3, 0x1.249236p-2},
+  {0x0p+0, 0x1.19999ap+0},
+  {0x1.d84ad8p-2, 0x1.666666p+0},
+  {0x1.bec366p+1, 0x1.51eb86p-2},
+  {0x1.e7d6d8p-1, 0x1.666666p+0},
+  {0x1.3e5eaap-3, 0x1.19999ap+0},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.001d7ep+0, 0x1.51eb86p-2},
+  {0x1p+0, 0x1.99999ap-2},
+  {0x1.05681ep-3, 0x1.249236p-2},
+  {0x1.01a05ap+0, 0x1.99999ap-2},
+  {0x1.355f78p-3, 0x1.666666p+0},
+  {0x1.3ae4e6p+12, 0x1.19999ap+0},
+  {0x1.06d938p-3, 0x1.249236p-2},
+  {0x1p+0, 0x1.d1746p-1},
+  {0x1.e50fe8p-1, 0x1.666666p+0},
+  {0x1.631f36p+0, 0x1.51eb86p-2},
+  {0x1.39a36ep+0, 0x1.23e9a6p-2},
+  {0x1p+0, 0x1.51eb86p-2},
+  {0x1.01d0d8p+0, 0x1.51eb86p-2},
+  {0x1.a94b56p+3, 0x1.d1746p-1},
+  {0x1.1a689p+1, 0x1.99999ap-2},
+};
diff --git a/benchmarks/sincosf_input.cpp b/benchmarks/sincosf_input.cpp
new file mode 100644
index 0000000..2d05259
--- /dev/null
+++ b/benchmarks/sincosf_input.cpp
@@ -0,0 +1,4156 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ * 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.
+ *
+ * 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.
+ */
+
+static const std::vector<float> sincosf_input0 = {
+  0x1.459afcp-4,
+  0x1.59abp-5,
+  0x1.446ee6p-7,
+  0x1.97d07ap-7,
+  0x1.b03726p-5,
+  0x1.1f609ap-8,
+  0x1.85ffd8p-6,
+  0x1.2e341p-5,
+  0x1.d49c2p-7,
+  0x1.a7d716p-6,
+  0x1.8240e6p-7,
+  0x1.58c1f6p-4,
+  0x1.616cbep-5,
+  0x1.98133ap-5,
+  0x1.dcca54p-7,
+  0x1.2a152ap-6,
+  0x1.f6894ep-8,
+  0x1.33ca2ap-4,
+  0x1.5ae214p-5,
+  0x1.b12626p-5,
+  0x1.7d1e4cp-5,
+  0x1.175212p-4,
+  0x1.0ec2e6p-10,
+  0x1.a9c074p-12,
+  0x1.e1a29p-6,
+  0x1.c5fd4p-7,
+  0x1.1dcd4ep-4,
+  0x1.9372c6p-8,
+  0x1.0af046p-4,
+  0x1.67b5e4p-4,
+  0x1.fba9eep-6,
+  0x1.0537a6p-4,
+  0x1.c4376ep-5,
+  0x1.7f9a5cp-5,
+  0x1.9bb62p-6,
+  0x1.b2a32ap-5,
+  0x1.5b2058p-6,
+  0x1.3ba422p-4,
+  0x1.c66dc4p-5,
+  0x1.30b1dap-6,
+  0x1.64463cp-4,
+  0x1.d3224ap-7,
+  0x1.c111b6p-5,
+  0x1.a8b876p-5,
+  0x1.ea528ap-6,
+  0x1.94b15ap-5,
+  0x1.181806p-5,
+  0x1.91fp-4,
+  0x1.773656p-4,
+  0x1.40272cp-7,
+  0x1.e3b15ap-5,
+  0x1.385f2ap-5,
+  0x1.809466p-4,
+  0x1.567efcp-5,
+  0x1.0f722cp-4,
+  0x1.4ffb48p-4,
+  0x1.b37876p-6,
+  0x1.4a32e8p-9,
+  0x1.74b446p-4,
+  0x1.f0ba44p-5,
+  0x1.f0157p-6,
+  0x1.172bfcp-6,
+  0x1.650236p-5,
+  0x1.31539ap-6,
+  0x1.eda106p-5,
+  0x1.8ed322p-4,
+  0x1.4f016ep-5,
+  0x1.6edfcep-7,
+  0x1.f13d4p-6,
+  0x1.188416p-4,
+  0x1.ad35a6p-6,
+  0x1.38c4f6p-7,
+  0x1.fb2f56p-6,
+  0x1.0ba31cp-6,
+  0x1.4db74p-8,
+  0x1.7ce126p-4,
+  0x1.f1c1e6p-5,
+  0x1.3049c2p-4,
+  0x1.9d91c6p-5,
+  0x1.e81efep-6,
+  0x1.da11ep-5,
+  0x1.bb9026p-5,
+  0x1.dc4d4ep-5,
+  0x1.d02f2p-6,
+  0x1.8401b6p-4,
+  0x1.f9c19ep-5,
+  0x1.4b59d8p-6,
+  0x1.64a4eep-4,
+  0x1.ff6f94p-5,
+  0x1.79d102p-5,
+  0x1.78f09ep-6,
+  0x1.79b4e8p-4,
+  0x1.12e79ep-4,
+  0x1.1e7c9p-5,
+  0x1.100d5ap-4,
+  0x1.2cfc6ep-7,
+  0x1.f7d13ap-5,
+  0x1.7d5eacp-5,
+  0x1.24b4acp-4,
+  0x1.98213ep-5,
+  0x1.472d6cp-9,
+  0x1.a5ce6ap-5,
+  0x1.c88b8ap-6,
+  0x1.1cdcfap-5,
+  0x1.0c2cf2p-4,
+  0x1.f38a4p-5,
+  0x1.001742p-7,
+  0x1.8b0f1p-5,
+  0x1.30a95p-4,
+  0x1.dde28ep-5,
+  0x1.133a3cp-5,
+  0x1.86af2p-7,
+  0x1.47352ap-4,
+  0x1.2c5f3p-4,
+  0x1.b582bep-10,
+  0x1.48acbp-5,
+  0x1.399514p-4,
+  0x1.36eb06p-5,
+  0x1.0b3556p-7,
+  0x1.6419eep-4,
+  0x1.878de2p-4,
+  0x1.74863p-4,
+  0x1.eaf13p-6,
+  0x1.8b5976p-5,
+  0x1.443812p-4,
+  0x1.07023ep-6,
+  0x1.f732c4p-8,
+  0x1.37bad4p-4,
+  0x1.2ed27p-4,
+  0x1.78e61ap-4,
+  0x1.ffbeeep-5,
+  0x1.74a066p-4,
+  0x1.f637ep-5,
+  0x1.6d472ep-4,
+  0x1.3582fep-4,
+  0x1.d99544p-5,
+  0x1.17be36p-8,
+  0x1.6a1f26p-4,
+  0x1.df4a3ap-5,
+  0x1.6edb54p-4,
+  0x1.755816p-5,
+  0x1.4f0adep-5,
+  0x1.be03ep-6,
+  0x1.46c94ap-5,
+  0x1.86237ep-5,
+  0x1.667686p-4,
+  0x1.669efcp-4,
+  0x1.21624ep-5,
+  0x1.f11174p-7,
+  0x1.ddb66ap-7,
+  0x1.efd4dap-7,
+  0x1.d012e6p-5,
+  0x1.1a082ep-4,
+  0x1.c70534p-6,
+  0x1.ced2dap-5,
+  0x1.9b4934p-8,
+  0x1.8fa3ecp-4,
+  0x1.a458dep-7,
+  0x1.ef29c6p-6,
+  0x1.ee9f1p-6,
+  0x1.6cf89p-4,
+  0x1.5d1e4p-5,
+  0x1.11154cp-4,
+  0x1.600fe4p-4,
+  0x1.e8dd76p-5,
+  0x1.1a6f38p-4,
+  0x1.3cfcbep-4,
+  0x1.59372p-5,
+  0x1.2114d2p-4,
+  0x1.f4347ap-7,
+  0x1.07d586p-4,
+  0x1.865ae8p-4,
+  0x1.87f3e4p-4,
+  0x1.34d92ep-4,
+  0x1.024cd4p-6,
+  0x1.51b154p-5,
+  0x1.602f06p-4,
+  0x1.0cc1fep-6,
+  0x1.00bff8p-5,
+  0x1.6a3cf4p-4,
+  0x1.6aeba6p-5,
+  0x1.047078p-4,
+  0x1.f12fe6p-10,
+  0x1.9c5776p-9,
+  0x1.8b73a4p-5,
+  0x1.1bb78cp-7,
+  0x1.694cc2p-5,
+  0x1.3f149ap-4,
+  0x1.1058dp-4,
+  0x1.6d45b6p-5,
+  0x1.23daa6p-4,
+  0x1.015308p-4,
+  0x1.6a7506p-4,
+  0x1.73314ep-6,
+  0x1.c80b24p-5,
+  0x1.b25a2p-7,
+  0x1.3cfc88p-5,
+  0x1.998078p-5,
+  0x1.fe3c4ep-11,
+  0x1.806876p-6,
+  0x1.dc44bp-5,
+  0x1.b93836p-5,
+  0x1.811c4cp-5,
+  0x1.a95a2p-5,
+  0x1.c9b6fep-5,
+  0x1.be8a14p-6,
+  0x1.06867ep-4,
+  0x1.557f24p-4,
+  0x1.95c78ep-4,
+  0x1.aaaa6ep-5,
+  0x1.2487a8p-4,
+  0x1.2c000ep-6,
+  0x1.9279c4p-5,
+  0x1.9753c6p-6,
+  0x1.d3544p-5,
+  0x1.354a76p-5,
+  0x1.b9f544p-5,
+  0x1.08f782p-9,
+  0x1.6c41p-5,
+  0x1.1fdc9p-4,
+  0x1.40beap-4,
+  0x1.2b358ep-5,
+  0x1.247e5ap-4,
+  0x1.db7916p-6,
+  0x1.7c4a2cp-7,
+  0x1.5aafe4p-4,
+  0x1.46e4ecp-5,
+  0x1.30a74ep-4,
+  0x1.093388p-4,
+  0x1.d75e96p-5,
+  0x1.52839p-4,
+  0x1.4d3adep-4,
+  0x1.0c02cep-5,
+  0x1.30cc2p-9,
+  0x1.83d762p-6,
+  0x1.5b2848p-7,
+  0x1.82b852p-5,
+  0x1.7e2c88p-4,
+  0x1.8afb06p-4,
+  0x1.a45806p-6,
+  0x1.d9b764p-7,
+  0x1.6fe366p-5,
+  0x1.9ae58ap-5,
+  0x1.201ce4p-5,
+  0x1.05fb7ap-5,
+  0x1.aed9eap-5,
+  0x1.4f37b4p-6,
+  0x1.233a3ap-4,
+  0x1.475b46p-5,
+  0x1.0fa902p-4,
+  0x1.0afbacp-4,
+  0x1.4cb46p-6,
+  0x1.5f14a8p-4,
+  0x1.0e1fcep-4,
+  0x1.73f4e6p-4,
+  0x1.167076p-5,
+  0x1.1cc472p-6,
+  0x1.8af546p-4,
+  0x1.0b1a86p-4,
+  0x1.f8476ap-5,
+  0x1.ca82fap-7,
+  0x1.1af77ep-4,
+  0x1.cc9aa6p-5,
+  0x1.344876p-5,
+  0x1.379a8ep-7,
+  0x1.17f1eep-6,
+  0x1.9655b6p-6,
+  0x1.8460e8p-4,
+  0x1.13cfc2p-8,
+  0x1.d6621ap-5,
+  0x1.7f3374p-4,
+  0x1.0e27b8p-6,
+  0x1.20f2b6p-4,
+  0x1.d14cbp-6,
+  0x1.a5bc3ep-6,
+  0x1.970eb6p-9,
+  0x1.2c74f6p-4,
+  0x1.9350a6p-4,
+  0x1.6ed0a8p-4,
+  0x1.a1b104p-5,
+  0x1.9e69bep-5,
+  0x1.53e41p-4,
+  0x1.82c90ep-15,
+  0x1.925566p-5,
+  0x1.67707ep-4,
+  0x1.656e26p-4,
+  0x1.5813cep-5,
+  0x1.aaf276p-7,
+  0x1.4f6d6p-4,
+  0x1.b0b68p-6,
+  0x1.537cd2p-6,
+  0x1.88474ep-4,
+  0x1.2c4bfep-6,
+  0x1.5a1412p-6,
+  0x1.371b5cp-5,
+  0x1.620588p-4,
+  0x1.0fc7eep-4,
+  0x1.a10ad6p-10,
+  0x1.5c502ep-4,
+  0x1.17f6f6p-12,
+  0x1.b43b36p-6,
+  0x1.3b77acp-9,
+  0x1.c6d36ap-5,
+  0x1.cf0e6p-5,
+  0x1.2288e2p-6,
+  0x1.669acep-4,
+  0x1.07548p-9,
+  0x1.dee49ep-7,
+  0x1.ab6cdap-7,
+  0x1.975b6cp-5,
+  0x1.32e408p-4,
+  0x1.cfb5bap-6,
+  0x1.b7841ep-6,
+  0x1.c39f6ep-5,
+  0x1.3602d2p-6,
+  0x1.f8aa26p-5,
+  0x1.824ac6p-4,
+  0x1.6a3a2ap-4,
+  0x1.5b319p-4,
+  0x1.c821c4p-5,
+  0x1.f919eap-8,
+  0x1.88cd0cp-7,
+  0x1.59ec98p-6,
+  0x1.342db8p-4,
+  0x1.83581cp-5,
+  0x1.afeeaap-8,
+  0x1.058496p-4,
+  0x1.11a38ep-15,
+  0x1.2542f4p-4,
+  0x1.e5e0dp-8,
+  0x1.8db9cep-5,
+  0x1.758012p-4,
+  0x1.d6ee9ep-6,
+  0x1.3ed86cp-4,
+  0x1.a77584p-6,
+  0x1.7ddee6p-5,
+  0x1.77bd66p-5,
+  0x1.347638p-6,
+  0x1.fb3ffap-5,
+  0x1.ffe06p-7,
+  0x1.8f0976p-5,
+  0x1.8b773ap-4,
+  0x1.83285ep-4,
+  0x1.fe767ep-7,
+  0x1.f5748ep-5,
+  0x1.93c3eap-6,
+  0x1.4f772ep-5,
+  0x1.0b51aep-7,
+  0x1.5efc64p-10,
+  0x1.3f02p-5,
+  0x1.61d4bep-8,
+  0x1.264688p-4,
+  0x1.85681ap-5,
+  0x1.396aa2p-4,
+  0x1.1c1bcep-7,
+  0x1.bce02ap-5,
+  0x1.df8f1ap-11,
+  0x1.2ede78p-5,
+  0x1.96220ep-5,
+  0x1.5aef2cp-5,
+  0x1.c14106p-5,
+  0x1.1cfc82p-6,
+  0x1.1e3b9ap-5,
+  0x1.302d5p-5,
+  0x1.59b9d8p-4,
+  0x1.e1491ep-5,
+  0x1.fd6b1p-5,
+  0x1.6e6abp-6,
+  0x1.69a978p-6,
+  0x1.05166p-4,
+  0x1.5158ccp-4,
+  0x1.17ae4ap-6,
+  0x1.750996p-4,
+  0x1.4e2d9ap-5,
+  0x1.5c792ap-4,
+  0x1.468d7ep-7,
+  0x1.5a0cbep-6,
+  0x1.1be7b2p-4,
+  0x1.b97d06p-5,
+  0x1.9165f8p-10,
+  0x1.6bf068p-4,
+  0x1.6f991cp-4,
+  0x1.cdeeap-8,
+  0x1.0e3e6ap-5,
+  0x1.a9b8f6p-5,
+  0x1.2882ccp-4,
+  0x1.e87436p-7,
+  0x1.9cdf6ep-5,
+  0x1.2f18dep-7,
+  0x1.4de616p-9,
+  0x1.6a9554p-4,
+  0x1.a1a8ap-5,
+  0x1.8301e8p-4,
+  0x1.76fdeap-6,
+  0x1.20367ep-4,
+  0x1.137d0cp-5,
+  0x1.0911cep-4,
+  0x1.f6c27ep-5,
+  0x1.ccf49ep-5,
+  0x1.4efd48p-5,
+  0x1.9408c8p-4,
+  0x1.fbbe3ep-5,
+  0x1.210dcap-4,
+  0x1.1a7786p-7,
+  0x1.6fb552p-4,
+  0x1.4a435ep-4,
+  0x1.937036p-5,
+  0x1.6ee204p-4,
+  0x1.8639bep-4,
+  0x1.50b8aep-4,
+  0x1.54e32p-8,
+  0x1.4ba9fep-4,
+  0x1.1a9c5p-4,
+  0x1.6ea838p-4,
+  0x1.94622ap-4,
+  0x1.7fd3aep-4,
+  0x1.45fb3ep-6,
+  0x1.88fec2p-6,
+  0x1.3103c6p-5,
+  0x1.da44c6p-5,
+  0x1.4b3eb8p-5,
+  0x1.4dbd88p-7,
+  0x1.93d294p-7,
+  0x1.b1c6cap-6,
+  0x1.1e1324p-5,
+  0x1.9c0a5p-13,
+  0x1.83542ep-4,
+  0x1.b0636p-9,
+  0x1.b1ea2ap-6,
+  0x1.c66f04p-6,
+  0x1.5b2cbcp-5,
+  0x1.8cfb36p-4,
+  0x1.846eeep-4,
+  0x1.07e2bep-5,
+  0x1.9b6406p-5,
+  0x1.db943ap-9,
+  0x1.cb3e26p-5,
+  0x1.095ddep-4,
+  0x1.5ae608p-5,
+  0x1.40ee8ap-5,
+  0x1.a0268ep-6,
+  0x1.e74ecp-6,
+  0x1.554a44p-4,
+  0x1.8a38p-8,
+  0x1.e9cd2ap-6,
+  0x1.a10374p-5,
+  0x1.90ea2ep-4,
+  0x1.0564b6p-5,
+  0x1.83fac6p-4,
+  0x1.bb7f86p-5,
+  0x1.6c83dap-6,
+  0x1.bd50fep-5,
+  0x1.33e4fcp-4,
+  0x1.df8124p-6,
+  0x1.c9b6fp-5,
+  0x1.4ff75ap-4,
+  0x1.3d5356p-4,
+  0x1.80fcc4p-4,
+  0x1.8e4c7ep-6,
+  0x1.94cbbap-5,
+  0x1.da5cf6p-5,
+  0x1.400d5cp-4,
+  0x1.b70786p-6,
+  0x1.d7895p-10,
+  0x1.a53c84p-7,
+  0x1.1a3b8p-4,
+  0x1.55e476p-4,
+  0x1.d3a11p-5,
+  0x1.4ad8c8p-4,
+  0x1.39b0aep-4,
+  0x1.6452bcp-5,
+  0x1.34bae2p-9,
+  0x1.10a36ap-5,
+  0x1.e6f4dp-7,
+  0x1.56dc64p-5,
+  0x1.dc63p-6,
+  0x1.a0d92ep-6,
+  0x1.66b49ap-6,
+  0x1.4cea18p-5,
+  0x1.3b7526p-4,
+  0x1.0497ecp-4,
+  0x1.2825fep-4,
+  0x1.9b23cep-7,
+  0x1.4300d6p-4,
+  0x1.899a26p-6,
+  0x1.1090fep-4,
+  0x1.13912ep-4,
+  0x1.01726ap-4,
+  0x1.443886p-4,
+  0x1.d20b86p-5,
+  0x1.13fe36p-4,
+  0x1.25db14p-5,
+  0x1.9dcb6p-6,
+  0x1.7002ep-4,
+  0x1.08bfc8p-6,
+  0x1.9536dap-4,
+  0x1.6bdfaep-6,
+  0x1.172e76p-4,
+  0x1.6fa03p-4,
+  0x1.e5ccfap-6,
+  0x1.3a7106p-4,
+  0x1.35a09ep-4,
+  0x1.7da25ep-4,
+  0x1.f9749ep-6,
+  0x1.d889p-8,
+  0x1.3b7ab2p-7,
+  0x1.0c464cp-4,
+  0x1.814c0ep-4,
+  0x1.30b25ap-4,
+  0x1.80f212p-10,
+  0x1.c301fp-5,
+  0x1.21fb16p-4,
+};
+static const std::vector<float> sincosf_input1 = {
+  0x1.3abdd4p-2,
+  0x1.5f3bcap-2,
+  0x1.a6afd4p-3,
+  0x1.137a5ep-2,
+  0x1.ad273p-2,
+  0x1.8033fcp-3,
+  0x1.030016p-2,
+  0x1.48f07ap-1,
+  0x1.5bc7c8p-1,
+  0x1.41605ap-2,
+  0x1.47d10cp-1,
+  0x1.4094a4p-1,
+  0x1.2ac11p-2,
+  0x1.7c23p-2,
+  0x1.8bc87cp-2,
+  0x1.d66c0cp-3,
+  0x1.4a34aap-1,
+  0x1.e10218p-2,
+  0x1.31e672p-2,
+  0x1.1770f2p-3,
+  0x1.2879dep-2,
+  0x1.be261ep-3,
+  0x1.565cfcp-3,
+  0x1.e1d7bp-3,
+  0x1.2246a6p-1,
+  0x1.c49eecp-3,
+  0x1.e9e46ep-2,
+  0x1.482cbcp-1,
+  0x1.959cdcp-2,
+  0x1.20be2p-2,
+  0x1.90410ap-2,
+  0x1.9ca6ccp-4,
+  0x1.5a5d0cp-1,
+  0x1.8f2042p-2,
+  0x1.51cd86p-1,
+  0x1.4178a2p-2,
+  0x1.5b9516p-1,
+  0x1.0fe872p-1,
+  0x1.0412c8p-1,
+  0x1.18c058p-1,
+  0x1.1b902p-3,
+  0x1.363d0ap-1,
+  0x1.3d3352p-3,
+  0x1.2a7b02p-1,
+  0x1.3299d6p-1,
+  0x1.a2638p-2,
+  0x1.94b1c2p-3,
+  0x1.4a819ep-3,
+  0x1.c224a6p-2,
+  0x1.6fb556p-2,
+  0x1.fa9ceap-2,
+  0x1.3c8d82p-1,
+  0x1.54b60cp-1,
+  0x1.ca258ap-4,
+  0x1.d45be4p-3,
+  0x1.39ec8ep-1,
+  0x1.b5abep-3,
+  0x1.965b6cp-3,
+  0x1.a326fp-2,
+  0x1.4eb8fcp-1,
+  0x1.dc9d7p-2,
+  0x1.165044p-1,
+  0x1.c6a0e6p-4,
+  0x1.6d1326p-2,
+  0x1.10e5p-1,
+  0x1.54f77cp-1,
+  0x1.f433e2p-2,
+  0x1.ef71ccp-3,
+  0x1.88083ep-3,
+  0x1.30927ap-1,
+  0x1.005594p-1,
+  0x1.8741b6p-2,
+  0x1.1c42fp-3,
+  0x1.e7acdep-2,
+  0x1.05addep-3,
+  0x1.7b88b4p-2,
+  0x1.534638p-1,
+  0x1.ff31acp-2,
+  0x1.1ffd52p-1,
+  0x1.a840ap-3,
+  0x1.1e0264p-2,
+  0x1.298abep-2,
+  0x1.45e47cp-1,
+  0x1.dd28f8p-3,
+  0x1.480552p-2,
+  0x1.0a3298p-1,
+  0x1.537fc4p-1,
+  0x1.4839d6p-2,
+  0x1.048ed6p-1,
+  0x1.3a9f1cp-3,
+  0x1.30c616p-1,
+  0x1.41c0e6p-1,
+  0x1.63d6a2p-1,
+  0x1.7e65f4p-3,
+  0x1.3928a4p-1,
+  0x1.2407c4p-1,
+  0x1.836478p-2,
+  0x1.3ffc1ap-1,
+  0x1.1b5c8ep-2,
+  0x1.f5d7f2p-2,
+  0x1.7ff8dp-3,
+  0x1.985f78p-3,
+  0x1.b4bbbp-2,
+  0x1.3db736p-2,
+  0x1.5ec1fcp-2,
+  0x1.3cde1p-1,
+  0x1.33db4ap-2,
+  0x1.ce8c1cp-2,
+  0x1.1d2b86p-3,
+  0x1.124382p-3,
+  0x1.d04c2p-3,
+  0x1.387104p-1,
+  0x1.4c2048p-1,
+  0x1.5bb824p-2,
+  0x1.0ccfe2p-1,
+  0x1.17d232p-1,
+  0x1.4e5778p-1,
+  0x1.01ebd4p-3,
+  0x1.4d1fcp-2,
+  0x1.06fabep-1,
+  0x1.98352cp-3,
+  0x1.4b23bep-2,
+  0x1.d3dcdcp-3,
+  0x1.1d406ap-3,
+  0x1.0f8c18p-3,
+  0x1.affb4ep-2,
+  0x1.1153bap-1,
+  0x1.1f881p-3,
+  0x1.f4e204p-2,
+  0x1.1c374ep-1,
+  0x1.65246p-1,
+  0x1.9a3b78p-2,
+  0x1.2623p-1,
+  0x1.755afap-3,
+  0x1.86965ep-3,
+  0x1.8fddc4p-3,
+  0x1.9e5462p-2,
+  0x1.e6c75ep-2,
+  0x1.15f3b8p-1,
+  0x1.5e26b6p-1,
+  0x1.cd645ep-2,
+  0x1.1d23ep-2,
+  0x1.03edd6p-1,
+  0x1.0f14dp-1,
+  0x1.94b5b8p-2,
+  0x1.3c3f98p-1,
+  0x1.93d104p-3,
+  0x1.b477d6p-4,
+  0x1.44bc34p-3,
+  0x1.d4dbcep-2,
+  0x1.f6f502p-4,
+  0x1.9d4676p-2,
+  0x1.079638p-2,
+  0x1.ef7f1cp-4,
+  0x1.07cfb2p-1,
+  0x1.b51fap-3,
+  0x1.5ece0ep-1,
+  0x1.1da3a2p-2,
+  0x1.679c66p-2,
+  0x1.1fb512p-1,
+  0x1.201234p-1,
+  0x1.93165ep-2,
+  0x1.6c9bep-2,
+  0x1.2ff44cp-3,
+  0x1.3ee1e4p-1,
+  0x1.0d1ddap-1,
+  0x1.75c5acp-2,
+  0x1.e05368p-2,
+  0x1.66e30ep-2,
+  0x1.3ce67p-1,
+  0x1.b51598p-2,
+  0x1.61f6f2p-1,
+  0x1.0799b2p-1,
+  0x1.53871p-2,
+  0x1.5ce61p-1,
+  0x1.5ff6c2p-1,
+  0x1.0178a4p-1,
+  0x1.0826e8p-2,
+  0x1.4264bep-2,
+  0x1.0ee04ap-2,
+  0x1.8c43acp-2,
+  0x1.4cf434p-3,
+  0x1.029decp-1,
+  0x1.5a48p-1,
+  0x1.3f0a4ap-1,
+  0x1.47f17cp-1,
+  0x1.066be2p-2,
+  0x1.4505cp-1,
+  0x1.02ca14p-1,
+  0x1.1c552ap-3,
+  0x1.a3a7d4p-3,
+  0x1.2984f8p-3,
+  0x1.a3e09cp-2,
+  0x1.6a4534p-2,
+  0x1.9dac9p-3,
+  0x1.c0f7c8p-3,
+  0x1.39c1bp-2,
+  0x1.be501ap-4,
+  0x1.dd4edp-2,
+  0x1.009c34p-3,
+  0x1.2f4cecp-1,
+  0x1.b70a1ep-2,
+  0x1.59485ap-1,
+  0x1.37f36ap-1,
+  0x1.faef0ep-2,
+  0x1.36f514p-1,
+  0x1.4fc098p-1,
+  0x1.ee479p-4,
+  0x1.1f3a4ep-2,
+  0x1.04ff68p-3,
+  0x1.7f0a6ep-3,
+  0x1.ed3544p-3,
+  0x1.0762eep-1,
+  0x1.a31526p-2,
+  0x1.c4a2f2p-2,
+  0x1.30f7aap-1,
+  0x1.cdae98p-2,
+  0x1.4207f6p-1,
+  0x1.56d3c8p-3,
+  0x1.4a60fcp-1,
+  0x1.49a194p-1,
+  0x1.ed6a6ap-4,
+  0x1.5b3d5ap-1,
+  0x1.7c913cp-3,
+  0x1.ba8444p-3,
+  0x1.9f2f82p-3,
+  0x1.03d10ap-2,
+  0x1.57980cp-3,
+  0x1.e36694p-2,
+  0x1.fb703ep-2,
+  0x1.43bcb4p-2,
+  0x1.2473c4p-2,
+  0x1.0d055cp-1,
+  0x1.3e7f28p-2,
+  0x1.ec6568p-2,
+  0x1.89cd6cp-2,
+  0x1.e589cp-2,
+  0x1.38a12cp-1,
+  0x1.7b565p-2,
+  0x1.c7a51cp-2,
+  0x1.de2fdp-2,
+  0x1.086912p-1,
+  0x1.02bccp-2,
+  0x1.4a6ab2p-2,
+  0x1.e7da24p-2,
+  0x1.ddbd4ep-2,
+  0x1.b0764ap-4,
+  0x1.412088p-1,
+  0x1.22495p-2,
+  0x1.4842b6p-1,
+  0x1.05ddb8p-1,
+  0x1.272adap-2,
+  0x1.705bdcp-2,
+  0x1.97e43ep-2,
+  0x1.a7157p-3,
+  0x1.29dc14p-2,
+  0x1.6d86a6p-3,
+  0x1.b9b73ap-2,
+  0x1.9f6856p-2,
+  0x1.4bac5p-1,
+  0x1.76824ap-2,
+  0x1.47d44ap-1,
+  0x1.a9bc5ap-2,
+  0x1.bf0f9ap-4,
+  0x1.66182ap-3,
+  0x1.e0d3e4p-3,
+  0x1.19b42p-3,
+  0x1.211852p-2,
+  0x1.10232ap-2,
+  0x1.047802p-2,
+  0x1.ad73e8p-2,
+  0x1.1b08cp-1,
+  0x1.1aae46p-3,
+  0x1.eda112p-2,
+  0x1.0b6f0cp-1,
+  0x1.293bp-3,
+  0x1.1d27aep-3,
+  0x1.55fd08p-3,
+  0x1.3df3eep-2,
+  0x1.3cea2ap-1,
+  0x1.9ea864p-2,
+  0x1.439accp-2,
+  0x1.5f73dap-2,
+  0x1.aa0578p-2,
+  0x1.4832d4p-1,
+  0x1.1dd3f4p-1,
+  0x1.cb0caap-2,
+  0x1.4955fep-1,
+  0x1.9a4a2p-3,
+  0x1.1749e4p-1,
+  0x1.07f5ccp-3,
+  0x1.f4d53ep-4,
+  0x1.15b3dcp-2,
+  0x1.31a292p-3,
+  0x1.88b318p-3,
+  0x1.f27bccp-2,
+  0x1.542fa4p-1,
+  0x1.28ee5p-1,
+  0x1.252b68p-3,
+  0x1.4855c6p-1,
+  0x1.1571eep-2,
+  0x1.1a0954p-2,
+  0x1.b5df64p-4,
+  0x1.ace87cp-3,
+  0x1.6e7c98p-2,
+  0x1.61453ap-2,
+  0x1.bb34bcp-2,
+  0x1.40f6a4p-2,
+  0x1.4eaaeep-1,
+  0x1.bf7c1ep-3,
+  0x1.c4067p-2,
+  0x1.2a8f7p-3,
+  0x1.6c728ep-3,
+  0x1.d8ebcp-3,
+  0x1.0cbc88p-2,
+  0x1.577044p-1,
+  0x1.19da2p-2,
+  0x1.25353cp-1,
+  0x1.bfd288p-2,
+  0x1.2521f6p-1,
+  0x1.1feed6p-1,
+  0x1.597c02p-1,
+  0x1.215726p-1,
+  0x1.5de45ap-2,
+  0x1.7326bp-3,
+  0x1.ae373p-2,
+  0x1.dc8146p-2,
+  0x1.dd88c4p-3,
+  0x1.6e21ecp-3,
+  0x1.d9a508p-3,
+  0x1.0f4a18p-1,
+  0x1.21b28ep-2,
+  0x1.514f1p-3,
+  0x1.77317p-2,
+  0x1.66eafp-2,
+  0x1.a370ap-2,
+  0x1.518098p-1,
+  0x1.d7a58cp-3,
+  0x1.149e12p-1,
+  0x1.6449f6p-1,
+  0x1.3b4dbcp-3,
+  0x1.1a68ecp-1,
+  0x1.2a3188p-1,
+  0x1.3fbb6p-1,
+  0x1.1be802p-1,
+  0x1.43937ap-2,
+  0x1.1feee8p-1,
+  0x1.c5b228p-4,
+  0x1.02b5dep-1,
+  0x1.3532e6p-2,
+  0x1.2dee7ap-2,
+  0x1.1766fcp-3,
+  0x1.6576b2p-1,
+  0x1.cd11c4p-3,
+  0x1.153fap-2,
+  0x1.25f1p-1,
+  0x1.9cc1e8p-2,
+  0x1.1f0db6p-1,
+  0x1.11cb62p-1,
+  0x1.5451fep-1,
+  0x1.337948p-1,
+  0x1.b6096ap-2,
+  0x1.5fcb46p-1,
+  0x1.cb2e2p-2,
+  0x1.403324p-1,
+  0x1.3f51f2p-1,
+  0x1.38425ep-1,
+  0x1.6ce2bp-2,
+  0x1.5ded7p-3,
+  0x1.3a863p-2,
+  0x1.5cb812p-1,
+  0x1.8733e4p-2,
+  0x1.fe185ap-2,
+  0x1.5e26fep-1,
+  0x1.7903f6p-3,
+  0x1.5caa1ap-1,
+  0x1.403acp-3,
+  0x1.fb7a7p-2,
+  0x1.cf6826p-2,
+  0x1.55bb42p-1,
+  0x1.886722p-2,
+  0x1.2c1a8cp-2,
+  0x1.352d72p-1,
+  0x1.5e54eep-1,
+  0x1.4dcf6cp-3,
+  0x1.5414d2p-2,
+  0x1.025726p-3,
+  0x1.59c5fep-2,
+  0x1.03a8f8p-1,
+  0x1.4ae814p-2,
+  0x1.911578p-2,
+  0x1.7927aep-2,
+  0x1.606bcap-2,
+  0x1.0dc9eap-1,
+  0x1.5eeeeap-1,
+  0x1.bba8d2p-2,
+  0x1.9048d6p-2,
+  0x1.7a71bap-2,
+  0x1.00458cp-1,
+  0x1.01935ep-1,
+  0x1.1984e2p-1,
+  0x1.bc48fp-2,
+  0x1.973882p-2,
+  0x1.3c11bcp-1,
+  0x1.bf9532p-2,
+  0x1.b60134p-2,
+  0x1.4dc5d8p-1,
+  0x1.178a7ep-2,
+  0x1.4abdeap-1,
+  0x1.40b534p-2,
+  0x1.025ad2p-1,
+  0x1.1f7abap-2,
+  0x1.111b9ep-2,
+  0x1.7548b4p-2,
+  0x1.31de0cp-1,
+  0x1.038b9p-3,
+  0x1.f3e4bep-2,
+  0x1.c1810cp-2,
+  0x1.4086ecp-2,
+  0x1.d44d8p-2,
+  0x1.be8594p-3,
+  0x1.d344cep-2,
+  0x1.4f8b16p-2,
+  0x1.0b5afep-1,
+  0x1.eb93dp-4,
+  0x1.f10c04p-3,
+  0x1.1f3dd8p-1,
+  0x1.de9618p-3,
+  0x1.990718p-3,
+  0x1.792208p-3,
+  0x1.5d3566p-3,
+  0x1.289946p-2,
+  0x1.275e14p-2,
+  0x1.3abd28p-1,
+  0x1.d1abccp-2,
+  0x1.ae4618p-2,
+  0x1.5f36fp-3,
+  0x1.537a32p-1,
+  0x1.a736fcp-2,
+  0x1.ff71dap-2,
+  0x1.2acf36p-1,
+  0x1.211884p-3,
+  0x1.571022p-1,
+  0x1.edebc4p-2,
+  0x1.5a3d3cp-1,
+  0x1.5d7bbcp-3,
+  0x1.5dc9acp-1,
+  0x1.5f9e76p-1,
+  0x1.f6f9d4p-2,
+  0x1.1fbc22p-1,
+  0x1.c9c98cp-2,
+  0x1.e89a16p-2,
+  0x1.2c2b54p-1,
+  0x1.0edc5ep-1,
+  0x1.378564p-1,
+  0x1.1b4b74p-2,
+  0x1.5924ap-1,
+  0x1.02a6a6p-1,
+  0x1.128d5cp-1,
+  0x1.64cc2cp-1,
+  0x1.8bf11p-2,
+  0x1.5e99eep-1,
+  0x1.5c3748p-3,
+  0x1.561be8p-1,
+  0x1.f9df26p-2,
+  0x1.29a93ap-1,
+  0x1.0c6e12p-1,
+  0x1.aa8798p-3,
+  0x1.cb94f4p-2,
+  0x1.4bd17cp-1,
+  0x1.a562f4p-2,
+  0x1.0fb314p-2,
+  0x1.2718e6p-1,
+  0x1.5b2926p-1,
+  0x1.9729a8p-2,
+  0x1.11a214p-1,
+  0x1.402b36p-1,
+  0x1.740468p-3,
+  0x1.64107p-2,
+  0x1.cf7db8p-3,
+  0x1.5f708p-1,
+  0x1.776634p-3,
+  0x1.dcff5ap-2,
+  0x1.f531f8p-3,
+  0x1.1e6282p-1,
+  0x1.1b59ecp-3,
+  0x1.2ae8c2p-1,
+  0x1.7a2dacp-2,
+  0x1.23272ap-1,
+  0x1.7902eep-3,
+  0x1.58fb54p-1,
+  0x1.04e27cp-3,
+  0x1.391a04p-2,
+  0x1.40f028p-1,
+  0x1.f4b874p-3,
+  0x1.bfd764p-3,
+  0x1.4e31d2p-2,
+  0x1.df3e56p-2,
+  0x1.399a12p-2,
+  0x1.9b53ecp-4,
+  0x1.29ac24p-3,
+  0x1.2b8e6ap-2,
+  0x1.3bfaaep-1,
+  0x1.46d9aep-2,
+  0x1.2e9d12p-2,
+  0x1.77c946p-3,
+  0x1.51719p-1,
+  0x1.44341ap-3,
+  0x1.15aa4ap-1,
+  0x1.79c7e2p-2,
+  0x1.f9a8acp-3,
+  0x1.522b2p-1,
+};
+static const std::vector<float> sincosf_input2 = {
+  0x1.8b375p+0,
+  0x1.7934c8p+1,
+  0x1.249b4p+1,
+  0x1.29d862p+0,
+  0x1.cac54p+0,
+  0x1.47c65cp+0,
+  0x1.d45198p+0,
+  0x1.36ac4p+1,
+  0x1.635158p+1,
+  0x1.6e833ap+1,
+  0x1.8748b8p+0,
+  0x1.3add66p+1,
+  0x1.59a6e2p+0,
+  0x1.5051d2p+1,
+  0x1.2194b4p+0,
+  0x1.b3343cp+0,
+  0x1.58ff86p+1,
+  0x1.3ac5fp+1,
+  0x1.4f91bcp+1,
+  0x1.363504p+1,
+  0x1.650e8cp+1,
+  0x1.0eb71p+1,
+  0x1.176054p+1,
+  0x1.0406c4p+1,
+  0x1.2778acp+1,
+  0x1.b24b94p+0,
+  0x1.550c8cp+0,
+  0x1.acc1c4p+0,
+  0x1.c8df1p+0,
+  0x1.e14e9p+0,
+  0x1.ce7ae8p-1,
+  0x1.368262p+1,
+  0x1.6800dp-1,
+  0x1.60480cp+0,
+  0x1.158fecp+1,
+  0x1.01c81cp+0,
+  0x1.c1da44p+0,
+  0x1.d46cdap-1,
+  0x1.526d44p+1,
+  0x1.1e8f76p+1,
+  0x1.b7efc4p+0,
+  0x1.57ec4p+1,
+  0x1.5d1f04p+0,
+  0x1.eb9008p+0,
+  0x1.8685b8p+1,
+  0x1.3e21d4p+1,
+  0x1.003256p+1,
+  0x1.94cd7p+0,
+  0x1.89965p+0,
+  0x1.599b7ep+1,
+  0x1.05f5acp+1,
+  0x1.5fa12cp+1,
+  0x1.8f92fcp-1,
+  0x1.611928p+1,
+  0x1.77dc74p+1,
+  0x1.13b3b6p+0,
+  0x1.17ab6cp+1,
+  0x1.a8b84ap+0,
+  0x1.5c46e6p+0,
+  0x1.e45686p-1,
+  0x1.4b231cp+0,
+  0x1.1ebb3ap+1,
+  0x1.5b6414p+1,
+  0x1.1e1898p+1,
+  0x1.4a2448p+1,
+  0x1.29dba4p+0,
+  0x1.13d0c4p+1,
+  0x1.5fb6cap+0,
+  0x1.18e392p+1,
+  0x1.5680b8p+0,
+  0x1.23df18p+0,
+  0x1.aa8068p+0,
+  0x1.838278p+0,
+  0x1.1af3fap+1,
+  0x1.b46eep+0,
+  0x1.c9ab6p-1,
+  0x1.8b988cp+1,
+  0x1.80736ep+1,
+  0x1.e231f8p-1,
+  0x1.e8e76p+0,
+  0x1.0b31b2p+0,
+  0x1.5e1b8p+0,
+  0x1.41c05cp+0,
+  0x1.9158c4p+0,
+  0x1.648b6p+1,
+  0x1.590752p+1,
+  0x1.264b64p+0,
+  0x1.4c1522p+1,
+  0x1.903aacp+0,
+  0x1.822d6p+0,
+  0x1.6f1924p+1,
+  0x1.d27174p+0,
+  0x1.f8f43ap-1,
+  0x1.70164ap+0,
+  0x1.099638p+0,
+  0x1.34e26ap+1,
+  0x1.b20748p+0,
+  0x1.60ff7ep+0,
+  0x1.5819fcp+1,
+  0x1.33901cp+0,
+  0x1.73d868p+0,
+  0x1.f289b4p-1,
+  0x1.28f63p+1,
+  0x1.df3a54p-1,
+  0x1.3a3314p+1,
+  0x1.5df792p+1,
+  0x1.3ab4f8p+0,
+  0x1.7c2ec4p+0,
+  0x1.155e4ap+1,
+  0x1.4b3a94p+0,
+  0x1.192324p+1,
+  0x1.c8dc4cp-1,
+  0x1.852e68p+1,
+  0x1.8c71ecp+0,
+  0x1.14ca54p+1,
+  0x1.eee1d4p+0,
+  0x1.e19248p+0,
+  0x1.7eae7cp+1,
+  0x1.36bfa6p+1,
+  0x1.2b96c4p+0,
+  0x1.5ae652p+1,
+  0x1.715bp+1,
+  0x1.2facdp+1,
+  0x1.1a3aa8p+0,
+  0x1.5f2714p+1,
+  0x1.499ce6p+1,
+  0x1.1330aap+1,
+  0x1.388ffcp+1,
+  0x1.155fcap+1,
+  0x1.d7684p+0,
+  0x1.f78bf4p+0,
+  0x1.16ee2p+1,
+  0x1.48bc88p+0,
+  0x1.dda62ap-1,
+  0x1.0f071cp+0,
+  0x1.c79d28p+0,
+  0x1.5c007cp+1,
+  0x1.775db8p+0,
+  0x1.852138p+1,
+  0x1.3ef1d8p+0,
+  0x1.761a18p+1,
+  0x1.1d74bcp+1,
+  0x1.bfc0f4p-1,
+  0x1.a8dec2p+0,
+  0x1.451508p+0,
+  0x1.2d928cp+1,
+  0x1.1f6be8p+0,
+  0x1.f365bp+0,
+  0x1.f65878p+0,
+  0x1.21b78ep+1,
+  0x1.423694p+0,
+  0x1.72ef86p+1,
+  0x1.6b4204p+1,
+  0x1.51a18ep+0,
+  0x1.e6d964p+0,
+  0x1.13e846p+0,
+  0x1.10794p+1,
+  0x1.ca122p+0,
+  0x1.7f9a58p+1,
+  0x1.d4de7p-1,
+  0x1.3eda4cp+0,
+  0x1.7ce822p+0,
+  0x1.1e4814p+0,
+  0x1.e64644p-1,
+  0x1.3ec4b4p+0,
+  0x1.1b300ap+1,
+  0x1.6c19c8p+0,
+  0x1.908198p+0,
+  0x1.889fb2p+1,
+  0x1.4b3836p+1,
+  0x1.5b6d1p+1,
+  0x1.86fa5ap+1,
+  0x1.47fc78p+0,
+  0x1.c33794p-1,
+  0x1.e3cc34p+0,
+  0x1.4273acp+0,
+  0x1.3ee3acp+0,
+  0x1.299234p+0,
+  0x1.c96806p-1,
+  0x1.ae356cp+0,
+  0x1.60bcbcp+1,
+  0x1.a58304p+0,
+  0x1.5971b8p+1,
+  0x1.7dd6d4p+1,
+  0x1.77fd6cp-1,
+  0x1.edabb4p-1,
+  0x1.a40ce6p-1,
+  0x1.53f0fep+1,
+  0x1.9d26p-1,
+  0x1.348a14p+0,
+  0x1.b79146p-1,
+  0x1.0c68a8p+1,
+  0x1.3ade08p+0,
+  0x1.3176p+0,
+  0x1.f0abap-1,
+  0x1.f4eccp+0,
+  0x1.274d1ap+0,
+  0x1.8bbb1p+0,
+  0x1.b855a8p+0,
+  0x1.50ad34p+0,
+  0x1.6ab944p-1,
+  0x1.6e7c86p+1,
+  0x1.0ba982p+1,
+  0x1.615e32p+0,
+  0x1.e994e4p+0,
+  0x1.d687b8p+0,
+  0x1.7b694cp+0,
+  0x1.9aa51cp-1,
+  0x1.7a6eeap+1,
+  0x1.1f9f4ep+1,
+  0x1.ae6144p+0,
+  0x1.d45678p+0,
+  0x1.8afb76p+1,
+  0x1.5f7132p+1,
+  0x1.41a4e2p+1,
+  0x1.b79f5p-1,
+  0x1.0d5c7ep+1,
+  0x1.946746p-1,
+  0x1.27a60cp+1,
+  0x1.2f5c76p+1,
+  0x1.378fd6p+1,
+  0x1.f6304cp+0,
+  0x1.8359f8p+0,
+  0x1.df19d2p-1,
+  0x1.691898p+0,
+  0x1.0247a2p+0,
+  0x1.6e9ffep+1,
+  0x1.356714p+0,
+  0x1.15a8bap+0,
+  0x1.ea52cp+0,
+  0x1.2cc33p+0,
+  0x1.2028f8p+1,
+  0x1.f70354p+0,
+  0x1.54b8f2p+0,
+  0x1.98907cp+0,
+  0x1.b32f2ap+0,
+  0x1.131e9p+1,
+  0x1.9980a8p+0,
+  0x1.7f473p+0,
+  0x1.921924p+0,
+  0x1.e98a7cp-1,
+  0x1.77e7ap+1,
+  0x1.dd7b24p+0,
+  0x1.4532cap+1,
+  0x1.aad424p-1,
+  0x1.1a2388p+1,
+  0x1.7f38e2p+1,
+  0x1.35e8cp+0,
+  0x1.2c1e22p+1,
+  0x1.f31538p+0,
+  0x1.a288b2p+0,
+  0x1.fdab5cp+0,
+  0x1.a7c286p-1,
+  0x1.41a39p+1,
+  0x1.31f6b4p+1,
+  0x1.6ac718p-1,
+  0x1.04cc02p+0,
+  0x1.09264ap+1,
+  0x1.91cc0ap-1,
+  0x1.e073b4p+0,
+  0x1.136804p+0,
+  0x1.5dd99ep+1,
+  0x1.b9ad38p+0,
+  0x1.856b16p+1,
+  0x1.5ac3bcp+0,
+  0x1.a878fap+0,
+  0x1.645cd6p+1,
+  0x1.d13df8p-1,
+  0x1.07b234p+0,
+  0x1.7bc346p+1,
+  0x1.56b4a4p+0,
+  0x1.cd24acp+0,
+  0x1.198a2ep+1,
+  0x1.b79484p+0,
+  0x1.8b8f1p+1,
+  0x1.50aa7ep+1,
+  0x1.aabb3cp+0,
+  0x1.2594a4p+1,
+  0x1.c9f48p-1,
+  0x1.3de0c8p+1,
+  0x1.08e46p+0,
+  0x1.93c88cp+0,
+  0x1.d22162p-1,
+  0x1.1cf8c6p+0,
+  0x1.4faap+1,
+  0x1.172c9cp+1,
+  0x1.07bb2cp+0,
+  0x1.028826p+0,
+  0x1.80d69ep+1,
+  0x1.ccaaecp+0,
+  0x1.155c1ap+1,
+  0x1.419c54p+0,
+  0x1.928a9p-1,
+  0x1.3287ccp+1,
+  0x1.db5388p-1,
+  0x1.0f3f52p+1,
+  0x1.f70638p-1,
+  0x1.cd2784p+0,
+  0x1.358b6cp+1,
+  0x1.f8dd74p+0,
+  0x1.43012ep+1,
+  0x1.5f422cp+0,
+  0x1.72545cp+0,
+  0x1.633b5ep+1,
+  0x1.609868p+1,
+  0x1.1ea412p+1,
+  0x1.09e0bcp+1,
+  0x1.36546ap+1,
+  0x1.85b4b4p+0,
+  0x1.dbcc3cp-1,
+  0x1.9627c4p+0,
+  0x1.803f74p-1,
+  0x1.f625ap+0,
+  0x1.c948ap+0,
+  0x1.200fa2p+0,
+  0x1.682c4p-1,
+  0x1.88d3ap+1,
+  0x1.2e6bfap+1,
+  0x1.739f98p+1,
+  0x1.3876cp+1,
+  0x1.70f35ap+0,
+  0x1.46691cp+1,
+  0x1.40e0b6p+1,
+  0x1.242c56p+1,
+  0x1.0218bep+1,
+  0x1.aa771p-1,
+  0x1.7058fcp+1,
+  0x1.1220a4p+1,
+  0x1.3e8c5ap+1,
+  0x1.27786ap+0,
+  0x1.649aap+0,
+  0x1.5f8d86p+1,
+  0x1.4f78d6p+1,
+  0x1.c3f9e4p-1,
+  0x1.7f0cccp+0,
+  0x1.b41548p-1,
+  0x1.0ecfd2p+1,
+  0x1.549cf4p+1,
+  0x1.326bcp+1,
+  0x1.40e388p+1,
+  0x1.8a4a44p+1,
+  0x1.8510aep+1,
+  0x1.446f9p+1,
+  0x1.7ee668p+0,
+  0x1.a7de4p+0,
+  0x1.fbe78p-1,
+  0x1.5e3858p+1,
+  0x1.a564f2p+0,
+  0x1.07ed14p+0,
+  0x1.9a3218p+0,
+  0x1.bd36bp+0,
+  0x1.6d860cp+1,
+  0x1.ace02ap+0,
+  0x1.45f40cp+0,
+  0x1.2c1488p+0,
+  0x1.41d564p+0,
+  0x1.c25e68p+0,
+  0x1.26e5d2p+1,
+  0x1.950208p+0,
+  0x1.0609cap+0,
+  0x1.8ca2bp+0,
+  0x1.35c56p+1,
+  0x1.1aec24p+1,
+  0x1.1fecb8p+1,
+  0x1.aaaf18p-1,
+  0x1.7b9fbap+1,
+  0x1.7b41dp+0,
+  0x1.0d44d6p+1,
+  0x1.a6c594p+0,
+  0x1.0aeb1cp+0,
+  0x1.b70e5p+0,
+  0x1.7be6e6p+0,
+  0x1.56b2bep+1,
+  0x1.84d292p+1,
+  0x1.b25194p+0,
+  0x1.d5c03p+0,
+  0x1.0add6p+0,
+  0x1.81a6b6p+1,
+  0x1.ef097cp+0,
+  0x1.789936p+0,
+  0x1.232542p+0,
+  0x1.8bede8p+1,
+  0x1.be12b8p-1,
+  0x1.8c9e3cp+1,
+  0x1.594ccep+1,
+  0x1.655492p+1,
+  0x1.66682p+1,
+  0x1.3aff58p+1,
+  0x1.0d4c64p+1,
+  0x1.84ff5ap+1,
+  0x1.0ff04ep+1,
+  0x1.83cef8p+1,
+  0x1.a1d71p+0,
+  0x1.8af7f8p+0,
+  0x1.decd14p+0,
+  0x1.73bf84p+0,
+  0x1.4060eep+1,
+  0x1.72d01ap+1,
+  0x1.633c28p+0,
+  0x1.7971a8p+0,
+  0x1.4b837cp+0,
+  0x1.46cfb6p+1,
+  0x1.7e7dcap-1,
+  0x1.4a33acp+1,
+  0x1.fc34d8p+0,
+  0x1.6aa758p+1,
+  0x1.8fc4c8p+0,
+  0x1.4fcfe6p+0,
+  0x1.107894p+1,
+  0x1.20742cp+1,
+  0x1.573234p+1,
+  0x1.1694f6p+1,
+  0x1.9e11fcp+0,
+  0x1.89f23p+0,
+  0x1.823edap+1,
+  0x1.7d36a6p+0,
+  0x1.8089aap+1,
+  0x1.6c5ca6p+0,
+  0x1.525caep+1,
+  0x1.2a98ap+1,
+  0x1.40babp+1,
+  0x1.863184p+1,
+  0x1.73ad9p+0,
+  0x1.864228p+1,
+  0x1.989dacp+0,
+  0x1.5bc018p+0,
+  0x1.77b2ap-1,
+  0x1.48ac6ep+1,
+  0x1.4de9e6p+1,
+  0x1.f6debcp+0,
+  0x1.3054dap+0,
+  0x1.624e22p+1,
+  0x1.7cc9bp+1,
+  0x1.a2afep+0,
+  0x1.50da12p+1,
+  0x1.2ee28p+1,
+  0x1.7ef39cp+0,
+  0x1.6a84fap-1,
+  0x1.87e3c8p+0,
+  0x1.5659p+1,
+  0x1.1e4d68p+1,
+  0x1.721042p+1,
+  0x1.02b17cp+1,
+  0x1.5c0182p+1,
+  0x1.0d58c8p+0,
+  0x1.a2a4fp+0,
+  0x1.023084p+1,
+  0x1.fe4b94p+0,
+  0x1.cba3dp+0,
+  0x1.2237e2p+0,
+  0x1.0f0a4ap+1,
+  0x1.97ddbep-1,
+  0x1.d2ea7cp+0,
+  0x1.53901ap+0,
+  0x1.442cf6p+1,
+  0x1.ddc894p-1,
+  0x1.67e182p+1,
+  0x1.bea10cp+0,
+  0x1.2d5d6cp+1,
+  0x1.62ed22p+1,
+  0x1.393d42p+1,
+  0x1.3ba55cp+0,
+  0x1.fd8f6p-1,
+  0x1.3ba084p+1,
+  0x1.605e2cp+1,
+  0x1.48ee46p+1,
+  0x1.d4081p+0,
+  0x1.011e1cp+0,
+  0x1.42efcp+1,
+  0x1.2ab478p+1,
+  0x1.14b37ap+1,
+  0x1.fb7f9p+0,
+  0x1.b2697ep-1,
+  0x1.8475cep-1,
+  0x1.73a9c6p+1,
+  0x1.d781p+0,
+  0x1.2e7ecp+1,
+  0x1.520c3ep+1,
+  0x1.7c8568p+1,
+  0x1.884fep+1,
+  0x1.338194p+0,
+  0x1.166f44p+0,
+  0x1.1cd13ep+0,
+  0x1.6d9e3p+1,
+  0x1.227428p+1,
+  0x1.61f258p+0,
+  0x1.f224aap-1,
+  0x1.5619ecp+0,
+  0x1.28b934p+1,
+  0x1.acd044p-1,
+  0x1.b5de1ep-1,
+  0x1.438e6ap+1,
+  0x1.819dfp+1,
+  0x1.2d7698p+0,
+  0x1.e70ffp+0,
+  0x1.0096fcp+0,
+  0x1.7abf42p-1,
+  0x1.0e9fa4p+0,
+  0x1.a8f2e6p+0,
+  0x1.7d3eep+1,
+  0x1.472354p+1,
+  0x1.88103p+0,
+  0x1.4b6626p+1,
+  0x1.0e2e1p+1,
+  0x1.95a0fcp+0,
+  0x1.64c654p+1,
+  0x1.0feeaep+0,
+  0x1.5f99eep+1,
+  0x1.7cfa14p+1,
+  0x1.e30e7ap-1,
+  0x1.ebaf94p+0,
+  0x1.be7a4p+0,
+};
+static const std::vector<float> sincosf_input3 = {
+  0x1.1f54a8p-1,
+  -0x1.5d0396p+1,
+  0x1.acaf58p+0,
+  -0x1.830ffcp+1,
+  0x1.75597cp+1,
+  0x1.cbe7ap-1,
+  -0x1.5ac992p+1,
+  -0x1.19d22ap+1,
+  0x1.1525e8p+0,
+  0x1.65aa3cp+1,
+  0x1.fbd83p+0,
+  0x1.383624p+1,
+  0x1.acebp-3,
+  0x1.2287c4p+1,
+  -0x1.6f431ap+1,
+  -0x1.81f15cp+1,
+  0x1.3850bp+1,
+  0x1.0fff88p+1,
+  -0x1.5cec62p+1,
+  -0x1.6afa66p+0,
+  -0x1.850ca4p+0,
+  -0x1.35b79cp+1,
+  -0x1.23c13ep+0,
+  0x1.41a1e4p+1,
+  0x1.0dbdd8p+1,
+  0x1.58fcc8p+1,
+  -0x1.e71b6ep+0,
+  0x1.706a6p+0,
+  0x1.821798p+1,
+  0x1.49e628p+1,
+  -0x1.b06dbcp+0,
+  0x1.8c8a98p+0,
+  0x1.169aep-1,
+  0x1.5e207cp+1,
+  -0x1.4d98b8p-1,
+  0x1.aa7098p+0,
+  0x1.e3f38p-3,
+  0x1.54ed24p+1,
+  -0x1.134794p+1,
+  -0x1.2fbf1p-2,
+  -0x1.87f6f2p+1,
+  0x1.323e08p+1,
+  -0x1.0fdf5ep+1,
+  -0x1.6e299ap+0,
+  0x1.090ec4p+1,
+  0x1.affc6p-1,
+  0x1.fecacp+0,
+  0x1.7dd14p-2,
+  -0x1.3d876cp+0,
+  -0x1.2c7bdap+1,
+  0x1.d08d1p-1,
+  -0x1.2dff78p-1,
+  -0x1.8a524ep+1,
+  0x1.23a0cp-1,
+  0x1.72a08p-3,
+  0x1.5539b4p+1,
+  -0x1.339bfp+1,
+  -0x1.54d41p-1,
+  0x1.6fef74p+1,
+  -0x1.f5134p-4,
+  0x1.8811bp-2,
+  -0x1.33188ap+1,
+  0x1.246cap+0,
+  0x1.299938p-1,
+  -0x1.685f04p+0,
+  0x1.3a92ep+0,
+  -0x1.cd8a2ap+0,
+  0x1.340a1cp+1,
+  0x1.eadebp-1,
+  -0x1.1497fp-1,
+  0x1.1d6ecp-4,
+  0x1.d5f288p+0,
+  0x1.6aa3cp-1,
+  -0x1.224e2p+1,
+  0x1.c3fb3p+0,
+  -0x1.1a591cp+1,
+  -0x1.224cap+0,
+  0x1.b06358p+0,
+  -0x1.5b448cp+0,
+  -0x1.4c6dbp-2,
+  -0x1.7c58ap-3,
+  0x1.341e2cp+1,
+  0x1.88b9d8p-1,
+  -0x1.42c1aep+0,
+  -0x1.c274cp-3,
+  -0x1.739d68p-1,
+  0x1.a7879p-1,
+  0x1.d1052p+0,
+  -0x1.61bb6ap+1,
+  -0x1.a795ep-1,
+  0x1.322ccp-4,
+  0x1.77e08cp+1,
+  0x1.03e8c8p+0,
+  0x1.450c38p+1,
+  0x1.fca76p-2,
+  -0x1.0795ep-3,
+  0x1.72e598p-1,
+  -0x1.38fd08p+0,
+  0x1.5d406cp+1,
+  -0x1.2ea498p+1,
+  0x1.90eap-3,
+  -0x1.3643bcp+0,
+  0x1.5081e4p+1,
+  -0x1.581978p+1,
+  0x1.a57e5p-1,
+  0x1.49f4dp+0,
+  0x1.8f076p-1,
+  0x1.fc9088p+0,
+  0x1.04d154p+1,
+  -0x1.0f095cp+1,
+  0x1.3559c4p+1,
+  -0x1.3b3dap-2,
+  -0x1.383858p-1,
+  0x1.e8af5p+0,
+  0x1.df5438p+0,
+  0x1.691e08p+0,
+  0x1.87b4b8p+0,
+  -0x1.7325d6p+1,
+  0x1.c7d2a8p+0,
+  0x1.0e6d14p+1,
+  -0x1.98c98p-3,
+  -0x1.63200ep+1,
+  -0x1.914f8p+0,
+  0x1.71a138p+0,
+  -0x1.4844e4p+1,
+  0x1.98fe4p-1,
+  0x1.0a9174p+1,
+  -0x1.773fcap+1,
+  -0x1.a37bap-1,
+  -0x1.50472cp+1,
+  -0x1.cfb2p-2,
+  -0x1.b2169p-2,
+  -0x1.1117bcp+0,
+  0x1.557e88p+0,
+  0x1.2f009p+0,
+  0x1.069704p+1,
+  -0x1.cff21ap+0,
+  -0x1.58a0fp-1,
+  0x1.670ab8p+0,
+  0x1.32afep+0,
+  -0x1.0c8c98p+0,
+  -0x1.2ffaecp+0,
+  0x1.889dc8p+0,
+  -0x1.b7175ep+0,
+  -0x1.3d6a5cp+1,
+  0x1.4d3p+1,
+  0x1.72e144p+1,
+  -0x1.2a458p+0,
+  0x1.5480ap+0,
+  -0x1.97978p-4,
+  -0x1.4653fp-2,
+  0x1.735498p+0,
+  -0x1.51ce4cp+1,
+  -0x1.16ec58p+0,
+  0x1.59bb6p+1,
+  0x1.4d0138p-1,
+  -0x1.4e8ebcp+1,
+  0x1.d301dp+0,
+  -0x1.2fec26p+0,
+  0x1.7d63dp-1,
+  -0x1.824af2p+1,
+  0x1.47c7ccp+1,
+  -0x1.10ae18p+1,
+  -0x1.76da6p-3,
+  -0x1.12bp-5,
+  0x1.06b7dp+0,
+  -0x1.8be0bep+1,
+  -0x1.86db4ap+0,
+  -0x1.24088ap+0,
+  -0x1.f6ada8p+0,
+  -0x1.27b592p+0,
+  0x1.8ca0e8p+1,
+  -0x1.dbcd74p+0,
+  -0x1.e9d71cp+0,
+  0x1.0126ep+1,
+  0x1.54ec1p+0,
+  0x1.1aca5p+0,
+  0x1.51ff6p-2,
+  -0x1.8b89ccp+1,
+  -0x1.bd81bcp+0,
+  -0x1.43a74p-1,
+  0x1.041dep+0,
+  0x1.69da1p+1,
+  -0x1.3d563cp+0,
+  0x1.7449dp-1,
+  -0x1.60ff4p+0,
+  0x1.37dcbp+1,
+  0x1.79795cp+1,
+  -0x1.4caa3p-1,
+  0x1.5b8494p+1,
+  -0x1.789a08p+1,
+  -0x1.139294p+0,
+  -0x1.082698p-1,
+  -0x1.b2389p-1,
+  -0x1.76f8dep+0,
+  0x1.080f2p+1,
+  0x1.a5a428p-1,
+  0x1.e5383p+0,
+  0x1.42f8acp+1,
+  -0x1.32929p-1,
+  0x1.e2806p+0,
+  0x1.f1a09p+0,
+  -0x1.0bb5ep+1,
+  0x1.1513dp+1,
+  -0x1.25e4cp-1,
+  0x1.562044p+1,
+  -0x1.ad366p-1,
+  0x1.0d837p+0,
+  0x1.88067p+0,
+  0x1.2b5c5p-1,
+  -0x1.682fcp+0,
+  -0x1.d1585p-2,
+  0x1.3ce41p+0,
+  -0x1.4f7b9ap+1,
+  -0x1.a0544p-4,
+  0x1.5996acp+1,
+  0x1.87b24p-1,
+  -0x1.f90d38p-1,
+  -0x1.ae695p+0,
+  0x1.26e51p-2,
+  -0x1.6a81eap+0,
+  -0x1.805584p+1,
+  -0x1.cc051p-2,
+  -0x1.0483cap+1,
+  0x1.4af66cp+1,
+  -0x1.3e46a2p+0,
+  -0x1.79abaep+1,
+  -0x1.331aeep+0,
+  -0x1.62b68ap+1,
+  0x1.634ba8p+0,
+  -0x1.d5d34p+0,
+  -0x1.145a64p+0,
+  -0x1.4f6a58p+1,
+  -0x1.70478p-1,
+  0x1.520074p+1,
+  0x1.759054p+1,
+  -0x1.ad80ap-3,
+  -0x1.4b2688p-1,
+  -0x1.7fe8f4p+1,
+  0x1.6cb374p+1,
+  -0x1.91ea46p+0,
+  -0x1.a4f1dap+0,
+  -0x1.09dd6cp+0,
+  -0x1.1bc55cp+0,
+  0x1.f98de8p+0,
+  0x1.77acc8p+1,
+  0x1.0801cp-4,
+  0x1.6b8aa4p+1,
+  -0x1.69b1b8p-1,
+  -0x1.0cebdap+1,
+  -0x1.45fa3p+1,
+  0x1.bb2f8p-3,
+  0x1.c931p-2,
+  0x1.01ea3p+1,
+  0x1.585e78p+1,
+  0x1.2dc148p-1,
+  -0x1.2e5dp-6,
+  0x1.46e12p+1,
+  0x1.41866p+1,
+  0x1.e4ec3p+0,
+  -0x1.9f5588p-1,
+  0x1.4611d8p+0,
+  0x1.8745p-2,
+  -0x1.718da2p+1,
+  0x1.e60d2p-1,
+  -0x1.45c4bap+1,
+  0x1.418decp+1,
+  0x1.389fap-2,
+  -0x1.338224p+1,
+  0x1.6bcdc8p+0,
+  -0x1.15dd54p+0,
+  -0x1.20a04p-3,
+  -0x1.bae08p-5,
+  0x1.874ac8p+0,
+  -0x1.efe266p+0,
+  -0x1.53e424p+0,
+  -0x1.289dc8p-1,
+  -0x1.86015cp+1,
+  -0x1.ebc568p-1,
+  0x1.fbf8bp-1,
+  0x1.f7c4ep+0,
+  0x1.855ffp+1,
+  -0x1.a8a47p-1,
+  0x1.074fe8p+1,
+  0x1.091608p+0,
+  0x1.f2117p-1,
+  0x1.194f04p+1,
+  -0x1.0dc22p+1,
+  -0x1.1e8604p+1,
+  0x1.826b08p-1,
+  0x1.569874p+1,
+  0x1.3c77p+0,
+  0x1.787a28p+1,
+  0x1.9e41d8p+0,
+  -0x1.43a58p+0,
+  0x1.fa373p+0,
+  -0x1.2e9abp-2,
+  -0x1.420f92p+0,
+  -0x1.1a674ep+0,
+  -0x1.9f2fb2p+0,
+  0x1.18948p-5,
+  0x1.80d89p+0,
+  0x1.ae3e4p-4,
+  0x1.e72fb8p+0,
+  0x1.291cf8p-1,
+  -0x1.2f28ep+0,
+  -0x1.0dd378p-1,
+  0x1.f9025p-2,
+  -0x1.7261ecp+1,
+  0x1.712fap+0,
+  -0x1.73dc7cp+1,
+  0x1.4738p-2,
+  -0x1.e2bbdcp+0,
+  0x1.36ae2cp+1,
+  -0x1.3a571ep+0,
+  -0x1.6b098ap+0,
+  -0x1.af94dp-2,
+  -0x1.86d746p+1,
+  0x1.648c7cp+1,
+  0x1.73d13cp+1,
+  -0x1.19f07ap+0,
+  0x1.64f48p+0,
+  0x1.6c2868p+0,
+  0x1.5f1a24p+1,
+  -0x1.75b9fp-2,
+  -0x1.1e1816p+1,
+  0x1.28d11p-1,
+  0x1.ecc608p+0,
+  0x1.ee0b68p+0,
+  -0x1.1d455p+0,
+  -0x1.410ad2p+0,
+  -0x1.df3bf8p-1,
+  -0x1.808182p+0,
+  -0x1.c7ddc2p+0,
+  -0x1.28e568p+1,
+  0x1.09c6d4p+1,
+  0x1.ffdd3p-2,
+  0x1.78e464p+1,
+  0x1.400a2p-3,
+  0x1.c1f868p-1,
+  0x1.4d5b4p-2,
+  -0x1.2c0d26p+1,
+  0x1.860a5p+0,
+  -0x1.7abbd8p+1,
+  0x1.8f99ep+0,
+  0x1.53f29p+0,
+  -0x1.13b214p+1,
+  0x1.250f1p-1,
+  0x1.79318p-2,
+  0x1.db6328p+0,
+  -0x1.1c2a16p+1,
+  0x1.993e48p+0,
+  0x1.67863p+0,
+  -0x1.49303cp+0,
+  -0x1.02ee9cp+1,
+  -0x1.265eccp+1,
+  -0x1.25ee6p-2,
+  -0x1.6aef76p+1,
+  0x1.a3594p-3,
+  0x1.78d8e8p+0,
+  0x1.87e704p+1,
+  -0x1.1b0454p+1,
+  0x1.613c8p+0,
+  -0x1.8ac80cp+1,
+  0x1.7761ap-3,
+  -0x1.647314p+0,
+  -0x1.7e2d3p+1,
+  -0x1.d666d8p+0,
+  0x1.53d94p-1,
+  0x1.30a9c4p+1,
+  0x1.0e03b8p+0,
+  -0x1.5d5476p+0,
+  -0x1.c8eeep-3,
+  0x1.9a54p-4,
+  -0x1.0f0e48p+0,
+  -0x1.737a88p+1,
+  -0x1.6e3c18p-1,
+  0x1.659998p+1,
+  -0x1.523e82p+1,
+  -0x1.75837p-2,
+  0x1.fe4dep-3,
+  -0x1.956686p+0,
+  -0x1.61ed52p+0,
+  -0x1.a4f31cp+0,
+  -0x1.5f9914p+0,
+  0x1.9bd8d8p+0,
+  -0x1.68f8cep+0,
+  0x1.e62e6p-1,
+  -0x1.82bfd6p+1,
+  0x1.ac9fap-2,
+  -0x1.1bac64p+1,
+  -0x1.8266e8p-1,
+  -0x1.594b78p-1,
+  0x1.d8c11p-2,
+  -0x1.4c64cp+1,
+  0x1.54aacp+0,
+  0x1.0645a8p+1,
+  0x1.43259p+1,
+  0x1.faeb8p-5,
+  -0x1.bd663p-2,
+  -0x1.4093cap+1,
+  -0x1.4cb9d2p+1,
+  0x1.66f2f4p+1,
+  -0x1.ee153p-2,
+  -0x1.0d02fcp+1,
+  -0x1.979bcp-3,
+  -0x1.0a78ep+0,
+  -0x1.6e2fbcp+1,
+  0x1.3c94d8p+1,
+  -0x1.7ceef4p+1,
+  0x1.551db8p+1,
+  0x1.d731e8p+0,
+  -0x1.4866d8p+1,
+  0x1.83d774p+1,
+  0x1.6425d4p+1,
+  -0x1.51a138p-1,
+  0x1.0a1d18p+1,
+  0x1.7a1ea8p+0,
+  0x1.3ddf3p-2,
+  0x1.d3379p-1,
+  0x1.5d4ccp-1,
+  0x1.d6e2d8p+0,
+  0x1.057938p+0,
+  0x1.7f026cp+1,
+  0x1.60e43cp+1,
+  -0x1.61f53ep+1,
+  0x1.ef0e18p+0,
+  -0x1.76bbfep+0,
+  0x1.f8cbep-1,
+  0x1.bc07cp+0,
+  -0x1.4c154p-4,
+  -0x1.c3ba48p-1,
+  0x1.b3fbbp-2,
+  -0x1.0cd0b4p+1,
+  -0x1.202a72p+0,
+  0x1.8867bp+1,
+  0x1.29cd1p+1,
+  0x1.8175p+1,
+  0x1.31375p-1,
+  0x1.c921b8p-1,
+  -0x1.5321c4p+1,
+  -0x1.22e46ap+0,
+  0x1.1970ap+1,
+  0x1.df02ap+0,
+  -0x1.4d2cbcp+1,
+  -0x1.b43e02p+0,
+  0x1.13f444p+1,
+  -0x1.5efb9p-2,
+  -0x1.0289fp+0,
+  -0x1.8e818p-5,
+  -0x1.44336p+1,
+  0x1.1f6c2p+1,
+  0x1.866dc4p+1,
+  -0x1.60688ep+1,
+  -0x1.158eep-1,
+  -0x1.f348a6p+0,
+  0x1.5c19f8p-1,
+  -0x1.bf6ee8p-1,
+  -0x1.87416p-1,
+  0x1.0fc118p-1,
+  -0x1.a98e6ep+0,
+  0x1.97ba88p+0,
+  0x1.e8d7p-4,
+  0x1.03d5f8p+0,
+  -0x1.7a04dep+0,
+  0x1.ab6d38p+0,
+  0x1.0ad864p+1,
+  0x1.5be57p+0,
+  -0x1.381208p+1,
+  0x1.60a12p-1,
+  0x1.9a852p+0,
+  0x1.02821p-1,
+  -0x1.7aa292p+1,
+  0x1.e195b8p+0,
+  -0x1.4aae72p+0,
+  0x1.3c3568p+1,
+  0x1.3a51c8p-1,
+  0x1.7c1934p+1,
+  -0x1.41d9d8p+1,
+  0x1.eabd4p+0,
+  0x1.0c237cp+1,
+  0x1.e3de18p+0,
+  0x1.470f74p+1,
+  0x1.40bc4cp+1,
+  -0x1.4605b8p+0,
+  -0x1.9de34ap+0,
+  0x1.c7c3c8p+0,
+  0x1.1ed6cp+0,
+  0x1.0df5p+1,
+  -0x1.67529cp+1,
+  0x1.373fc8p-1,
+  -0x1.9edda6p+0,
+  0x1.8fe2dp-2,
+  -0x1.88ce9ep+1,
+  0x1.70db3p-2,
+  -0x1.d877dp-1,
+  -0x1.fb6dep-3,
+  -0x1.1b10ccp+1,
+  0x1.896ee8p+1,
+  -0x1.ae6fep-3,
+  0x1.6fac38p-1,
+  -0x1.5e8adep+1,
+  0x1.2239cp+1,
+  -0x1.50ba38p+1,
+  -0x1.45bb58p-1,
+  -0x1.f66d72p+0,
+  -0x1.cbf28p-2,
+  0x1.03b9d8p+0,
+  0x1.795158p+0,
+  -0x1.3898d8p-1,
+  -0x1.0b3f08p+1,
+  -0x1.003636p+1,
+};
+static const std::vector<float> sincosf_input4 = {
+  0x1.d9b006p+4,
+  0x1.21f776p+4,
+  0x1.d78bf2p+4,
+  0x1.d01f9cp+4,
+  0x1.febap+4,
+  0x1.0347eep+5,
+  0x1.c6a5ep+3,
+  0x1.cb9c1cp+4,
+  0x1.e22748p+4,
+  0x1.093644p+5,
+  0x1.9c9e18p+4,
+  0x1.b8408p+3,
+  0x1.f005fcp+4,
+  0x1.dafbcep+4,
+  0x1.079p+5,
+  0x1.0271bcp+3,
+  0x1.038e2ep+4,
+  0x1.9a2e88p+4,
+  0x1.df39cp+2,
+  0x1.f5f49ap+4,
+  0x1.14c78p+4,
+  0x1.71158ap+4,
+  0x1.785988p+2,
+  0x1.b5e23cp+3,
+  0x1.e29e8cp+2,
+  0x1.f0f57ap+3,
+  0x1.f38858p+3,
+  0x1.a10754p+4,
+  0x1.625cdcp+2,
+  0x1.92c832p+4,
+  0x1.baf03cp+4,
+  0x1.669e62p+3,
+  0x1.a69232p+4,
+  0x1.442e7ep+2,
+  0x1.481d76p+4,
+  0x1.3054f4p+2,
+  0x1.bba956p+3,
+  0x1.4b457ap+4,
+  0x1.74d012p+4,
+  0x1.4bf2ap+4,
+  0x1.d9667ep+4,
+  0x1.8a658p+3,
+  0x1.0eb286p+4,
+  0x1.d00eap+2,
+  0x1.03eeeep+5,
+  0x1.8648dap+2,
+  0x1.48b3bcp+4,
+  0x1.110e8cp+4,
+  0x1.0b478ep+3,
+  0x1.745e64p+4,
+  0x1.394c0ep+2,
+  0x1.f391fep+3,
+  0x1.a22588p+4,
+  0x1.0b707ap+4,
+  0x1.99f6fcp+4,
+  0x1.f2f446p+3,
+  0x1.8be6a6p+3,
+  0x1.b644p+4,
+  0x1.964954p+4,
+  0x1.9d3dep+2,
+  0x1.c510f2p+3,
+  0x1.7fa968p+4,
+  0x1.082516p+4,
+  0x1.aa925p+4,
+  0x1.3e5572p+3,
+  0x1.c69b1ep+2,
+  0x1.6af1e6p+3,
+  0x1.64fa8cp+3,
+  0x1.aa928cp+4,
+  0x1.2a9efap+3,
+  0x1.d30044p+4,
+  0x1.f82834p+1,
+  0x1.3e9f2ap+4,
+  0x1.a9d3c8p+4,
+  0x1.19d32p+3,
+  0x1.0ea6f2p+4,
+  0x1.00b9bcp+2,
+  0x1.06f3acp+5,
+  0x1.a8addap+4,
+  0x1.75f7c4p+4,
+  0x1.a2275cp+4,
+  0x1.9379fcp+4,
+  0x1.ca327cp+4,
+  0x1.b713eap+3,
+  0x1.90f2f4p+3,
+  0x1.8cee9p+2,
+  0x1.e56ce2p+3,
+  0x1.472eecp+3,
+  0x1.f9bbp+4,
+  0x1.9039c4p+4,
+  0x1.d7b0b4p+2,
+  0x1.cb606ap+4,
+  0x1.719b04p+3,
+  0x1.151dcep+2,
+  0x1.a2c4fp+2,
+  0x1.e6a9b6p+4,
+  0x1.c87b9cp+3,
+  0x1.00142ap+4,
+  0x1.b6bba4p+4,
+  0x1.aa339p+4,
+  0x1.3e524p+3,
+  0x1.814514p+4,
+  0x1.02c3cep+2,
+  0x1.2d1f72p+3,
+  0x1.93219ap+3,
+  0x1.e83158p+1,
+  0x1.c00772p+4,
+  0x1.6779bap+3,
+  0x1.cac1fp+3,
+  0x1.aff6b6p+4,
+  0x1.0ca9cep+4,
+  0x1.581194p+3,
+  0x1.60f9dcp+4,
+  0x1.2f19e6p+3,
+  0x1.245b84p+3,
+  0x1.261c1ep+3,
+  0x1.d60db8p+3,
+  0x1.a30f2ap+4,
+  0x1.ca4a26p+4,
+  0x1.bf5d58p+3,
+  0x1.69282p+4,
+  0x1.4c6456p+4,
+  0x1.b604b2p+4,
+  0x1.ee5b12p+4,
+  0x1.99d6e6p+4,
+  0x1.478e32p+4,
+  0x1.5b51acp+2,
+  0x1.6a44a2p+3,
+  0x1.c657c2p+4,
+  0x1.dfc308p+4,
+  0x1.fc88ccp+3,
+  0x1.140ccap+4,
+  0x1.47ce8cp+4,
+  0x1.6f3f48p+4,
+  0x1.5fc7f8p+4,
+  0x1.1724cap+4,
+  0x1.91891cp+4,
+  0x1.3e6506p+4,
+  0x1.8656bcp+3,
+  0x1.c5f82ep+3,
+  0x1.965e0cp+3,
+  0x1.5cf48ap+4,
+  0x1.932c7p+3,
+  0x1.0a2962p+4,
+  0x1.88bcc4p+4,
+  0x1.b18a3cp+4,
+  0x1.68e42p+4,
+  0x1.85b798p+2,
+  0x1.e8bc72p+3,
+  0x1.81fedep+3,
+  0x1.918042p+4,
+  0x1.7c3728p+3,
+  0x1.174ad4p+4,
+  0x1.582e72p+4,
+  0x1.af735ep+4,
+  0x1.3f8476p+2,
+  0x1.fde618p+3,
+  0x1.e4d202p+3,
+  0x1.750cb2p+3,
+  0x1.071d9cp+5,
+  0x1.3826f4p+3,
+  0x1.e8e456p+4,
+  0x1.662342p+4,
+  0x1.d2a076p+3,
+  0x1.d2f50ep+3,
+  0x1.ecd11cp+4,
+  0x1.fc5542p+3,
+  0x1.f92eb4p+4,
+  0x1.2166ep+2,
+  0x1.0045dap+4,
+  0x1.09b87cp+5,
+  0x1.b427ecp+4,
+  0x1.e51fc8p+4,
+  0x1.f690eap+3,
+  0x1.083d52p+5,
+  0x1.7d15bp+4,
+  0x1.ce6fbep+2,
+  0x1.a6a036p+3,
+  0x1.8a9ea4p+3,
+  0x1.1098b6p+4,
+  0x1.dd452cp+2,
+  0x1.ca0608p+3,
+  0x1.c3609p+2,
+  0x1.358da6p+4,
+  0x1.20c3c8p+3,
+  0x1.9bd816p+4,
+  0x1.02033ap+5,
+  0x1.e3a1dep+4,
+  0x1.a544fep+3,
+  0x1.038cc6p+5,
+  0x1.35d3e6p+4,
+  0x1.5ec00ep+4,
+  0x1.afa608p+3,
+  0x1.16712ep+4,
+  0x1.3de652p+4,
+  0x1.5009dep+4,
+  0x1.3574f4p+4,
+  0x1.d7be58p+3,
+  0x1.bc68e8p+2,
+  0x1.095f3cp+5,
+  0x1.79ae08p+4,
+  0x1.c8733cp+3,
+  0x1.53bf98p+3,
+  0x1.c8968ep+3,
+  0x1.ccf14cp+4,
+  0x1.a75d54p+4,
+  0x1.eb9c28p+4,
+  0x1.9f6f94p+4,
+  0x1.e8ac94p+2,
+  0x1.a13bdep+2,
+  0x1.d8268ap+3,
+  0x1.399b68p+4,
+  0x1.510a16p+4,
+  0x1.bce66ap+4,
+  0x1.4f90aep+4,
+  0x1.f50a16p+4,
+  0x1.36da48p+3,
+  0x1.1b6eb8p+2,
+  0x1.4c3ee8p+4,
+  0x1.fd7ee8p+3,
+  0x1.81a422p+4,
+  0x1.ecd51ap+3,
+  0x1.ebf874p+4,
+  0x1.4e644p+3,
+  0x1.98754ep+4,
+  0x1.22c8d4p+3,
+  0x1.b45e62p+4,
+  0x1.c96f5p+4,
+  0x1.42fdap+2,
+  0x1.20228ep+4,
+  0x1.da26f2p+3,
+  0x1.7207e8p+4,
+  0x1.8c7f4ep+4,
+  0x1.29c686p+3,
+  0x1.bec8f6p+4,
+  0x1.bcd07cp+1,
+  0x1.b84222p+3,
+  0x1.dc4b4ap+4,
+  0x1.f7bf54p+4,
+  0x1.4d4adcp+4,
+  0x1.53ec6ap+4,
+  0x1.53bc8p+3,
+  0x1.ff15cp+4,
+  0x1.f0a64cp+4,
+  0x1.eb078ap+4,
+  0x1.0ab37cp+2,
+  0x1.6d385ep+4,
+  0x1.f7aa4ap+4,
+  0x1.83d21cp+4,
+  0x1.06c1aap+5,
+  0x1.31ac66p+3,
+  0x1.42b3fp+3,
+  0x1.b345fcp+2,
+  0x1.fabcbep+3,
+  0x1.95f77p+4,
+  0x1.16080ap+4,
+  0x1.dea248p+4,
+  0x1.0546a6p+5,
+  0x1.b97b28p+4,
+  0x1.e45098p+4,
+  0x1.c929bp+3,
+  0x1.28fe9ap+4,
+  0x1.9af9e8p+2,
+  0x1.b788fp+4,
+  0x1.8e02c4p+4,
+  0x1.755dfp+3,
+  0x1.dfaec2p+4,
+  0x1.aab09p+3,
+  0x1.8079c6p+4,
+  0x1.be8d54p+4,
+  0x1.eca9aap+4,
+  0x1.fca4d8p+3,
+  0x1.9b096cp+3,
+  0x1.1c290ap+4,
+  0x1.01a39p+4,
+  0x1.8f59c4p+4,
+  0x1.03b19p+3,
+  0x1.1e2d5p+4,
+  0x1.6f1cbp+3,
+  0x1.c93c1ep+3,
+  0x1.9191aep+4,
+  0x1.c14772p+2,
+  0x1.cd788p+1,
+  0x1.ca4074p+4,
+  0x1.6a98fcp+3,
+  0x1.fde204p+4,
+  0x1.3c59ap+4,
+  0x1.35125cp+3,
+  0x1.b74914p+4,
+  0x1.2eb1a8p+4,
+  0x1.f57cfp+3,
+  0x1.0a334ap+3,
+  0x1.1ecf72p+4,
+  0x1.e1214cp+4,
+  0x1.73c0bp+3,
+  0x1.823b22p+3,
+  0x1.7156b8p+3,
+  0x1.894a2ap+4,
+  0x1.a58e6p+2,
+  0x1.6e8994p+3,
+  0x1.c32e84p+4,
+  0x1.89e944p+3,
+  0x1.8d77fp+2,
+  0x1.6e0f5cp+4,
+  0x1.0f7998p+2,
+  0x1.bfcf76p+3,
+  0x1.2872b2p+3,
+  0x1.3c4abcp+3,
+  0x1.ac2caap+4,
+  0x1.078762p+5,
+  0x1.a5fd0ep+4,
+  0x1.3400a4p+4,
+  0x1.b583c4p+4,
+  0x1.1af9f4p+4,
+  0x1.b0d008p+4,
+  0x1.f2e008p+1,
+  0x1.4e47eap+4,
+  0x1.9d7c24p+4,
+  0x1.99fdep+3,
+  0x1.4243cp+3,
+  0x1.3ad2a6p+3,
+  0x1.b415f2p+3,
+  0x1.100638p+3,
+  0x1.a7879ap+4,
+  0x1.b02518p+4,
+  0x1.a5d3fep+3,
+  0x1.5fedfcp+3,
+  0x1.01756ap+5,
+  0x1.fb27fap+4,
+  0x1.3bcdcp+2,
+  0x1.80311ap+4,
+  0x1.f33ed2p+4,
+  0x1.02dc32p+5,
+  0x1.7685fap+3,
+  0x1.d235e8p+3,
+  0x1.7e562p+4,
+  0x1.3cf0b2p+2,
+  0x1.acf6ap+3,
+  0x1.a42964p+3,
+  0x1.178948p+3,
+  0x1.46f674p+3,
+  0x1.8b7f02p+2,
+  0x1.a1f042p+3,
+  0x1.fe4758p+1,
+  0x1.5e217cp+4,
+  0x1.400002p+4,
+  0x1.da4dacp+4,
+  0x1.5a8792p+4,
+  0x1.72d808p+4,
+  0x1.065256p+5,
+  0x1.8bcc9ap+4,
+  0x1.5a0eecp+4,
+  0x1.7ea664p+2,
+  0x1.6853b6p+4,
+  0x1.f9077ap+4,
+  0x1.ac2286p+4,
+  0x1.ceeceap+3,
+  0x1.f29254p+4,
+  0x1.aaca38p+2,
+  0x1.fbf222p+1,
+  0x1.d33954p+1,
+  0x1.6e6c58p+4,
+  0x1.7e6b5cp+4,
+  0x1.7c55b4p+3,
+  0x1.e4371ep+4,
+  0x1.e02304p+2,
+  0x1.1e7092p+4,
+  0x1.48e24cp+3,
+  0x1.4fcbb6p+3,
+  0x1.da9748p+4,
+  0x1.aa8dcap+4,
+  0x1.0a73d2p+4,
+  0x1.b05c22p+4,
+  0x1.f9e69p+4,
+  0x1.41421ap+4,
+  0x1.2004a6p+4,
+  0x1.f7e3a2p+4,
+  0x1.6daee4p+4,
+  0x1.f505dcp+1,
+  0x1.188de4p+3,
+  0x1.4b1e08p+4,
+  0x1.5a884ap+3,
+  0x1.636968p+3,
+  0x1.c63146p+4,
+  0x1.8d75dcp+3,
+  0x1.f57fc8p+4,
+  0x1.422f22p+4,
+  0x1.4a4648p+4,
+  0x1.97b3e4p+2,
+  0x1.aac73p+1,
+  0x1.9b9edcp+4,
+  0x1.888fb6p+4,
+  0x1.21cbf2p+4,
+  0x1.40a17p+3,
+  0x1.df3d74p+4,
+  0x1.e8acccp+4,
+  0x1.84b146p+4,
+  0x1.ca295p+4,
+  0x1.20c3c8p+4,
+  0x1.215d5ap+3,
+  0x1.c54f64p+3,
+  0x1.10fab6p+4,
+  0x1.022ca8p+5,
+  0x1.96c25cp+4,
+  0x1.22c034p+3,
+  0x1.c14e3ep+3,
+  0x1.9288e4p+3,
+  0x1.61481ap+4,
+  0x1.167068p+3,
+  0x1.a9809p+4,
+  0x1.55fbf6p+3,
+  0x1.196bc8p+2,
+  0x1.1fc4ep+3,
+  0x1.be704cp+3,
+  0x1.ad1edcp+4,
+  0x1.54bd56p+4,
+  0x1.e85e14p+4,
+  0x1.13b4c8p+3,
+  0x1.7b4b1ep+4,
+  0x1.8f19dcp+4,
+  0x1.2e3b88p+4,
+  0x1.9b9566p+3,
+  0x1.013aa6p+5,
+  0x1.15f566p+4,
+  0x1.d3d786p+3,
+  0x1.2bb3a4p+4,
+  0x1.d0c012p+4,
+  0x1.947eb8p+4,
+  0x1.f47356p+4,
+  0x1.30c408p+4,
+  0x1.40abbep+3,
+  0x1.5dfd3ap+3,
+  0x1.3fd38p+3,
+  0x1.0830c6p+3,
+  0x1.47fb02p+4,
+  0x1.9e73ep+2,
+  0x1.f5c8f4p+1,
+  0x1.7d004cp+2,
+  0x1.cb6c52p+4,
+  0x1.7b3a8p+4,
+  0x1.0cf8d4p+3,
+  0x1.ac16fep+4,
+  0x1.a7ece4p+2,
+  0x1.31558ep+4,
+  0x1.616cfap+4,
+  0x1.568cfcp+3,
+  0x1.728ba4p+2,
+  0x1.f7a77p+2,
+  0x1.3bfap+4,
+  0x1.bdcfc4p+3,
+  0x1.0a9e4p+4,
+  0x1.2acd32p+4,
+  0x1.0194c2p+4,
+  0x1.69b6bp+4,
+  0x1.8739c2p+4,
+  0x1.d0649p+3,
+  0x1.d5fd24p+4,
+  0x1.59ffc2p+4,
+  0x1.1db42cp+3,
+  0x1.04edfp+5,
+  0x1.478eb8p+4,
+  0x1.41e26ap+4,
+  0x1.43b74ep+2,
+  0x1.6b0c6ap+2,
+  0x1.3a712p+4,
+  0x1.a2cf0ep+4,
+  0x1.46a6cep+3,
+  0x1.723e36p+4,
+  0x1.03c712p+4,
+  0x1.feccdcp+4,
+  0x1.378e1ep+4,
+  0x1.36db7ap+4,
+  0x1.38b218p+3,
+  0x1.8788dap+4,
+  0x1.24b5d2p+4,
+  0x1.205a46p+2,
+  0x1.480e56p+3,
+  0x1.5b846ap+3,
+  0x1.b4a0b8p+4,
+  0x1.f1cfeep+3,
+  0x1.ad833p+4,
+  0x1.50a87p+4,
+  0x1.28a382p+4,
+  0x1.7d753ep+3,
+  0x1.11e73cp+2,
+  0x1.137bf8p+2,
+  0x1.ffe5a6p+3,
+  0x1.efab38p+3,
+  0x1.8add74p+4,
+  0x1.cdc3f6p+3,
+  0x1.24b0e6p+3,
+  0x1.9ee018p+4,
+  0x1.7906f2p+4,
+  0x1.1690bcp+4,
+  0x1.5feadap+3,
+  0x1.a58552p+2,
+  0x1.95347ap+3,
+  0x1.a2563ap+4,
+  0x1.7889a8p+3,
+  0x1.08137cp+4,
+  0x1.a87f4cp+1,
+  0x1.9840ecp+2,
+  0x1.4de56ep+4,
+  0x1.62b97ep+3,
+  0x1.b4187ap+3,
+  0x1.1b8f58p+3,
+  0x1.aeb858p+4,
+  0x1.b7b1bap+4,
+  0x1.7ceb72p+4,
+  0x1.fbb328p+4,
+  0x1.74178ap+3,
+  0x1.03b668p+4,
+};
+static const std::vector<float> sincosf_input5 = {
+  0x1.a58d5p+9,
+  0x1.438348p+8,
+  0x1.a70332p+9,
+  0x1.03e326p+9,
+  0x1.d0eb62p+9,
+  0x1.d73d76p+9,
+  0x1.bdc7f6p+9,
+  0x1.0e2808p+8,
+  0x1.c8c1dap+9,
+  0x1.55c5f6p+9,
+  0x1.f0c75cp+6,
+  0x1.12b71cp+7,
+  0x1.cf863ep+8,
+  0x1.6cbf66p+9,
+  0x1.5b0cb8p+7,
+  0x1.55a5c2p+9,
+  0x1.2fbedp+7,
+  0x1.7b3208p+8,
+  0x1.85ceb4p+8,
+  0x1.65ae0ep+8,
+  0x1.e8014p+9,
+  0x1.c68b08p+9,
+  0x1.de043cp+9,
+  0x1.85858cp+9,
+  0x1.d82842p+8,
+  0x1.beae4cp+9,
+  0x1.2ec9dep+9,
+  0x1.1fe07p+9,
+  0x1.e57a3cp+6,
+  0x1.21d12ep+8,
+  0x1.d3b106p+9,
+  0x1.172896p+7,
+  0x1.7fd932p+7,
+  0x1.ccb13cp+9,
+  0x1.d85418p+9,
+  0x1.dc8cd2p+8,
+  0x1.db05bcp+9,
+  0x1.f79c9p+8,
+  0x1.ab3906p+7,
+  0x1.27603cp+9,
+  0x1.b59372p+9,
+  0x1.190414p+7,
+  0x1.7bd034p+9,
+  0x1.62fb2cp+9,
+  0x1.ad3ed6p+8,
+  0x1.8f0ddcp+9,
+  0x1.2c8cc8p+9,
+  0x1.f10002p+8,
+  0x1.ceeb9cp+9,
+  0x1.56cea8p+8,
+  0x1.4cb9f2p+8,
+  0x1.e24fa2p+6,
+  0x1.6e11p+9,
+  0x1.9164dp+8,
+  0x1.08d868p+9,
+  0x1.35dedp+8,
+  0x1.2bfbcp+9,
+  0x1.3290f6p+9,
+  0x1.878d1ap+8,
+  0x1.405b0ep+9,
+  0x1.b9a5b4p+9,
+  0x1.bd96eap+8,
+  0x1.61b97ap+9,
+  0x1.143eb8p+9,
+  0x1.06a794p+9,
+  0x1.9287bcp+6,
+  0x1.52b45p+9,
+  0x1.e5a1fp+7,
+  0x1.de9484p+7,
+  0x1.beb85ap+9,
+  0x1.0fef88p+7,
+  0x1.9dfa7ep+9,
+  0x1.66afa2p+8,
+  0x1.8a2f5ep+7,
+  0x1.9011f2p+9,
+  0x1.6a0aap+9,
+  0x1.03553cp+9,
+  0x1.01086cp+8,
+  0x1.d98c62p+7,
+  0x1.04bc3ep+8,
+  0x1.a790e8p+7,
+  0x1.643b7ep+9,
+  0x1.ee6e7ap+8,
+  0x1.a39d52p+8,
+  0x1.816d88p+7,
+  0x1.d7e4dcp+8,
+  0x1.a86616p+9,
+  0x1.227074p+7,
+  0x1.3f0f04p+8,
+  0x1.3b6378p+7,
+  0x1.47fcb6p+7,
+  0x1.a15942p+9,
+  0x1.1275c4p+9,
+  0x1.964c26p+8,
+  0x1.c86162p+9,
+  0x1.61ae1cp+8,
+  0x1.bd6c34p+9,
+  0x1.e9c03ep+7,
+  0x1.0bf7bep+7,
+  0x1.e6d2e4p+9,
+  0x1.d1490cp+8,
+  0x1.c10be6p+9,
+  0x1.7d42c4p+9,
+  0x1.43ae2cp+8,
+  0x1.82ccfp+9,
+  0x1.ca5528p+9,
+  0x1.1a3198p+9,
+  0x1.98dd9cp+9,
+  0x1.35e072p+9,
+  0x1.23edaep+9,
+  0x1.be91b4p+7,
+  0x1.3c2016p+9,
+  0x1.44b1dp+8,
+  0x1.7a648ap+9,
+  0x1.447abap+7,
+  0x1.547fb8p+9,
+  0x1.76ab38p+9,
+  0x1.f8c2c6p+8,
+  0x1.68a83cp+9,
+  0x1.56f30ep+9,
+  0x1.9b79bp+9,
+  0x1.488772p+8,
+  0x1.14c354p+9,
+  0x1.baafb6p+9,
+  0x1.a05d9ep+7,
+  0x1.2ddc9cp+9,
+  0x1.5a5376p+9,
+  0x1.4b52cp+8,
+  0x1.168e1ep+7,
+  0x1.e2dec8p+9,
+  0x1.41e5c8p+9,
+  0x1.0b51dap+9,
+  0x1.ca1244p+9,
+  0x1.69b2dp+9,
+  0x1.db8942p+9,
+  0x1.84cdd8p+9,
+  0x1.2399ap+9,
+  0x1.8a3554p+8,
+  0x1.df01aap+8,
+  0x1.e03b4ep+7,
+  0x1.f1591ep+6,
+  0x1.257d02p+7,
+  0x1.c8cae6p+7,
+  0x1.17647ep+9,
+  0x1.f0fdeep+9,
+  0x1.d02362p+6,
+  0x1.b8d7fep+9,
+  0x1.a649cp+8,
+  0x1.1cc578p+8,
+  0x1.34508cp+7,
+  0x1.d330ap+9,
+  0x1.a2a332p+9,
+  0x1.5cfaa4p+9,
+  0x1.a0b3dep+9,
+  0x1.5f06e8p+9,
+  0x1.5b039ap+9,
+  0x1.9fcd3ep+9,
+  0x1.44a582p+9,
+  0x1.74be88p+7,
+  0x1.619a8cp+8,
+  0x1.cedca6p+9,
+  0x1.f6bfe2p+8,
+  0x1.b0b69ep+9,
+  0x1.b6fc96p+9,
+  0x1.393de8p+9,
+  0x1.4a59b2p+9,
+  0x1.205de8p+9,
+  0x1.0b7fb4p+9,
+  0x1.9362ep+8,
+  0x1.99e7f2p+7,
+  0x1.2fb1a4p+8,
+  0x1.2222d4p+9,
+  0x1.b7009ap+9,
+  0x1.23dd5cp+8,
+  0x1.8bf2fap+9,
+  0x1.a2418p+9,
+  0x1.28ab3p+9,
+  0x1.20ef26p+8,
+  0x1.d6e53p+8,
+  0x1.43808ap+9,
+  0x1.99fdd4p+9,
+  0x1.c28ep+7,
+  0x1.b1c144p+8,
+  0x1.2b1fa4p+7,
+  0x1.1003cp+7,
+  0x1.bcf53p+9,
+  0x1.e9339ap+9,
+  0x1.7820cp+9,
+  0x1.bb7e5ap+9,
+  0x1.350d5ap+7,
+  0x1.745a32p+9,
+  0x1.4358ap+9,
+  0x1.dce282p+6,
+  0x1.91dbaep+9,
+  0x1.d90cf4p+8,
+  0x1.11a80ap+8,
+  0x1.986538p+8,
+  0x1.06ea9ep+8,
+  0x1.a0d218p+9,
+  0x1.d03902p+9,
+  0x1.a1fa7p+9,
+  0x1.300118p+9,
+  0x1.e99d7ap+9,
+  0x1.644b1cp+9,
+  0x1.e41afep+8,
+  0x1.334a38p+7,
+  0x1.6d70dap+8,
+  0x1.d2d868p+9,
+  0x1.c08c7ep+9,
+  0x1.5539b4p+9,
+  0x1.e39a9ep+8,
+  0x1.37b61cp+9,
+  0x1.a4d3aap+9,
+  0x1.7555d6p+9,
+  0x1.431de8p+7,
+  0x1.d5fc94p+9,
+  0x1.28092cp+9,
+  0x1.93a8fp+9,
+  0x1.9f55a8p+9,
+  0x1.4643d2p+8,
+  0x1.260698p+9,
+  0x1.0616cap+9,
+  0x1.3c171ep+9,
+  0x1.a8c48p+9,
+  0x1.c9a5bcp+9,
+  0x1.a1bd8ep+8,
+  0x1.0db7b2p+9,
+  0x1.dc4d06p+6,
+  0x1.56f8f8p+8,
+  0x1.1e031p+9,
+  0x1.ae95f6p+9,
+  0x1.4eeb3p+8,
+  0x1.c6b798p+9,
+  0x1.97aadep+8,
+  0x1.4e35d8p+8,
+  0x1.abc94ep+9,
+  0x1.f81574p+8,
+  0x1.51843ep+7,
+  0x1.437464p+8,
+  0x1.7ef9ccp+9,
+  0x1.910f5ap+9,
+  0x1.416f9p+8,
+  0x1.c9b2bp+9,
+  0x1.547214p+9,
+  0x1.a04846p+8,
+  0x1.325306p+9,
+  0x1.8d3a34p+7,
+  0x1.7b5d48p+9,
+  0x1.c7f67ep+9,
+  0x1.ea508cp+7,
+  0x1.87df1p+8,
+  0x1.d28b56p+9,
+  0x1.7cb404p+9,
+  0x1.2a2c44p+8,
+  0x1.f0c13p+8,
+  0x1.8d211cp+9,
+  0x1.b76e66p+8,
+  0x1.385fa2p+9,
+  0x1.c3fe6ap+9,
+  0x1.4c26a4p+8,
+  0x1.f4fbd4p+6,
+  0x1.c8f658p+9,
+  0x1.bef93cp+9,
+  0x1.e2434ep+9,
+  0x1.05d374p+9,
+  0x1.c252c2p+6,
+  0x1.6e4b62p+8,
+  0x1.3f8a4p+7,
+  0x1.93da56p+8,
+  0x1.19831cp+9,
+  0x1.138e7cp+9,
+  0x1.237afp+8,
+  0x1.cf3dbap+9,
+  0x1.7e8c48p+7,
+  0x1.481ccep+9,
+  0x1.9cc84ap+9,
+  0x1.0d9dcp+9,
+  0x1.654dep+9,
+  0x1.168e28p+9,
+  0x1.c4e90ep+7,
+  0x1.2d7d38p+9,
+  0x1.3c52aap+9,
+  0x1.745912p+7,
+  0x1.5ef9bcp+8,
+  0x1.d22404p+9,
+  0x1.83a49p+8,
+  0x1.18c9cep+7,
+  0x1.176b2p+9,
+  0x1.7d5684p+9,
+  0x1.1fc3f4p+9,
+  0x1.058e7p+7,
+  0x1.86aa68p+7,
+  0x1.1a4d58p+9,
+  0x1.5de8bap+8,
+  0x1.8b975p+9,
+  0x1.8cea7p+7,
+  0x1.debe9cp+7,
+  0x1.0ed648p+8,
+  0x1.f60024p+8,
+  0x1.3157a4p+9,
+  0x1.e1be62p+9,
+  0x1.b9ed12p+9,
+  0x1.bf1442p+8,
+  0x1.1d1f7cp+9,
+  0x1.7a16cep+7,
+  0x1.046208p+9,
+  0x1.4acb8cp+7,
+  0x1.03db5ap+8,
+  0x1.e51724p+9,
+  0x1.71b228p+8,
+  0x1.67219p+8,
+  0x1.640e06p+9,
+  0x1.f1ccaep+7,
+  0x1.3efddp+7,
+  0x1.4b8e38p+9,
+  0x1.33782p+9,
+  0x1.b3e11cp+9,
+  0x1.284d4ep+9,
+  0x1.58c496p+8,
+  0x1.e074e4p+9,
+  0x1.b9f05cp+9,
+  0x1.622fa2p+9,
+  0x1.88ff0cp+9,
+  0x1.5461p+8,
+  0x1.091de8p+9,
+  0x1.9727fcp+9,
+  0x1.1807cep+9,
+  0x1.10e93p+8,
+  0x1.90232ap+8,
+  0x1.5813bap+9,
+  0x1.0edc58p+9,
+  0x1.99e58ep+9,
+  0x1.086858p+8,
+  0x1.d01232p+9,
+  0x1.e9c72cp+8,
+  0x1.8bc82cp+8,
+  0x1.e43a8cp+8,
+  0x1.f1e7ap+9,
+  0x1.d49c7ep+9,
+  0x1.3f9788p+9,
+  0x1.728016p+9,
+  0x1.56e6fcp+9,
+  0x1.ee6ffep+9,
+  0x1.053452p+8,
+  0x1.46273p+8,
+  0x1.50e7fap+7,
+  0x1.287256p+8,
+  0x1.5a9836p+9,
+  0x1.b0ed0ep+9,
+  0x1.320a22p+9,
+  0x1.de35ccp+6,
+  0x1.3a8ad8p+8,
+  0x1.947d04p+9,
+  0x1.ceb7ccp+8,
+  0x1.d810dep+8,
+  0x1.2ab464p+8,
+  0x1.08b8d8p+9,
+  0x1.8b8a4ap+9,
+  0x1.6051f8p+9,
+  0x1.df991ep+9,
+  0x1.b467f8p+7,
+  0x1.3be4b6p+8,
+  0x1.587794p+9,
+  0x1.9be00ap+7,
+  0x1.54bb18p+9,
+  0x1.95ad08p+9,
+  0x1.e48a12p+7,
+  0x1.87716ep+9,
+  0x1.9aa8dap+9,
+  0x1.33e4acp+8,
+  0x1.9a013cp+7,
+  0x1.fa74bp+7,
+  0x1.16a6ap+9,
+  0x1.832c46p+9,
+  0x1.13cca4p+9,
+  0x1.189dfep+9,
+  0x1.a837fp+7,
+  0x1.e61fecp+9,
+  0x1.daf868p+6,
+  0x1.08f726p+9,
+  0x1.7e404cp+9,
+  0x1.865fb4p+7,
+  0x1.4e6adp+9,
+  0x1.af287ap+8,
+  0x1.f4904ep+8,
+  0x1.9a0786p+8,
+  0x1.df8514p+7,
+  0x1.b91148p+8,
+  0x1.170dp+7,
+  0x1.11e8dp+7,
+  0x1.df9d2p+9,
+  0x1.17217ep+8,
+  0x1.7d9408p+9,
+  0x1.7ba4b8p+9,
+  0x1.8f652ep+9,
+  0x1.aa5444p+7,
+  0x1.6da108p+7,
+  0x1.6ec024p+7,
+  0x1.f4733ep+8,
+  0x1.af3bcp+9,
+  0x1.c0b2b8p+8,
+  0x1.c3ef32p+9,
+  0x1.5e4c42p+9,
+  0x1.8c2518p+7,
+  0x1.c63a78p+7,
+  0x1.ba0b02p+7,
+  0x1.4df914p+9,
+  0x1.01f2dp+9,
+  0x1.76ac44p+9,
+  0x1.76845p+7,
+  0x1.f0b86p+8,
+  0x1.def1b2p+9,
+  0x1.54f5e8p+8,
+  0x1.2aea6cp+8,
+  0x1.5e8f2cp+9,
+  0x1.e06afcp+7,
+  0x1.dd7188p+9,
+  0x1.a87494p+8,
+  0x1.9a6a04p+8,
+  0x1.3bb6cp+9,
+  0x1.b5df6ap+9,
+  0x1.eac37cp+9,
+  0x1.3e471cp+7,
+  0x1.457958p+9,
+  0x1.84b278p+9,
+  0x1.505a1p+9,
+  0x1.7043f4p+7,
+  0x1.11cfp+9,
+  0x1.a26364p+8,
+  0x1.eb975ap+9,
+  0x1.e3b906p+6,
+  0x1.2b92b8p+9,
+  0x1.d1079ep+9,
+  0x1.6e795cp+9,
+  0x1.279da8p+8,
+  0x1.3de18ap+9,
+  0x1.5b33ecp+8,
+  0x1.ca3058p+9,
+  0x1.3bb5cep+9,
+  0x1.bc3a3ep+9,
+  0x1.d7c70ap+9,
+  0x1.3562d6p+9,
+  0x1.09d65cp+8,
+  0x1.cc57ecp+9,
+  0x1.8dac24p+9,
+  0x1.23c146p+9,
+  0x1.a1138p+8,
+  0x1.456378p+7,
+  0x1.f609b6p+7,
+  0x1.6f0538p+9,
+  0x1.ed2512p+9,
+  0x1.0be67ep+7,
+  0x1.1ceb8ap+9,
+  0x1.caa9a6p+9,
+  0x1.9d7336p+7,
+  0x1.35a1c8p+9,
+  0x1.e6b7ap+8,
+  0x1.6595e2p+9,
+  0x1.0ab05p+9,
+  0x1.adb8ccp+7,
+  0x1.aea1fcp+9,
+  0x1.2ac79cp+9,
+  0x1.bcc348p+9,
+  0x1.6a0e52p+8,
+  0x1.70eec2p+9,
+  0x1.7a41c4p+7,
+  0x1.598196p+9,
+  0x1.9cb7ccp+9,
+  0x1.675a3ep+9,
+  0x1.4a69eap+9,
+  0x1.bd07aep+6,
+  0x1.0c9bp+8,
+  0x1.1cf0d2p+7,
+  0x1.3b711cp+9,
+  0x1.25a83p+9,
+  0x1.97acep+9,
+  0x1.15eadp+9,
+  0x1.55f7b4p+9,
+  0x1.9b3d86p+9,
+  0x1.257628p+9,
+  0x1.5f96b8p+8,
+  0x1.991ad4p+9,
+  0x1.f48576p+8,
+  0x1.6ea988p+8,
+  0x1.6af9bap+8,
+  0x1.7ceecp+9,
+  0x1.f31982p+9,
+  0x1.7c52cap+8,
+  0x1.a9fc42p+8,
+  0x1.2f641p+9,
+  0x1.b4fde2p+6,
+  0x1.8d06fap+9,
+  0x1.0708a8p+8,
+  0x1.9760fap+8,
+  0x1.1cc328p+7,
+  0x1.e819b4p+9,
+  0x1.9c5e7ap+7,
+  0x1.266414p+9,
+  0x1.bd7a1cp+8,
+  0x1.3dc13ap+8,
+  0x1.26a3cap+9,
+  0x1.53052ep+9,
+  0x1.3ab898p+8,
+  0x1.ce9b96p+9,
+  0x1.90ec7p+9,
+  0x1.4b0576p+7,
+  0x1.f752acp+7,
+  0x1.b6cdecp+9,
+  0x1.83968p+9,
+  0x1.15a5e8p+9,
+  0x1.e9c90ap+7,
+  0x1.9b097ep+9,
+};
+static const std::vector<float> sincosf_input6 = {
+  0x1.e44094p+100,
+  0x1.36e29p+106,
+  0x1.b2e762p+105,
+  0x1.b0674ap+102,
+  0x1.e54982p+103,
+  0x1.2c1c92p+106,
+  0x1.167bfap+105,
+  0x1.25bea6p+106,
+  0x1.1681a6p+106,
+  0x1.51c39cp+105,
+  0x1.026514p+106,
+  0x1.cc029ep+105,
+  0x1.3372c8p+105,
+  0x1.cb9c58p+104,
+  0x1.219dccp+104,
+  0x1.2b67bap+106,
+  0x1.632382p+102,
+  0x1.72928cp+104,
+  0x1.28e0dep+106,
+  0x1.637182p+105,
+  0x1.4e0cdcp+105,
+  0x1.65938ap+103,
+  0x1.cba67ep+105,
+  0x1.b99b64p+104,
+  0x1.6f0626p+104,
+  0x1.0917dep+106,
+  0x1.4c4408p+104,
+  0x1.9ddc02p+104,
+  0x1.379e7ap+106,
+  0x1.fece04p+104,
+  0x1.05c4p+105,
+  0x1.d331b8p+105,
+  0x1.ec2b84p+103,
+  0x1.bb2a04p+103,
+  0x1.09a25ep+105,
+  0x1.727284p+105,
+  0x1.ab8524p+104,
+  0x1.3ef73ep+103,
+  0x1.36bfc4p+106,
+  0x1.f98c64p+104,
+  0x1.ca43e8p+105,
+  0x1.1962c4p+105,
+  0x1.9e160ep+103,
+  0x1.ce05a2p+105,
+  0x1.5daaacp+105,
+  0x1.9721c2p+103,
+  0x1.2ed026p+106,
+  0x1.58bc64p+105,
+  0x1.22707p+105,
+  0x1.27d7bap+106,
+  0x1.3b13dap+105,
+  0x1.26c74ap+104,
+  0x1.525ff8p+103,
+  0x1.320bap+106,
+  0x1.30ffc6p+105,
+  0x1.d96674p+103,
+  0x1.156f56p+105,
+  0x1.341346p+102,
+  0x1.664daep+105,
+  0x1.83d14ep+105,
+  0x1.b64312p+104,
+  0x1.f150a6p+105,
+  0x1.932fp+105,
+  0x1.7a93aap+104,
+  0x1.2d30a4p+106,
+  0x1.11b068p+106,
+  0x1.1906fp+106,
+  0x1.e1c876p+105,
+  0x1.24d782p+104,
+  0x1.d03706p+102,
+  0x1.28a0bcp+105,
+  0x1.50f4bap+102,
+  0x1.ef3a8ep+104,
+  0x1.ff694ep+105,
+  0x1.16f6dp+105,
+  0x1.9bffep+104,
+  0x1.afb792p+105,
+  0x1.acb788p+105,
+  0x1.022e76p+106,
+  0x1.3cfa2ep+105,
+  0x1.ba48p+101,
+  0x1.8b2e0cp+104,
+  0x1.5f220ep+104,
+  0x1.0bd75ap+105,
+  0x1.feef2ap+105,
+  0x1.2557f4p+106,
+  0x1.eaa76cp+101,
+  0x1.58d384p+105,
+  0x1.d9274p+105,
+  0x1.d29002p+105,
+  0x1.c16p+105,
+  0x1.d2b92ep+105,
+  0x1.5de6f2p+105,
+  0x1.4301eep+104,
+  0x1.519696p+105,
+  0x1.7de692p+105,
+  0x1.c4969cp+102,
+  0x1.850e38p+105,
+  0x1.410278p+104,
+  0x1.e4bcacp+104,
+  0x1.720d2p+105,
+  0x1.281d2p+106,
+  0x1.203418p+105,
+  0x1.c143a4p+105,
+  0x1.137ac2p+106,
+  0x1.23164p+105,
+  0x1.d28ab4p+105,
+  0x1.6c19f2p+105,
+  0x1.dcea32p+101,
+  0x1.c1474ep+105,
+  0x1.3490bap+104,
+  0x1.43bd62p+105,
+  0x1.d44c0cp+103,
+  0x1.9ba2e6p+104,
+  0x1.d59aecp+102,
+  0x1.e2f2ecp+103,
+  0x1.636b9ep+103,
+  0x1.117c6p+106,
+  0x1.d597ccp+101,
+  0x1.37c64p+106,
+  0x1.6d4b2cp+105,
+  0x1.c8b9bap+105,
+  0x1.33d526p+106,
+  0x1.daa2d6p+103,
+  0x1.3f44eep+104,
+  0x1.1638aep+105,
+  0x1.049f98p+104,
+  0x1.024a7ap+106,
+  0x1.968f4ap+104,
+  0x1.35ddp+106,
+  0x1.c6466cp+102,
+  0x1.3040dap+106,
+  0x1.12a0f2p+105,
+  0x1.27dafp+104,
+  0x1.97a38p+103,
+  0x1.b7d40ap+104,
+  0x1.2f4a7cp+105,
+  0x1.a06d54p+102,
+  0x1.35d068p+104,
+  0x1.8f6a3p+105,
+  0x1.2c402p+106,
+  0x1.1e9296p+106,
+  0x1.476236p+104,
+  0x1.07efep+106,
+  0x1.3baf24p+102,
+  0x1.16e86ap+106,
+  0x1.2e2d92p+105,
+  0x1.1e5ce4p+105,
+  0x1.39c434p+104,
+  0x1.6a969ep+104,
+  0x1.a58e42p+103,
+  0x1.287decp+105,
+  0x1.8b4de2p+104,
+  0x1.e88492p+104,
+  0x1.4ea74p+103,
+  0x1.819808p+105,
+  0x1.3dd952p+105,
+  0x1.2ef72cp+106,
+  0x1.468e02p+105,
+  0x1.3d9472p+105,
+  0x1.52e8d4p+103,
+  0x1.f1936ap+103,
+  0x1.72da8ep+105,
+  0x1.9201a6p+105,
+  0x1.27d542p+106,
+  0x1.25a0d2p+106,
+  0x1.b8e7aap+105,
+  0x1.1095b2p+105,
+  0x1.37ed0cp+106,
+  0x1.b4ba18p+105,
+  0x1.0540cp+105,
+  0x1.2d27eep+106,
+  0x1.ab11eep+105,
+  0x1.ecff5cp+105,
+  0x1.33b81ap+102,
+  0x1.a1407ap+105,
+  0x1.1d595ep+106,
+  0x1.0170d2p+105,
+  0x1.cad076p+105,
+  0x1.2df588p+98,
+  0x1.2e6fb8p+106,
+  0x1.5d4988p+104,
+  0x1.989c9ep+103,
+  0x1.efc2b2p+104,
+  0x1.907232p+105,
+  0x1.2acedp+106,
+  0x1.6a980cp+100,
+  0x1.b5be2p+105,
+  0x1.7df524p+105,
+  0x1.64d5c8p+105,
+  0x1.b47b72p+105,
+  0x1.0c173ep+106,
+  0x1.23b1c6p+105,
+  0x1.ee66a8p+104,
+  0x1.de04acp+103,
+  0x1.409b3cp+105,
+  0x1.48ddcap+105,
+  0x1.346d2p+104,
+  0x1.d1f64cp+105,
+  0x1.7344ap+105,
+  0x1.ed81dep+104,
+  0x1.f1130ap+104,
+  0x1.d9ba56p+105,
+  0x1.77bcd4p+105,
+  0x1.712286p+105,
+  0x1.3a5ab8p+104,
+  0x1.38e2f2p+106,
+  0x1.f38da2p+105,
+  0x1.a8e58ep+104,
+  0x1.179e9ap+103,
+  0x1.1766e2p+106,
+  0x1.13e6dep+103,
+  0x1.dc5c32p+105,
+  0x1.838808p+105,
+  0x1.68309ap+105,
+  0x1.244118p+106,
+  0x1.638aecp+105,
+  0x1.1bc956p+105,
+  0x1.5c377cp+104,
+  0x1.694c12p+105,
+  0x1.cfc0ccp+105,
+  0x1.f3519ap+105,
+  0x1.904b44p+104,
+  0x1.0bcf8p+105,
+  0x1.34a3f8p+106,
+  0x1.35a37p+104,
+  0x1.14c3e8p+106,
+  0x1.232b32p+106,
+  0x1.7c919ep+102,
+  0x1.8574dp+105,
+  0x1.88227ap+105,
+  0x1.2d80d8p+106,
+  0x1.08c13ap+105,
+  0x1.169998p+104,
+  0x1.da388ep+105,
+  0x1.687abcp+103,
+  0x1.bad1e4p+104,
+  0x1.6b6cbep+105,
+  0x1.0eac8p+106,
+  0x1.08fa92p+105,
+  0x1.a3eb14p+104,
+  0x1.ab1c7cp+105,
+  0x1.208244p+106,
+  0x1.28bf0ap+106,
+  0x1.b1825ep+105,
+  0x1.cb61ecp+105,
+  0x1.23bb2cp+105,
+  0x1.390a8cp+106,
+  0x1.77d34ap+105,
+  0x1.283caep+106,
+  0x1.2b735p+105,
+  0x1.0db8ccp+106,
+  0x1.e5f18ep+104,
+  0x1.18fbdcp+105,
+  0x1.a13adep+105,
+  0x1.fa6be6p+105,
+  0x1.df4596p+101,
+  0x1.18bdep+105,
+  0x1.08fc4ap+105,
+  0x1.0fcb06p+105,
+  0x1.04e53ap+106,
+  0x1.b9452ap+104,
+  0x1.183e32p+106,
+  0x1.ca9258p+104,
+  0x1.4bae9ap+103,
+  0x1.fb1314p+104,
+  0x1.9fe296p+105,
+  0x1.131252p+106,
+  0x1.b110acp+105,
+  0x1.173b9ap+105,
+  0x1.dcc2p+105,
+  0x1.06f73p+105,
+  0x1.e3dfbcp+104,
+  0x1.d350cap+104,
+  0x1.04bbfp+106,
+  0x1.09012ep+105,
+  0x1.419e9ep+105,
+  0x1.8dacc6p+105,
+  0x1.25592cp+105,
+  0x1.d5a028p+103,
+  0x1.cf753ep+103,
+  0x1.e8167p+105,
+  0x1.8ef30ap+105,
+  0x1.1f49bap+104,
+  0x1.5b6ca6p+103,
+  0x1.78b72ep+104,
+  0x1.c6b838p+105,
+  0x1.2fb342p+106,
+  0x1.08dfaap+103,
+  0x1.23c0e6p+106,
+  0x1.a2dc96p+105,
+  0x1.6a428ap+103,
+  0x1.25911ap+105,
+  0x1.a1148cp+105,
+  0x1.296faap+101,
+  0x1.374b22p+104,
+  0x1.c8795p+103,
+  0x1.55b9c8p+100,
+  0x1.a9e658p+105,
+  0x1.77a89ep+104,
+  0x1.c61a1ep+105,
+  0x1.b60f42p+105,
+  0x1.0dac4p+106,
+  0x1.a1fc54p+103,
+  0x1.ba77a4p+105,
+  0x1.47c172p+103,
+  0x1.e97d82p+105,
+  0x1.548f34p+105,
+  0x1.515ecap+105,
+  0x1.346956p+105,
+  0x1.3aaafap+105,
+  0x1.08f86p+105,
+  0x1.5ea00cp+105,
+  0x1.202cfp+103,
+  0x1.296e08p+105,
+  0x1.62eb88p+103,
+  0x1.45e7c8p+105,
+  0x1.70f9bap+101,
+  0x1.f19c74p+103,
+  0x1.f9378p+97,
+  0x1.d787cep+104,
+  0x1.0ea13cp+105,
+  0x1.105d84p+106,
+  0x1.31aa4p+105,
+  0x1.41344p+105,
+  0x1.44d736p+103,
+  0x1.ec3ccep+105,
+  0x1.22fd5p+106,
+  0x1.d3f69ep+105,
+  0x1.1397c6p+106,
+  0x1.1b8bp+106,
+  0x1.1e9814p+105,
+  0x1.5d79cap+104,
+  0x1.194776p+103,
+  0x1.a480f2p+105,
+  0x1.69dfb6p+104,
+  0x1.150dcp+105,
+  0x1.48acfep+103,
+  0x1.751852p+104,
+  0x1.f595dep+104,
+  0x1.eac8f2p+104,
+  0x1.e873aap+102,
+  0x1.948426p+104,
+  0x1.33346cp+104,
+  0x1.36b74p+104,
+  0x1.33e9dp+106,
+  0x1.4b602cp+105,
+  0x1.b6297cp+102,
+  0x1.4217e4p+103,
+  0x1.a8ff48p+105,
+  0x1.0eb3bap+106,
+  0x1.8cd95p+104,
+  0x1.060b48p+106,
+  0x1.5aa7c4p+103,
+  0x1.e5517ep+105,
+  0x1.63db1ep+105,
+  0x1.1d1d08p+106,
+  0x1.9022e2p+105,
+  0x1.0ddc18p+105,
+  0x1.b4208cp+104,
+  0x1.f0c21ap+100,
+  0x1.07548cp+106,
+  0x1.602328p+105,
+  0x1.a2d1c6p+102,
+  0x1.ab8df2p+104,
+  0x1.374eep+106,
+  0x1.fd98b2p+104,
+  0x1.b08f78p+104,
+  0x1.b2384ap+103,
+  0x1.1b9308p+106,
+  0x1.5837fep+105,
+  0x1.8abba2p+103,
+  0x1.0b54fap+106,
+  0x1.2e41bp+106,
+  0x1.470d88p+104,
+  0x1.c6d472p+105,
+  0x1.e98c34p+105,
+  0x1.4691c8p+103,
+  0x1.fb9258p+105,
+  0x1.3adc78p+105,
+  0x1.1aa5b4p+104,
+  0x1.32d54ap+103,
+  0x1.b4052ep+103,
+  0x1.bab582p+104,
+  0x1.c50892p+104,
+  0x1.1383aep+106,
+  0x1.460f9ep+104,
+  0x1.2db9dcp+106,
+  0x1.890a5ep+103,
+  0x1.374a56p+106,
+  0x1.35a3fep+106,
+  0x1.d6e912p+104,
+  0x1.a10c38p+104,
+  0x1.267e56p+106,
+  0x1.df0826p+105,
+  0x1.b06af8p+105,
+  0x1.517d2ap+104,
+  0x1.c94678p+105,
+  0x1.dd534p+102,
+  0x1.d9b082p+103,
+  0x1.a658d8p+103,
+  0x1.9a1044p+105,
+  0x1.8ceedap+104,
+  0x1.0d811ep+106,
+  0x1.d458p+104,
+  0x1.8ed3c2p+104,
+  0x1.deb20ap+104,
+  0x1.bbd5bap+101,
+  0x1.3a96cp+106,
+  0x1.23d73ep+104,
+  0x1.6b1f0ap+105,
+  0x1.2355c4p+103,
+  0x1.66ed88p+104,
+  0x1.07c8acp+106,
+  0x1.8a57bap+103,
+  0x1.b69f3ap+104,
+  0x1.d90426p+105,
+  0x1.ca83b2p+105,
+  0x1.7e159ap+104,
+  0x1.1bc50cp+106,
+  0x1.7c780cp+103,
+  0x1.6a43fcp+105,
+  0x1.8183e8p+105,
+  0x1.b05838p+104,
+  0x1.a9ab56p+104,
+  0x1.fb30fep+103,
+  0x1.4c0594p+101,
+  0x1.871912p+103,
+  0x1.175b1cp+105,
+  0x1.8a5146p+105,
+  0x1.29f71cp+106,
+  0x1.b3bd0ap+105,
+  0x1.16df22p+106,
+  0x1.c1e5dap+105,
+  0x1.c17e7ap+105,
+  0x1.83d568p+104,
+  0x1.0523ep+105,
+  0x1.e6ae42p+104,
+  0x1.b417fap+105,
+  0x1.e9be28p+105,
+  0x1.dc8cdp+104,
+  0x1.8dc59ep+105,
+  0x1.fc29a8p+103,
+  0x1.ac20f4p+104,
+  0x1.18241ap+105,
+  0x1.f5e8cp+104,
+  0x1.de7f5cp+105,
+  0x1.4912p+103,
+  0x1.d93e88p+103,
+  0x1.17f482p+106,
+  0x1.2ebe88p+105,
+  0x1.0bebacp+103,
+  0x1.c048cp+105,
+  0x1.20e728p+106,
+  0x1.f4e3b2p+105,
+  0x1.2000b4p+104,
+  0x1.d6e18ep+103,
+  0x1.e12f5p+105,
+  0x1.7b88d6p+105,
+  0x1.73aa0cp+102,
+  0x1.3be4d2p+105,
+  0x1.63e1fap+105,
+  0x1.1d1652p+104,
+  0x1.3befap+102,
+  0x1.c4fee6p+104,
+  0x1.bf3abap+102,
+  0x1.d12a76p+105,
+  0x1.3e262p+103,
+  0x1.9eddfap+104,
+  0x1.389c76p+104,
+  0x1.229d4p+106,
+  0x1.01e9ecp+105,
+  0x1.77f092p+104,
+  0x1.a45126p+103,
+  0x1.9eacdep+105,
+  0x1.10e51cp+105,
+  0x1.dd815p+103,
+  0x1.7e13bp+105,
+  0x1.455734p+105,
+  0x1.1dd5eap+103,
+  0x1.57394cp+105,
+  0x1.278256p+106,
+  0x1.b519fp+105,
+  0x1.144998p+106,
+  0x1.221f1cp+106,
+  0x1.352638p+106,
+  0x1.ef39f6p+105,
+  0x1.a8af4p+105,
+  0x1.2708a8p+104,
+  0x1.200884p+106,
+  0x1.c45f8ap+105,
+  0x1.1d07ep+106,
+  0x1.16422p+102,
+  0x1.07234ap+106,
+  0x1.343d5cp+105,
+  0x1.08154ap+106,
+  0x1.166866p+105,
+  0x1.d4b9a2p+99,
+  0x1.2661fap+106,
+  0x1.29ba9cp+106,
+  0x1.01938ep+105,
+  0x1.18302cp+105,
+  0x1.31b5d8p+104,
+  0x1.89775cp+97,
+  0x1.accdfep+103,
+  0x1.ebc352p+102,
+  0x1.21b17p+106,
+  0x1.8559c6p+105,
+  0x1.0837a6p+106,
+  0x1.0c5fbap+106,
+  0x1.15541ap+106,
+  0x1.17e162p+106,
+};
+static const std::vector<float> sincosf_input7 = {
+  0x1.66823p+127,
+  0x1.cdee8ep+125,
+  0x1.3241f6p+127,
+  0x1.0bab12p+125,
+  0x1.47c142p+126,
+  0x1.18237ap+125,
+  0x1.aa230ap+127,
+  0x1.19f854p+126,
+  0x1.9d7a76p+127,
+  0x1.971a86p+124,
+  0x1.00bf28p+123,
+  0x1.a2eedap+126,
+  0x1.760244p+127,
+  0x1.50e15ap+126,
+  0x1.c4d462p+127,
+  0x1.10a28cp+127,
+  0x1.433a4ap+127,
+  0x1.0a4d6ep+127,
+  0x1.fd76a4p+124,
+  0x1.3c8582p+127,
+  0x1.5e556p+126,
+  0x1.ffb8b6p+125,
+  0x1.0f81eap+126,
+  0x1.368c2ep+126,
+  0x1.0f1ac4p+127,
+  0x1.27796p+127,
+  0x1.50373ep+126,
+  0x1.1299c6p+127,
+  0x1.34b33ap+127,
+  0x1.c31d06p+122,
+  0x1.a31c84p+127,
+  0x1.28aedap+126,
+  0x1.fda94ep+126,
+  0x1.12c172p+126,
+  0x1.ca2bcap+127,
+  0x1.f9079cp+126,
+  0x1.dc5c18p+126,
+  0x1.5d8066p+127,
+  0x1.2dbb12p+125,
+  0x1.09ca5ap+127,
+  0x1.db67cep+125,
+  0x1.b5755ap+127,
+  0x1.99f6p+126,
+  0x1.90e684p+127,
+  0x1.510c5cp+127,
+  0x1.726daap+125,
+  0x1.e7de06p+127,
+  0x1.f6c18ep+127,
+  0x1.c1eafp+126,
+  0x1.86ef0cp+126,
+  0x1.051402p+127,
+  0x1.ca4d9ep+127,
+  0x1.7e9f9ap+120,
+  0x1.e2e4p+126,
+  0x1.da1834p+126,
+  0x1.99ae12p+125,
+  0x1.171bfap+124,
+  0x1.0a84f6p+122,
+  0x1.b9d428p+127,
+  0x1.e27144p+125,
+  0x1.1f754ap+127,
+  0x1.b23d7ep+127,
+  0x1.c56878p+126,
+  0x1.ca196cp+127,
+  0x1.7e16a4p+127,
+  0x1.ef7446p+127,
+  0x1.ddd388p+125,
+  0x1.7e18cep+126,
+  0x1.edf5bp+127,
+  0x1.917ebap+124,
+  0x1.0920f6p+126,
+  0x1.9c225cp+127,
+  0x1.e88c72p+123,
+  0x1.19da36p+127,
+  0x1.12f618p+127,
+  0x1.79244ap+127,
+  0x1.1c2cbcp+126,
+  0x1.c0e9dep+127,
+  0x1.f217ap+127,
+  0x1.ed5a78p+127,
+  0x1.39e9eap+126,
+  0x1.37169cp+127,
+  0x1.db789cp+127,
+  0x1.36deccp+121,
+  0x1.76a81cp+123,
+  0x1.022b6cp+127,
+  0x1.1462bp+127,
+  0x1.c26bd6p+126,
+  0x1.d63826p+125,
+  0x1.28846p+127,
+  0x1.59ae48p+126,
+  0x1.d1f348p+127,
+  0x1.0e90b2p+127,
+  0x1.26dc72p+126,
+  0x1.d9afbep+126,
+  0x1.f2bba6p+126,
+  0x1.28b52cp+126,
+  0x1.adabbp+123,
+  0x1.28a332p+125,
+  0x1.4309e6p+127,
+  0x1.ed2c1cp+126,
+  0x1.433eccp+127,
+  0x1.ebb6eep+127,
+  0x1.830fbp+126,
+  0x1.a0ac4p+124,
+  0x1.9f7342p+124,
+  0x1.7bef98p+126,
+  0x1.1281cap+127,
+  0x1.a653f6p+122,
+  0x1.329328p+127,
+  0x1.76bb3cp+124,
+  0x1.7292d6p+125,
+  0x1.e36fe8p+127,
+  0x1.089b3ep+127,
+  0x1.450b34p+126,
+  0x1.77b268p+125,
+  0x1.cb018ep+126,
+  0x1.8c8c2ep+124,
+  0x1.a06c4cp+127,
+  0x1.461f2ep+126,
+  0x1.03f9bep+126,
+  0x1.fd18a6p+127,
+  0x1.afa5f4p+127,
+  0x1.1b5642p+126,
+  0x1.c096b4p+123,
+  0x1.e7d78p+127,
+  0x1.6e2fcap+127,
+  0x1.66067ep+126,
+  0x1.d251f8p+127,
+  0x1.439466p+127,
+  0x1.1dc904p+126,
+  0x1.79bbe6p+127,
+  0x1.52a2bap+127,
+  0x1.399754p+125,
+  0x1.b22b3ap+125,
+  0x1.83fea6p+124,
+  0x1.d90378p+125,
+  0x1.9e8dc8p+127,
+  0x1.5e4b2p+127,
+  0x1.72387ep+126,
+  0x1.79b6acp+126,
+  0x1.cefefp+127,
+  0x1.caa272p+122,
+  0x1.40a71ep+125,
+  0x1.bde272p+126,
+  0x1.08ff4cp+127,
+  0x1.0ba12ap+126,
+  0x1.df8588p+124,
+  0x1.76f3dp+125,
+  0x1.f71cf6p+127,
+  0x1.c65e7cp+127,
+  0x1.1b9ef6p+126,
+  0x1.87492ap+127,
+  0x1.222382p+126,
+  0x1.5b8b52p+126,
+  0x1.d17fb8p+125,
+  0x1.d75a96p+124,
+  0x1.c30d16p+127,
+  0x1.e7bdd4p+125,
+  0x1.83d51cp+127,
+  0x1.a2a116p+127,
+  0x1.cd4302p+127,
+  0x1.9a8598p+126,
+  0x1.b970e8p+126,
+  0x1.d7876ap+127,
+  0x1.74717ep+127,
+  0x1.1fcf9ap+126,
+  0x1.af6684p+125,
+  0x1.b1df4ap+127,
+  0x1.8725bcp+127,
+  0x1.ab4962p+126,
+  0x1.2fb354p+127,
+  0x1.c3e7cep+123,
+  0x1.d9e8fcp+125,
+  0x1.a09a8cp+126,
+  0x1.8e18dep+126,
+  0x1.e80d9p+126,
+  0x1.3cadf4p+127,
+  0x1.3bc8ccp+127,
+  0x1.50343p+127,
+  0x1.336d7cp+126,
+  0x1.e2c9aep+127,
+  0x1.5dae1ap+124,
+  0x1.83978ep+125,
+  0x1.2c773ep+127,
+  0x1.749a88p+127,
+  0x1.173132p+127,
+  0x1.be29c8p+127,
+  0x1.8e5086p+127,
+  0x1.f72e64p+126,
+  0x1.3eca7p+126,
+  0x1.f0a142p+126,
+  0x1.5b3f8p+126,
+  0x1.d55e42p+127,
+  0x1.c81a8cp+127,
+  0x1.b79606p+127,
+  0x1.fc6f04p+127,
+  0x1.58063ap+127,
+  0x1.0d1a22p+127,
+  0x1.069758p+126,
+  0x1.62cd96p+126,
+  0x1.281e62p+127,
+  0x1.ce0452p+127,
+  0x1.96091ep+127,
+  0x1.aaf09cp+127,
+  0x1.396d14p+127,
+  0x1.22b532p+127,
+  0x1.96bef6p+126,
+  0x1.133f7ap+127,
+  0x1.56a378p+127,
+  0x1.4cac76p+124,
+  0x1.5a9982p+127,
+  0x1.1fec6cp+126,
+  0x1.617aep+127,
+  0x1.fb6e1ap+125,
+  0x1.fbf4c2p+127,
+  0x1.682c3ap+127,
+  0x1.1b423ep+126,
+  0x1.54b2a8p+127,
+  0x1.220266p+126,
+  0x1.28a24ep+127,
+  0x1.0e7a56p+127,
+  0x1.31abbap+126,
+  0x1.1751b4p+127,
+  0x1.ecfebap+125,
+  0x1.f4bb3p+127,
+  0x1.82e5ap+127,
+  0x1.42668p+127,
+  0x1.68f3fp+126,
+  0x1.bcad04p+127,
+  0x1.8d1a48p+127,
+  0x1.d89f28p+125,
+  0x1.14ed08p+127,
+  0x1.b1e278p+126,
+  0x1.aabd4ep+126,
+  0x1.bb2f9ep+126,
+  0x1.e3a244p+125,
+  0x1.74b5e8p+126,
+  0x1.4bb0ap+126,
+  0x1.d306d8p+126,
+  0x1.f9ccc4p+127,
+  0x1.457a3p+126,
+  0x1.3e3f22p+127,
+  0x1.d2c572p+125,
+  0x1.06614p+127,
+  0x1.d620fep+127,
+  0x1.edeedep+126,
+  0x1.f38ebcp+124,
+  0x1.d4c7d6p+124,
+  0x1.2c215ep+125,
+  0x1.82a0cp+127,
+  0x1.374cc4p+127,
+  0x1.6b78d6p+127,
+  0x1.ec3888p+124,
+  0x1.13ff7cp+125,
+  0x1.fe7da4p+127,
+  0x1.fe2b78p+127,
+  0x1.93caa6p+127,
+  0x1.9bfb5cp+126,
+  0x1.d429cep+127,
+  0x1.bac4eep+126,
+  0x1.65e5c4p+127,
+  0x1.b4c75p+127,
+  0x1.005f34p+127,
+  0x1.62c18p+127,
+  0x1.2bb578p+126,
+  0x1.5819d4p+127,
+  0x1.f14b7ep+125,
+  0x1.c12884p+127,
+  0x1.ea20e4p+127,
+  0x1.b39a3p+125,
+  0x1.d1484cp+125,
+  0x1.4a010ep+127,
+  0x1.f61a9p+125,
+  0x1.eba3f8p+127,
+  0x1.c44ac2p+127,
+  0x1.c85236p+126,
+  0x1.373ef6p+126,
+  0x1.b65944p+127,
+  0x1.dfd602p+122,
+  0x1.d1182ap+123,
+  0x1.2e5376p+127,
+  0x1.8719d6p+127,
+  0x1.bc20eep+124,
+  0x1.d275a6p+126,
+  0x1.1ef032p+126,
+  0x1.c50fb4p+127,
+  0x1.34195cp+126,
+  0x1.a0d1d6p+127,
+  0x1.e5ee3ap+127,
+  0x1.4c6afp+126,
+  0x1.1c5a1cp+126,
+  0x1.e4113p+124,
+  0x1.ab666p+127,
+  0x1.2ca26ap+124,
+  0x1.86565cp+122,
+  0x1.ba16ep+126,
+  0x1.f21cd2p+126,
+  0x1.f53658p+125,
+  0x1.e5e022p+124,
+  0x1.b070dap+125,
+  0x1.7b9098p+127,
+  0x1.b1ad22p+124,
+  0x1.742ee6p+126,
+  0x1.dcf93ep+127,
+  0x1.c1ac14p+127,
+  0x1.f81038p+124,
+  0x1.4d8ffap+125,
+  0x1.a8fdf4p+125,
+  0x1.d4332ap+127,
+  0x1.78dbacp+126,
+  0x1.7cfcfp+125,
+  0x1.464bcep+127,
+  0x1.171a04p+123,
+  0x1.fb2d7ep+127,
+  0x1.2340bep+123,
+  0x1.a53a92p+127,
+  0x1.d0daaap+127,
+  0x1.ba199cp+123,
+  0x1.9c7d52p+126,
+  0x1.a928ep+126,
+  0x1.9fa44ep+127,
+  0x1.8d2d1ap+127,
+  0x1.81fdb6p+126,
+  0x1.54129ep+126,
+  0x1.e976f8p+126,
+  0x1.bc0c0cp+127,
+  0x1.42729cp+126,
+  0x1.a24a0cp+125,
+  0x1.170858p+125,
+  0x1.66fa7ep+125,
+  0x1.2007e2p+121,
+  0x1.83ab7cp+127,
+  0x1.dfe674p+127,
+  0x1.1de1c4p+124,
+  0x1.d19682p+127,
+  0x1.e7e5f4p+126,
+  0x1.638758p+127,
+  0x1.49092p+127,
+  0x1.fb0d18p+125,
+  0x1.cca50ep+127,
+  0x1.abc118p+127,
+  0x1.e4d062p+127,
+  0x1.abc75p+127,
+  0x1.b0b0aep+127,
+  0x1.2c9a02p+125,
+  0x1.0ead8p+126,
+  0x1.9cca28p+126,
+  0x1.55554p+127,
+  0x1.0c3d7ep+126,
+  0x1.ef554p+126,
+  0x1.ae6b4p+127,
+  0x1.c48e9p+126,
+  0x1.c4852p+127,
+  0x1.f3e0ap+126,
+  0x1.995e64p+127,
+  0x1.3d5c84p+126,
+  0x1.e9d07cp+125,
+  0x1.13b1c4p+125,
+  0x1.3102d4p+127,
+  0x1.6b21b6p+127,
+  0x1.73214ep+125,
+  0x1.2a1bdcp+126,
+  0x1.9deacep+126,
+  0x1.8dfd08p+126,
+  0x1.3e2074p+126,
+  0x1.a6a1dap+127,
+  0x1.45f596p+126,
+  0x1.7a8c1p+126,
+  0x1.b44ee4p+123,
+  0x1.36b1a6p+125,
+  0x1.cd9f7ap+125,
+  0x1.55782ep+126,
+  0x1.39db98p+127,
+  0x1.d02d7p+127,
+  0x1.b7d9d6p+127,
+  0x1.51885cp+126,
+  0x1.42465cp+127,
+  0x1.9cdb78p+127,
+  0x1.a112p+127,
+  0x1.3f6248p+124,
+  0x1.d926cep+124,
+  0x1.c7058ep+126,
+  0x1.f70d24p+127,
+  0x1.df4ef2p+127,
+  0x1.f1cafp+123,
+  0x1.52ee0ap+127,
+  0x1.48ed9ap+127,
+  0x1.16408p+127,
+  0x1.af82b2p+127,
+  0x1.c37f68p+127,
+  0x1.1b503ap+124,
+  0x1.abde4p+127,
+  0x1.8f1a12p+127,
+  0x1.306a8ap+127,
+  0x1.edee2p+125,
+  0x1.da924ep+125,
+  0x1.b4f604p+126,
+  0x1.c0e08ep+127,
+  0x1.f4f7d2p+126,
+  0x1.555576p+127,
+  0x1.aea3e8p+125,
+  0x1.ca5122p+126,
+  0x1.60b16p+127,
+  0x1.d8b02p+125,
+  0x1.96786ap+126,
+  0x1.25c324p+127,
+  0x1.aa5fd8p+124,
+  0x1.c0ae5ap+127,
+  0x1.fbc3cp+125,
+  0x1.3f976ep+126,
+  0x1.2995cep+127,
+  0x1.a0f2a8p+127,
+  0x1.7f21bcp+126,
+  0x1.aab454p+127,
+  0x1.45d4bep+124,
+  0x1.d80dd4p+127,
+  0x1.48884ep+126,
+  0x1.90647ap+126,
+  0x1.81aa7cp+125,
+  0x1.29cdcep+126,
+  0x1.bb5cd4p+125,
+  0x1.b0b04ep+126,
+  0x1.1d6ea8p+127,
+  0x1.65a3d4p+127,
+  0x1.ac1d1ep+126,
+  0x1.83abf4p+127,
+  0x1.79669ep+126,
+  0x1.6e405ap+127,
+  0x1.00c8e4p+124,
+  0x1.cb928ep+125,
+  0x1.5a588p+126,
+  0x1.128eecp+126,
+  0x1.c71488p+127,
+  0x1.a9e0bap+127,
+  0x1.895c98p+127,
+  0x1.090fcp+127,
+  0x1.3bf3eep+125,
+  0x1.03fa94p+125,
+  0x1.c0da42p+126,
+  0x1.f2066cp+126,
+  0x1.1d3bdcp+127,
+  0x1.5d19fcp+124,
+  0x1.2abe36p+127,
+  0x1.ffd886p+127,
+  0x1.82fdb2p+125,
+  0x1.9b47ecp+124,
+  0x1.85087p+127,
+  0x1.fe5428p+127,
+  0x1.fe18dcp+127,
+  0x1.bf922ap+126,
+  0x1.bb3ccep+127,
+  0x1.c16f2ep+124,
+  0x1.04d8f8p+127,
+  0x1.29647p+127,
+  0x1.1cedc2p+127,
+  0x1.125f86p+126,
+  0x1.c11efcp+124,
+  0x1.7deff6p+124,
+  0x1.9e7ccp+126,
+  0x1.4f74ap+126,
+  0x1.a7c806p+126,
+  0x1.1ad406p+127,
+  0x1.c149f8p+127,
+  0x1.9d425ap+125,
+  0x1.5ee562p+127,
+  0x1.6c4072p+126,
+  0x1.b2297cp+126,
+  0x1.2c16bap+126,
+  0x1.110888p+126,
+  0x1.e65c8cp+125,
+  0x1.aeb1f4p+126,
+  0x1.3276cap+123,
+  0x1.088156p+123,
+  0x1.ea93fap+127,
+  0x1.305792p+127,
+  0x1.c5f63p+127,
+  0x1.d4c652p+125,
+  0x1.be1e4ap+126,
+  0x1.50ae42p+127,
+  0x1.0b6732p+124,
+  0x1.70f1aap+125,
+  0x1.6d715p+127,
+  0x1.9edc2p+127,
+  0x1.9c5ffcp+124,
+  0x1.b60a9ap+127,
+  0x1.53de68p+127,
+  0x1.8388dp+127,
+  0x1.4391d6p+124,
+  0x1.e9c01ap+127,
+  0x1.a4f264p+127,
+  0x1.e94ab4p+126,
+  0x1.9368c4p+127,
+  0x1.19d3f2p+124,
+  0x1.5dbe48p+126,
+  0x1.85d08ep+127,
+  0x1.9fcd96p+125,
+  0x1.e69374p+126,
+  0x1.6dc07p+127,
+  0x1.8147c6p+124,
+  0x1.4af02p+127,
+  0x1.bac7p+127,
+  0x1.0e6264p+127,
+  0x1.5a8062p+127,
+  0x1.9085dcp+127,
+  0x1.9d2418p+126,
+  0x1.56f498p+127,
+  0x1.18d804p+127,
+  0x1.5ecb68p+126,
+  0x1.852936p+124,
+  0x1.5132a8p+127,
+  0x1.5557f6p+127,
+};
+
+struct sincosf_range {
+  const char *label;
+  std::vector<float> values;
+};
+
+static const std::vector<sincosf_range> sincosf_input = {
+  {"0.0 <= x < 0.1", sincosf_input0},
+  {"0.1 <= x < 0.7", sincosf_input1},
+  {"0.7 <= x < 3.1", sincosf_input2},
+  {"-3.1 <= x < 3.1", sincosf_input3},
+  {"3.3 <= x < 33.3", sincosf_input4},
+  {"100.0 <= x < 1000.0", sincosf_input5},
+  {"1e6 <= x < 1e32", sincosf_input6},
+  {"1e32 <= x < inf", sincosf_input7},
+};
diff --git a/libc/Android.bp b/libc/Android.bp
index c6991d8..212a1b1 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -333,7 +333,6 @@
     srcs: [
         "upstream-netbsd/common/lib/libc/stdlib/random.c",
         "upstream-netbsd/lib/libc/gen/nice.c",
-        "upstream-netbsd/lib/libc/gen/popen.c",
         "upstream-netbsd/lib/libc/gen/psignal.c",
         "upstream-netbsd/lib/libc/gen/utime.c",
         "upstream-netbsd/lib/libc/gen/utmp.c",
@@ -450,7 +449,6 @@
         "upstream-openbsd/lib/libc/stdio/fputwc.c",
         "upstream-openbsd/lib/libc/stdio/fputws.c",
         "upstream-openbsd/lib/libc/stdio/fvwrite.c",
-        "upstream-openbsd/lib/libc/stdio/fwalk.c",
         "upstream-openbsd/lib/libc/stdio/fwide.c",
         "upstream-openbsd/lib/libc/stdio/getdelim.c",
         "upstream-openbsd/lib/libc/stdio/gets.c",
diff --git a/libc/Android.mk b/libc/Android.mk
deleted file mode 100644
index 888404c..0000000
--- a/libc/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
diff --git a/libc/NOTICE b/libc/NOTICE
index ae7da18..744f42b 100644
--- a/libc/NOTICE
+++ b/libc/NOTICE
@@ -1813,38 +1813,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1988, 1993
-   The Regents of the University of California.  All rights reserved.
-
-This code is derived from software written by Ken Arnold and
-published in UNIX Review, Vol. 6, No. 8.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. 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.
-3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
-
--------------------------------------------------------------------
-
 Copyright (c) 1989 The Regents of the University of California.
 All rights reserved.
 
diff --git a/libc/arch-arm/bionic/__aeabi.c b/libc/arch-arm/bionic/__aeabi.c
index 1620d45..c82f56d 100644
--- a/libc/arch-arm/bionic/__aeabi.c
+++ b/libc/arch-arm/bionic/__aeabi.c
@@ -26,13 +26,11 @@
  * SUCH DAMAGE.
  */
 
-#if defined(__clang__)
 // clang interprets -fno-builtin more loosely than you might expect,
 // and thinks it's okay to still substitute builtins as long as they're
 // named __aeabi_* rather than __builtin_*, which causes infinite
 // recursion if we have the fortified memcpy visible in this file.
 #undef _FORTIFY_SOURCE
-#endif
 
 #include <stddef.h>
 #include <string.h>
diff --git a/libc/bionic/mbrtoc32.cpp b/libc/bionic/mbrtoc32.cpp
index f004b78..88a077c 100644
--- a/libc/bionic/mbrtoc32.cpp
+++ b/libc/bionic/mbrtoc32.cpp
@@ -127,7 +127,7 @@
     // Malformed input; redundant encoding.
     return mbstate_reset_and_return_illegal(EILSEQ, state);
   }
-  if ((c32 >= 0xd800 && c32 <= 0xdfff) || c32 == 0xfffe || c32 == 0xffff) {
+  if ((c32 >= 0xd800 && c32 <= 0xdfff) || (c32 > 0x10ffff)) {
     // Malformed input; invalid code points.
     return mbstate_reset_and_return_illegal(EILSEQ, state);
   }
diff --git a/libc/bionic/thread_private.cpp b/libc/bionic/thread_private.cpp
index 1c04019..94fb8bb 100644
--- a/libc/bionic/thread_private.cpp
+++ b/libc/bionic/thread_private.cpp
@@ -31,16 +31,6 @@
 
 // Some simple glue used to make BSD code thread-safe.
 
-static pthread_mutex_t g_atexit_lock = PTHREAD_MUTEX_INITIALIZER;
-
-void _thread_atexit_lock() {
-  pthread_mutex_lock(&g_atexit_lock);
-}
-
-void _thread_atexit_unlock() {
-  pthread_mutex_unlock(&g_atexit_lock);
-}
-
 static pthread_mutex_t g_arc4_lock = PTHREAD_MUTEX_INITIALIZER;
 
 void _thread_arc4_lock() {
diff --git a/libc/dns/resolv/res_send.c b/libc/dns/resolv/res_send.c
index 18bb752..cc09238 100644
--- a/libc/dns/resolv/res_send.c
+++ b/libc/dns/resolv/res_send.c
@@ -97,6 +97,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <netdb.h>
+#include <poll.h>
 #ifdef ANDROID_CHANGES
 #include "resolv_netid.h"
 #include "resolv_private.h"
@@ -133,8 +134,6 @@
 #define EXT(res) ((res)->_u._ext)
 #define DBG 0
 
-static const int highestFD = FD_SETSIZE - 1;
-
 /* Forward. */
 
 static int		get_salen __P((const struct sockaddr *));
@@ -150,16 +149,10 @@
 			       const struct sockaddr *, int);
 static void		Perror(const res_state, FILE *, const char *, int);
 static int		sock_eq(struct sockaddr *, struct sockaddr *);
-#ifdef NEED_PSELECT
-static int		pselect(int, void *, void *, void *,
-				struct timespec *,
-				const sigset_t *);
-#endif
 void res_pquery(const res_state, const u_char *, int, FILE *);
 static int connect_with_timeout(int sock, const struct sockaddr *nsap,
 			socklen_t salen, int sec);
-static int retrying_select(const int sock, fd_set *readset, fd_set *writeset,
-			const struct timespec *finish);
+static int retrying_poll(const int sock, short events, const struct timespec* finish);
 
 /* BIONIC-BEGIN: implement source port randomization */
 typedef union {
@@ -802,10 +795,6 @@
 			res_nclose(statp);
 
 		statp->_vcsock = socket(nsap->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0);
-		if (statp->_vcsock > highestFD) {
-			res_nclose(statp);
-			errno = ENOTSOCK;
-		}
 		if (statp->_vcsock < 0) {
 			switch (errno) {
 			case EPROTONOSUPPORT:
@@ -849,7 +838,7 @@
 			 * determining whether this was really a timeout or e.g. ECONNREFUSED. Since
 			 * currently both cases are handled in the same way, there is no need to
 			 * change this (yet). If we ever need to reliably distinguish between these
-			 * cases, both connect_with_timeout() and retrying_select() need to be
+			 * cases, both connect_with_timeout() and retrying_poll() need to be
 			 * modified, though.
 			 */
 			*rcode = RCODE_TIMEOUT;
@@ -983,8 +972,6 @@
 connect_with_timeout(int sock, const struct sockaddr *nsap, socklen_t salen, int sec)
 {
 	int res, origflags;
-	fd_set rset, wset;
-	struct timespec now, timeout, finish;
 
 	origflags = fcntl(sock, F_GETFL, 0);
 	fcntl(sock, F_SETFL, origflags | O_NONBLOCK);
@@ -995,14 +982,14 @@
 		goto done;
 	}
 	if (res != 0) {
-		now = evNowTime();
-		timeout = evConsTime((long)sec, 0L);
-		finish = evAddTime(now, timeout);
+		struct timespec now = evNowTime();
+		struct timespec timeout = evConsTime((long)sec, 0L);
+		struct timespec finish = evAddTime(now, timeout);
 		if (DBG) {
 			async_safe_format_log(ANDROID_LOG_DEBUG, "libc", "  %d send_vc\n", sock);
 		}
 
-		res = retrying_select(sock, &rset, &wset, &finish);
+		res = retrying_poll(sock, POLLIN | POLLOUT, &finish);
 		if (res <= 0) {
 			res = -1;
 		}
@@ -1017,37 +1004,25 @@
 }
 
 static int
-retrying_select(const int sock, fd_set *readset, fd_set *writeset, const struct timespec *finish)
-{
+retrying_poll(const int sock, const short events, const struct timespec* finish) {
 	struct timespec now, timeout;
-	int n, error;
-	socklen_t len;
-
 
 retry:
 	if (DBG) {
-		async_safe_format_log(ANDROID_LOG_DEBUG, "libc", "  %d retrying_select\n", sock);
+		async_safe_format_log(ANDROID_LOG_DEBUG, "libc", "  %d retrying_poll\n", sock);
 	}
 
 	now = evNowTime();
-	if (readset) {
-		FD_ZERO(readset);
-		FD_SET(sock, readset);
-	}
-	if (writeset) {
-		FD_ZERO(writeset);
-		FD_SET(sock, writeset);
-	}
 	if (evCmpTime(*finish, now) > 0)
 		timeout = evSubTime(*finish, now);
 	else
 		timeout = evConsTime(0L, 0L);
-
-	n = pselect(sock + 1, readset, writeset, NULL, &timeout, NULL);
+	struct pollfd fds = { .fd = sock, .events = events };
+	int n = ppoll(&fds, 1, &timeout, /*sigmask=*/NULL);
 	if (n == 0) {
 		if (DBG) {
 			async_safe_format_log(ANDROID_LOG_DEBUG, " libc",
-				"  %d retrying_select timeout\n", sock);
+				"  %d retrying_poll timeout\n", sock);
 		}
 		errno = ETIMEDOUT;
 		return 0;
@@ -1057,17 +1032,18 @@
 			goto retry;
 		if (DBG) {
 			async_safe_format_log(ANDROID_LOG_DEBUG, "libc",
-				"  %d retrying_select got error %d\n",sock, n);
+				"  %d retrying_poll got error %d\n",sock, n);
 		}
 		return n;
 	}
-	if ((readset && FD_ISSET(sock, readset)) || (writeset && FD_ISSET(sock, writeset))) {
-		len = sizeof(error);
+	if (fds.revents & (POLLIN | POLLOUT | POLLERR)) {
+		int error;
+		socklen_t len = sizeof(error);
 		if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &error, &len) < 0 || error) {
 			errno = error;
 			if (DBG) {
 				async_safe_format_log(ANDROID_LOG_DEBUG, "libc",
-					"  %d retrying_select dot error2 %d\n", sock, errno);
+					"  %d retrying_poll dot error2 %d\n", sock, errno);
 			}
 
 			return -1;
@@ -1075,7 +1051,7 @@
 	}
 	if (DBG) {
 		async_safe_format_log(ANDROID_LOG_DEBUG, "libc",
-			"  %d retrying_select returning %d\n",sock, n);
+			"  %d retrying_poll returning %d\n",sock, n);
 	}
 
 	return n;
@@ -1095,7 +1071,6 @@
 	const struct sockaddr *nsap;
 	int nsaplen;
 	struct timespec now, timeout, finish, done;
-	fd_set dsmask;
 	struct sockaddr_storage from;
 	socklen_t fromlen;
 	int resplen, seconds, n, s;
@@ -1104,10 +1079,6 @@
 	nsaplen = get_salen(nsap);
 	if (EXT(statp).nssocks[ns] == -1) {
 		EXT(statp).nssocks[ns] = socket(nsap->sa_family, SOCK_DGRAM | SOCK_CLOEXEC, 0);
-		if (EXT(statp).nssocks[ns] > highestFD) {
-			res_nclose(statp);
-			errno = ENOTSOCK;
-		}
 		if (EXT(statp).nssocks[ns] < 0) {
 			switch (errno) {
 			case EPROTONOSUPPORT:
@@ -1185,7 +1156,7 @@
 	timeout = evConsTime((long)seconds, 0L);
 	finish = evAddTime(now, timeout);
 retry:
-	n = retrying_select(s, &dsmask, NULL, &finish);
+	n = retrying_poll(s, POLLIN, &finish);
 
 	if (n == 0) {
 		*rcode = RCODE_TIMEOUT;
@@ -1194,7 +1165,7 @@
 		return (0);
 	}
 	if (n < 0) {
-		Perror(statp, stderr, "select", errno);
+		Perror(statp, stderr, "poll", errno);
 		res_nclose(statp);
 		return (0);
 	}
@@ -1367,29 +1338,3 @@
 		return 0;
 	}
 }
-
-#ifdef NEED_PSELECT
-/* XXX needs to move to the porting library. */
-static int
-pselect(int nfds, void *rfds, void *wfds, void *efds,
-	struct timespec *tsp, const sigset_t *sigmask)
-{
-	struct timeval tv, *tvp;
-	sigset_t sigs;
-	int n;
-
-	if (tsp) {
-		tvp = &tv;
-		tv = evTimeVal(*tsp);
-	} else
-		tvp = NULL;
-	if (sigmask)
-		sigprocmask(SIG_SETMASK, sigmask, &sigs);
-	n = select(nfds, rfds, wfds, efds, tvp);
-	if (sigmask)
-		sigprocmask(SIG_SETMASK, &sigs, NULL);
-	if (tsp)
-		*tsp = evTimeSpec(tv);
-	return (n);
-}
-#endif
diff --git a/libc/include/bits/glibc-syscalls.h b/libc/include/bits/glibc-syscalls.h
index f08c614..ffd92cc 100644
--- a/libc/include/bits/glibc-syscalls.h
+++ b/libc/include/bits/glibc-syscalls.h
@@ -640,9 +640,6 @@
 #if defined(__NR_olduname)
   #define SYS_olduname __NR_olduname
 #endif
-#if defined(__NR_oldwait4)
-  #define SYS_oldwait4 __NR_oldwait4
-#endif
 #if defined(__NR_open)
   #define SYS_open __NR_open
 #endif
diff --git a/libc/include/netinet/ip_icmp.h b/libc/include/netinet/ip_icmp.h
index 7510592..d6f89bc 100644
--- a/libc/include/netinet/ip_icmp.h
+++ b/libc/include/netinet/ip_icmp.h
@@ -35,9 +35,11 @@
 #ifndef _NETINET_IP_ICMP_H_
 #define _NETINET_IP_ICMP_H_
 
-#include <netinet/ip.h>
 #include <sys/cdefs.h>
 
+#include <linux/icmp.h>
+#include <netinet/ip.h>
+
 __BEGIN_DECLS
 
 /*
diff --git a/libc/include/stdatomic.h b/libc/include/stdatomic.h
index 8d573b2..013407e 100644
--- a/libc/include/stdatomic.h
+++ b/libc/include/stdatomic.h
@@ -143,10 +143,10 @@
 
 #include <stddef.h>  /* For ptrdiff_t. */
 #include <stdint.h>  /* TODO: don't drag in all the macros, just the types. */
-// Include uchar.h only when needed.  Bionic's stdatomic.h is also used for the
-// host (via a copy in prebuilts/clang) and uchar.h is not available in the
+// Include uchar.h only when available.  Bionic's stdatomic.h is also used for
+// the host (via a copy in prebuilts/clang) and uchar.h is not available in the
 // glibc used for the host.
-#if __STDC_VERSION__ >= 201112L
+#if defined(__BIONIC__)
 # include <uchar.h>  /* For char16_t and char32_t.              */
 #endif
 
@@ -327,7 +327,7 @@
 typedef _Atomic(unsigned long)		atomic_ulong;
 typedef _Atomic(long long)		atomic_llong;
 typedef _Atomic(unsigned long long)	atomic_ullong;
-#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
+#if defined(__BIONIC__) || (defined(__cplusplus) && __cplusplus >= 201103L)
   typedef _Atomic(char16_t)		atomic_char16_t;
   typedef _Atomic(char32_t)		atomic_char32_t;
 #endif
diff --git a/libc/include/sys/un.h b/libc/include/sys/un.h
index 3e1c429..03ef5e4 100644
--- a/libc/include/sys/un.h
+++ b/libc/include/sys/un.h
@@ -33,4 +33,9 @@
 #include <linux/un.h>
 #include <sys/cdefs.h>
 
+#if defined(__USE_BSD) || defined(__USE_GNU)
+#include <string.h>
+#define SUN_LEN(__ptr) (offsetof(struct sockaddr_un, sun_path) + strlen((__ptr)->sun_path))
+#endif
+
 #endif
diff --git a/libc/kernel/android/scsi/scsi/scsi_proto.h b/libc/kernel/android/scsi/scsi/scsi_proto.h
index 1b56ecb..a77eded 100644
--- a/libc/kernel/android/scsi/scsi/scsi_proto.h
+++ b/libc/kernel/android/scsi/scsi/scsi_proto.h
@@ -145,6 +145,7 @@
 #define UNIT_ATTENTION 0x06
 #define DATA_PROTECT 0x07
 #define BLANK_CHECK 0x08
+#define VENDOR_SPECIFIC 0x09
 #define COPY_ABORTED 0x0a
 #define ABORTED_COMMAND 0x0b
 #define VOLUME_OVERFLOW 0x0d
diff --git a/libc/kernel/uapi/asm-arm/asm/kvm.h b/libc/kernel/uapi/asm-arm/asm/kvm.h
index 448a773..6cbc533 100644
--- a/libc/kernel/uapi/asm-arm/asm/kvm.h
+++ b/libc/kernel/uapi/asm-arm/asm/kvm.h
@@ -101,6 +101,8 @@
 #define KVM_REG_ARM_CRM_SHIFT 7
 #define KVM_REG_ARM_32_CRN_MASK 0x0000000000007800
 #define KVM_REG_ARM_32_CRN_SHIFT 11
+#define KVM_REG_ARM_SECURE_MASK 0x0000000010000000
+#define KVM_REG_ARM_SECURE_SHIFT 28
 #define ARM_CP15_REG_SHIFT_MASK(x,n) (((x) << KVM_REG_ARM_ ##n ##_SHIFT) & KVM_REG_ARM_ ##n ##_MASK)
 #define __ARM_CP15_REG(op1,crn,crm,op2) (KVM_REG_ARM | (15 << KVM_REG_ARM_COPROC_SHIFT) | ARM_CP15_REG_SHIFT_MASK(op1, OPC1) | ARM_CP15_REG_SHIFT_MASK(crn, 32_CRN) | ARM_CP15_REG_SHIFT_MASK(crm, CRM) | ARM_CP15_REG_SHIFT_MASK(op2, 32_OPC2))
 #define ARM_CP15_REG32(...) (__ARM_CP15_REG(__VA_ARGS__) | KVM_REG_SIZE_U32)
@@ -130,6 +132,9 @@
 #define KVM_REG_ARM_VFP_FPEXC 0x1008
 #define KVM_REG_ARM_VFP_FPINST 0x1009
 #define KVM_REG_ARM_VFP_FPINST2 0x100A
+#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM | KVM_REG_SIZE_U64 | KVM_REG_ARM_FW | ((r) & 0xffff))
+#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
 #define KVM_DEV_ARM_VGIC_GRP_ADDR 0
 #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
 #define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
diff --git a/libc/kernel/uapi/asm-arm64/asm/hwcap.h b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
index 4e95b95..a7cd560 100644
--- a/libc/kernel/uapi/asm-arm64/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
@@ -41,4 +41,9 @@
 #define HWCAP_ASIMDDP (1 << 20)
 #define HWCAP_SHA512 (1 << 21)
 #define HWCAP_SVE (1 << 22)
+#define HWCAP_ASIMDFHM (1 << 23)
+#define HWCAP_DIT (1 << 24)
+#define HWCAP_USCAT (1 << 25)
+#define HWCAP_ILRCPC (1 << 26)
+#define HWCAP_FLAGM (1 << 27)
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/kvm.h b/libc/kernel/uapi/asm-arm64/asm/kvm.h
index c4178a1..167d811 100644
--- a/libc/kernel/uapi/asm-arm64/asm/kvm.h
+++ b/libc/kernel/uapi/asm-arm64/asm/kvm.h
@@ -123,6 +123,9 @@
 #define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
 #define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
 #define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
+#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | KVM_REG_ARM_FW | ((r) & 0xffff))
+#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
 #define KVM_DEV_ARM_VGIC_GRP_ADDR 0
 #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
 #define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
diff --git a/libc/kernel/uapi/asm-generic/mman-common.h b/libc/kernel/uapi/asm-generic/mman-common.h
index e752bb6..6f688a1 100644
--- a/libc/kernel/uapi/asm-generic/mman-common.h
+++ b/libc/kernel/uapi/asm-generic/mman-common.h
@@ -32,6 +32,7 @@
 #define MAP_FIXED 0x10
 #define MAP_ANONYMOUS 0x20
 #define MAP_UNINITIALIZED 0x0
+#define MAP_FIXED_NOREPLACE 0x100000
 #define MLOCK_ONFAULT 0x01
 #define MS_ASYNC 1
 #define MS_INVALIDATE 2
diff --git a/libc/kernel/uapi/asm-generic/poll.h b/libc/kernel/uapi/asm-generic/poll.h
index 11c43df..372bc77 100644
--- a/libc/kernel/uapi/asm-generic/poll.h
+++ b/libc/kernel/uapi/asm-generic/poll.h
@@ -41,8 +41,8 @@
 #ifndef POLLRDHUP
 #define POLLRDHUP 0x2000
 #endif
-#define POLLFREE 0x4000
-#define POLL_BUSY_LOOP 0x8000
+#define POLLFREE (__force __poll_t) 0x4000
+#define POLL_BUSY_LOOP (__force __poll_t) 0x8000
 struct pollfd {
   int fd;
   short events;
diff --git a/libc/kernel/uapi/asm-generic/siginfo.h b/libc/kernel/uapi/asm-generic/siginfo.h
index 669c9d4..af3d98e 100644
--- a/libc/kernel/uapi/asm-generic/siginfo.h
+++ b/libc/kernel/uapi/asm-generic/siginfo.h
@@ -31,9 +31,6 @@
 #ifndef SI_PAD_SIZE
 #define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
 #endif
-#ifndef __ARCH_SI_UID_T
-#define __ARCH_SI_UID_T __kernel_uid32_t
-#endif
 #ifndef __ARCH_SI_BAND_T
 #define __ARCH_SI_BAND_T long
 #endif
@@ -43,32 +40,35 @@
 #ifndef __ARCH_SI_ATTRIBUTES
 #define __ARCH_SI_ATTRIBUTES
 #endif
-#ifndef HAVE_ARCH_SIGINFO_T
 typedef struct siginfo {
   int si_signo;
+#ifndef __ARCH_HAS_SWAPPED_SIGINFO
   int si_errno;
   int si_code;
+#else
+  int si_code;
+  int si_errno;
+#endif
   union {
     int _pad[SI_PAD_SIZE];
     struct {
       __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
+      __kernel_uid32_t _uid;
     } _kill;
     struct {
       __kernel_timer_t _tid;
       int _overrun;
-      char _pad[sizeof(__ARCH_SI_UID_T) - sizeof(int)];
       sigval_t _sigval;
       int _sys_private;
     } _timer;
     struct {
       __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
+      __kernel_uid32_t _uid;
       sigval_t _sigval;
     } _rt;
     struct {
       __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
+      __kernel_uid32_t _uid;
       int _status;
       __ARCH_SI_CLOCK_T _utime;
       __ARCH_SI_CLOCK_T _stime;
@@ -78,13 +78,23 @@
 #ifdef __ARCH_SI_TRAPNO
       int _trapno;
 #endif
-      short _addr_lsb;
+#ifdef __ia64__
+      int _imm;
+      unsigned int _flags;
+      unsigned long _isr;
+#endif
+#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))
       union {
+        short _addr_lsb;
         struct {
+          char _dummy_bnd[__ADDR_BND_PKEY_PAD];
           void __user * _lower;
           void __user * _upper;
         } _addr_bnd;
-        __u32 _pkey;
+        struct {
+          char _dummy_pkey[__ADDR_BND_PKEY_PAD];
+          __u32 _pkey;
+        } _addr_pkey;
       };
     } _sigfault;
     struct {
@@ -98,8 +108,6 @@
     } _sigsys;
   } _sifields;
 } __ARCH_SI_ATTRIBUTES siginfo_t;
-#define __ARCH_SIGSYS
-#endif
 #define si_pid _sifields._kill._pid
 #define si_uid _sifields._kill._uid
 #define si_tid _sifields._timer._tid
@@ -118,14 +126,12 @@
 #define si_addr_lsb _sifields._sigfault._addr_lsb
 #define si_lower _sifields._sigfault._addr_bnd._lower
 #define si_upper _sifields._sigfault._addr_bnd._upper
-#define si_pkey _sifields._sigfault._pkey
+#define si_pkey _sifields._sigfault._addr_pkey._pkey
 #define si_band _sifields._sigpoll._band
 #define si_fd _sifields._sigpoll._fd
-#ifdef __ARCH_SIGSYS
 #define si_call_addr _sifields._sigsys._call_addr
 #define si_syscall _sifields._sigsys._syscall
 #define si_arch _sifields._sigsys._arch
-#endif
 #define SI_USER 0
 #define SI_KERNEL 0x80
 #define SI_QUEUE - 1
@@ -135,6 +141,7 @@
 #define SI_SIGIO - 5
 #define SI_TKILL - 6
 #define SI_DETHREAD - 7
+#define SI_ASYNCNL - 60
 #define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
 #define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
 #define ILL_ILLOPC 1
@@ -145,7 +152,10 @@
 #define ILL_PRVREG 6
 #define ILL_COPROC 7
 #define ILL_BADSTK 8
-#define NSIGILL 8
+#define ILL_BADIADDR 9
+#define __ILL_BREAK 10
+#define __ILL_BNDMOD 11
+#define NSIGILL 11
 #define FPE_INTDIV 1
 #define FPE_INTOVF 2
 #define FPE_FLTDIV 3
@@ -154,12 +164,26 @@
 #define FPE_FLTRES 6
 #define FPE_FLTINV 7
 #define FPE_FLTSUB 8
-#define NSIGFPE 8
+#define __FPE_DECOVF 9
+#define __FPE_DECDIV 10
+#define __FPE_DECERR 11
+#define __FPE_INVASC 12
+#define __FPE_INVDEC 13
+#define FPE_FLTUNK 14
+#define FPE_CONDTRAP 15
+#define NSIGFPE 15
 #define SEGV_MAPERR 1
 #define SEGV_ACCERR 2
 #define SEGV_BNDERR 3
+#ifdef __ia64__
+#define __SEGV_PSTKOVF 4
+#else
 #define SEGV_PKUERR 4
-#define NSIGSEGV 4
+#endif
+#define SEGV_ACCADI 5
+#define SEGV_ADIDERR 6
+#define SEGV_ADIPERR 7
+#define NSIGSEGV 7
 #define BUS_ADRALN 1
 #define BUS_ADRERR 2
 #define BUS_OBJERR 3
diff --git a/libc/kernel/uapi/asm-generic/unistd.h b/libc/kernel/uapi/asm-generic/unistd.h
index 83c41f9..39b7c1a 100644
--- a/libc/kernel/uapi/asm-generic/unistd.h
+++ b/libc/kernel/uapi/asm-generic/unistd.h
@@ -319,89 +319,6 @@
 #define __NR_statx 291
 #undef __NR_syscalls
 #define __NR_syscalls 292
-#ifdef __ARCH_WANT_SYSCALL_NO_AT
-#define __NR_open 1024
-#define __NR_link 1025
-#define __NR_unlink 1026
-#define __NR_mknod 1027
-#define __NR_chmod 1028
-#define __NR_chown 1029
-#define __NR_mkdir 1030
-#define __NR_rmdir 1031
-#define __NR_lchown 1032
-#define __NR_access 1033
-#define __NR_rename 1034
-#define __NR_readlink 1035
-#define __NR_symlink 1036
-#define __NR_utimes 1037
-#define __NR3264_stat 1038
-#define __NR3264_lstat 1039
-#undef __NR_syscalls
-#define __NR_syscalls (__NR3264_lstat + 1)
-#endif
-#ifdef __ARCH_WANT_SYSCALL_NO_FLAGS
-#define __NR_pipe 1040
-#define __NR_dup2 1041
-#define __NR_epoll_create 1042
-#define __NR_inotify_init 1043
-#define __NR_eventfd 1044
-#define __NR_signalfd 1045
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_signalfd + 1)
-#endif
-#if (__BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)) && defined(__ARCH_WANT_SYSCALL_OFF_T)
-#define __NR_sendfile 1046
-#define __NR_ftruncate 1047
-#define __NR_truncate 1048
-#define __NR_stat 1049
-#define __NR_lstat 1050
-#define __NR_fstat 1051
-#define __NR_fcntl 1052
-#define __NR_fadvise64 1053
-#define __ARCH_WANT_SYS_FADVISE64
-#define __NR_newfstatat 1054
-#define __ARCH_WANT_SYS_NEWFSTATAT
-#define __NR_fstatfs 1055
-#define __NR_statfs 1056
-#define __NR_lseek 1057
-#define __NR_mmap 1058
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_mmap + 1)
-#endif
-#ifdef __ARCH_WANT_SYSCALL_DEPRECATED
-#define __NR_alarm 1059
-#define __ARCH_WANT_SYS_ALARM
-#define __NR_getpgrp 1060
-#define __ARCH_WANT_SYS_GETPGRP
-#define __NR_pause 1061
-#define __ARCH_WANT_SYS_PAUSE
-#define __NR_time 1062
-#define __ARCH_WANT_SYS_TIME
-#define __ARCH_WANT_COMPAT_SYS_TIME
-#define __NR_utime 1063
-#define __ARCH_WANT_SYS_UTIME
-#define __NR_creat 1064
-#define __NR_getdents 1065
-#define __ARCH_WANT_SYS_GETDENTS
-#define __NR_futimesat 1066
-#define __NR_select 1067
-#define __ARCH_WANT_SYS_SELECT
-#define __NR_poll 1068
-#define __NR_epoll_wait 1069
-#define __NR_ustat 1070
-#define __NR_vfork 1071
-#define __NR_oldwait4 1072
-#define __NR_recv 1073
-#define __NR_send 1074
-#define __NR_bdflush 1075
-#define __NR_umount 1076
-#define __ARCH_WANT_SYS_OLDUMOUNT
-#define __NR_uselib 1077
-#define __NR__sysctl 1078
-#define __NR_fork 1079
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_fork + 1)
-#endif
 #if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
 #define __NR_fcntl __NR3264_fcntl
 #define __NR_statfs __NR3264_statfs
diff --git a/libc/kernel/uapi/asm-mips/asm/hwcap.h b/libc/kernel/uapi/asm-mips/asm/hwcap.h
index 638017e..6151555 100644
--- a/libc/kernel/uapi/asm-mips/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-mips/asm/hwcap.h
@@ -20,4 +20,5 @@
 #define _UAPI_ASM_HWCAP_H
 #define HWCAP_MIPS_R6 (1 << 0)
 #define HWCAP_MIPS_MSA (1 << 1)
+#define HWCAP_MIPS_CRC32 (1 << 2)
 #endif
diff --git a/libc/kernel/uapi/asm-mips/asm/mman.h b/libc/kernel/uapi/asm-mips/asm/mman.h
index 5e8e28a..7ca4a99 100644
--- a/libc/kernel/uapi/asm-mips/asm/mman.h
+++ b/libc/kernel/uapi/asm-mips/asm/mman.h
@@ -44,6 +44,7 @@
 #define MAP_NONBLOCK 0x20000
 #define MAP_STACK 0x40000
 #define MAP_HUGETLB 0x80000
+#define MAP_FIXED_NOREPLACE 0x100000
 #define MS_ASYNC 0x0001
 #define MS_INVALIDATE 0x0002
 #define MS_SYNC 0x0004
diff --git a/libc/kernel/uapi/asm-mips/asm/siginfo.h b/libc/kernel/uapi/asm-mips/asm/siginfo.h
index 413abd9..c37107b 100644
--- a/libc/kernel/uapi/asm-mips/asm/siginfo.h
+++ b/libc/kernel/uapi/asm-mips/asm/siginfo.h
@@ -20,7 +20,6 @@
 #define _UAPI_ASM_SIGINFO_H
 #define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2 * sizeof(int))
 #undef __ARCH_SI_TRAPNO
-#define HAVE_ARCH_SIGINFO_T
 #if _MIPS_SZLONG == 32
 #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
 #elif _MIPS_SZLONG==64
@@ -28,69 +27,8 @@
 #else
 #error _MIPS_SZLONG neither 32 nor 64
 #endif
-#define __ARCH_SIGSYS
+#define __ARCH_HAS_SWAPPED_SIGINFO
 #include <asm-generic/siginfo.h>
-typedef struct siginfo {
-  int si_signo;
-  int si_code;
-  int si_errno;
-  int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3];
-  union {
-    int _pad[SI_PAD_SIZE];
-    struct {
-      __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
-    } _kill;
-    struct {
-      __kernel_timer_t _tid;
-      int _overrun;
-      char _pad[sizeof(__ARCH_SI_UID_T) - sizeof(int)];
-      sigval_t _sigval;
-      int _sys_private;
-    } _timer;
-    struct {
-      __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
-      sigval_t _sigval;
-    } _rt;
-    struct {
-      __kernel_pid_t _pid;
-      __ARCH_SI_UID_T _uid;
-      int _status;
-      __kernel_clock_t _utime;
-      __kernel_clock_t _stime;
-    } _sigchld;
-    struct {
-      __kernel_pid_t _pid;
-      __kernel_clock_t _utime;
-      int _status;
-      __kernel_clock_t _stime;
-    } _irix_sigchld;
-    struct {
-      void __user * _addr;
-#ifdef __ARCH_SI_TRAPNO
-      int _trapno;
-#endif
-      short _addr_lsb;
-      union {
-        struct {
-          void __user * _lower;
-          void __user * _upper;
-        } _addr_bnd;
-        __u32 _pkey;
-      };
-    } _sigfault;
-    struct {
-      __ARCH_SI_BAND_T _band;
-      int _fd;
-    } _sigpoll;
-    struct {
-      void __user * _call_addr;
-      int _syscall;
-      unsigned int _arch;
-    } _sigsys;
-  } _sifields;
-} siginfo_t;
 #undef SI_ASYNCIO
 #undef SI_TIMER
 #undef SI_MESGQ
diff --git a/libc/kernel/uapi/asm-x86/asm/bootparam.h b/libc/kernel/uapi/asm-x86/asm/bootparam.h
index 772f552..b010277 100644
--- a/libc/kernel/uapi/asm-x86/asm/bootparam.h
+++ b/libc/kernel/uapi/asm-x86/asm/bootparam.h
@@ -24,6 +24,7 @@
 #define SETUP_PCI 3
 #define SETUP_EFI 4
 #define SETUP_APPLE_PROPERTIES 5
+#define SETUP_JAILHOUSE 6
 #define RAMDISK_IMAGE_START_MASK 0x07FF
 #define RAMDISK_PROMPT_FLAG 0x8000
 #define RAMDISK_LOAD_FLAG 0x4000
@@ -116,6 +117,18 @@
   __u64 size;
   __u32 type;
 } __attribute__((packed));
+#define JAILHOUSE_SETUP_REQUIRED_VERSION 1
+struct jailhouse_setup_data {
+  __u16 version;
+  __u16 compatible_version;
+  __u16 pm_timer_address;
+  __u16 num_cpus;
+  __u64 pci_mmconfig_base;
+  __u32 tsc_khz;
+  __u32 apic_khz;
+  __u8 standard_ioapic;
+  __u8 cpu_ids[255];
+} __attribute__((packed));
 struct boot_params {
   struct screen_info screen_info;
   struct apm_bios_info apm_bios_info;
diff --git a/libc/kernel/uapi/asm-x86/asm/hyperv.h b/libc/kernel/uapi/asm-x86/asm/hyperv.h
deleted file mode 100644
index d5c9b19..0000000
--- a/libc/kernel/uapi/asm-x86/asm/hyperv.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _ASM_X86_HYPERV_H
-#define _ASM_X86_HYPERV_H
-#include <linux/types.h>
-#define HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS 0x40000000
-#define HYPERV_CPUID_INTERFACE 0x40000001
-#define HYPERV_CPUID_VERSION 0x40000002
-#define HYPERV_CPUID_FEATURES 0x40000003
-#define HYPERV_CPUID_ENLIGHTMENT_INFO 0x40000004
-#define HYPERV_CPUID_IMPLEMENT_LIMITS 0x40000005
-#define HYPERV_HYPERVISOR_PRESENT_BIT 0x80000000
-#define HYPERV_CPUID_MIN 0x40000005
-#define HYPERV_CPUID_MAX 0x4000ffff
-#define HV_X64_MSR_VP_RUNTIME_AVAILABLE (1 << 0)
-#define HV_X64_MSR_TIME_REF_COUNT_AVAILABLE (1 << 1)
-#define HV_X64_MSR_REFERENCE_TSC_AVAILABLE (1 << 9)
-#define HV_X64_MSR_REFERENCE_TSC 0x40000021
-#define HV_X64_ACCESS_FREQUENCY_MSRS (1 << 11)
-#define HV_X64_MSR_SYNIC_AVAILABLE (1 << 2)
-#define HV_X64_MSR_SYNTIMER_AVAILABLE (1 << 3)
-#define HV_X64_MSR_APIC_ACCESS_AVAILABLE (1 << 4)
-#define HV_X64_MSR_HYPERCALL_AVAILABLE (1 << 5)
-#define HV_X64_MSR_VP_INDEX_AVAILABLE (1 << 6)
-#define HV_X64_MSR_RESET_AVAILABLE (1 << 7)
-#define HV_X64_MSR_STAT_PAGES_AVAILABLE (1 << 8)
-#define HV_FEATURE_FREQUENCY_MSRS_AVAILABLE (1 << 8)
-#define HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE (1 << 10)
-#define HV_X64_CREATE_PARTITIONS (1 << 0)
-#define HV_X64_ACCESS_PARTITION_ID (1 << 1)
-#define HV_X64_ACCESS_MEMORY_POOL (1 << 2)
-#define HV_X64_ADJUST_MESSAGE_BUFFERS (1 << 3)
-#define HV_X64_POST_MESSAGES (1 << 4)
-#define HV_X64_SIGNAL_EVENTS (1 << 5)
-#define HV_X64_CREATE_PORT (1 << 6)
-#define HV_X64_CONNECT_PORT (1 << 7)
-#define HV_X64_ACCESS_STATS (1 << 8)
-#define HV_X64_DEBUGGING (1 << 11)
-#define HV_X64_CPU_POWER_MANAGEMENT (1 << 12)
-#define HV_X64_CONFIGURE_PROFILER (1 << 13)
-#define HV_X64_MWAIT_AVAILABLE (1 << 0)
-#define HV_X64_GUEST_DEBUGGING_AVAILABLE (1 << 1)
-#define HV_X64_PERF_MONITOR_AVAILABLE (1 << 2)
-#define HV_X64_CPU_DYNAMIC_PARTITIONING_AVAILABLE (1 << 3)
-#define HV_X64_HYPERCALL_PARAMS_XMM_AVAILABLE (1 << 4)
-#define HV_X64_GUEST_IDLE_STATE_AVAILABLE (1 << 5)
-#define HV_X64_GUEST_CRASH_MSR_AVAILABLE (1 << 10)
-#define HV_X64_AS_SWITCH_RECOMMENDED (1 << 0)
-#define HV_X64_LOCAL_TLB_FLUSH_RECOMMENDED (1 << 1)
-#define HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED (1 << 2)
-#define HV_X64_APIC_ACCESS_RECOMMENDED (1 << 3)
-#define HV_X64_SYSTEM_RESET_RECOMMENDED (1 << 4)
-#define HV_X64_RELAXED_TIMING_RECOMMENDED (1 << 5)
-#define HV_X64_DEPRECATING_AEOI_RECOMMENDED (1 << 9)
-#define HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED (1 << 11)
-#define HV_CRASH_CTL_CRASH_NOTIFY (1ULL << 63)
-#define HV_X64_MSR_GUEST_OS_ID 0x40000000
-#define HV_X64_MSR_HYPERCALL 0x40000001
-#define HV_X64_MSR_VP_INDEX 0x40000002
-#define HV_X64_MSR_RESET 0x40000003
-#define HV_X64_MSR_VP_RUNTIME 0x40000010
-#define HV_X64_MSR_TIME_REF_COUNT 0x40000020
-#define HV_X64_MSR_TSC_FREQUENCY 0x40000022
-#define HV_X64_MSR_APIC_FREQUENCY 0x40000023
-#define HV_X64_MSR_EOI 0x40000070
-#define HV_X64_MSR_ICR 0x40000071
-#define HV_X64_MSR_TPR 0x40000072
-#define HV_X64_MSR_APIC_ASSIST_PAGE 0x40000073
-#define HV_X64_MSR_SCONTROL 0x40000080
-#define HV_X64_MSR_SVERSION 0x40000081
-#define HV_X64_MSR_SIEFP 0x40000082
-#define HV_X64_MSR_SIMP 0x40000083
-#define HV_X64_MSR_EOM 0x40000084
-#define HV_X64_MSR_SINT0 0x40000090
-#define HV_X64_MSR_SINT1 0x40000091
-#define HV_X64_MSR_SINT2 0x40000092
-#define HV_X64_MSR_SINT3 0x40000093
-#define HV_X64_MSR_SINT4 0x40000094
-#define HV_X64_MSR_SINT5 0x40000095
-#define HV_X64_MSR_SINT6 0x40000096
-#define HV_X64_MSR_SINT7 0x40000097
-#define HV_X64_MSR_SINT8 0x40000098
-#define HV_X64_MSR_SINT9 0x40000099
-#define HV_X64_MSR_SINT10 0x4000009A
-#define HV_X64_MSR_SINT11 0x4000009B
-#define HV_X64_MSR_SINT12 0x4000009C
-#define HV_X64_MSR_SINT13 0x4000009D
-#define HV_X64_MSR_SINT14 0x4000009E
-#define HV_X64_MSR_SINT15 0x4000009F
-#define HV_X64_MSR_STIMER0_CONFIG 0x400000B0
-#define HV_X64_MSR_STIMER0_COUNT 0x400000B1
-#define HV_X64_MSR_STIMER1_CONFIG 0x400000B2
-#define HV_X64_MSR_STIMER1_COUNT 0x400000B3
-#define HV_X64_MSR_STIMER2_CONFIG 0x400000B4
-#define HV_X64_MSR_STIMER2_COUNT 0x400000B5
-#define HV_X64_MSR_STIMER3_CONFIG 0x400000B6
-#define HV_X64_MSR_STIMER3_COUNT 0x400000B7
-#define HV_X64_MSR_CRASH_P0 0x40000100
-#define HV_X64_MSR_CRASH_P1 0x40000101
-#define HV_X64_MSR_CRASH_P2 0x40000102
-#define HV_X64_MSR_CRASH_P3 0x40000103
-#define HV_X64_MSR_CRASH_P4 0x40000104
-#define HV_X64_MSR_CRASH_CTL 0x40000105
-#define HV_X64_MSR_CRASH_CTL_NOTIFY (1ULL << 63)
-#define HV_X64_MSR_CRASH_PARAMS (1 + (HV_X64_MSR_CRASH_P4 - HV_X64_MSR_CRASH_P0))
-#define HV_X64_MSR_HYPERCALL_ENABLE 0x00000001
-#define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT 12
-#define HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_MASK (~((1ull << HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT) - 1))
-#define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE 0x0002
-#define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST 0x0003
-#define HVCALL_NOTIFY_LONG_SPIN_WAIT 0x0008
-#define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX 0x0013
-#define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX 0x0014
-#define HVCALL_POST_MESSAGE 0x005c
-#define HVCALL_SIGNAL_EVENT 0x005d
-#define HV_X64_MSR_APIC_ASSIST_PAGE_ENABLE 0x00000001
-#define HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_SHIFT 12
-#define HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_MASK (~((1ull << HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_SHIFT) - 1))
-#define HV_X64_MSR_TSC_REFERENCE_ENABLE 0x00000001
-#define HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT 12
-#define HV_PROCESSOR_POWER_STATE_C0 0
-#define HV_PROCESSOR_POWER_STATE_C1 1
-#define HV_PROCESSOR_POWER_STATE_C2 2
-#define HV_PROCESSOR_POWER_STATE_C3 3
-#define HV_FLUSH_ALL_PROCESSORS BIT(0)
-#define HV_FLUSH_ALL_VIRTUAL_ADDRESS_SPACES BIT(1)
-#define HV_FLUSH_NON_GLOBAL_MAPPINGS_ONLY BIT(2)
-#define HV_FLUSH_USE_EXTENDED_RANGE_FORMAT BIT(3)
-enum HV_GENERIC_SET_FORMAT {
-  HV_GENERIC_SET_SPARCE_4K,
-  HV_GENERIC_SET_ALL,
-};
-#define HV_STATUS_SUCCESS 0
-#define HV_STATUS_INVALID_HYPERCALL_CODE 2
-#define HV_STATUS_INVALID_HYPERCALL_INPUT 3
-#define HV_STATUS_INVALID_ALIGNMENT 4
-#define HV_STATUS_INSUFFICIENT_MEMORY 11
-#define HV_STATUS_INVALID_CONNECTION_ID 18
-#define HV_STATUS_INSUFFICIENT_BUFFERS 19
-typedef struct _HV_REFERENCE_TSC_PAGE {
-  __u32 tsc_sequence;
-  __u32 res1;
-  __u64 tsc_scale;
-  __s64 tsc_offset;
-} HV_REFERENCE_TSC_PAGE, * PHV_REFERENCE_TSC_PAGE;
-#define HV_SYNIC_SINT_COUNT (16)
-#define HV_SYNIC_VERSION_1 (0x1)
-#define HV_SYNIC_CONTROL_ENABLE (1ULL << 0)
-#define HV_SYNIC_SIMP_ENABLE (1ULL << 0)
-#define HV_SYNIC_SIEFP_ENABLE (1ULL << 0)
-#define HV_SYNIC_SINT_MASKED (1ULL << 16)
-#define HV_SYNIC_SINT_AUTO_EOI (1ULL << 17)
-#define HV_SYNIC_SINT_VECTOR_MASK (0xFF)
-#define HV_SYNIC_STIMER_COUNT (4)
-#define HV_MESSAGE_SIZE (256)
-#define HV_MESSAGE_PAYLOAD_BYTE_COUNT (240)
-#define HV_MESSAGE_PAYLOAD_QWORD_COUNT (30)
-enum hv_message_type {
-  HVMSG_NONE = 0x00000000,
-  HVMSG_UNMAPPED_GPA = 0x80000000,
-  HVMSG_GPA_INTERCEPT = 0x80000001,
-  HVMSG_TIMER_EXPIRED = 0x80000010,
-  HVMSG_INVALID_VP_REGISTER_VALUE = 0x80000020,
-  HVMSG_UNRECOVERABLE_EXCEPTION = 0x80000021,
-  HVMSG_UNSUPPORTED_FEATURE = 0x80000022,
-  HVMSG_EVENTLOG_BUFFERCOMPLETE = 0x80000040,
-  HVMSG_X64_IOPORT_INTERCEPT = 0x80010000,
-  HVMSG_X64_MSR_INTERCEPT = 0x80010001,
-  HVMSG_X64_CPUID_INTERCEPT = 0x80010002,
-  HVMSG_X64_EXCEPTION_INTERCEPT = 0x80010003,
-  HVMSG_X64_APIC_EOI = 0x80010004,
-  HVMSG_X64_LEGACY_FP_ERROR = 0x80010005
-};
-union hv_message_flags {
-  __u8 asu8;
-  struct {
-    __u8 msg_pending : 1;
-    __u8 reserved : 7;
-  };
-};
-union hv_port_id {
-  __u32 asu32;
-  struct {
-    __u32 id : 24;
-    __u32 reserved : 8;
-  } u;
-};
-struct hv_message_header {
-  __u32 message_type;
-  __u8 payload_size;
-  union hv_message_flags message_flags;
-  __u8 reserved[2];
-  union {
-    __u64 sender;
-    union hv_port_id port;
-  };
-};
-struct hv_message {
-  struct hv_message_header header;
-  union {
-    __u64 payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT];
-  } u;
-};
-struct hv_message_page {
-  struct hv_message sint_message[HV_SYNIC_SINT_COUNT];
-};
-struct hv_timer_message_payload {
-  __u32 timer_index;
-  __u32 reserved;
-  __u64 expiration_time;
-  __u64 delivery_time;
-};
-#define HV_STIMER_ENABLE (1ULL << 0)
-#define HV_STIMER_PERIODIC (1ULL << 1)
-#define HV_STIMER_LAZY (1ULL << 2)
-#define HV_STIMER_AUTOENABLE (1ULL << 3)
-#define HV_STIMER_SINT(config) (__u8) (((config) >> 16) & 0x0F)
-#endif
diff --git a/libc/kernel/uapi/asm-x86/asm/kvm.h b/libc/kernel/uapi/asm-x86/asm/kvm.h
index 913d4bc..df1b396 100644
--- a/libc/kernel/uapi/asm-x86/asm/kvm.h
+++ b/libc/kernel/uapi/asm-x86/asm/kvm.h
@@ -302,7 +302,14 @@
   struct kvm_xcr xcrs[KVM_MAX_XCRS];
   __u64 padding[16];
 };
+#define KVM_SYNC_X86_REGS (1UL << 0)
+#define KVM_SYNC_X86_SREGS (1UL << 1)
+#define KVM_SYNC_X86_EVENTS (1UL << 2)
+#define KVM_SYNC_X86_VALID_FIELDS (KVM_SYNC_X86_REGS | KVM_SYNC_X86_SREGS | KVM_SYNC_X86_EVENTS)
 struct kvm_sync_regs {
+  struct kvm_regs regs;
+  struct kvm_sregs sregs;
+  struct kvm_vcpu_events events;
 };
 #define KVM_X86_QUIRK_LINT0_REENABLED (1 << 0)
 #define KVM_X86_QUIRK_CD_NW_CLEARED (1 << 1)
diff --git a/libc/kernel/uapi/asm-x86/asm/kvm_para.h b/libc/kernel/uapi/asm-x86/asm/kvm_para.h
index b7635cb..0e4f2e0 100644
--- a/libc/kernel/uapi/asm-x86/asm/kvm_para.h
+++ b/libc/kernel/uapi/asm-x86/asm/kvm_para.h
@@ -19,7 +19,6 @@
 #ifndef _UAPI_ASM_X86_KVM_PARA_H
 #define _UAPI_ASM_X86_KVM_PARA_H
 #include <linux/types.h>
-#include <asm/hyperv.h>
 #define KVM_CPUID_SIGNATURE 0x40000000
 #define KVM_CPUID_FEATURES 0x40000001
 #define KVM_FEATURE_CLOCKSOURCE 0
@@ -30,6 +29,9 @@
 #define KVM_FEATURE_STEAL_TIME 5
 #define KVM_FEATURE_PV_EOI 6
 #define KVM_FEATURE_PV_UNHALT 7
+#define KVM_FEATURE_PV_TLB_FLUSH 9
+#define KVM_FEATURE_ASYNC_PF_VMEXIT 10
+#define KVM_HINTS_REALTIME 0
 #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24
 #define MSR_KVM_WALL_CLOCK 0x11
 #define MSR_KVM_SYSTEM_TIME 0x12
@@ -47,6 +49,8 @@
   __u8 u8_pad[3];
   __u32 pad[11];
 };
+#define KVM_VCPU_PREEMPTED (1 << 0)
+#define KVM_VCPU_FLUSH_TLB (1 << 1)
 #define KVM_CLOCK_PAIRING_WALLCLOCK 0
 struct kvm_clock_pairing {
   __s64 sec;
diff --git a/libc/kernel/uapi/asm-x86/asm/mce.h b/libc/kernel/uapi/asm-x86/asm/mce.h
index 9448a61..4a3230c 100644
--- a/libc/kernel/uapi/asm-x86/asm/mce.h
+++ b/libc/kernel/uapi/asm-x86/asm/mce.h
@@ -44,6 +44,7 @@
   __u64 synd;
   __u64 ipid;
   __u64 ppin;
+  __u32 microcode;
 };
 #define MCE_GET_RECORD_LEN _IOR('M', 1, int)
 #define MCE_GET_LOG_LEN _IOR('M', 2, int)
diff --git a/libc/kernel/uapi/asm-x86/asm/msgbuf.h b/libc/kernel/uapi/asm-x86/asm/msgbuf.h
index 7809e3c..92ab491 100644
--- a/libc/kernel/uapi/asm-x86/asm/msgbuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/msgbuf.h
@@ -16,4 +16,23 @@
  ***
  ****************************************************************************
  ****************************************************************************/
+#ifndef __ASM_X64_MSGBUF_H
+#define __ASM_X64_MSGBUF_H
+#if !defined(__x86_64__) || !defined(__ILP32__)
 #include <asm-generic/msgbuf.h>
+#else
+struct msqid64_ds {
+  struct ipc64_perm msg_perm;
+  __kernel_time_t msg_stime;
+  __kernel_time_t msg_rtime;
+  __kernel_time_t msg_ctime;
+  __kernel_ulong_t msg_cbytes;
+  __kernel_ulong_t msg_qnum;
+  __kernel_ulong_t msg_qbytes;
+  __kernel_pid_t msg_lspid;
+  __kernel_pid_t msg_lrpid;
+  __kernel_ulong_t __unused4;
+  __kernel_ulong_t __unused5;
+};
+#endif
+#endif
diff --git a/libc/kernel/uapi/asm-x86/asm/shmbuf.h b/libc/kernel/uapi/asm-x86/asm/shmbuf.h
index fe8b1be..4486c7b 100644
--- a/libc/kernel/uapi/asm-x86/asm/shmbuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/shmbuf.h
@@ -16,4 +16,33 @@
  ***
  ****************************************************************************
  ****************************************************************************/
+#ifndef __ASM_X86_SHMBUF_H
+#define __ASM_X86_SHMBUF_H
+#if !defined(__x86_64__) || !defined(__ILP32__)
 #include <asm-generic/shmbuf.h>
+#else
+struct shmid64_ds {
+  struct ipc64_perm shm_perm;
+  size_t shm_segsz;
+  __kernel_time_t shm_atime;
+  __kernel_time_t shm_dtime;
+  __kernel_time_t shm_ctime;
+  __kernel_pid_t shm_cpid;
+  __kernel_pid_t shm_lpid;
+  __kernel_ulong_t shm_nattch;
+  __kernel_ulong_t __unused4;
+  __kernel_ulong_t __unused5;
+};
+struct shminfo64 {
+  __kernel_ulong_t shmmax;
+  __kernel_ulong_t shmmin;
+  __kernel_ulong_t shmmni;
+  __kernel_ulong_t shmseg;
+  __kernel_ulong_t shmall;
+  __kernel_ulong_t __unused1;
+  __kernel_ulong_t __unused2;
+  __kernel_ulong_t __unused3;
+  __kernel_ulong_t __unused4;
+};
+#endif
+#endif
diff --git a/libc/kernel/uapi/drm/amdgpu_drm.h b/libc/kernel/uapi/drm/amdgpu_drm.h
index 1cdae16..59f5260 100644
--- a/libc/kernel/uapi/drm/amdgpu_drm.h
+++ b/libc/kernel/uapi/drm/amdgpu_drm.h
@@ -106,10 +106,14 @@
 #define AMDGPU_CTX_OP_ALLOC_CTX 1
 #define AMDGPU_CTX_OP_FREE_CTX 2
 #define AMDGPU_CTX_OP_QUERY_STATE 3
+#define AMDGPU_CTX_OP_QUERY_STATE2 4
 #define AMDGPU_CTX_NO_RESET 0
 #define AMDGPU_CTX_GUILTY_RESET 1
 #define AMDGPU_CTX_INNOCENT_RESET 2
 #define AMDGPU_CTX_UNKNOWN_RESET 3
+#define AMDGPU_CTX_QUERY2_FLAGS_RESET (1 << 0)
+#define AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST (1 << 1)
+#define AMDGPU_CTX_QUERY2_FLAGS_GUILTY (1 << 2)
 #define AMDGPU_CTX_PRIORITY_UNSET - 2048
 #define AMDGPU_CTX_PRIORITY_VERY_LOW - 1023
 #define AMDGPU_CTX_PRIORITY_LOW - 512
@@ -392,6 +396,7 @@
 #define AMDGPU_INFO_FW_SDMA 0x0b
 #define AMDGPU_INFO_FW_SOS 0x0c
 #define AMDGPU_INFO_FW_ASD 0x0d
+#define AMDGPU_INFO_FW_VCN 0x0e
 #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
 #define AMDGPU_INFO_VRAM_USAGE 0x10
 #define AMDGPU_INFO_GTT_USAGE 0x11
@@ -415,6 +420,8 @@
 #define AMDGPU_INFO_SENSOR_GPU_AVG_POWER 0x5
 #define AMDGPU_INFO_SENSOR_VDDNB 0x6
 #define AMDGPU_INFO_SENSOR_VDDGFX 0x7
+#define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK 0x8
+#define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK 0x9
 #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E
 #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F
 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
@@ -494,6 +501,7 @@
 #define AMDGPU_VRAM_TYPE_GDDR5 5
 #define AMDGPU_VRAM_TYPE_HBM 6
 #define AMDGPU_VRAM_TYPE_DDR3 7
+#define AMDGPU_VRAM_TYPE_DDR4 8
 struct drm_amdgpu_info_device {
   __u32 device_id;
   __u32 chip_rev;
@@ -540,6 +548,8 @@
   __u32 max_gs_waves_per_vgt;
   __u32 _pad1;
   __u32 cu_ao_bitmap[4][4];
+  __u64 high_va_offset;
+  __u64 high_va_max;
 };
 struct drm_amdgpu_info_hw_ip {
   __u32 hw_ip_version_major;
diff --git a/libc/kernel/uapi/drm/drm_fourcc.h b/libc/kernel/uapi/drm/drm_fourcc.h
index da416cf..d5fb055 100644
--- a/libc/kernel/uapi/drm/drm_fourcc.h
+++ b/libc/kernel/uapi/drm/drm_fourcc.h
@@ -101,13 +101,13 @@
 #define DRM_FORMAT_MOD_VENDOR_NONE 0
 #define DRM_FORMAT_MOD_VENDOR_INTEL 0x01
 #define DRM_FORMAT_MOD_VENDOR_AMD 0x02
-#define DRM_FORMAT_MOD_VENDOR_NV 0x03
+#define DRM_FORMAT_MOD_VENDOR_NVIDIA 0x03
 #define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04
 #define DRM_FORMAT_MOD_VENDOR_QCOM 0x05
 #define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
 #define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
 #define DRM_FORMAT_RESERVED ((1ULL << 56) - 1)
-#define fourcc_mod_code(vendor,val) ((((__u64) DRM_FORMAT_MOD_VENDOR_ ##vendor) << 56) | (val & 0x00ffffffffffffffULL))
+#define fourcc_mod_code(vendor,val) ((((__u64) DRM_FORMAT_MOD_VENDOR_ ##vendor) << 56) | ((val) & 0x00ffffffffffffffULL))
 #define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
 #define DRM_FORMAT_MOD_LINEAR fourcc_mod_code(NONE, 0)
 #define I915_FORMAT_MOD_X_TILED fourcc_mod_code(INTEL, 1)
@@ -120,12 +120,14 @@
 #define DRM_FORMAT_MOD_VIVANTE_SUPER_TILED fourcc_mod_code(VIVANTE, 2)
 #define DRM_FORMAT_MOD_VIVANTE_SPLIT_TILED fourcc_mod_code(VIVANTE, 3)
 #define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4)
-#define __fourcc_mod_tegra_mode_shift 32
-#define fourcc_mod_tegra_code(val,params) fourcc_mod_code(NV, ((((__u64) val) << __fourcc_mod_tegra_mode_shift) | params))
-#define fourcc_mod_tegra_mod(m) (m & ~((1ULL << __fourcc_mod_tegra_mode_shift) - 1))
-#define fourcc_mod_tegra_param(m) (m & ((1ULL << __fourcc_mod_tegra_mode_shift) - 1))
-#define NV_FORMAT_MOD_TEGRA_TILED fourcc_mod_tegra_code(1, 0)
-#define NV_FORMAT_MOD_TEGRA_16BX2_BLOCK(v) fourcc_mod_tegra_code(2, v)
+#define DRM_FORMAT_MOD_NVIDIA_TEGRA_TILED fourcc_mod_code(NVIDIA, 1)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK(v) fourcc_mod_code(NVIDIA, 0x10 | ((v) & 0xf))
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_ONE_GOB fourcc_mod_code(NVIDIA, 0x10)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_TWO_GOB fourcc_mod_code(NVIDIA, 0x11)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_FOUR_GOB fourcc_mod_code(NVIDIA, 0x12)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_EIGHT_GOB fourcc_mod_code(NVIDIA, 0x13)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_SIXTEEN_GOB fourcc_mod_code(NVIDIA, 0x14)
+#define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_THIRTYTWO_GOB fourcc_mod_code(NVIDIA, 0x15)
 #define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1)
 #ifdef __cplusplus
 #endif
diff --git a/libc/kernel/uapi/drm/drm_mode.h b/libc/kernel/uapi/drm/drm_mode.h
index 2c9defb..b91f161 100644
--- a/libc/kernel/uapi/drm/drm_mode.h
+++ b/libc/kernel/uapi/drm/drm_mode.h
@@ -32,6 +32,7 @@
 #define DRM_MODE_TYPE_DEFAULT (1 << 4)
 #define DRM_MODE_TYPE_USERDEF (1 << 5)
 #define DRM_MODE_TYPE_DRIVER (1 << 6)
+#define DRM_MODE_TYPE_ALL (DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_USERDEF | DRM_MODE_TYPE_DRIVER)
 #define DRM_MODE_FLAG_PHSYNC (1 << 0)
 #define DRM_MODE_FLAG_NHSYNC (1 << 1)
 #define DRM_MODE_FLAG_PVSYNC (1 << 2)
@@ -63,6 +64,7 @@
 #define DRM_MODE_FLAG_PIC_AR_NONE (DRM_MODE_PICTURE_ASPECT_NONE << 19)
 #define DRM_MODE_FLAG_PIC_AR_4_3 (DRM_MODE_PICTURE_ASPECT_4_3 << 19)
 #define DRM_MODE_FLAG_PIC_AR_16_9 (DRM_MODE_PICTURE_ASPECT_16_9 << 19)
+#define DRM_MODE_FLAG_ALL (DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_INTERLACE | DRM_MODE_FLAG_DBLSCAN | DRM_MODE_FLAG_CSYNC | DRM_MODE_FLAG_PCSYNC | DRM_MODE_FLAG_NCSYNC | DRM_MODE_FLAG_HSKEW | DRM_MODE_FLAG_DBLCLK | DRM_MODE_FLAG_CLKDIV2 | DRM_MODE_FLAG_3D_MASK)
 #define DRM_MODE_DPMS_ON 0
 #define DRM_MODE_DPMS_STANDBY 1
 #define DRM_MODE_DPMS_SUSPEND 2
@@ -87,6 +89,9 @@
 #define DRM_MODE_REFLECT_X (1 << 4)
 #define DRM_MODE_REFLECT_Y (1 << 5)
 #define DRM_MODE_REFLECT_MASK (DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y)
+#define DRM_MODE_CONTENT_PROTECTION_UNDESIRED 0
+#define DRM_MODE_CONTENT_PROTECTION_DESIRED 1
+#define DRM_MODE_CONTENT_PROTECTION_ENABLED 2
 struct drm_mode_modeinfo {
   __u32 clock;
   __u16 hdisplay;
@@ -345,7 +350,7 @@
   __u64 blue;
 };
 struct drm_color_ctm {
-  __s64 matrix[9];
+  __u64 matrix[9];
 };
 struct drm_color_lut {
   __u16 red;
diff --git a/libc/kernel/uapi/drm/etnaviv_drm.h b/libc/kernel/uapi/drm/etnaviv_drm.h
index 58bd536..bb502d9 100644
--- a/libc/kernel/uapi/drm/etnaviv_drm.h
+++ b/libc/kernel/uapi/drm/etnaviv_drm.h
@@ -34,6 +34,12 @@
 #define ETNAVIV_PARAM_GPU_FEATURES_4 0x07
 #define ETNAVIV_PARAM_GPU_FEATURES_5 0x08
 #define ETNAVIV_PARAM_GPU_FEATURES_6 0x09
+#define ETNAVIV_PARAM_GPU_FEATURES_7 0x0a
+#define ETNAVIV_PARAM_GPU_FEATURES_8 0x0b
+#define ETNAVIV_PARAM_GPU_FEATURES_9 0x0c
+#define ETNAVIV_PARAM_GPU_FEATURES_10 0x0d
+#define ETNAVIV_PARAM_GPU_FEATURES_11 0x0e
+#define ETNAVIV_PARAM_GPU_FEATURES_12 0x0f
 #define ETNAVIV_PARAM_GPU_STREAM_COUNT 0x10
 #define ETNAVIV_PARAM_GPU_REGISTER_MAX 0x11
 #define ETNAVIV_PARAM_GPU_THREAD_COUNT 0x12
diff --git a/libc/kernel/uapi/drm/exynos_drm.h b/libc/kernel/uapi/drm/exynos_drm.h
index 9514d75..ed9022b 100644
--- a/libc/kernel/uapi/drm/exynos_drm.h
+++ b/libc/kernel/uapi/drm/exynos_drm.h
@@ -80,103 +80,6 @@
 struct drm_exynos_g2d_exec {
   __u64 async;
 };
-enum drm_exynos_ops_id {
-  EXYNOS_DRM_OPS_SRC,
-  EXYNOS_DRM_OPS_DST,
-  EXYNOS_DRM_OPS_MAX,
-};
-struct drm_exynos_sz {
-  __u32 hsize;
-  __u32 vsize;
-};
-struct drm_exynos_pos {
-  __u32 x;
-  __u32 y;
-  __u32 w;
-  __u32 h;
-};
-enum drm_exynos_flip {
-  EXYNOS_DRM_FLIP_NONE = (0 << 0),
-  EXYNOS_DRM_FLIP_VERTICAL = (1 << 0),
-  EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1),
-  EXYNOS_DRM_FLIP_BOTH = EXYNOS_DRM_FLIP_VERTICAL | EXYNOS_DRM_FLIP_HORIZONTAL,
-};
-enum drm_exynos_degree {
-  EXYNOS_DRM_DEGREE_0,
-  EXYNOS_DRM_DEGREE_90,
-  EXYNOS_DRM_DEGREE_180,
-  EXYNOS_DRM_DEGREE_270,
-};
-enum drm_exynos_planer {
-  EXYNOS_DRM_PLANAR_Y,
-  EXYNOS_DRM_PLANAR_CB,
-  EXYNOS_DRM_PLANAR_CR,
-  EXYNOS_DRM_PLANAR_MAX,
-};
-struct drm_exynos_ipp_prop_list {
-  __u32 version;
-  __u32 ipp_id;
-  __u32 count;
-  __u32 writeback;
-  __u32 flip;
-  __u32 degree;
-  __u32 csc;
-  __u32 crop;
-  __u32 scale;
-  __u32 refresh_min;
-  __u32 refresh_max;
-  __u32 reserved;
-  struct drm_exynos_sz crop_min;
-  struct drm_exynos_sz crop_max;
-  struct drm_exynos_sz scale_min;
-  struct drm_exynos_sz scale_max;
-};
-struct drm_exynos_ipp_config {
-  __u32 ops_id;
-  __u32 flip;
-  __u32 degree;
-  __u32 fmt;
-  struct drm_exynos_sz sz;
-  struct drm_exynos_pos pos;
-};
-enum drm_exynos_ipp_cmd {
-  IPP_CMD_NONE,
-  IPP_CMD_M2M,
-  IPP_CMD_WB,
-  IPP_CMD_OUTPUT,
-  IPP_CMD_MAX,
-};
-struct drm_exynos_ipp_property {
-  struct drm_exynos_ipp_config config[EXYNOS_DRM_OPS_MAX];
-  __u32 cmd;
-  __u32 ipp_id;
-  __u32 prop_id;
-  __u32 refresh_rate;
-};
-enum drm_exynos_ipp_buf_type {
-  IPP_BUF_ENQUEUE,
-  IPP_BUF_DEQUEUE,
-};
-struct drm_exynos_ipp_queue_buf {
-  __u32 ops_id;
-  __u32 buf_type;
-  __u32 prop_id;
-  __u32 buf_id;
-  __u32 handle[EXYNOS_DRM_PLANAR_MAX];
-  __u32 reserved;
-  __u64 user_data;
-};
-enum drm_exynos_ipp_ctrl {
-  IPP_CTRL_PLAY,
-  IPP_CTRL_STOP,
-  IPP_CTRL_PAUSE,
-  IPP_CTRL_RESUME,
-  IPP_CTRL_MAX,
-};
-struct drm_exynos_ipp_cmd_ctrl {
-  __u32 prop_id;
-  __u32 ctrl;
-};
 #define DRM_EXYNOS_GEM_CREATE 0x00
 #define DRM_EXYNOS_GEM_MAP 0x01
 #define DRM_EXYNOS_GEM_GET 0x04
@@ -184,10 +87,6 @@
 #define DRM_EXYNOS_G2D_GET_VER 0x20
 #define DRM_EXYNOS_G2D_SET_CMDLIST 0x21
 #define DRM_EXYNOS_G2D_EXEC 0x22
-#define DRM_EXYNOS_IPP_GET_PROPERTY 0x30
-#define DRM_EXYNOS_IPP_SET_PROPERTY 0x31
-#define DRM_EXYNOS_IPP_QUEUE_BUF 0x32
-#define DRM_EXYNOS_IPP_CMD_CTRL 0x33
 #define DRM_IOCTL_EXYNOS_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_CREATE, struct drm_exynos_gem_create)
 #define DRM_IOCTL_EXYNOS_GEM_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_MAP, struct drm_exynos_gem_map)
 #define DRM_IOCTL_EXYNOS_GEM_GET DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_GET, struct drm_exynos_gem_info)
@@ -195,12 +94,7 @@
 #define DRM_IOCTL_EXYNOS_G2D_GET_VER DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_GET_VER, struct drm_exynos_g2d_get_ver)
 #define DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_SET_CMDLIST, struct drm_exynos_g2d_set_cmdlist)
 #define DRM_IOCTL_EXYNOS_G2D_EXEC DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_EXEC, struct drm_exynos_g2d_exec)
-#define DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_GET_PROPERTY, struct drm_exynos_ipp_prop_list)
-#define DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_SET_PROPERTY, struct drm_exynos_ipp_property)
-#define DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_QUEUE_BUF, struct drm_exynos_ipp_queue_buf)
-#define DRM_IOCTL_EXYNOS_IPP_CMD_CTRL DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_CMD_CTRL, struct drm_exynos_ipp_cmd_ctrl)
 #define DRM_EXYNOS_G2D_EVENT 0x80000000
-#define DRM_EXYNOS_IPP_EVENT 0x80000001
 struct drm_exynos_g2d_event {
   struct drm_event base;
   __u64 user_data;
@@ -209,15 +103,6 @@
   __u32 cmdlist_no;
   __u32 reserved;
 };
-struct drm_exynos_ipp_event {
-  struct drm_event base;
-  __u64 user_data;
-  __u32 tv_sec;
-  __u32 tv_usec;
-  __u32 prop_id;
-  __u32 reserved;
-  __u32 buf_id[EXYNOS_DRM_OPS_MAX];
-};
 #ifdef __cplusplus
 #endif
 #endif
diff --git a/libc/kernel/uapi/drm/i915_drm.h b/libc/kernel/uapi/drm/i915_drm.h
index 34342bf..4c1d87f 100644
--- a/libc/kernel/uapi/drm/i915_drm.h
+++ b/libc/kernel/uapi/drm/i915_drm.h
@@ -29,6 +29,32 @@
   I915_MOCS_PTE,
   I915_MOCS_CACHED,
 };
+enum drm_i915_gem_engine_class {
+  I915_ENGINE_CLASS_RENDER = 0,
+  I915_ENGINE_CLASS_COPY = 1,
+  I915_ENGINE_CLASS_VIDEO = 2,
+  I915_ENGINE_CLASS_VIDEO_ENHANCE = 3,
+  I915_ENGINE_CLASS_INVALID = - 1
+};
+enum drm_i915_pmu_engine_sample {
+  I915_SAMPLE_BUSY = 0,
+  I915_SAMPLE_WAIT = 1,
+  I915_SAMPLE_SEMA = 2
+};
+#define I915_PMU_SAMPLE_BITS (4)
+#define I915_PMU_SAMPLE_MASK (0xf)
+#define I915_PMU_SAMPLE_INSTANCE_BITS (8)
+#define I915_PMU_CLASS_SHIFT (I915_PMU_SAMPLE_BITS + I915_PMU_SAMPLE_INSTANCE_BITS)
+#define __I915_PMU_ENGINE(class,instance,sample) ((class) << I915_PMU_CLASS_SHIFT | (instance) << I915_PMU_SAMPLE_BITS | (sample))
+#define I915_PMU_ENGINE_BUSY(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_BUSY)
+#define I915_PMU_ENGINE_WAIT(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_WAIT)
+#define I915_PMU_ENGINE_SEMA(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_SEMA)
+#define __I915_PMU_OTHER(x) (__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x))
+#define I915_PMU_ACTUAL_FREQUENCY __I915_PMU_OTHER(0)
+#define I915_PMU_REQUESTED_FREQUENCY __I915_PMU_OTHER(1)
+#define I915_PMU_INTERRUPTS __I915_PMU_OTHER(2)
+#define I915_PMU_RC6_RESIDENCY __I915_PMU_OTHER(3)
+#define I915_PMU_LAST I915_PMU_RC6_RESIDENCY
 #define I915_NR_TEX_REGIONS 255
 #define I915_LOG_MIN_TEX_REGION_SIZE 14
 typedef struct _drm_i915_init {
@@ -174,6 +200,7 @@
 #define DRM_I915_PERF_OPEN 0x36
 #define DRM_I915_PERF_ADD_CONFIG 0x37
 #define DRM_I915_PERF_REMOVE_CONFIG 0x38
+#define DRM_I915_QUERY 0x39
 #define DRM_IOCTL_I915_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
 #define DRM_IOCTL_I915_FLUSH DRM_IO(DRM_COMMAND_BASE + DRM_I915_FLUSH)
 #define DRM_IOCTL_I915_FLIP DRM_IO(DRM_COMMAND_BASE + DRM_I915_FLIP)
@@ -230,6 +257,7 @@
 #define DRM_IOCTL_I915_PERF_OPEN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_OPEN, struct drm_i915_perf_open_param)
 #define DRM_IOCTL_I915_PERF_ADD_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_ADD_CONFIG, struct drm_i915_perf_oa_config)
 #define DRM_IOCTL_I915_PERF_REMOVE_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_REMOVE_CONFIG, __u64)
+#define DRM_IOCTL_I915_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query)
 typedef struct drm_i915_batchbuffer {
   int start;
   int used;
@@ -304,6 +332,8 @@
 #define I915_PARAM_SUBSLICE_MASK 47
 #define I915_PARAM_HAS_EXEC_BATCH_FIRST 48
 #define I915_PARAM_HAS_EXEC_FENCE_ARRAY 49
+#define I915_PARAM_HAS_CONTEXT_ISOLATION 50
+#define I915_PARAM_CS_TIMESTAMP_FREQUENCY 51
 typedef struct drm_i915_getparam {
   __s32 param;
   int __user * value;
@@ -721,6 +751,29 @@
   __u64 boolean_regs_ptr;
   __u64 flex_regs_ptr;
 };
+struct drm_i915_query_item {
+  __u64 query_id;
+#define DRM_I915_QUERY_TOPOLOGY_INFO 1
+  __s32 length;
+  __u32 flags;
+  __u64 data_ptr;
+};
+struct drm_i915_query {
+  __u32 num_items;
+  __u32 flags;
+  __u64 items_ptr;
+};
+struct drm_i915_query_topology_info {
+  __u16 flags;
+  __u16 max_slices;
+  __u16 max_subslices;
+  __u16 max_eus_per_subslice;
+  __u16 subslice_offset;
+  __u16 subslice_stride;
+  __u16 eu_offset;
+  __u16 eu_stride;
+  __u8 data[];
+};
 #ifdef __cplusplus
 #endif
 #endif
diff --git a/libc/kernel/uapi/drm/msm_drm.h b/libc/kernel/uapi/drm/msm_drm.h
index d2f1b57..1d53c5d 100644
--- a/libc/kernel/uapi/drm/msm_drm.h
+++ b/libc/kernel/uapi/drm/msm_drm.h
@@ -105,7 +105,8 @@
 #define MSM_SUBMIT_NO_IMPLICIT 0x80000000
 #define MSM_SUBMIT_FENCE_FD_IN 0x40000000
 #define MSM_SUBMIT_FENCE_FD_OUT 0x20000000
-#define MSM_SUBMIT_FLAGS (MSM_SUBMIT_NO_IMPLICIT | MSM_SUBMIT_FENCE_FD_IN | MSM_SUBMIT_FENCE_FD_OUT | 0)
+#define MSM_SUBMIT_SUDO 0x10000000
+#define MSM_SUBMIT_FLAGS (MSM_SUBMIT_NO_IMPLICIT | MSM_SUBMIT_FENCE_FD_IN | MSM_SUBMIT_FENCE_FD_OUT | MSM_SUBMIT_SUDO | 0)
 struct drm_msm_gem_submit {
   __u32 flags;
   __u32 fence;
diff --git a/libc/kernel/uapi/drm/vc4_drm.h b/libc/kernel/uapi/drm/vc4_drm.h
index 3ca378f..05ed172 100644
--- a/libc/kernel/uapi/drm/vc4_drm.h
+++ b/libc/kernel/uapi/drm/vc4_drm.h
@@ -33,6 +33,9 @@
 #define DRM_VC4_GET_TILING 0x09
 #define DRM_VC4_LABEL_BO 0x0a
 #define DRM_VC4_GEM_MADVISE 0x0b
+#define DRM_VC4_PERFMON_CREATE 0x0c
+#define DRM_VC4_PERFMON_DESTROY 0x0d
+#define DRM_VC4_PERFMON_GET_VALUES 0x0e
 #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
 #define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)
 #define DRM_IOCTL_VC4_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_BO, struct drm_vc4_wait_bo)
@@ -45,6 +48,9 @@
 #define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling)
 #define DRM_IOCTL_VC4_LABEL_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_LABEL_BO, struct drm_vc4_label_bo)
 #define DRM_IOCTL_VC4_GEM_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GEM_MADVISE, struct drm_vc4_gem_madvise)
+#define DRM_IOCTL_VC4_PERFMON_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_PERFMON_CREATE, struct drm_vc4_perfmon_create)
+#define DRM_IOCTL_VC4_PERFMON_DESTROY DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_PERFMON_DESTROY, struct drm_vc4_perfmon_destroy)
+#define DRM_IOCTL_VC4_PERFMON_GET_VALUES DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_PERFMON_GET_VALUES, struct drm_vc4_perfmon_get_values)
 struct drm_vc4_submit_rcl_surface {
   __u32 hindex;
   __u32 offset;
@@ -84,6 +90,8 @@
 #define VC4_SUBMIT_CL_RCL_ORDER_INCREASING_Y (1 << 3)
   __u32 flags;
   __u64 seqno;
+  __u32 perfmonid;
+  __u32 pad2;
 };
 struct drm_vc4_wait_seqno {
   __u64 seqno;
@@ -145,6 +153,7 @@
 #define DRM_VC4_PARAM_SUPPORTS_THREADED_FS 5
 #define DRM_VC4_PARAM_SUPPORTS_FIXED_RCL_ORDER 6
 #define DRM_VC4_PARAM_SUPPORTS_MADVISE 7
+#define DRM_VC4_PARAM_SUPPORTS_PERFMON 8
 struct drm_vc4_get_param {
   __u32 param;
   __u32 pad;
@@ -175,6 +184,52 @@
   __u32 retained;
   __u32 pad;
 };
+enum {
+  VC4_PERFCNT_FEP_VALID_PRIMS_NO_RENDER,
+  VC4_PERFCNT_FEP_VALID_PRIMS_RENDER,
+  VC4_PERFCNT_FEP_CLIPPED_QUADS,
+  VC4_PERFCNT_FEP_VALID_QUADS,
+  VC4_PERFCNT_TLB_QUADS_NOT_PASSING_STENCIL,
+  VC4_PERFCNT_TLB_QUADS_NOT_PASSING_Z_AND_STENCIL,
+  VC4_PERFCNT_TLB_QUADS_PASSING_Z_AND_STENCIL,
+  VC4_PERFCNT_TLB_QUADS_ZERO_COVERAGE,
+  VC4_PERFCNT_TLB_QUADS_NON_ZERO_COVERAGE,
+  VC4_PERFCNT_TLB_QUADS_WRITTEN_TO_COLOR_BUF,
+  VC4_PERFCNT_PLB_PRIMS_OUTSIDE_VIEWPORT,
+  VC4_PERFCNT_PLB_PRIMS_NEED_CLIPPING,
+  VC4_PERFCNT_PSE_PRIMS_REVERSED,
+  VC4_PERFCNT_QPU_TOTAL_IDLE_CYCLES,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_VERTEX_COORD_SHADING,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_FRAGMENT_SHADING,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_EXEC_VALID_INST,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_WAITING_TMUS,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_WAITING_SCOREBOARD,
+  VC4_PERFCNT_QPU_TOTAL_CLK_CYCLES_WAITING_VARYINGS,
+  VC4_PERFCNT_QPU_TOTAL_INST_CACHE_HIT,
+  VC4_PERFCNT_QPU_TOTAL_INST_CACHE_MISS,
+  VC4_PERFCNT_QPU_TOTAL_UNIFORM_CACHE_HIT,
+  VC4_PERFCNT_QPU_TOTAL_UNIFORM_CACHE_MISS,
+  VC4_PERFCNT_TMU_TOTAL_TEXT_QUADS_PROCESSED,
+  VC4_PERFCNT_TMU_TOTAL_TEXT_CACHE_MISS,
+  VC4_PERFCNT_VPM_TOTAL_CLK_CYCLES_VDW_STALLED,
+  VC4_PERFCNT_VPM_TOTAL_CLK_CYCLES_VCD_STALLED,
+  VC4_PERFCNT_L2C_TOTAL_L2_CACHE_HIT,
+  VC4_PERFCNT_L2C_TOTAL_L2_CACHE_MISS,
+  VC4_PERFCNT_NUM_EVENTS,
+};
+#define DRM_VC4_MAX_PERF_COUNTERS 16
+struct drm_vc4_perfmon_create {
+  __u32 id;
+  __u32 ncounters;
+  __u8 events[DRM_VC4_MAX_PERF_COUNTERS];
+};
+struct drm_vc4_perfmon_destroy {
+  __u32 id;
+};
+struct drm_vc4_perfmon_get_values {
+  __u32 id;
+  __u64 values_ptr;
+};
 #ifdef __cplusplus
 #endif
 #endif
diff --git a/libc/kernel/uapi/drm/virtgpu_drm.h b/libc/kernel/uapi/drm/virtgpu_drm.h
index 31e6715..6b7fb0b 100644
--- a/libc/kernel/uapi/drm/virtgpu_drm.h
+++ b/libc/kernel/uapi/drm/virtgpu_drm.h
@@ -44,6 +44,7 @@
   __u32 pad;
 };
 #define VIRTGPU_PARAM_3D_FEATURES 1
+#define VIRTGPU_PARAM_CAPSET_QUERY_FIX 2
 struct drm_virtgpu_getparam {
   __u64 param;
   __u64 value;
diff --git a/libc/kernel/uapi/linux/arm_sdei.h b/libc/kernel/uapi/linux/arm_sdei.h
new file mode 100644
index 0000000..4ec9294
--- /dev/null
+++ b/libc/kernel/uapi/linux/arm_sdei.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI_LINUX_ARM_SDEI_H
+#define _UAPI_LINUX_ARM_SDEI_H
+#define SDEI_1_0_FN_BASE 0xC4000020
+#define SDEI_1_0_MASK 0xFFFFFFE0
+#define SDEI_1_0_FN(n) (SDEI_1_0_FN_BASE + (n))
+#define SDEI_1_0_FN_SDEI_VERSION SDEI_1_0_FN(0x00)
+#define SDEI_1_0_FN_SDEI_EVENT_REGISTER SDEI_1_0_FN(0x01)
+#define SDEI_1_0_FN_SDEI_EVENT_ENABLE SDEI_1_0_FN(0x02)
+#define SDEI_1_0_FN_SDEI_EVENT_DISABLE SDEI_1_0_FN(0x03)
+#define SDEI_1_0_FN_SDEI_EVENT_CONTEXT SDEI_1_0_FN(0x04)
+#define SDEI_1_0_FN_SDEI_EVENT_COMPLETE SDEI_1_0_FN(0x05)
+#define SDEI_1_0_FN_SDEI_EVENT_COMPLETE_AND_RESUME SDEI_1_0_FN(0x06)
+#define SDEI_1_0_FN_SDEI_EVENT_UNREGISTER SDEI_1_0_FN(0x07)
+#define SDEI_1_0_FN_SDEI_EVENT_STATUS SDEI_1_0_FN(0x08)
+#define SDEI_1_0_FN_SDEI_EVENT_GET_INFO SDEI_1_0_FN(0x09)
+#define SDEI_1_0_FN_SDEI_EVENT_ROUTING_SET SDEI_1_0_FN(0x0A)
+#define SDEI_1_0_FN_SDEI_PE_MASK SDEI_1_0_FN(0x0B)
+#define SDEI_1_0_FN_SDEI_PE_UNMASK SDEI_1_0_FN(0x0C)
+#define SDEI_1_0_FN_SDEI_INTERRUPT_BIND SDEI_1_0_FN(0x0D)
+#define SDEI_1_0_FN_SDEI_INTERRUPT_RELEASE SDEI_1_0_FN(0x0E)
+#define SDEI_1_0_FN_SDEI_PRIVATE_RESET SDEI_1_0_FN(0x11)
+#define SDEI_1_0_FN_SDEI_SHARED_RESET SDEI_1_0_FN(0x12)
+#define SDEI_VERSION_MAJOR_SHIFT 48
+#define SDEI_VERSION_MAJOR_MASK 0x7fff
+#define SDEI_VERSION_MINOR_SHIFT 32
+#define SDEI_VERSION_MINOR_MASK 0xffff
+#define SDEI_VERSION_VENDOR_SHIFT 0
+#define SDEI_VERSION_VENDOR_MASK 0xffffffff
+#define SDEI_VERSION_MAJOR(x) (x >> SDEI_VERSION_MAJOR_SHIFT & SDEI_VERSION_MAJOR_MASK)
+#define SDEI_VERSION_MINOR(x) (x >> SDEI_VERSION_MINOR_SHIFT & SDEI_VERSION_MINOR_MASK)
+#define SDEI_VERSION_VENDOR(x) (x >> SDEI_VERSION_VENDOR_SHIFT & SDEI_VERSION_VENDOR_MASK)
+#define SDEI_SUCCESS 0
+#define SDEI_NOT_SUPPORTED - 1
+#define SDEI_INVALID_PARAMETERS - 2
+#define SDEI_DENIED - 3
+#define SDEI_PENDING - 5
+#define SDEI_OUT_OF_RESOURCE - 10
+#define SDEI_EVENT_REGISTER_RM_ANY 0
+#define SDEI_EVENT_REGISTER_RM_PE 1
+#define SDEI_EVENT_STATUS_RUNNING 2
+#define SDEI_EVENT_STATUS_ENABLED 1
+#define SDEI_EVENT_STATUS_REGISTERED 0
+#define SDEI_EV_HANDLED 0
+#define SDEI_EV_FAILED 1
+#define SDEI_EVENT_INFO_EV_TYPE 0
+#define SDEI_EVENT_INFO_EV_SIGNALED 1
+#define SDEI_EVENT_INFO_EV_PRIORITY 2
+#define SDEI_EVENT_INFO_EV_ROUTING_MODE 3
+#define SDEI_EVENT_INFO_EV_ROUTING_AFF 4
+#define SDEI_EVENT_TYPE_PRIVATE 0
+#define SDEI_EVENT_TYPE_SHARED 1
+#define SDEI_EVENT_PRIORITY_NORMAL 0
+#define SDEI_EVENT_PRIORITY_CRITICAL 1
+#endif
diff --git a/libc/kernel/uapi/linux/batadv_packet.h b/libc/kernel/uapi/linux/batadv_packet.h
new file mode 100644
index 0000000..6d5226c
--- /dev/null
+++ b/libc/kernel/uapi/linux/batadv_packet.h
@@ -0,0 +1,280 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI_LINUX_BATADV_PACKET_H_
+#define _UAPI_LINUX_BATADV_PACKET_H_
+#include <asm/byteorder.h>
+#include <linux/if_ether.h>
+#include <linux/types.h>
+#define batadv_tp_is_error(n) ((__u8) (n) > 127 ? 1 : 0)
+enum batadv_packettype {
+  BATADV_IV_OGM = 0x00,
+  BATADV_BCAST = 0x01,
+  BATADV_CODED = 0x02,
+  BATADV_ELP = 0x03,
+  BATADV_OGM2 = 0x04,
+#define BATADV_UNICAST_MIN 0x40
+  BATADV_UNICAST = 0x40,
+  BATADV_UNICAST_FRAG = 0x41,
+  BATADV_UNICAST_4ADDR = 0x42,
+  BATADV_ICMP = 0x43,
+  BATADV_UNICAST_TVLV = 0x44,
+#define BATADV_UNICAST_MAX 0x7f
+};
+enum batadv_subtype {
+  BATADV_P_DATA = 0x01,
+  BATADV_P_DAT_DHT_GET = 0x02,
+  BATADV_P_DAT_DHT_PUT = 0x03,
+  BATADV_P_DAT_CACHE_REPLY = 0x04,
+};
+#define BATADV_COMPAT_VERSION 15
+enum batadv_iv_flags {
+  BATADV_NOT_BEST_NEXT_HOP = 1UL << 0,
+  BATADV_PRIMARIES_FIRST_HOP = 1UL << 1,
+  BATADV_DIRECTLINK = 1UL << 2,
+};
+enum batadv_icmp_packettype {
+  BATADV_ECHO_REPLY = 0,
+  BATADV_DESTINATION_UNREACHABLE = 3,
+  BATADV_ECHO_REQUEST = 8,
+  BATADV_TTL_EXCEEDED = 11,
+  BATADV_PARAMETER_PROBLEM = 12,
+  BATADV_TP = 15,
+};
+enum batadv_mcast_flags {
+  BATADV_MCAST_WANT_ALL_UNSNOOPABLES = 1UL << 0,
+  BATADV_MCAST_WANT_ALL_IPV4 = 1UL << 1,
+  BATADV_MCAST_WANT_ALL_IPV6 = 1UL << 2,
+};
+#define BATADV_TT_DATA_TYPE_MASK 0x0F
+enum batadv_tt_data_flags {
+  BATADV_TT_OGM_DIFF = 1UL << 0,
+  BATADV_TT_REQUEST = 1UL << 1,
+  BATADV_TT_RESPONSE = 1UL << 2,
+  BATADV_TT_FULL_TABLE = 1UL << 4,
+};
+enum batadv_vlan_flags {
+  BATADV_VLAN_HAS_TAG = 1UL << 15,
+};
+enum batadv_bla_claimframe {
+  BATADV_CLAIM_TYPE_CLAIM = 0x00,
+  BATADV_CLAIM_TYPE_UNCLAIM = 0x01,
+  BATADV_CLAIM_TYPE_ANNOUNCE = 0x02,
+  BATADV_CLAIM_TYPE_REQUEST = 0x03,
+  BATADV_CLAIM_TYPE_LOOPDETECT = 0x04,
+};
+enum batadv_tvlv_type {
+  BATADV_TVLV_GW = 0x01,
+  BATADV_TVLV_DAT = 0x02,
+  BATADV_TVLV_NC = 0x03,
+  BATADV_TVLV_TT = 0x04,
+  BATADV_TVLV_ROAM = 0x05,
+  BATADV_TVLV_MCAST = 0x06,
+};
+#pragma pack(2)
+struct batadv_bla_claim_dst {
+  __u8 magic[3];
+  __u8 type;
+  __be16 group;
+};
+struct batadv_ogm_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 flags;
+  __be32 seqno;
+  __u8 orig[ETH_ALEN];
+  __u8 prev_sender[ETH_ALEN];
+  __u8 reserved;
+  __u8 tq;
+  __be16 tvlv_len;
+};
+#define BATADV_OGM_HLEN sizeof(struct batadv_ogm_packet)
+struct batadv_ogm2_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 flags;
+  __be32 seqno;
+  __u8 orig[ETH_ALEN];
+  __be16 tvlv_len;
+  __be32 throughput;
+};
+#define BATADV_OGM2_HLEN sizeof(struct batadv_ogm2_packet)
+struct batadv_elp_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 orig[ETH_ALEN];
+  __be32 seqno;
+  __be32 elp_interval;
+};
+#define BATADV_ELP_HLEN sizeof(struct batadv_elp_packet)
+struct batadv_icmp_header {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 msg_type;
+  __u8 dst[ETH_ALEN];
+  __u8 orig[ETH_ALEN];
+  __u8 uid;
+  __u8 align[3];
+};
+struct batadv_icmp_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 msg_type;
+  __u8 dst[ETH_ALEN];
+  __u8 orig[ETH_ALEN];
+  __u8 uid;
+  __u8 reserved;
+  __be16 seqno;
+};
+struct batadv_icmp_tp_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 msg_type;
+  __u8 dst[ETH_ALEN];
+  __u8 orig[ETH_ALEN];
+  __u8 uid;
+  __u8 subtype;
+  __u8 session[2];
+  __be32 seqno;
+  __be32 timestamp;
+};
+enum batadv_icmp_tp_subtype {
+  BATADV_TP_MSG = 0,
+  BATADV_TP_ACK,
+};
+#define BATADV_RR_LEN 16
+struct batadv_icmp_packet_rr {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 msg_type;
+  __u8 dst[ETH_ALEN];
+  __u8 orig[ETH_ALEN];
+  __u8 uid;
+  __u8 rr_cur;
+  __be16 seqno;
+  __u8 rr[BATADV_RR_LEN][ETH_ALEN];
+};
+#define BATADV_ICMP_MAX_PACKET_SIZE sizeof(struct batadv_icmp_packet_rr)
+struct batadv_unicast_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 ttvn;
+  __u8 dest[ETH_ALEN];
+};
+struct batadv_unicast_4addr_packet {
+  struct batadv_unicast_packet u;
+  __u8 src[ETH_ALEN];
+  __u8 subtype;
+  __u8 reserved;
+};
+struct batadv_frag_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+#ifdef __BIG_ENDIAN_BITFIELD
+  __u8 no : 4;
+  __u8 priority : 3;
+  __u8 reserved : 1;
+#elif defined(__LITTLE_ENDIAN_BITFIELD)
+  __u8 reserved : 1;
+  __u8 priority : 3;
+  __u8 no : 4;
+#else
+#error "unknown bitfield endianness"
+#endif
+  __u8 dest[ETH_ALEN];
+  __u8 orig[ETH_ALEN];
+  __be16 seqno;
+  __be16 total_size;
+};
+struct batadv_bcast_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 reserved;
+  __be32 seqno;
+  __u8 orig[ETH_ALEN];
+};
+struct batadv_coded_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 first_ttvn;
+  __u8 first_source[ETH_ALEN];
+  __u8 first_orig_dest[ETH_ALEN];
+  __be32 first_crc;
+  __u8 second_ttl;
+  __u8 second_ttvn;
+  __u8 second_dest[ETH_ALEN];
+  __u8 second_source[ETH_ALEN];
+  __u8 second_orig_dest[ETH_ALEN];
+  __be32 second_crc;
+  __be16 coded_len;
+};
+struct batadv_unicast_tvlv_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 reserved;
+  __u8 dst[ETH_ALEN];
+  __u8 src[ETH_ALEN];
+  __be16 tvlv_len;
+  __u16 align;
+};
+struct batadv_tvlv_hdr {
+  __u8 type;
+  __u8 version;
+  __be16 len;
+};
+struct batadv_tvlv_gateway_data {
+  __be32 bandwidth_down;
+  __be32 bandwidth_up;
+};
+struct batadv_tvlv_tt_data {
+  __u8 flags;
+  __u8 ttvn;
+  __be16 num_vlan;
+};
+struct batadv_tvlv_tt_vlan_data {
+  __be32 crc;
+  __be16 vid;
+  __u16 reserved;
+};
+struct batadv_tvlv_tt_change {
+  __u8 flags;
+  __u8 reserved[3];
+  __u8 addr[ETH_ALEN];
+  __be16 vid;
+};
+struct batadv_tvlv_roam_adv {
+  __u8 client[ETH_ALEN];
+  __be16 vid;
+};
+struct batadv_tvlv_mcast_data {
+  __u8 flags;
+  __u8 reserved[3];
+};
+#pragma pack()
+#endif
diff --git a/libc/kernel/uapi/linux/batman_adv.h b/libc/kernel/uapi/linux/batman_adv.h
index 65568f9..efec2bb 100644
--- a/libc/kernel/uapi/linux/batman_adv.h
+++ b/libc/kernel/uapi/linux/batman_adv.h
@@ -30,6 +30,13 @@
   BATADV_TT_CLIENT_PENDING = (1 << 10),
   BATADV_TT_CLIENT_TEMP = (1 << 11),
 };
+enum batadv_mcast_flags_priv {
+  BATADV_MCAST_FLAGS_BRIDGED = (1 << 0),
+  BATADV_MCAST_FLAGS_QUERIER_IPV4_EXISTS = (1 << 1),
+  BATADV_MCAST_FLAGS_QUERIER_IPV6_EXISTS = (1 << 2),
+  BATADV_MCAST_FLAGS_QUERIER_IPV4_SHADOWING = (1 << 3),
+  BATADV_MCAST_FLAGS_QUERIER_IPV6_SHADOWING = (1 << 4),
+};
 enum batadv_nl_attrs {
   BATADV_ATTR_UNSPEC,
   BATADV_ATTR_VERSION,
@@ -66,6 +73,11 @@
   BATADV_ATTR_BLA_VID,
   BATADV_ATTR_BLA_BACKBONE,
   BATADV_ATTR_BLA_CRC,
+  BATADV_ATTR_DAT_CACHE_IP4ADDRESS,
+  BATADV_ATTR_DAT_CACHE_HWADDRESS,
+  BATADV_ATTR_DAT_CACHE_VID,
+  BATADV_ATTR_MCAST_FLAGS,
+  BATADV_ATTR_MCAST_FLAGS_PRIV,
   __BATADV_ATTR_AFTER_LAST,
   NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
   BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
@@ -84,6 +96,8 @@
   BATADV_CMD_GET_GATEWAYS,
   BATADV_CMD_GET_BLA_CLAIM,
   BATADV_CMD_GET_BLA_BACKBONE,
+  BATADV_CMD_GET_DAT_CACHE,
+  BATADV_CMD_GET_MCAST_FLAGS,
   __BATADV_CMD_AFTER_LAST,
   BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
 };
diff --git a/libc/kernel/uapi/linux/bpf.h b/libc/kernel/uapi/linux/bpf.h
index 9ac0729..0eb0d45 100644
--- a/libc/kernel/uapi/linux/bpf.h
+++ b/libc/kernel/uapi/linux/bpf.h
@@ -83,6 +83,7 @@
   BPF_MAP_GET_FD_BY_ID,
   BPF_OBJ_GET_INFO_BY_FD,
   BPF_PROG_QUERY,
+  BPF_RAW_TRACEPOINT_OPEN,
 };
 enum bpf_map_type {
   BPF_MAP_TYPE_UNSPEC,
@@ -120,6 +121,9 @@
   BPF_PROG_TYPE_SOCK_OPS,
   BPF_PROG_TYPE_SK_SKB,
   BPF_PROG_TYPE_CGROUP_DEVICE,
+  BPF_PROG_TYPE_SK_MSG,
+  BPF_PROG_TYPE_RAW_TRACEPOINT,
+  BPF_PROG_TYPE_CGROUP_SOCK_ADDR,
 };
 enum bpf_attach_type {
   BPF_CGROUP_INET_INGRESS,
@@ -129,6 +133,13 @@
   BPF_SK_SKB_STREAM_PARSER,
   BPF_SK_SKB_STREAM_VERDICT,
   BPF_CGROUP_DEVICE,
+  BPF_SK_MSG_VERDICT,
+  BPF_CGROUP_INET4_BIND,
+  BPF_CGROUP_INET6_BIND,
+  BPF_CGROUP_INET4_CONNECT,
+  BPF_CGROUP_INET6_CONNECT,
+  BPF_CGROUP_INET4_POST_BIND,
+  BPF_CGROUP_INET6_POST_BIND,
   __MAX_BPF_ATTACH_TYPE
 };
 #define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
@@ -136,6 +147,7 @@
 #define BPF_F_ALLOW_MULTI (1U << 1)
 #define BPF_F_STRICT_ALIGNMENT (1U << 0)
 #define BPF_PSEUDO_MAP_FD 1
+#define BPF_PSEUDO_CALL 1
 #define BPF_ANY 0
 #define BPF_NOEXIST 1
 #define BPF_EXIST 2
@@ -146,6 +158,21 @@
 #define BPF_OBJ_NAME_LEN 16U
 #define BPF_F_RDONLY (1U << 3)
 #define BPF_F_WRONLY (1U << 4)
+#define BPF_F_STACK_BUILD_ID (1U << 5)
+enum bpf_stack_build_id_status {
+  BPF_STACK_BUILD_ID_EMPTY = 0,
+  BPF_STACK_BUILD_ID_VALID = 1,
+  BPF_STACK_BUILD_ID_IP = 2,
+};
+#define BPF_BUILD_ID_SIZE 20
+struct bpf_stack_build_id {
+  __s32 status;
+  unsigned char build_id[BPF_BUILD_ID_SIZE];
+  union {
+    __u64 offset;
+    __u64 ip;
+  };
+};
 union bpf_attr {
   struct {
     __u32 map_type;
@@ -156,6 +183,7 @@
     __u32 inner_map_fd;
     __u32 numa_node;
     char map_name[BPF_OBJ_NAME_LEN];
+    __u32 map_ifindex;
   };
   struct {
     __u32 map_fd;
@@ -178,6 +206,7 @@
     __u32 prog_flags;
     char prog_name[BPF_OBJ_NAME_LEN];
     __u32 prog_ifindex;
+    __u32 expected_attach_type;
   };
   struct {
     __aligned_u64 pathname;
@@ -222,8 +251,12 @@
     __aligned_u64 prog_ids;
     __u32 prog_cnt;
   } query;
+  struct {
+    __u64 name;
+    __u32 prog_fd;
+  } raw_tracepoint;
 } __attribute__((aligned(8)));
-#define __BPF_FUNC_MAPPER(FN) FN(unspec), FN(map_lookup_elem), FN(map_update_elem), FN(map_delete_elem), FN(probe_read), FN(ktime_get_ns), FN(trace_printk), FN(get_prandom_u32), FN(get_smp_processor_id), FN(skb_store_bytes), FN(l3_csum_replace), FN(l4_csum_replace), FN(tail_call), FN(clone_redirect), FN(get_current_pid_tgid), FN(get_current_uid_gid), FN(get_current_comm), FN(get_cgroup_classid), FN(skb_vlan_push), FN(skb_vlan_pop), FN(skb_get_tunnel_key), FN(skb_set_tunnel_key), FN(perf_event_read), FN(redirect), FN(get_route_realm), FN(perf_event_output), FN(skb_load_bytes), FN(get_stackid), FN(csum_diff), FN(skb_get_tunnel_opt), FN(skb_set_tunnel_opt), FN(skb_change_proto), FN(skb_change_type), FN(skb_under_cgroup), FN(get_hash_recalc), FN(get_current_task), FN(probe_write_user), FN(current_task_under_cgroup), FN(skb_change_tail), FN(skb_pull_data), FN(csum_update), FN(set_hash_invalid), FN(get_numa_node_id), FN(skb_change_head), FN(xdp_adjust_head), FN(probe_read_str), FN(get_socket_cookie), FN(get_socket_uid), FN(set_hash), FN(setsockopt), FN(skb_adjust_room), FN(redirect_map), FN(sk_redirect_map), FN(sock_map_update), FN(xdp_adjust_meta), FN(perf_event_read_value), FN(perf_prog_read_value), FN(getsockopt),
+#define __BPF_FUNC_MAPPER(FN) FN(unspec), FN(map_lookup_elem), FN(map_update_elem), FN(map_delete_elem), FN(probe_read), FN(ktime_get_ns), FN(trace_printk), FN(get_prandom_u32), FN(get_smp_processor_id), FN(skb_store_bytes), FN(l3_csum_replace), FN(l4_csum_replace), FN(tail_call), FN(clone_redirect), FN(get_current_pid_tgid), FN(get_current_uid_gid), FN(get_current_comm), FN(get_cgroup_classid), FN(skb_vlan_push), FN(skb_vlan_pop), FN(skb_get_tunnel_key), FN(skb_set_tunnel_key), FN(perf_event_read), FN(redirect), FN(get_route_realm), FN(perf_event_output), FN(skb_load_bytes), FN(get_stackid), FN(csum_diff), FN(skb_get_tunnel_opt), FN(skb_set_tunnel_opt), FN(skb_change_proto), FN(skb_change_type), FN(skb_under_cgroup), FN(get_hash_recalc), FN(get_current_task), FN(probe_write_user), FN(current_task_under_cgroup), FN(skb_change_tail), FN(skb_pull_data), FN(csum_update), FN(set_hash_invalid), FN(get_numa_node_id), FN(skb_change_head), FN(xdp_adjust_head), FN(probe_read_str), FN(get_socket_cookie), FN(get_socket_uid), FN(set_hash), FN(setsockopt), FN(skb_adjust_room), FN(redirect_map), FN(sk_redirect_map), FN(sock_map_update), FN(xdp_adjust_meta), FN(perf_event_read_value), FN(perf_prog_read_value), FN(getsockopt), FN(override_return), FN(sock_ops_cb_flags_set), FN(msg_redirect_map), FN(msg_apply_bytes), FN(msg_cork_bytes), FN(msg_pull_data), FN(bind),
 #define __BPF_ENUM_FN(x) BPF_FUNC_ ##x
 enum bpf_func_id {
   __BPF_FUNC_MAPPER(__BPF_ENUM_FN) __BPF_FUNC_MAX_ID,
@@ -243,6 +276,7 @@
 #define BPF_F_REUSE_STACKID (1ULL << 10)
 #define BPF_F_ZERO_CSUM_TX (1ULL << 1)
 #define BPF_F_DONT_FRAGMENT (1ULL << 2)
+#define BPF_F_SEQ_NUMBER (1ULL << 3)
 #define BPF_F_INDEX_MASK 0xffffffffULL
 #define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK
 #define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
@@ -300,6 +334,9 @@
   __u32 protocol;
   __u32 mark;
   __u32 priority;
+  __u32 src_ip4;
+  __u32 src_ip6[4];
+  __u32 src_port;
 };
 #define XDP_PACKET_HEADROOM 256
 enum xdp_action {
@@ -313,11 +350,17 @@
   __u32 data;
   __u32 data_end;
   __u32 data_meta;
+  __u32 ingress_ifindex;
+  __u32 rx_queue_index;
 };
 enum sk_action {
   SK_DROP = 0,
   SK_PASS,
 };
+struct sk_msg_md {
+  void * data;
+  void * data_end;
+};
 #define BPF_TAG_SIZE 8
 struct bpf_prog_info {
   __u32 type;
@@ -332,6 +375,10 @@
   __u32 nr_map_ids;
   __aligned_u64 map_ids;
   char name[BPF_OBJ_NAME_LEN];
+  __u32 ifindex;
+  __u32 : 32;
+  __u64 netns_dev;
+  __u64 netns_ino;
 } __attribute__((aligned(8)));
 struct bpf_map_info {
   __u32 type;
@@ -341,10 +388,24 @@
   __u32 max_entries;
   __u32 map_flags;
   char name[BPF_OBJ_NAME_LEN];
+  __u32 ifindex;
+  __u32 : 32;
+  __u64 netns_dev;
+  __u64 netns_ino;
 } __attribute__((aligned(8)));
+struct bpf_sock_addr {
+  __u32 user_family;
+  __u32 user_ip4;
+  __u32 user_ip6[4];
+  __u32 user_port;
+  __u32 family;
+  __u32 type;
+  __u32 protocol;
+};
 struct bpf_sock_ops {
   __u32 op;
   union {
+    __u32 args[4];
     __u32 reply;
     __u32 replylong[4];
   };
@@ -355,7 +416,37 @@
   __u32 local_ip6[4];
   __u32 remote_port;
   __u32 local_port;
+  __u32 is_fullsock;
+  __u32 snd_cwnd;
+  __u32 srtt_us;
+  __u32 bpf_sock_ops_cb_flags;
+  __u32 state;
+  __u32 rtt_min;
+  __u32 snd_ssthresh;
+  __u32 rcv_nxt;
+  __u32 snd_nxt;
+  __u32 snd_una;
+  __u32 mss_cache;
+  __u32 ecn_flags;
+  __u32 rate_delivered;
+  __u32 rate_interval_us;
+  __u32 packets_out;
+  __u32 retrans_out;
+  __u32 total_retrans;
+  __u32 segs_in;
+  __u32 data_segs_in;
+  __u32 segs_out;
+  __u32 data_segs_out;
+  __u32 lost_out;
+  __u32 sacked_out;
+  __u32 sk_txhash;
+  __u64 bytes_received;
+  __u64 bytes_acked;
 };
+#define BPF_SOCK_OPS_RTO_CB_FLAG (1 << 0)
+#define BPF_SOCK_OPS_RETRANS_CB_FLAG (1 << 1)
+#define BPF_SOCK_OPS_STATE_CB_FLAG (1 << 2)
+#define BPF_SOCK_OPS_ALL_CB_FLAGS 0x7
 enum {
   BPF_SOCK_OPS_VOID,
   BPF_SOCK_OPS_TIMEOUT_INIT,
@@ -365,6 +456,24 @@
   BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB,
   BPF_SOCK_OPS_NEEDS_ECN,
   BPF_SOCK_OPS_BASE_RTT,
+  BPF_SOCK_OPS_RTO_CB,
+  BPF_SOCK_OPS_RETRANS_CB,
+  BPF_SOCK_OPS_STATE_CB,
+};
+enum {
+  BPF_TCP_ESTABLISHED = 1,
+  BPF_TCP_SYN_SENT,
+  BPF_TCP_SYN_RECV,
+  BPF_TCP_FIN_WAIT1,
+  BPF_TCP_FIN_WAIT2,
+  BPF_TCP_TIME_WAIT,
+  BPF_TCP_CLOSE,
+  BPF_TCP_CLOSE_WAIT,
+  BPF_TCP_LAST_ACK,
+  BPF_TCP_LISTEN,
+  BPF_TCP_CLOSING,
+  BPF_TCP_NEW_SYN_RECV,
+  BPF_TCP_MAX_STATES
 };
 #define TCP_BPF_IW 1001
 #define TCP_BPF_SNDCWND_CLAMP 1002
@@ -383,4 +492,7 @@
   __u32 major;
   __u32 minor;
 };
+struct bpf_raw_tracepoint_args {
+  __u64 args[0];
+};
 #endif
diff --git a/libc/kernel/uapi/linux/bpf_perf_event.h b/libc/kernel/uapi/linux/bpf_perf_event.h
index 7a8d212..190b916 100644
--- a/libc/kernel/uapi/linux/bpf_perf_event.h
+++ b/libc/kernel/uapi/linux/bpf_perf_event.h
@@ -22,5 +22,6 @@
 struct bpf_perf_event_data {
   bpf_user_pt_regs_t regs;
   __u64 sample_period;
+  __u64 addr;
 };
 #endif
diff --git a/libc/kernel/uapi/linux/btrfs.h b/libc/kernel/uapi/linux/btrfs.h
index aa7c105..a162bb0 100644
--- a/libc/kernel/uapi/linux/btrfs.h
+++ b/libc/kernel/uapi/linux/btrfs.h
@@ -29,6 +29,10 @@
   char name[BTRFS_PATH_NAME_MAX + 1];
 };
 #define BTRFS_DEVICE_PATH_NAME_MAX 1024
+#define BTRFS_SUBVOL_NAME_MAX 4039
+#define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
+#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
+#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
 #define BTRFS_DEVICE_SPEC_BY_ID (1ULL << 3)
 #define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED (BTRFS_SUBVOL_CREATE_ASYNC | BTRFS_SUBVOL_RDONLY | BTRFS_SUBVOL_QGROUP_INHERIT | BTRFS_DEVICE_SPEC_BY_ID)
 #define BTRFS_FSID_SIZE 16
@@ -60,10 +64,6 @@
   __u64 qgroupid;
   struct btrfs_qgroup_limit lim;
 };
-#define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
-#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
-#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
-#define BTRFS_SUBVOL_NAME_MAX 4039
 struct btrfs_ioctl_vol_args_v2 {
   __s64 fd;
   __u64 transid;
diff --git a/libc/kernel/uapi/linux/btrfs_tree.h b/libc/kernel/uapi/linux/btrfs_tree.h
index c2fbd40..6a461ec 100644
--- a/libc/kernel/uapi/linux/btrfs_tree.h
+++ b/libc/kernel/uapi/linux/btrfs_tree.h
@@ -164,6 +164,8 @@
 #define BTRFS_SUPER_FLAG_ERROR (1ULL << 2)
 #define BTRFS_SUPER_FLAG_SEEDING (1ULL << 32)
 #define BTRFS_SUPER_FLAG_METADUMP (1ULL << 33)
+#define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34)
+#define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35)
 struct btrfs_extent_item {
   __le64 refs;
   __le64 generation;
diff --git a/libc/kernel/uapi/linux/can/netlink.h b/libc/kernel/uapi/linux/can/netlink.h
index 7df626d..ddf9058 100644
--- a/libc/kernel/uapi/linux/can/netlink.h
+++ b/libc/kernel/uapi/linux/can/netlink.h
@@ -92,6 +92,7 @@
   IFLA_CAN_TERMINATION_CONST,
   IFLA_CAN_BITRATE_CONST,
   IFLA_CAN_DATA_BITRATE_CONST,
+  IFLA_CAN_BITRATE_MAX,
   __IFLA_CAN_MAX
 };
 #define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1)
diff --git a/libc/kernel/uapi/linux/const.h b/libc/kernel/uapi/linux/const.h
index 82b8bcd..6a4c1f7 100644
--- a/libc/kernel/uapi/linux/const.h
+++ b/libc/kernel/uapi/linux/const.h
@@ -16,8 +16,8 @@
  ***
  ****************************************************************************
  ****************************************************************************/
-#ifndef _LINUX_CONST_H
-#define _LINUX_CONST_H
+#ifndef _UAPI_LINUX_CONST_H
+#define _UAPI_LINUX_CONST_H
 #ifdef __ASSEMBLY__
 #define _AC(X,Y) X
 #define _AT(T,X) X
@@ -26,6 +26,8 @@
 #define _AC(X,Y) __AC(X, Y)
 #define _AT(T,X) ((T) (X))
 #endif
-#define _BITUL(x) (_AC(1, UL) << (x))
-#define _BITULL(x) (_AC(1, ULL) << (x))
+#define _UL(x) (_AC(x, UL))
+#define _ULL(x) (_AC(x, ULL))
+#define _BITUL(x) (_UL(1) << (x))
+#define _BITULL(x) (_ULL(1) << (x))
 #endif
diff --git a/libc/kernel/uapi/linux/devlink.h b/libc/kernel/uapi/linux/devlink.h
index 1d5c43c..07c5752 100644
--- a/libc/kernel/uapi/linux/devlink.h
+++ b/libc/kernel/uapi/linux/devlink.h
@@ -59,6 +59,9 @@
   DEVLINK_CMD_DPIPE_ENTRIES_GET,
   DEVLINK_CMD_DPIPE_HEADERS_GET,
   DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET,
+  DEVLINK_CMD_RESOURCE_SET,
+  DEVLINK_CMD_RESOURCE_DUMP,
+  DEVLINK_CMD_RELOAD,
   __DEVLINK_CMD_MAX,
   DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
 };
@@ -155,6 +158,20 @@
   DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE,
   DEVLINK_ATTR_PAD,
   DEVLINK_ATTR_ESWITCH_ENCAP_MODE,
+  DEVLINK_ATTR_RESOURCE_LIST,
+  DEVLINK_ATTR_RESOURCE,
+  DEVLINK_ATTR_RESOURCE_NAME,
+  DEVLINK_ATTR_RESOURCE_ID,
+  DEVLINK_ATTR_RESOURCE_SIZE,
+  DEVLINK_ATTR_RESOURCE_SIZE_NEW,
+  DEVLINK_ATTR_RESOURCE_SIZE_VALID,
+  DEVLINK_ATTR_RESOURCE_SIZE_MIN,
+  DEVLINK_ATTR_RESOURCE_SIZE_MAX,
+  DEVLINK_ATTR_RESOURCE_SIZE_GRAN,
+  DEVLINK_ATTR_RESOURCE_UNIT,
+  DEVLINK_ATTR_RESOURCE_OCC,
+  DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID,
+  DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,
   __DEVLINK_ATTR_MAX,
   DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
 };
@@ -182,4 +199,7 @@
   DEVLINK_DPIPE_HEADER_IPV4,
   DEVLINK_DPIPE_HEADER_IPV6,
 };
+enum devlink_resource_unit {
+  DEVLINK_RESOURCE_UNIT_ENTRY,
+};
 #endif
diff --git a/libc/kernel/uapi/linux/dm-ioctl.h b/libc/kernel/uapi/linux/dm-ioctl.h
index cc340b5..05847a7 100644
--- a/libc/kernel/uapi/linux/dm-ioctl.h
+++ b/libc/kernel/uapi/linux/dm-ioctl.h
@@ -102,9 +102,9 @@
 #define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
 #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
 #define DM_VERSION_MAJOR 4
-#define DM_VERSION_MINOR 37
+#define DM_VERSION_MINOR 39
 #define DM_VERSION_PATCHLEVEL 0
-#define DM_VERSION_EXTRA "-ioctl(2017-09-20)"
+#define DM_VERSION_EXTRA "-ioctl(2018-04-03)"
 #define DM_READONLY_FLAG (1 << 0)
 #define DM_SUSPEND_FLAG (1 << 1)
 #define DM_PERSISTENT_DEV_FLAG (1 << 3)
diff --git a/libc/kernel/uapi/linux/dvb/dmx.h b/libc/kernel/uapi/linux/dvb/dmx.h
index d4ea26e..e142e57 100644
--- a/libc/kernel/uapi/linux/dvb/dmx.h
+++ b/libc/kernel/uapi/linux/dvb/dmx.h
@@ -85,6 +85,30 @@
   unsigned int base;
   __u64 stc;
 };
+enum dmx_buffer_flags {
+  DMX_BUFFER_FLAG_HAD_CRC32_DISCARD = 1 << 0,
+  DMX_BUFFER_FLAG_TEI = 1 << 1,
+  DMX_BUFFER_PKT_COUNTER_MISMATCH = 1 << 2,
+  DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED = 1 << 3,
+  DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR = 1 << 4,
+};
+struct dmx_buffer {
+  __u32 index;
+  __u32 bytesused;
+  __u32 offset;
+  __u32 length;
+  __u32 flags;
+  __u32 count;
+};
+struct dmx_requestbuffers {
+  __u32 count;
+  __u32 size;
+};
+struct dmx_exportbuffer {
+  __u32 index;
+  __u32 flags;
+  __s32 fd;
+};
 #define DMX_START _IO('o', 41)
 #define DMX_STOP _IO('o', 42)
 #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
@@ -98,4 +122,9 @@
 typedef enum dmx_input dmx_input_t;
 typedef enum dmx_ts_pes dmx_pes_type_t;
 typedef struct dmx_filter dmx_filter_t;
+#define DMX_REQBUFS _IOWR('o', 60, struct dmx_requestbuffers)
+#define DMX_QUERYBUF _IOWR('o', 61, struct dmx_buffer)
+#define DMX_EXPBUF _IOWR('o', 62, struct dmx_exportbuffer)
+#define DMX_QBUF _IOWR('o', 63, struct dmx_buffer)
+#define DMX_DQBUF _IOWR('o', 64, struct dmx_buffer)
 #endif
diff --git a/libc/kernel/uapi/linux/dvb/frontend.h b/libc/kernel/uapi/linux/dvb/frontend.h
index c8a48c1..d060138 100644
--- a/libc/kernel/uapi/linux/dvb/frontend.h
+++ b/libc/kernel/uapi/linux/dvb/frontend.h
@@ -247,7 +247,8 @@
 #define DTV_STAT_POST_TOTAL_BIT_COUNT 67
 #define DTV_STAT_ERROR_BLOCK_COUNT 68
 #define DTV_STAT_TOTAL_BLOCK_COUNT 69
-#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
+#define DTV_SCRAMBLING_SEQUENCE_INDEX 70
+#define DTV_MAX_COMMAND DTV_SCRAMBLING_SEQUENCE_INDEX
 enum fe_pilot {
   PILOT_ON,
   PILOT_OFF,
diff --git a/libc/kernel/uapi/linux/dvb/version.h b/libc/kernel/uapi/linux/dvb/version.h
index 35cbfb1..47c8c74 100644
--- a/libc/kernel/uapi/linux/dvb/version.h
+++ b/libc/kernel/uapi/linux/dvb/version.h
@@ -19,5 +19,5 @@
 #ifndef _DVBVERSION_H_
 #define _DVBVERSION_H_
 #define DVB_API_VERSION 5
-#define DVB_API_VERSION_MINOR 10
+#define DVB_API_VERSION_MINOR 11
 #endif
diff --git a/libc/kernel/uapi/linux/elf.h b/libc/kernel/uapi/linux/elf.h
index bf35f6c..195ef09 100644
--- a/libc/kernel/uapi/linux/elf.h
+++ b/libc/kernel/uapi/linux/elf.h
@@ -331,6 +331,7 @@
 #define NT_PPC_TM_CTAR 0x10d
 #define NT_PPC_TM_CPPR 0x10e
 #define NT_PPC_TM_CDSCR 0x10f
+#define NT_PPC_PKEY 0x110
 #define NT_386_TLS 0x200
 #define NT_386_IOPERM 0x201
 #define NT_X86_XSTATE 0x202
@@ -354,9 +355,6 @@
 #define NT_ARM_HW_WATCH 0x403
 #define NT_ARM_SYSTEM_CALL 0x404
 #define NT_ARM_SVE 0x405
-#define NT_METAG_CBUF 0x500
-#define NT_METAG_RPIPE 0x501
-#define NT_METAG_TLS 0x502
 #define NT_ARC_V2 0x600
 typedef struct elf32_note {
   Elf32_Word n_namesz;
diff --git a/libc/kernel/uapi/linux/erspan.h b/libc/kernel/uapi/linux/erspan.h
new file mode 100644
index 0000000..790a85e
--- /dev/null
+++ b/libc/kernel/uapi/linux/erspan.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI_ERSPAN_H
+#define _UAPI_ERSPAN_H
+#include <linux/types.h>
+#include <asm/byteorder.h>
+struct erspan_md2 {
+  __be32 timestamp;
+  __be16 sgt;
+#ifdef __LITTLE_ENDIAN_BITFIELD
+  __u8 hwid_upper : 2, ft : 5, p : 1;
+  __u8 o : 1, gra : 2, dir : 1, hwid : 4;
+#elif defined(__BIG_ENDIAN_BITFIELD)
+  __u8 p : 1, ft : 5, hwid_upper : 2;
+  __u8 hwid : 4, dir : 1, gra : 2, o : 1;
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
+};
+struct erspan_metadata {
+  int version;
+  union {
+    __be32 index;
+    struct erspan_md2 md2;
+  } u;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/ethtool.h b/libc/kernel/uapi/linux/ethtool.h
index 6f1c0f3..92607f9 100644
--- a/libc/kernel/uapi/linux/ethtool.h
+++ b/libc/kernel/uapi/linux/ethtool.h
@@ -71,10 +71,13 @@
   __u32 cmd;
   __u32 data;
 };
+#define PFC_STORM_PREVENTION_AUTO 0xffff
+#define PFC_STORM_PREVENTION_DISABLE 0
 enum tunable_id {
   ETHTOOL_ID_UNSPEC,
   ETHTOOL_RX_COPYBREAK,
   ETHTOOL_TX_COPYBREAK,
+  ETHTOOL_PFC_PREVENTION_TOUT,
   __ETHTOOL_TUNABLE_COUNT,
 };
 enum tunable_type_id {
@@ -332,6 +335,7 @@
   __u32 rsvd32;
   __u32 rss_config[0];
 };
+#define ETH_RXFH_CONTEXT_ALLOC 0xffffffff
 #define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff
 struct ethtool_rx_ntuple_flow_spec {
   __u32 flow_type;
@@ -699,6 +703,7 @@
 #define ETHER_FLOW 0x12
 #define FLOW_EXT 0x80000000
 #define FLOW_MAC_EXT 0x40000000
+#define FLOW_RSS 0x20000000
 #define RXH_L2DA (1 << 1)
 #define RXH_VLAN (1 << 2)
 #define RXH_L3_PROTO (1 << 3)
@@ -729,6 +734,7 @@
   ETH_RESET_MAC = 1 << 5,
   ETH_RESET_PHY = 1 << 6,
   ETH_RESET_RAM = 1 << 7,
+  ETH_RESET_AP = 1 << 8,
   ETH_RESET_DEDICATED = 0x0000ffff,
   ETH_RESET_ALL = 0xffffffff,
 };
diff --git a/libc/kernel/uapi/linux/eventpoll.h b/libc/kernel/uapi/linux/eventpoll.h
index eec1077..2e5ba8e 100644
--- a/libc/kernel/uapi/linux/eventpoll.h
+++ b/libc/kernel/uapi/linux/eventpoll.h
@@ -25,21 +25,22 @@
 #define EPOLL_CTL_ADD 1
 #define EPOLL_CTL_DEL 2
 #define EPOLL_CTL_MOD 3
-#define EPOLLIN 0x00000001
-#define EPOLLPRI 0x00000002
-#define EPOLLOUT 0x00000004
-#define EPOLLERR 0x00000008
-#define EPOLLHUP 0x00000010
-#define EPOLLRDNORM 0x00000040
-#define EPOLLRDBAND 0x00000080
-#define EPOLLWRNORM 0x00000100
-#define EPOLLWRBAND 0x00000200
-#define EPOLLMSG 0x00000400
-#define EPOLLRDHUP 0x00002000
-#define EPOLLEXCLUSIVE (1U << 28)
-#define EPOLLWAKEUP (1U << 29)
-#define EPOLLONESHOT (1U << 30)
-#define EPOLLET (1U << 31)
+#define EPOLLIN (__force __poll_t) 0x00000001
+#define EPOLLPRI (__force __poll_t) 0x00000002
+#define EPOLLOUT (__force __poll_t) 0x00000004
+#define EPOLLERR (__force __poll_t) 0x00000008
+#define EPOLLHUP (__force __poll_t) 0x00000010
+#define EPOLLNVAL (__force __poll_t) 0x00000020
+#define EPOLLRDNORM (__force __poll_t) 0x00000040
+#define EPOLLRDBAND (__force __poll_t) 0x00000080
+#define EPOLLWRNORM (__force __poll_t) 0x00000100
+#define EPOLLWRBAND (__force __poll_t) 0x00000200
+#define EPOLLMSG (__force __poll_t) 0x00000400
+#define EPOLLRDHUP (__force __poll_t) 0x00002000
+#define EPOLLEXCLUSIVE (__force __poll_t) (1U << 28)
+#define EPOLLWAKEUP (__force __poll_t) (1U << 29)
+#define EPOLLONESHOT (__force __poll_t) (1U << 30)
+#define EPOLLET (__force __poll_t) (1U << 31)
 #ifdef __x86_64__
 #define EPOLL_PACKED __attribute__((packed))
 #else
diff --git a/libc/kernel/uapi/linux/fib_rules.h b/libc/kernel/uapi/linux/fib_rules.h
index 6b2a06f..733c1b1 100644
--- a/libc/kernel/uapi/linux/fib_rules.h
+++ b/libc/kernel/uapi/linux/fib_rules.h
@@ -42,6 +42,10 @@
   __u32 start;
   __u32 end;
 };
+struct fib_rule_port_range {
+  __u16 start;
+  __u16 end;
+};
 enum {
   FRA_UNSPEC,
   FRA_DST,
@@ -65,6 +69,10 @@
   FRA_PAD,
   FRA_L3MDEV,
   FRA_UID_RANGE,
+  FRA_PROTOCOL,
+  FRA_IP_PROTO,
+  FRA_SPORT_RANGE,
+  FRA_DPORT_RANGE,
   __FRA_MAX
 };
 #define FRA_MAX (__FRA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/fs.h b/libc/kernel/uapi/linux/fs.h
index f4e74cd..77c45c8 100644
--- a/libc/kernel/uapi/linux/fs.h
+++ b/libc/kernel/uapi/linux/fs.h
@@ -250,5 +250,6 @@
 #define RWF_DSYNC ((__force __kernel_rwf_t) 0x00000002)
 #define RWF_SYNC ((__force __kernel_rwf_t) 0x00000004)
 #define RWF_NOWAIT ((__force __kernel_rwf_t) 0x00000008)
-#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT)
+#define RWF_APPEND ((__force __kernel_rwf_t) 0x00000010)
+#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT | RWF_APPEND)
 #endif
diff --git a/libc/kernel/uapi/linux/gfs2_ondisk.h b/libc/kernel/uapi/linux/gfs2_ondisk.h
index 60a6a26..7d03ba5 100644
--- a/libc/kernel/uapi/linux/gfs2_ondisk.h
+++ b/libc/kernel/uapi/linux/gfs2_ondisk.h
@@ -131,9 +131,16 @@
   __be32 rg_flags;
   __be32 rg_free;
   __be32 rg_dinodes;
-  __be32 __pad;
+  union {
+    __be32 __pad;
+    __be32 rg_skip;
+  };
   __be64 rg_igeneration;
-  __u8 rg_reserved[80];
+  __be64 rg_data0;
+  __be32 rg_data;
+  __be32 rg_bitbytes;
+  __be32 rg_crc;
+  __u8 rg_reserved[60];
 };
 struct gfs2_quota {
   __be64 qu_limit;
@@ -261,6 +268,32 @@
   __u32 __pad;
 };
 #define GFS2_LOG_HEAD_UNMOUNT 0x00000001
+#define GFS2_LOG_HEAD_FLUSH_NORMAL 0x00000002
+#define GFS2_LOG_HEAD_FLUSH_SYNC 0x00000004
+#define GFS2_LOG_HEAD_FLUSH_SHUTDOWN 0x00000008
+#define GFS2_LOG_HEAD_FLUSH_FREEZE 0x00000010
+#define GFS2_LOG_HEAD_RECOVERY 0x00000020
+#define GFS2_LOG_HEAD_USERSPACE 0x80000000
+#define GFS2_LFC_SHUTDOWN 0x00000100
+#define GFS2_LFC_JDATA_WPAGES 0x00000200
+#define GFS2_LFC_SET_FLAGS 0x00000400
+#define GFS2_LFC_AIL_EMPTY_GL 0x00000800
+#define GFS2_LFC_AIL_FLUSH 0x00001000
+#define GFS2_LFC_RGRP_GO_SYNC 0x00002000
+#define GFS2_LFC_INODE_GO_SYNC 0x00004000
+#define GFS2_LFC_INODE_GO_INVAL 0x00008000
+#define GFS2_LFC_FREEZE_GO_SYNC 0x00010000
+#define GFS2_LFC_KILL_SB 0x00020000
+#define GFS2_LFC_DO_SYNC 0x00040000
+#define GFS2_LFC_INPLACE_RESERVE 0x00080000
+#define GFS2_LFC_WRITE_INODE 0x00100000
+#define GFS2_LFC_MAKE_FS_RO 0x00200000
+#define GFS2_LFC_SYNC_FS 0x00400000
+#define GFS2_LFC_EVICT_INODE 0x00800000
+#define GFS2_LFC_TRANS_END 0x01000000
+#define GFS2_LFC_LOGD_JFLUSH_REQD 0x02000000
+#define GFS2_LFC_LOGD_AIL_FLUSH_REQD 0x04000000
+#define LH_V1_SIZE (offsetofend(struct gfs2_log_header, lh_hash))
 struct gfs2_log_header {
   struct gfs2_meta_header lh_header;
   __be64 lh_sequence;
@@ -268,6 +301,16 @@
   __be32 lh_tail;
   __be32 lh_blkno;
   __be32 lh_hash;
+  __be32 lh_crc;
+  __be32 lh_nsec;
+  __be64 lh_sec;
+  __be64 lh_addr;
+  __be64 lh_jinode;
+  __be64 lh_statfs_addr;
+  __be64 lh_quota_addr;
+  __be64 lh_local_total;
+  __be64 lh_local_free;
+  __be64 lh_local_dinodes;
 };
 #define GFS2_LOG_DESC_METADATA 300
 #define GFS2_LOG_DESC_REVOKE 301
diff --git a/libc/kernel/uapi/linux/i2c.h b/libc/kernel/uapi/linux/i2c.h
index bb8f4f5..dc1e96a 100644
--- a/libc/kernel/uapi/linux/i2c.h
+++ b/libc/kernel/uapi/linux/i2c.h
@@ -24,6 +24,7 @@
   __u16 flags;
 #define I2C_M_RD 0x0001
 #define I2C_M_TEN 0x0010
+#define I2C_M_DMA_SAFE 0x0200
 #define I2C_M_RECV_LEN 0x0400
 #define I2C_M_NO_RD_ACK 0x0800
 #define I2C_M_IGNORE_NAK 0x1000
diff --git a/libc/kernel/uapi/linux/if_ether.h b/libc/kernel/uapi/linux/if_ether.h
index 04b6dae..4fb58f1 100644
--- a/libc/kernel/uapi/linux/if_ether.h
+++ b/libc/kernel/uapi/linux/if_ether.h
@@ -19,8 +19,8 @@
 #ifndef _UAPI_LINUX_IF_ETHER_H
 #define _UAPI_LINUX_IF_ETHER_H
 #include <linux/types.h>
-#include <linux/libc-compat.h>
 #define ETH_ALEN 6
+#define ETH_TLEN 2
 #define ETH_HLEN 14
 #define ETH_ZLEN 60
 #define ETH_DATA_LEN 1500
@@ -32,6 +32,7 @@
 #define ETH_P_PUP 0x0200
 #define ETH_P_PUPAT 0x0201
 #define ETH_P_TSN 0x22F0
+#define ETH_P_ERSPAN2 0x22EB
 #define ETH_P_IP 0x0800
 #define ETH_P_X25 0x0805
 #define ETH_P_ARP 0x0806
@@ -69,6 +70,7 @@
 #define ETH_P_AOE 0x88A2
 #define ETH_P_8021AD 0x88A8
 #define ETH_P_802_EX1 0x88B5
+#define ETH_P_PREAUTH 0x88C7
 #define ETH_P_TIPC 0x88CA
 #define ETH_P_MACSEC 0x88E5
 #define ETH_P_8021AH 0x88E7
@@ -117,6 +119,9 @@
 #define ETH_P_CAIF 0x00F7
 #define ETH_P_XDSA 0x00F8
 #define ETH_P_MAP 0x00F9
+#ifndef __UAPI_DEF_ETHHDR
+#define __UAPI_DEF_ETHHDR 1
+#endif
 #if __UAPI_DEF_ETHHDR
 struct ethhdr {
   unsigned char h_dest[ETH_ALEN];
diff --git a/libc/kernel/uapi/linux/if_link.h b/libc/kernel/uapi/linux/if_link.h
index a43eaf7..8a9993b 100644
--- a/libc/kernel/uapi/linux/if_link.h
+++ b/libc/kernel/uapi/linux/if_link.h
@@ -138,6 +138,9 @@
   IFLA_EVENT,
   IFLA_NEW_NETNSID,
   IFLA_IF_NETNSID,
+  IFLA_CARRIER_UP_COUNT,
+  IFLA_CARRIER_DOWN_COUNT,
+  IFLA_NEW_IFINDEX,
   __IFLA_MAX
 };
 #define IFLA_MAX (__IFLA_MAX - 1)
@@ -590,6 +593,8 @@
   IFLA_VF_STATS_BROADCAST,
   IFLA_VF_STATS_MULTICAST,
   IFLA_VF_STATS_PAD,
+  IFLA_VF_STATS_RX_DROPPED,
+  IFLA_VF_STATS_TX_DROPPED,
   __IFLA_VF_STATS_MAX,
 };
 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
@@ -728,4 +733,33 @@
   IFLA_EVENT_IGMP_RESEND,
   IFLA_EVENT_BONDING_OPTIONS,
 };
+enum {
+  IFLA_TUN_UNSPEC,
+  IFLA_TUN_OWNER,
+  IFLA_TUN_GROUP,
+  IFLA_TUN_TYPE,
+  IFLA_TUN_PI,
+  IFLA_TUN_VNET_HDR,
+  IFLA_TUN_PERSIST,
+  IFLA_TUN_MULTI_QUEUE,
+  IFLA_TUN_NUM_QUEUES,
+  IFLA_TUN_NUM_DISABLED_QUEUES,
+  __IFLA_TUN_MAX,
+};
+#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1)
+#define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0)
+#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
+#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
+#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
+enum {
+  IFLA_RMNET_UNSPEC,
+  IFLA_RMNET_MUX_ID,
+  IFLA_RMNET_FLAGS,
+  __IFLA_RMNET_MAX,
+};
+#define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1)
+struct ifla_rmnet_flags {
+  __u32 flags;
+  __u32 mask;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/if_macsec.h b/libc/kernel/uapi/linux/if_macsec.h
index 0031f7d..a58f531 100644
--- a/libc/kernel/uapi/linux/if_macsec.h
+++ b/libc/kernel/uapi/linux/if_macsec.h
@@ -23,8 +23,10 @@
 #define MACSEC_GENL_VERSION 1
 #define MACSEC_MAX_KEY_LEN 128
 #define MACSEC_KEYID_LEN 16
+#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
+#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
 #define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
-#define MACSEC_DEFAULT_CIPHER_ALT 0x0080C20001000001ULL
+#define MACSEC_DEFAULT_CIPHER_ALT MACSEC_CIPHER_ID_GCM_AES_128
 #define MACSEC_MIN_ICV_LEN 8
 #define MACSEC_MAX_ICV_LEN 32
 #define MACSEC_STD_ICV_LEN 16
diff --git a/libc/kernel/uapi/linux/if_tun.h b/libc/kernel/uapi/linux/if_tun.h
index d8757a1..6a3c75e 100644
--- a/libc/kernel/uapi/linux/if_tun.h
+++ b/libc/kernel/uapi/linux/if_tun.h
@@ -49,6 +49,8 @@
 #define TUNGETVNETLE _IOR('T', 221, int)
 #define TUNSETVNETBE _IOW('T', 222, int)
 #define TUNGETVNETBE _IOR('T', 223, int)
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
 #define IFF_TUN 0x0001
 #define IFF_TAP 0x0002
 #define IFF_NAPI 0x0010
diff --git a/libc/kernel/uapi/linux/if_tunnel.h b/libc/kernel/uapi/linux/if_tunnel.h
index 8edc956..d41dc49 100644
--- a/libc/kernel/uapi/linux/if_tunnel.h
+++ b/libc/kernel/uapi/linux/if_tunnel.h
@@ -136,6 +136,9 @@
   IFLA_GRE_IGNORE_DF,
   IFLA_GRE_FWMARK,
   IFLA_GRE_ERSPAN_INDEX,
+  IFLA_GRE_ERSPAN_VER,
+  IFLA_GRE_ERSPAN_DIR,
+  IFLA_GRE_ERSPAN_HWID,
   __IFLA_GRE_MAX,
 };
 #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1)
diff --git a/libc/kernel/uapi/linux/inet_diag.h b/libc/kernel/uapi/linux/inet_diag.h
index 47a3b34..eb9b712 100644
--- a/libc/kernel/uapi/linux/inet_diag.h
+++ b/libc/kernel/uapi/linux/inet_diag.h
@@ -78,6 +78,8 @@
   INET_DIAG_BC_D_COND,
   INET_DIAG_BC_DEV_COND,
   INET_DIAG_BC_MARK_COND,
+  INET_DIAG_BC_S_EQ,
+  INET_DIAG_BC_D_EQ,
 };
 struct inet_diag_hostcond {
   __u8 family;
diff --git a/libc/kernel/uapi/linux/inotify.h b/libc/kernel/uapi/linux/inotify.h
index 0736bd7..653dc07 100644
--- a/libc/kernel/uapi/linux/inotify.h
+++ b/libc/kernel/uapi/linux/inotify.h
@@ -53,4 +53,5 @@
 #define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | IN_MOVE_SELF)
 #define IN_CLOEXEC O_CLOEXEC
 #define IN_NONBLOCK O_NONBLOCK
+#define INOTIFY_IOC_SETNEXTWD _IOW('I', 0, __s32)
 #endif
diff --git a/libc/kernel/uapi/linux/input-event-codes.h b/libc/kernel/uapi/linux/input-event-codes.h
index da90f1c..d8ae4c8 100644
--- a/libc/kernel/uapi/linux/input-event-codes.h
+++ b/libc/kernel/uapi/linux/input-event-codes.h
@@ -532,6 +532,7 @@
 #define BTN_DPAD_LEFT 0x222
 #define BTN_DPAD_RIGHT 0x223
 #define KEY_ALS_TOGGLE 0x230
+#define KEY_ROTATE_LOCK_TOGGLE 0x231
 #define KEY_BUTTONCONFIG 0x240
 #define KEY_TASKMANAGER 0x241
 #define KEY_JOURNAL 0x242
diff --git a/libc/kernel/uapi/linux/input.h b/libc/kernel/uapi/linux/input.h
index 9014059..298e2a3 100644
--- a/libc/kernel/uapi/linux/input.h
+++ b/libc/kernel/uapi/linux/input.h
@@ -24,7 +24,16 @@
 #include <linux/types.h>
 #include "input-event-codes.h"
 struct input_event {
+#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL)
   struct timeval time;
+#define input_event_sec time.tv_sec
+#define input_event_usec time.tv_usec
+#else
+  __kernel_ulong_t __sec;
+  __kernel_ulong_t __usec;
+#define input_event_sec __sec
+#define input_event_usec __usec
+#endif
   __u16 type;
   __u16 code;
   __s32 value;
diff --git a/libc/kernel/uapi/linux/ipmi_bmc.h b/libc/kernel/uapi/linux/ipmi_bmc.h
new file mode 100644
index 0000000..18f8b9d
--- /dev/null
+++ b/libc/kernel/uapi/linux/ipmi_bmc.h
@@ -0,0 +1,26 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI_LINUX_IPMI_BMC_H
+#define _UAPI_LINUX_IPMI_BMC_H
+#include <linux/ioctl.h>
+#define __IPMI_BMC_IOCTL_MAGIC 0xB1
+#define IPMI_BMC_IOCTL_SET_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x00)
+#define IPMI_BMC_IOCTL_CLEAR_SMS_ATN _IO(__IPMI_BMC_IOCTL_MAGIC, 0x01)
+#define IPMI_BMC_IOCTL_FORCE_ABORT _IO(__IPMI_BMC_IOCTL_MAGIC, 0x02)
+#endif
diff --git a/libc/kernel/uapi/linux/irda.h b/libc/kernel/uapi/linux/irda.h
deleted file mode 100644
index c2dffea..0000000
--- a/libc/kernel/uapi/linux/irda.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef KERNEL_IRDA_H
-#define KERNEL_IRDA_H
-#include <linux/types.h>
-#include <linux/socket.h>
-#define HINT_PNP 0x01
-#define HINT_PDA 0x02
-#define HINT_COMPUTER 0x04
-#define HINT_PRINTER 0x08
-#define HINT_MODEM 0x10
-#define HINT_FAX 0x20
-#define HINT_LAN 0x40
-#define HINT_EXTENSION 0x80
-#define HINT_TELEPHONY 0x01
-#define HINT_FILE_SERVER 0x02
-#define HINT_COMM 0x04
-#define HINT_MESSAGE 0x08
-#define HINT_HTTP 0x10
-#define HINT_OBEX 0x20
-#define CS_ASCII 0x00
-#define CS_ISO_8859_1 0x01
-#define CS_ISO_8859_2 0x02
-#define CS_ISO_8859_3 0x03
-#define CS_ISO_8859_4 0x04
-#define CS_ISO_8859_5 0x05
-#define CS_ISO_8859_6 0x06
-#define CS_ISO_8859_7 0x07
-#define CS_ISO_8859_8 0x08
-#define CS_ISO_8859_9 0x09
-#define CS_UNICODE 0xff
-typedef enum {
-  IRDA_TEKRAM_DONGLE = 0,
-  IRDA_ESI_DONGLE = 1,
-  IRDA_ACTISYS_DONGLE = 2,
-  IRDA_ACTISYS_PLUS_DONGLE = 3,
-  IRDA_GIRBIL_DONGLE = 4,
-  IRDA_LITELINK_DONGLE = 5,
-  IRDA_AIRPORT_DONGLE = 6,
-  IRDA_OLD_BELKIN_DONGLE = 7,
-  IRDA_EP7211_IR = 8,
-  IRDA_MCP2120_DONGLE = 9,
-  IRDA_ACT200L_DONGLE = 10,
-  IRDA_MA600_DONGLE = 11,
-  IRDA_TOIM3232_DONGLE = 12,
-  IRDA_EP7211_DONGLE = 13,
-} IRDA_DONGLE;
-enum {
-  IRDAPROTO_UNITDATA = 0,
-  IRDAPROTO_ULTRA = 1,
-  IRDAPROTO_MAX
-};
-#define SOL_IRLMP 266
-#define SOL_IRTTP 266
-#define IRLMP_ENUMDEVICES 1
-#define IRLMP_IAS_SET 2
-#define IRLMP_IAS_QUERY 3
-#define IRLMP_HINTS_SET 4
-#define IRLMP_QOS_SET 5
-#define IRLMP_QOS_GET 6
-#define IRLMP_MAX_SDU_SIZE 7
-#define IRLMP_IAS_GET 8
-#define IRLMP_IAS_DEL 9
-#define IRLMP_HINT_MASK_SET 10
-#define IRLMP_WAITDEVICE 11
-#define IRTTP_MAX_SDU_SIZE IRLMP_MAX_SDU_SIZE
-#define IAS_MAX_STRING 256
-#define IAS_MAX_OCTET_STRING 1024
-#define IAS_MAX_CLASSNAME 60
-#define IAS_MAX_ATTRIBNAME 60
-#define IAS_MAX_ATTRIBNUMBER 256
-#define IAS_EXPORT_CLASSNAME 64
-#define IAS_EXPORT_ATTRIBNAME 256
-#define IAS_MISSING 0
-#define IAS_INTEGER 1
-#define IAS_OCT_SEQ 2
-#define IAS_STRING 3
-#define LSAP_ANY 0xff
-struct sockaddr_irda {
-  __kernel_sa_family_t sir_family;
-  __u8 sir_lsap_sel;
-  __u32 sir_addr;
-  char sir_name[25];
-};
-struct irda_device_info {
-  __u32 saddr;
-  __u32 daddr;
-  char info[22];
-  __u8 charset;
-  __u8 hints[2];
-};
-struct irda_device_list {
-  __u32 len;
-  struct irda_device_info dev[1];
-};
-struct irda_ias_set {
-  char irda_class_name[IAS_EXPORT_CLASSNAME];
-  char irda_attrib_name[IAS_EXPORT_ATTRIBNAME];
-  unsigned int irda_attrib_type;
-  union {
-    unsigned int irda_attrib_int;
-    struct {
-      unsigned short len;
-      __u8 octet_seq[IAS_MAX_OCTET_STRING];
-    } irda_attrib_octet_seq;
-    struct {
-      __u8 len;
-      __u8 charset;
-      __u8 string[IAS_MAX_STRING];
-    } irda_attrib_string;
-  } attribute;
-  __u32 daddr;
-};
-#define SIOCSDONGLE (SIOCDEVPRIVATE + 0)
-#define SIOCGDONGLE (SIOCDEVPRIVATE + 1)
-#define SIOCSBANDWIDTH (SIOCDEVPRIVATE + 2)
-#define SIOCSMEDIABUSY (SIOCDEVPRIVATE + 3)
-#define SIOCGMEDIABUSY (SIOCDEVPRIVATE + 4)
-#define SIOCGRECEIVING (SIOCDEVPRIVATE + 5)
-#define SIOCSMODE (SIOCDEVPRIVATE + 6)
-#define SIOCGMODE (SIOCDEVPRIVATE + 7)
-#define SIOCSDTRRTS (SIOCDEVPRIVATE + 8)
-#define SIOCGQOS (SIOCDEVPRIVATE + 9)
-#define IRNAMSIZ 16
-struct if_irda_qos {
-  unsigned long baudrate;
-  unsigned short data_size;
-  unsigned short window_size;
-  unsigned short min_turn_time;
-  unsigned short max_turn_time;
-  unsigned char add_bofs;
-  unsigned char link_disc;
-};
-struct if_irda_line {
-  __u8 dtr;
-  __u8 rts;
-};
-struct if_irda_req {
-  union {
-    char ifrn_name[IRNAMSIZ];
-  } ifr_ifrn;
-  union {
-    struct if_irda_line ifru_line;
-    struct if_irda_qos ifru_qos;
-    unsigned short ifru_flags;
-    unsigned int ifru_receiving;
-    unsigned int ifru_mode;
-    unsigned int ifru_dongle;
-  } ifr_ifru;
-};
-#define ifr_baudrate ifr_ifru.ifru_qos.baudrate
-#define ifr_receiving ifr_ifru.ifru_receiving
-#define ifr_dongle ifr_ifru.ifru_dongle
-#define ifr_mode ifr_ifru.ifru_mode
-#define ifr_dtr ifr_ifru.ifru_line.dtr
-#define ifr_rts ifr_ifru.ifru_line.rts
-#define IRDA_NL_NAME "irda"
-#define IRDA_NL_VERSION 1
-enum irda_nl_commands {
-  IRDA_NL_CMD_UNSPEC,
-  IRDA_NL_CMD_SET_MODE,
-  IRDA_NL_CMD_GET_MODE,
-  __IRDA_NL_CMD_AFTER_LAST
-};
-#define IRDA_NL_CMD_MAX (__IRDA_NL_CMD_AFTER_LAST - 1)
-enum nl80211_attrs {
-  IRDA_NL_ATTR_UNSPEC,
-  IRDA_NL_ATTR_IFNAME,
-  IRDA_NL_ATTR_MODE,
-  __IRDA_NL_ATTR_AFTER_LAST
-};
-#define IRDA_NL_ATTR_MAX (__IRDA_NL_ATTR_AFTER_LAST - 1)
-#define IRDA_MODE_PRIMARY 0x1
-#define IRDA_MODE_SECONDARY 0x2
-#define IRDA_MODE_MONITOR 0x4
-#endif
diff --git a/libc/kernel/uapi/linux/ixjuser.h b/libc/kernel/uapi/linux/ixjuser.h
deleted file mode 100644
index fe89d0c..0000000
--- a/libc/kernel/uapi/linux/ixjuser.h
+++ /dev/null
@@ -1,486 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __LINUX_IXJUSER_H
-#define __LINUX_IXJUSER_H
-#include <linux/telephony.h>
-#define IXJCTL_DSP_RESET _IO('q', 0xC0)
-#define IXJCTL_RING PHONE_RING
-#define IXJCTL_HOOKSTATE PHONE_HOOKSTATE
-#define IXJCTL_MAXRINGS PHONE_MAXRINGS
-#define IXJCTL_RING_CADENCE PHONE_RING_CADENCE
-#define IXJCTL_RING_START PHONE_RING_START
-#define IXJCTL_RING_STOP PHONE_RING_STOP
-#define IXJCTL_CARDTYPE _IOR('q', 0xC1, int)
-#define IXJCTL_SERIAL _IOR('q', 0xC2, int)
-#define IXJCTL_DSP_TYPE _IOR('q', 0xC3, int)
-#define IXJCTL_DSP_VERSION _IOR('q', 0xC4, int)
-#define IXJCTL_VERSION _IOR('q', 0xDA, char *)
-#define IXJCTL_DSP_IDLE _IO('q', 0xC5)
-#define IXJCTL_TESTRAM _IO('q', 0xC6)
-#define IXJCTL_REC_CODEC PHONE_REC_CODEC
-#define IXJCTL_REC_START PHONE_REC_START
-#define IXJCTL_REC_STOP PHONE_REC_STOP
-#define IXJCTL_REC_DEPTH PHONE_REC_DEPTH
-#define IXJCTL_FRAME PHONE_FRAME
-#define IXJCTL_REC_VOLUME PHONE_REC_VOLUME
-#define IXJCTL_REC_LEVEL PHONE_REC_LEVEL
-typedef enum {
-  f300_640 = 4,
-  f300_500,
-  f1100,
-  f350,
-  f400,
-  f480,
-  f440,
-  f620,
-  f20_50,
-  f133_200,
-  f300,
-  f300_420,
-  f330,
-  f300_425,
-  f330_440,
-  f340,
-  f350_400,
-  f350_440,
-  f350_450,
-  f360,
-  f380_420,
-  f392,
-  f400_425,
-  f400_440,
-  f400_450,
-  f420,
-  f425,
-  f425_450,
-  f425_475,
-  f435,
-  f440_450,
-  f440_480,
-  f445,
-  f450,
-  f452,
-  f475,
-  f480_620,
-  f494,
-  f500,
-  f520,
-  f523,
-  f525,
-  f540_660,
-  f587,
-  f590,
-  f600,
-  f660,
-  f700,
-  f740,
-  f750,
-  f750_1450,
-  f770,
-  f800,
-  f816,
-  f850,
-  f857_1645,
-  f900,
-  f900_1300,
-  f935_1215,
-  f941_1477,
-  f942,
-  f950,
-  f950_1400,
-  f975,
-  f1000,
-  f1020,
-  f1050,
-  f1100_1750,
-  f1140,
-  f1200,
-  f1209,
-  f1330,
-  f1336,
-  lf1366,
-  f1380,
-  f1400,
-  f1477,
-  f1600,
-  f1633_1638,
-  f1800,
-  f1860
-} IXJ_FILTER_FREQ;
-typedef struct {
-  unsigned int filter;
-  IXJ_FILTER_FREQ freq;
-  char enable;
-} IXJ_FILTER;
-typedef struct {
-  char enable;
-  char en_filter;
-  unsigned int filter;
-  unsigned int on1;
-  unsigned int off1;
-  unsigned int on2;
-  unsigned int off2;
-  unsigned int on3;
-  unsigned int off3;
-} IXJ_FILTER_CADENCE;
-#define IXJCTL_SET_FILTER _IOW('q', 0xC7, IXJ_FILTER *)
-#define IXJCTL_SET_FILTER_RAW _IOW('q', 0xDD, IXJ_FILTER_RAW *)
-#define IXJCTL_GET_FILTER_HIST _IOW('q', 0xC8, int)
-#define IXJCTL_FILTER_CADENCE _IOW('q', 0xD6, IXJ_FILTER_CADENCE *)
-#define IXJCTL_PLAY_CID _IO('q', 0xD7)
-typedef enum {
-  hz20 = 0x7ffa,
-  hz50 = 0x7fe5,
-  hz133 = 0x7f4c,
-  hz200 = 0x7e6b,
-  hz261 = 0x7d50,
-  hz277 = 0x7cfa,
-  hz293 = 0x7c9f,
-  hz300 = 0x7c75,
-  hz311 = 0x7c32,
-  hz329 = 0x7bbf,
-  hz330 = 0x7bb8,
-  hz340 = 0x7b75,
-  hz349 = 0x7b37,
-  hz350 = 0x7b30,
-  hz360 = 0x7ae9,
-  hz369 = 0x7aa8,
-  hz380 = 0x7a56,
-  hz392 = 0x79fa,
-  hz400 = 0x79bb,
-  hz415 = 0x7941,
-  hz420 = 0x7918,
-  hz425 = 0x78ee,
-  hz435 = 0x7899,
-  hz440 = 0x786d,
-  hz445 = 0x7842,
-  hz450 = 0x7815,
-  hz452 = 0x7803,
-  hz466 = 0x7784,
-  hz475 = 0x7731,
-  hz480 = 0x7701,
-  hz493 = 0x7685,
-  hz494 = 0x767b,
-  hz500 = 0x7640,
-  hz520 = 0x7578,
-  hz523 = 0x7559,
-  hz525 = 0x7544,
-  hz540 = 0x74a7,
-  hz554 = 0x7411,
-  hz587 = 0x72a1,
-  hz590 = 0x727f,
-  hz600 = 0x720b,
-  hz620 = 0x711e,
-  hz622 = 0x7106,
-  hz659 = 0x6f3b,
-  hz660 = 0x6f2e,
-  hz698 = 0x6d3d,
-  hz700 = 0x6d22,
-  hz739 = 0x6b09,
-  hz740 = 0x6afa,
-  hz750 = 0x6a6c,
-  hz770 = 0x694b,
-  hz783 = 0x688b,
-  hz800 = 0x678d,
-  hz816 = 0x6698,
-  hz830 = 0x65bf,
-  hz850 = 0x6484,
-  hz857 = 0x6414,
-  hz880 = 0x629f,
-  hz900 = 0x6154,
-  hz932 = 0x5f35,
-  hz935 = 0x5f01,
-  hz941 = 0x5e9a,
-  hz942 = 0x5e88,
-  hz950 = 0x5dfd,
-  hz975 = 0x5c44,
-  hz1000 = 0x5a81,
-  hz1020 = 0x5912,
-  hz1050 = 0x56e2,
-  hz1100 = 0x5320,
-  hz1140 = 0x5007,
-  hz1200 = 0x4b3b,
-  hz1209 = 0x4a80,
-  hz1215 = 0x4a02,
-  hz1250 = 0x471c,
-  hz1300 = 0x42e0,
-  hz1330 = 0x4049,
-  hz1336 = 0x3fc4,
-  hz1366 = 0x3d22,
-  hz1380 = 0x3be4,
-  hz1400 = 0x3a1b,
-  hz1450 = 0x3596,
-  hz1477 = 0x331c,
-  hz1500 = 0x30fb,
-  hz1600 = 0x278d,
-  hz1633 = 0x2462,
-  hz1638 = 0x23e7,
-  hz1645 = 0x233a,
-  hz1750 = 0x18f8,
-  hz1800 = 0x1405,
-  hz1860 = 0xe0b,
-  hz2100 = 0xf5f6,
-  hz2130 = 0xf2f5,
-  hz2450 = 0xd3b3,
-  hz2750 = 0xb8e4
-} IXJ_FREQ;
-typedef enum {
-  C1 = hz261,
-  CS1 = hz277,
-  D1 = hz293,
-  DS1 = hz311,
-  E1 = hz329,
-  F1 = hz349,
-  FS1 = hz369,
-  G1 = hz392,
-  GS1 = hz415,
-  A1 = hz440,
-  AS1 = hz466,
-  B1 = hz493,
-  C2 = hz523,
-  CS2 = hz554,
-  D2 = hz587,
-  DS2 = hz622,
-  E2 = hz659,
-  F2 = hz698,
-  FS2 = hz739,
-  G2 = hz783,
-  GS2 = hz830,
-  A2 = hz880,
-  AS2 = hz932,
-} IXJ_NOTE;
-typedef struct {
-  int tone_index;
-  int freq0;
-  int gain0;
-  int freq1;
-  int gain1;
-} IXJ_TONE;
-#define IXJCTL_INIT_TONE _IOW('q', 0xC9, IXJ_TONE *)
-typedef struct {
-  int index;
-  int tone_on_time;
-  int tone_off_time;
-  int freq0;
-  int gain0;
-  int freq1;
-  int gain1;
-} IXJ_CADENCE_ELEMENT;
-typedef enum {
-  PLAY_ONCE,
-  REPEAT_LAST_ELEMENT,
-  REPEAT_ALL
-} IXJ_CADENCE_TERM;
-typedef struct {
-  int elements_used;
-  IXJ_CADENCE_TERM termination;
-  IXJ_CADENCE_ELEMENT __user * ce;
-} IXJ_CADENCE;
-#define IXJCTL_TONE_CADENCE _IOW('q', 0xCA, IXJ_CADENCE *)
-#define IXJCTL_PLAY_CODEC PHONE_PLAY_CODEC
-#define IXJCTL_PLAY_START PHONE_PLAY_START
-#define IXJCTL_PLAY_STOP PHONE_PLAY_STOP
-#define IXJCTL_PLAY_DEPTH PHONE_PLAY_DEPTH
-#define IXJCTL_PLAY_VOLUME PHONE_PLAY_VOLUME
-#define IXJCTL_PLAY_LEVEL PHONE_PLAY_LEVEL
-#define IXJCTL_AEC_START _IOW('q', 0xCB, int)
-#define IXJCTL_AEC_STOP _IO('q', 0xCC)
-#define IXJCTL_AEC_GET_LEVEL _IO('q', 0xCD)
-#define AEC_OFF 0
-#define AEC_LOW 1
-#define AEC_MED 2
-#define AEC_HIGH 3
-#define AEC_AUTO 4
-#define AEC_AGC 5
-#define IXJCTL_DTMF_READY PHONE_DTMF_READY
-#define IXJCTL_GET_DTMF PHONE_GET_DTMF
-#define IXJCTL_GET_DTMF_ASCII PHONE_GET_DTMF_ASCII
-#define IXJCTL_DTMF_OOB PHONE_DTMF_OOB
-#define IXJCTL_EXCEPTION PHONE_EXCEPTION
-#define IXJCTL_PLAY_TONE PHONE_PLAY_TONE
-#define IXJCTL_SET_TONE_ON_TIME PHONE_SET_TONE_ON_TIME
-#define IXJCTL_SET_TONE_OFF_TIME PHONE_SET_TONE_OFF_TIME
-#define IXJCTL_GET_TONE_ON_TIME PHONE_GET_TONE_ON_TIME
-#define IXJCTL_GET_TONE_OFF_TIME PHONE_GET_TONE_OFF_TIME
-#define IXJCTL_GET_TONE_STATE PHONE_GET_TONE_STATE
-#define IXJCTL_BUSY PHONE_BUSY
-#define IXJCTL_RINGBACK PHONE_RINGBACK
-#define IXJCTL_DIALTONE PHONE_DIALTONE
-#define IXJCTL_CPT_STOP PHONE_CPT_STOP
-#define IXJCTL_SET_LED _IOW('q', 0xCE, int)
-#define IXJCTL_MIXER _IOW('q', 0xCF, int)
-#define MIXER_MASTER_L 0x0000
-#define MIXER_MASTER_R 0x0100
-#define ATT00DB 0x00
-#define ATT02DB 0x01
-#define ATT04DB 0x02
-#define ATT06DB 0x03
-#define ATT08DB 0x04
-#define ATT10DB 0x05
-#define ATT12DB 0x06
-#define ATT14DB 0x07
-#define ATT16DB 0x08
-#define ATT18DB 0x09
-#define ATT20DB 0x0A
-#define ATT22DB 0x0B
-#define ATT24DB 0x0C
-#define ATT26DB 0x0D
-#define ATT28DB 0x0E
-#define ATT30DB 0x0F
-#define ATT32DB 0x10
-#define ATT34DB 0x11
-#define ATT36DB 0x12
-#define ATT38DB 0x13
-#define ATT40DB 0x14
-#define ATT42DB 0x15
-#define ATT44DB 0x16
-#define ATT46DB 0x17
-#define ATT48DB 0x18
-#define ATT50DB 0x19
-#define ATT52DB 0x1A
-#define ATT54DB 0x1B
-#define ATT56DB 0x1C
-#define ATT58DB 0x1D
-#define ATT60DB 0x1E
-#define ATT62DB 0x1F
-#define MASTER_MUTE 0x80
-#define MIXER_PORT_CD_L 0x0600
-#define MIXER_PORT_CD_R 0x0700
-#define MIXER_PORT_LINE_IN_L 0x0800
-#define MIXER_PORT_LINE_IN_R 0x0900
-#define MIXER_PORT_POTS_REC 0x0C00
-#define MIXER_PORT_MIC 0x0E00
-#define GAIN12DB 0x00
-#define GAIN10DB 0x01
-#define GAIN08DB 0x02
-#define GAIN06DB 0x03
-#define GAIN04DB 0x04
-#define GAIN02DB 0x05
-#define GAIN00DB 0x06
-#define GAIN_02DB 0x07
-#define GAIN_04DB 0x08
-#define GAIN_06DB 0x09
-#define GAIN_08DB 0x0A
-#define GAIN_10DB 0x0B
-#define GAIN_12DB 0x0C
-#define GAIN_14DB 0x0D
-#define GAIN_16DB 0x0E
-#define GAIN_18DB 0x0F
-#define GAIN_20DB 0x10
-#define GAIN_22DB 0x11
-#define GAIN_24DB 0x12
-#define GAIN_26DB 0x13
-#define GAIN_28DB 0x14
-#define GAIN_30DB 0x15
-#define GAIN_32DB 0x16
-#define GAIN_34DB 0x17
-#define GAIN_36DB 0x18
-#define GAIN_38DB 0x19
-#define GAIN_40DB 0x1A
-#define GAIN_42DB 0x1B
-#define GAIN_44DB 0x1C
-#define GAIN_46DB 0x1D
-#define GAIN_48DB 0x1E
-#define GAIN_50DB 0x1F
-#define INPUT_MUTE 0x80
-#define MIXER_PORT_POTS_PLAY 0x0F00
-#define POTS_ATT_00DB 0x00
-#define POTS_ATT_04DB 0x01
-#define POTS_ATT_08DB 0x02
-#define POTS_ATT_12DB 0x03
-#define POTS_ATT_16DB 0x04
-#define POTS_ATT_20DB 0x05
-#define POTS_ATT_24DB 0x06
-#define POTS_ATT_28DB 0x07
-#define POTS_MUTE 0x80
-#define IXJCTL_DAA_COEFF_SET _IOW('q', 0xD0, int)
-#define DAA_US 1
-#define DAA_UK 2
-#define DAA_FRANCE 3
-#define DAA_GERMANY 4
-#define DAA_AUSTRALIA 5
-#define DAA_JAPAN 6
-#define IXJCTL_PORT _IOW('q', 0xD1, int)
-#define PORT_QUERY 0
-#define PORT_POTS 1
-#define PORT_PSTN 2
-#define PORT_SPEAKER 3
-#define PORT_HANDSET 4
-#define IXJCTL_PSTN_SET_STATE PHONE_PSTN_SET_STATE
-#define IXJCTL_PSTN_GET_STATE PHONE_PSTN_GET_STATE
-#define PSTN_ON_HOOK 0
-#define PSTN_RINGING 1
-#define PSTN_OFF_HOOK 2
-#define PSTN_PULSE_DIAL 3
-#define IXJCTL_DAA_AGAIN _IOW('q', 0xD2, int)
-#define AGRR00DB 0x00
-#define AGRR3_5DB 0x10
-#define AGRR06DB 0x30
-#define AGX00DB 0x00
-#define AGX_6DB 0x04
-#define AGX3_5DB 0x08
-#define AGX_2_5B 0x0C
-#define IXJCTL_PSTN_LINETEST _IO('q', 0xD3)
-#define IXJCTL_CID _IOR('q', 0xD4, PHONE_CID *)
-#define IXJCTL_VMWI _IOR('q', 0xD8, int)
-#define IXJCTL_CIDCW _IOW('q', 0xD9, PHONE_CID *)
-#define IXJCTL_WINK_DURATION PHONE_WINK_DURATION
-#define IXJCTL_POTS_PSTN _IOW('q', 0xD5, int)
-#define IXJCTL_HZ _IOW('q', 0xE0, int)
-#define IXJCTL_RATE _IOW('q', 0xE1, int)
-#define IXJCTL_FRAMES_READ _IOR('q', 0xE2, unsigned long)
-#define IXJCTL_FRAMES_WRITTEN _IOR('q', 0xE3, unsigned long)
-#define IXJCTL_READ_WAIT _IOR('q', 0xE4, unsigned long)
-#define IXJCTL_WRITE_WAIT _IOR('q', 0xE5, unsigned long)
-#define IXJCTL_DRYBUFFER_READ _IOR('q', 0xE6, unsigned long)
-#define IXJCTL_DRYBUFFER_CLEAR _IO('q', 0xE7)
-#define IXJCTL_DTMF_PRESCALE _IOW('q', 0xE8, int)
-typedef enum {
-  SIG_DTMF_READY,
-  SIG_HOOKSTATE,
-  SIG_FLASH,
-  SIG_PSTN_RING,
-  SIG_CALLER_ID,
-  SIG_PSTN_WINK,
-  SIG_F0,
-  SIG_F1,
-  SIG_F2,
-  SIG_F3,
-  SIG_FC0,
-  SIG_FC1,
-  SIG_FC2,
-  SIG_FC3,
-  SIG_READ_READY = 33,
-  SIG_WRITE_READY = 34
-} IXJ_SIGEVENT;
-typedef struct {
-  unsigned int event;
-  int signal;
-} IXJ_SIGDEF;
-#define IXJCTL_SIGCTL _IOW('q', 0xE9, IXJ_SIGDEF *)
-#define IXJCTL_SC_RXG _IOW('q', 0xEA, int)
-#define IXJCTL_SC_TXG _IOW('q', 0xEB, int)
-#define IXJCTL_INTERCOM_START _IOW('q', 0xFD, int)
-#define IXJCTL_INTERCOM_STOP _IOW('q', 0xFE, int)
-typedef struct {
-  unsigned int filter;
-  char enable;
-  unsigned int coeff[19];
-} IXJ_FILTER_RAW;
-#endif
diff --git a/libc/kernel/uapi/linux/kfd_ioctl.h b/libc/kernel/uapi/linux/kfd_ioctl.h
index d4582a1..05db3fb 100644
--- a/libc/kernel/uapi/linux/kfd_ioctl.h
+++ b/libc/kernel/uapi/linux/kfd_ioctl.h
@@ -45,7 +45,8 @@
   __u64 eop_buffer_address;
   __u64 eop_buffer_size;
   __u64 ctx_save_restore_address;
-  __u64 ctx_save_restore_size;
+  __u32 ctx_save_restore_size;
+  __u32 ctl_stack_size;
 };
 struct kfd_ioctl_destroy_queue_args {
   __u32 queue_id;
@@ -76,7 +77,6 @@
   __u32 gpu_id;
   __u32 pad;
 };
-#define NUM_OF_SUPPORTED_GPUS 7
 struct kfd_process_device_apertures {
   __u64 lds_base;
   __u64 lds_limit;
@@ -87,11 +87,17 @@
   __u32 gpu_id;
   __u32 pad;
 };
+#define NUM_OF_SUPPORTED_GPUS 7
 struct kfd_ioctl_get_process_apertures_args {
   struct kfd_process_device_apertures process_apertures[NUM_OF_SUPPORTED_GPUS];
   __u32 num_of_nodes;
   __u32 pad;
 };
+struct kfd_ioctl_get_process_apertures_new_args {
+  __u64 kfd_process_device_apertures_ptr;
+  __u32 num_of_nodes;
+  __u32 pad;
+};
 #define MAX_ALLOWED_NUM_POINTS 100
 #define MAX_ALLOWED_AW_BUFF_SIZE 4096
 #define MAX_ALLOWED_WAC_BUFF_SIZE 128
@@ -189,6 +195,49 @@
   __u32 num_banks;
   __u32 num_ranks;
 };
+struct kfd_ioctl_set_trap_handler_args {
+  __u64 tba_addr;
+  __u64 tma_addr;
+  __u32 gpu_id;
+  __u32 pad;
+};
+struct kfd_ioctl_acquire_vm_args {
+  __u32 drm_fd;
+  __u32 gpu_id;
+};
+#define KFD_IOC_ALLOC_MEM_FLAGS_VRAM (1 << 0)
+#define KFD_IOC_ALLOC_MEM_FLAGS_GTT (1 << 1)
+#define KFD_IOC_ALLOC_MEM_FLAGS_USERPTR (1 << 2)
+#define KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL (1 << 3)
+#define KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE (1 << 31)
+#define KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE (1 << 30)
+#define KFD_IOC_ALLOC_MEM_FLAGS_PUBLIC (1 << 29)
+#define KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE (1 << 28)
+#define KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM (1 << 27)
+#define KFD_IOC_ALLOC_MEM_FLAGS_COHERENT (1 << 26)
+struct kfd_ioctl_alloc_memory_of_gpu_args {
+  __u64 va_addr;
+  __u64 size;
+  __u64 handle;
+  __u64 mmap_offset;
+  __u32 gpu_id;
+  __u32 flags;
+};
+struct kfd_ioctl_free_memory_of_gpu_args {
+  __u64 handle;
+};
+struct kfd_ioctl_map_memory_to_gpu_args {
+  __u64 handle;
+  __u64 device_ids_array_ptr;
+  __u32 n_devices;
+  __u32 n_success;
+};
+struct kfd_ioctl_unmap_memory_from_gpu_args {
+  __u64 handle;
+  __u64 device_ids_array_ptr;
+  __u32 n_devices;
+  __u32 n_success;
+};
 #define AMDKFD_IOCTL_BASE 'K'
 #define AMDKFD_IO(nr) _IO(AMDKFD_IOCTL_BASE, nr)
 #define AMDKFD_IOR(nr,type) _IOR(AMDKFD_IOCTL_BASE, nr, type)
@@ -212,6 +261,13 @@
 #define AMDKFD_IOC_DBG_WAVE_CONTROL AMDKFD_IOW(0x10, struct kfd_ioctl_dbg_wave_control_args)
 #define AMDKFD_IOC_SET_SCRATCH_BACKING_VA AMDKFD_IOWR(0x11, struct kfd_ioctl_set_scratch_backing_va_args)
 #define AMDKFD_IOC_GET_TILE_CONFIG AMDKFD_IOWR(0x12, struct kfd_ioctl_get_tile_config_args)
+#define AMDKFD_IOC_SET_TRAP_HANDLER AMDKFD_IOW(0x13, struct kfd_ioctl_set_trap_handler_args)
+#define AMDKFD_IOC_GET_PROCESS_APERTURES_NEW AMDKFD_IOWR(0x14, struct kfd_ioctl_get_process_apertures_new_args)
+#define AMDKFD_IOC_ACQUIRE_VM AMDKFD_IOW(0x15, struct kfd_ioctl_acquire_vm_args)
+#define AMDKFD_IOC_ALLOC_MEMORY_OF_GPU AMDKFD_IOWR(0x16, struct kfd_ioctl_alloc_memory_of_gpu_args)
+#define AMDKFD_IOC_FREE_MEMORY_OF_GPU AMDKFD_IOW(0x17, struct kfd_ioctl_free_memory_of_gpu_args)
+#define AMDKFD_IOC_MAP_MEMORY_TO_GPU AMDKFD_IOWR(0x18, struct kfd_ioctl_map_memory_to_gpu_args)
+#define AMDKFD_IOC_UNMAP_MEMORY_FROM_GPU AMDKFD_IOWR(0x19, struct kfd_ioctl_unmap_memory_from_gpu_args)
 #define AMDKFD_COMMAND_START 0x01
-#define AMDKFD_COMMAND_END 0x13
+#define AMDKFD_COMMAND_END 0x1A
 #endif
diff --git a/libc/kernel/uapi/linux/kvm.h b/libc/kernel/uapi/linux/kvm.h
index d04832a..6c8ae61 100644
--- a/libc/kernel/uapi/linux/kvm.h
+++ b/libc/kernel/uapi/linux/kvm.h
@@ -305,11 +305,12 @@
     struct kvm_hyperv_exit hyperv;
     char padding[256];
   };
+#define SYNC_REGS_SIZE_BYTES 2048
   __u64 kvm_valid_regs;
   __u64 kvm_dirty_regs;
   union {
     struct kvm_sync_regs regs;
-    char padding[2048];
+    char padding[SYNC_REGS_SIZE_BYTES];
   } s;
 };
 struct kvm_coalesced_mmio_zone {
@@ -510,6 +511,10 @@
   __u32 flags;
   __u8 pad[36];
 };
+#define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0)
+#define KVM_X86_DISABLE_EXITS_HLT (1 << 1)
+#define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2)
+#define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | KVM_X86_DISABLE_EXITS_HLT | KVM_X86_DISABLE_EXITS_PAUSE)
 struct kvm_enable_cap {
   __u32 cap;
   __u32 flags;
@@ -564,6 +569,7 @@
 #define KVM_TRACE_PAUSE __KVM_DEPRECATED_MAIN_0x07
 #define KVM_TRACE_DISABLE __KVM_DEPRECATED_MAIN_0x08
 #define KVM_GET_EMULATED_CPUID _IOWR(KVMIO, 0x09, struct kvm_cpuid2)
+#define KVM_GET_MSR_FEATURE_INDEX_LIST _IOWR(KVMIO, 0x0a, struct kvm_msr_list)
 #define KVM_CAP_IRQCHIP 0
 #define KVM_CAP_HLT 1
 #define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2
@@ -721,7 +727,7 @@
 #define KVM_CAP_S390_GS 140
 #define KVM_CAP_S390_AIS 141
 #define KVM_CAP_SPAPR_TCE_VFIO 142
-#define KVM_CAP_X86_GUEST_MWAIT 143
+#define KVM_CAP_X86_DISABLE_EXITS 143
 #define KVM_CAP_ARM_USER_IRQ 144
 #define KVM_CAP_S390_CMMA_MIGRATION 145
 #define KVM_CAP_PPC_FWNMI 146
@@ -731,6 +737,8 @@
 #define KVM_CAP_S390_AIS_MIGRATION 150
 #define KVM_CAP_PPC_GET_CPU_CHAR 151
 #define KVM_CAP_S390_BPB 152
+#define KVM_CAP_GET_MSR_FEATURES 153
+#define KVM_CAP_HYPERV_EVENTFD 154
 #ifdef KVM_CAP_IRQ_ROUTING
 struct kvm_irq_routing_irqchip {
   __u32 irqchip;
@@ -1032,6 +1040,77 @@
 #define KVM_SMI _IO(KVMIO, 0xb7)
 #define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log)
 #define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log)
+#define KVM_MEMORY_ENCRYPT_OP _IOWR(KVMIO, 0xba, unsigned long)
+struct kvm_enc_region {
+  __u64 addr;
+  __u64 size;
+};
+#define KVM_MEMORY_ENCRYPT_REG_REGION _IOR(KVMIO, 0xbb, struct kvm_enc_region)
+#define KVM_MEMORY_ENCRYPT_UNREG_REGION _IOR(KVMIO, 0xbc, struct kvm_enc_region)
+#define KVM_HYPERV_EVENTFD _IOW(KVMIO, 0xbd, struct kvm_hyperv_eventfd)
+enum sev_cmd_id {
+  KVM_SEV_INIT = 0,
+  KVM_SEV_ES_INIT,
+  KVM_SEV_LAUNCH_START,
+  KVM_SEV_LAUNCH_UPDATE_DATA,
+  KVM_SEV_LAUNCH_UPDATE_VMSA,
+  KVM_SEV_LAUNCH_SECRET,
+  KVM_SEV_LAUNCH_MEASURE,
+  KVM_SEV_LAUNCH_FINISH,
+  KVM_SEV_SEND_START,
+  KVM_SEV_SEND_UPDATE_DATA,
+  KVM_SEV_SEND_UPDATE_VMSA,
+  KVM_SEV_SEND_FINISH,
+  KVM_SEV_RECEIVE_START,
+  KVM_SEV_RECEIVE_UPDATE_DATA,
+  KVM_SEV_RECEIVE_UPDATE_VMSA,
+  KVM_SEV_RECEIVE_FINISH,
+  KVM_SEV_GUEST_STATUS,
+  KVM_SEV_DBG_DECRYPT,
+  KVM_SEV_DBG_ENCRYPT,
+  KVM_SEV_CERT_EXPORT,
+  KVM_SEV_NR_MAX,
+};
+struct kvm_sev_cmd {
+  __u32 id;
+  __u64 data;
+  __u32 error;
+  __u32 sev_fd;
+};
+struct kvm_sev_launch_start {
+  __u32 handle;
+  __u32 policy;
+  __u64 dh_uaddr;
+  __u32 dh_len;
+  __u64 session_uaddr;
+  __u32 session_len;
+};
+struct kvm_sev_launch_update_data {
+  __u64 uaddr;
+  __u32 len;
+};
+struct kvm_sev_launch_secret {
+  __u64 hdr_uaddr;
+  __u32 hdr_len;
+  __u64 guest_uaddr;
+  __u32 guest_len;
+  __u64 trans_uaddr;
+  __u32 trans_len;
+};
+struct kvm_sev_launch_measure {
+  __u64 uaddr;
+  __u32 len;
+};
+struct kvm_sev_guest_status {
+  __u32 handle;
+  __u32 policy;
+  __u32 state;
+};
+struct kvm_sev_dbg {
+  __u64 src_uaddr;
+  __u64 dst_uaddr;
+  __u32 len;
+};
 #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
 #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
 #define KVM_DEV_ASSIGN_MASK_INTX (1 << 2)
@@ -1079,4 +1158,12 @@
 #define KVM_ARM_DEV_EL1_VTIMER (1 << 0)
 #define KVM_ARM_DEV_EL1_PTIMER (1 << 1)
 #define KVM_ARM_DEV_PMU (1 << 2)
+struct kvm_hyperv_eventfd {
+  __u32 conn_id;
+  __s32 fd;
+  __u32 flags;
+  __u32 padding[3];
+};
+#define KVM_HYPERV_CONN_ID_MASK 0x00ffffff
+#define KVM_HYPERV_EVENTFD_DEASSIGN (1 << 0)
 #endif
diff --git a/libc/kernel/uapi/linux/libc-compat.h b/libc/kernel/uapi/linux/libc-compat.h
index c9a8b74..447a46a 100644
--- a/libc/kernel/uapi/linux/libc-compat.h
+++ b/libc/kernel/uapi/linux/libc-compat.h
@@ -169,7 +169,4 @@
 #define __UAPI_DEF_XATTR 1
 #endif
 #endif
-#ifndef __UAPI_DEF_ETHHDR
-#define __UAPI_DEF_ETHHDR 1
-#endif
 #endif
diff --git a/libc/kernel/uapi/linux/lightnvm.h b/libc/kernel/uapi/linux/lightnvm.h
index 996d873..b3ac317 100644
--- a/libc/kernel/uapi/linux/lightnvm.h
+++ b/libc/kernel/uapi/linux/lightnvm.h
@@ -58,13 +58,21 @@
   __u32 lun_begin;
   __u32 lun_end;
 };
+struct nvm_ioctl_create_extended {
+  __u16 lun_begin;
+  __u16 lun_end;
+  __u16 op;
+  __u16 rsv;
+};
 enum {
   NVM_CONFIG_TYPE_SIMPLE = 0,
+  NVM_CONFIG_TYPE_EXTENDED = 1,
 };
 struct nvm_ioctl_create_conf {
   __u32 type;
   union {
     struct nvm_ioctl_create_simple s;
+    struct nvm_ioctl_create_extended e;
   };
 };
 enum {
diff --git a/libc/kernel/uapi/linux/lirc.h b/libc/kernel/uapi/linux/lirc.h
index d7dfa76..3dfb6d0 100644
--- a/libc/kernel/uapi/linux/lirc.h
+++ b/libc/kernel/uapi/linux/lirc.h
@@ -46,6 +46,7 @@
 #define LIRC_MODE_RAW 0x00000001
 #define LIRC_MODE_PULSE 0x00000002
 #define LIRC_MODE_MODE2 0x00000004
+#define LIRC_MODE_SCANCODE 0x00000008
 #define LIRC_MODE_LIRCCODE 0x00000010
 #define LIRC_CAN_SEND_RAW LIRC_MODE2SEND(LIRC_MODE_RAW)
 #define LIRC_CAN_SEND_PULSE LIRC_MODE2SEND(LIRC_MODE_PULSE)
@@ -58,6 +59,7 @@
 #define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW)
 #define LIRC_CAN_REC_PULSE LIRC_MODE2REC(LIRC_MODE_PULSE)
 #define LIRC_CAN_REC_MODE2 LIRC_MODE2REC(LIRC_MODE_MODE2)
+#define LIRC_CAN_REC_SCANCODE LIRC_MODE2REC(LIRC_MODE_SCANCODE)
 #define LIRC_CAN_REC_LIRCCODE LIRC_MODE2REC(LIRC_MODE_LIRCCODE)
 #define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK)
 #define LIRC_CAN_SET_REC_CARRIER (LIRC_CAN_SET_SEND_CARRIER << 16)
@@ -90,4 +92,39 @@
 #define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
 #define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32)
 #define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
+struct lirc_scancode {
+  __u64 timestamp;
+  __u16 flags;
+  __u16 rc_proto;
+  __u32 keycode;
+  __u64 scancode;
+};
+#define LIRC_SCANCODE_FLAG_TOGGLE 1
+#define LIRC_SCANCODE_FLAG_REPEAT 2
+enum rc_proto {
+  RC_PROTO_UNKNOWN = 0,
+  RC_PROTO_OTHER = 1,
+  RC_PROTO_RC5 = 2,
+  RC_PROTO_RC5X_20 = 3,
+  RC_PROTO_RC5_SZ = 4,
+  RC_PROTO_JVC = 5,
+  RC_PROTO_SONY12 = 6,
+  RC_PROTO_SONY15 = 7,
+  RC_PROTO_SONY20 = 8,
+  RC_PROTO_NEC = 9,
+  RC_PROTO_NECX = 10,
+  RC_PROTO_NEC32 = 11,
+  RC_PROTO_SANYO = 12,
+  RC_PROTO_MCIR2_KBD = 13,
+  RC_PROTO_MCIR2_MSE = 14,
+  RC_PROTO_RC6_0 = 15,
+  RC_PROTO_RC6_6A_20 = 16,
+  RC_PROTO_RC6_6A_24 = 17,
+  RC_PROTO_RC6_6A_32 = 18,
+  RC_PROTO_RC6_MCE = 19,
+  RC_PROTO_SHARP = 20,
+  RC_PROTO_XMP = 21,
+  RC_PROTO_CEC = 22,
+  RC_PROTO_IMON = 23,
+};
 #endif
diff --git a/libc/kernel/uapi/linux/lp.h b/libc/kernel/uapi/linux/lp.h
index b3504f0..35d5d5a 100644
--- a/libc/kernel/uapi/linux/lp.h
+++ b/libc/kernel/uapi/linux/lp.h
@@ -18,6 +18,8 @@
  ****************************************************************************/
 #ifndef _UAPI_LINUX_LP_H
 #define _UAPI_LINUX_LP_H
+#include <linux/types.h>
+#include <linux/ioctl.h>
 #define LP_EXIST 0x0001
 #define LP_SELEC 0x0002
 #define LP_BUSY 0x0004
@@ -53,7 +55,13 @@
 #define LPGETSTATS 0x060d
 #endif
 #define LPGETFLAGS 0x060e
-#define LPSETTIMEOUT 0x060f
+#define LPSETTIMEOUT_OLD 0x060f
+#define LPSETTIMEOUT_NEW _IOW(0x6, 0xf, __s64[2])
+#if __BITS_PER_LONG == 64
+#define LPSETTIMEOUT LPSETTIMEOUT_OLD
+#else
+#define LPSETTIMEOUT (sizeof(time_t) > sizeof(__kernel_long_t) ? LPSETTIMEOUT_NEW : LPSETTIMEOUT_OLD)
+#endif
 #define LP_TIMEOUT_INTERRUPT (60 * HZ)
 #define LP_TIMEOUT_POLLED (10 * HZ)
 #endif
diff --git a/libc/kernel/uapi/linux/media.h b/libc/kernel/uapi/linux/media.h
index b24d616..e6236f9 100644
--- a/libc/kernel/uapi/linux/media.h
+++ b/libc/kernel/uapi/linux/media.h
@@ -32,18 +32,25 @@
   __u32 driver_version;
   __u32 reserved[31];
 };
-#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
-#define MEDIA_ENT_F_UNKNOWN 0x00000000
 #define MEDIA_ENT_F_BASE 0x00000000
 #define MEDIA_ENT_F_OLD_BASE 0x00010000
 #define MEDIA_ENT_F_OLD_SUBDEV_BASE 0x00020000
+#define MEDIA_ENT_F_UNKNOWN MEDIA_ENT_F_BASE
+#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE
 #define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 0x00001)
 #define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 0x00002)
 #define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 0x00003)
 #define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 0x00004)
+#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1)
 #define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 0x01001)
 #define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 0x01002)
 #define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 0x01003)
+#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
+#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
+#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
+#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
+#define MEDIA_ENT_F_DTV_DECODER (MEDIA_ENT_F_BASE + 0x6001)
+#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
 #define MEDIA_ENT_F_IF_VID_DECODER (MEDIA_ENT_F_BASE + 0x02001)
 #define MEDIA_ENT_F_IF_AUD_DECODER (MEDIA_ENT_F_BASE + 0x02002)
 #define MEDIA_ENT_F_AUDIO_CAPTURE (MEDIA_ENT_F_BASE + 0x03001)
@@ -57,33 +64,9 @@
 #define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006)
 #define MEDIA_ENT_F_VID_MUX (MEDIA_ENT_F_BASE + 0x5001)
 #define MEDIA_ENT_F_VID_IF_BRIDGE (MEDIA_ENT_F_BASE + 0x5002)
-#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1)
-#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
-#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
-#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
-#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
-#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
-#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE
-#define MEDIA_ENT_TYPE_SHIFT 16
-#define MEDIA_ENT_TYPE_MASK 0x00ff0000
-#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
-#define MEDIA_ENT_T_DEVNODE_UNKNOWN (MEDIA_ENT_T_DEVNODE | MEDIA_ENT_SUBTYPE_MASK)
-#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE
-#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
-#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
-#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
-#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN
-#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
-#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
-#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH
-#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS
-#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER
-#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER
-#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0)
 #define MEDIA_ENT_FL_DEFAULT (1 << 0)
 #define MEDIA_ENT_FL_CONNECTOR (1 << 1)
+#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
 struct media_entity_desc {
   __u32 id;
   char name[32];
@@ -145,7 +128,6 @@
 };
 #define MEDIA_INTF_T_DVB_BASE 0x00000100
 #define MEDIA_INTF_T_V4L_BASE 0x00000200
-#define MEDIA_INTF_T_ALSA_BASE 0x00000300
 #define MEDIA_INTF_T_DVB_FE (MEDIA_INTF_T_DVB_BASE)
 #define MEDIA_INTF_T_DVB_DEMUX (MEDIA_INTF_T_DVB_BASE + 1)
 #define MEDIA_INTF_T_DVB_DVR (MEDIA_INTF_T_DVB_BASE + 2)
@@ -157,14 +139,6 @@
 #define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
 #define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
 #define MEDIA_INTF_T_V4L_TOUCH (MEDIA_INTF_T_V4L_BASE + 5)
-#define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
-#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
-#define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2)
-#define MEDIA_INTF_T_ALSA_COMPRESS (MEDIA_INTF_T_ALSA_BASE + 3)
-#define MEDIA_INTF_T_ALSA_RAWMIDI (MEDIA_INTF_T_ALSA_BASE + 4)
-#define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5)
-#define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6)
-#define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7)
 struct media_v2_entity {
   __u32 id;
   char name[64];
@@ -218,4 +192,31 @@
 #define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
 #define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
 #define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
+#define MEDIA_ENT_TYPE_SHIFT 16
+#define MEDIA_ENT_TYPE_MASK 0x00ff0000
+#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
+#define MEDIA_ENT_T_DEVNODE_UNKNOWN (MEDIA_ENT_F_OLD_BASE | MEDIA_ENT_SUBTYPE_MASK)
+#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE
+#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L
+#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_F_OLD_BASE + 2)
+#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_F_OLD_BASE + 3)
+#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_F_OLD_BASE + 4)
+#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN
+#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L
+#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
+#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
+#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH
+#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS
+#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER
+#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER
+#define MEDIA_INTF_T_ALSA_BASE 0x00000300
+#define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
+#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
+#define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2)
+#define MEDIA_INTF_T_ALSA_COMPRESS (MEDIA_INTF_T_ALSA_BASE + 3)
+#define MEDIA_INTF_T_ALSA_RAWMIDI (MEDIA_INTF_T_ALSA_BASE + 4)
+#define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5)
+#define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6)
+#define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7)
+#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0)
 #endif
diff --git a/libc/kernel/uapi/linux/membarrier.h b/libc/kernel/uapi/linux/membarrier.h
index 2f5ea7d..19cfeb2 100644
--- a/libc/kernel/uapi/linux/membarrier.h
+++ b/libc/kernel/uapi/linux/membarrier.h
@@ -20,8 +20,13 @@
 #define _UAPI_LINUX_MEMBARRIER_H
 enum membarrier_cmd {
   MEMBARRIER_CMD_QUERY = 0,
-  MEMBARRIER_CMD_SHARED = (1 << 0),
+  MEMBARRIER_CMD_GLOBAL = (1 << 0),
+  MEMBARRIER_CMD_GLOBAL_EXPEDITED = (1 << 1),
+  MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = (1 << 2),
   MEMBARRIER_CMD_PRIVATE_EXPEDITED = (1 << 3),
   MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4),
+  MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5),
+  MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6),
+  MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL,
 };
 #endif
diff --git a/libc/kernel/uapi/linux/msdos_fs.h b/libc/kernel/uapi/linux/msdos_fs.h
index 9daf251..60ee22a 100644
--- a/libc/kernel/uapi/linux/msdos_fs.h
+++ b/libc/kernel/uapi/linux/msdos_fs.h
@@ -21,7 +21,9 @@
 #include <linux/types.h>
 #include <linux/magic.h>
 #include <asm/byteorder.h>
+#ifndef SECTOR_SIZE
 #define SECTOR_SIZE 512
+#endif
 #define SECTOR_BITS 9
 #define MSDOS_DPB (MSDOS_DPS)
 #define MSDOS_DPB_BITS 4
diff --git a/libc/kernel/uapi/linux/msg.h b/libc/kernel/uapi/linux/msg.h
index 89d8d38..20d8d4f 100644
--- a/libc/kernel/uapi/linux/msg.h
+++ b/libc/kernel/uapi/linux/msg.h
@@ -21,6 +21,7 @@
 #include <linux/ipc.h>
 #define MSG_STAT 11
 #define MSG_INFO 12
+#define MSG_STAT_ANY 13
 #define MSG_NOERROR 010000
 #define MSG_EXCEPT 020000
 #define MSG_COPY 040000
diff --git a/libc/kernel/uapi/linux/ncsi.h b/libc/kernel/uapi/linux/ncsi.h
new file mode 100644
index 0000000..6b128e4
--- /dev/null
+++ b/libc/kernel/uapi/linux/ncsi.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __UAPI_NCSI_NETLINK_H__
+#define __UAPI_NCSI_NETLINK_H__
+enum ncsi_nl_commands {
+  NCSI_CMD_UNSPEC,
+  NCSI_CMD_PKG_INFO,
+  NCSI_CMD_SET_INTERFACE,
+  NCSI_CMD_CLEAR_INTERFACE,
+  __NCSI_CMD_AFTER_LAST,
+  NCSI_CMD_MAX = __NCSI_CMD_AFTER_LAST - 1
+};
+enum ncsi_nl_attrs {
+  NCSI_ATTR_UNSPEC,
+  NCSI_ATTR_IFINDEX,
+  NCSI_ATTR_PACKAGE_LIST,
+  NCSI_ATTR_PACKAGE_ID,
+  NCSI_ATTR_CHANNEL_ID,
+  __NCSI_ATTR_AFTER_LAST,
+  NCSI_ATTR_MAX = __NCSI_ATTR_AFTER_LAST - 1
+};
+enum ncsi_nl_pkg_attrs {
+  NCSI_PKG_ATTR_UNSPEC,
+  NCSI_PKG_ATTR,
+  NCSI_PKG_ATTR_ID,
+  NCSI_PKG_ATTR_FORCED,
+  NCSI_PKG_ATTR_CHANNEL_LIST,
+  __NCSI_PKG_ATTR_AFTER_LAST,
+  NCSI_PKG_ATTR_MAX = __NCSI_PKG_ATTR_AFTER_LAST - 1
+};
+enum ncsi_nl_channel_attrs {
+  NCSI_CHANNEL_ATTR_UNSPEC,
+  NCSI_CHANNEL_ATTR,
+  NCSI_CHANNEL_ATTR_ID,
+  NCSI_CHANNEL_ATTR_VERSION_MAJOR,
+  NCSI_CHANNEL_ATTR_VERSION_MINOR,
+  NCSI_CHANNEL_ATTR_VERSION_STR,
+  NCSI_CHANNEL_ATTR_LINK_STATE,
+  NCSI_CHANNEL_ATTR_ACTIVE,
+  NCSI_CHANNEL_ATTR_FORCED,
+  NCSI_CHANNEL_ATTR_VLAN_LIST,
+  NCSI_CHANNEL_ATTR_VLAN_ID,
+  __NCSI_CHANNEL_ATTR_AFTER_LAST,
+  NCSI_CHANNEL_ATTR_MAX = __NCSI_CHANNEL_ATTR_AFTER_LAST - 1
+};
+#endif
diff --git a/libc/kernel/uapi/linux/ndctl.h b/libc/kernel/uapi/linux/ndctl.h
index 44c9ee0..bee0b1c 100644
--- a/libc/kernel/uapi/linux/ndctl.h
+++ b/libc/kernel/uapi/linux/ndctl.h
@@ -19,49 +19,6 @@
 #ifndef __NDCTL_H__
 #define __NDCTL_H__
 #include <linux/types.h>
-struct nd_cmd_smart {
-  __u32 status;
-  __u8 data[128];
-} __packed;
-#define ND_SMART_HEALTH_VALID (1 << 0)
-#define ND_SMART_SPARES_VALID (1 << 1)
-#define ND_SMART_USED_VALID (1 << 2)
-#define ND_SMART_TEMP_VALID (1 << 3)
-#define ND_SMART_CTEMP_VALID (1 << 4)
-#define ND_SMART_ALARM_VALID (1 << 9)
-#define ND_SMART_SHUTDOWN_VALID (1 << 10)
-#define ND_SMART_VENDOR_VALID (1 << 11)
-#define ND_SMART_SPARE_TRIP (1 << 0)
-#define ND_SMART_TEMP_TRIP (1 << 1)
-#define ND_SMART_CTEMP_TRIP (1 << 2)
-#define ND_SMART_NON_CRITICAL_HEALTH (1 << 0)
-#define ND_SMART_CRITICAL_HEALTH (1 << 1)
-#define ND_SMART_FATAL_HEALTH (1 << 2)
-struct nd_smart_payload {
-  __u32 flags;
-  __u8 reserved0[4];
-  __u8 health;
-  __u8 spares;
-  __u8 life_used;
-  __u8 alarm_flags;
-  __u16 temperature;
-  __u16 ctrl_temperature;
-  __u8 reserved1[15];
-  __u8 shutdown_state;
-  __u32 vendor_size;
-  __u8 vendor_data[92];
-} __packed;
-struct nd_cmd_smart_threshold {
-  __u32 status;
-  __u8 data[8];
-} __packed;
-struct nd_smart_threshold_payload {
-  __u8 alarm_control;
-  __u8 reserved0;
-  __u16 temperature;
-  __u8 spares;
-  __u8 reserved[3];
-} __packed;
 struct nd_cmd_dimm_flags {
   __u32 status;
   __u32 flags;
@@ -158,8 +115,6 @@
   ND_CONFIG_LOCKED = 1,
 };
 #define ND_IOCTL 'N'
-#define ND_IOCTL_SMART _IOWR(ND_IOCTL, ND_CMD_SMART, struct nd_cmd_smart)
-#define ND_IOCTL_SMART_THRESHOLD _IOWR(ND_IOCTL, ND_CMD_SMART_THRESHOLD, struct nd_cmd_smart_threshold)
 #define ND_IOCTL_DIMM_FLAGS _IOWR(ND_IOCTL, ND_CMD_DIMM_FLAGS, struct nd_cmd_dimm_flags)
 #define ND_IOCTL_GET_CONFIG_SIZE _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_SIZE, struct nd_cmd_get_config_size)
 #define ND_IOCTL_GET_CONFIG_DATA _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_DATA, struct nd_cmd_get_config_data_hdr)
@@ -186,7 +141,7 @@
   ND_DRIVER_DAX_PMEM = 1 << ND_DEVICE_DAX_PMEM,
 };
 enum {
-  ND_MIN_NAMESPACE_SIZE = 0x00400000,
+  ND_MIN_NAMESPACE_SIZE = PAGE_SIZE,
 };
 enum ars_masks {
   ARS_STATUS_MASK = 0x0000FFFF,
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
index 0d35c15..2259e09 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
@@ -62,7 +62,9 @@
   IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),
   IPS_HELPER_BIT = 13,
   IPS_HELPER = (1 << IPS_HELPER_BIT),
-  IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | IPS_SEQ_ADJUST | IPS_TEMPLATE),
+  IPS_OFFLOAD_BIT = 14,
+  IPS_OFFLOAD = (1 << IPS_OFFLOAD_BIT),
+  IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | IPS_SEQ_ADJUST | IPS_TEMPLATE | IPS_OFFLOAD),
   __IPS_MAX_BIT = 14,
 };
 enum ip_conntrack_events {
@@ -78,6 +80,7 @@
   IPCT_NATSEQADJ = IPCT_SEQADJ,
   IPCT_SECMARK,
   IPCT_LABEL,
+  IPCT_SYNPROXY,
 };
 enum ip_conntrack_expect_events {
   IPEXP_NEW,
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
index e76aa9b..8894aa1 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
@@ -44,6 +44,7 @@
 #define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10
 #define IP_CT_TCP_FLAG_MAXACK_SET 0x20
 #define IP_CT_EXP_CHALLENGE_ACK 0x40
+#define IP_CT_TCP_SIMULTANEOUS_OPEN 0x80
 struct nf_ct_tcp_flags {
   __u8 flags;
   __u8 mask;
diff --git a/libc/kernel/uapi/linux/netfilter/nf_tables.h b/libc/kernel/uapi/linux/netfilter/nf_tables.h
index 169fb33..610594c 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_tables.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_tables.h
@@ -81,6 +81,9 @@
   NFT_MSG_GETOBJ,
   NFT_MSG_DELOBJ,
   NFT_MSG_GETOBJ_RESET,
+  NFT_MSG_NEWFLOWTABLE,
+  NFT_MSG_GETFLOWTABLE,
+  NFT_MSG_DELFLOWTABLE,
   NFT_MSG_MAX,
 };
 enum nft_list_attributes {
@@ -105,6 +108,8 @@
   NFTA_TABLE_NAME,
   NFTA_TABLE_FLAGS,
   NFTA_TABLE_USE,
+  NFTA_TABLE_HANDLE,
+  NFTA_TABLE_PAD,
   __NFTA_TABLE_MAX
 };
 #define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)
@@ -183,6 +188,7 @@
   NFTA_SET_USERDATA,
   NFTA_SET_PAD,
   NFTA_SET_OBJ_TYPE,
+  NFTA_SET_HANDLE,
   __NFTA_SET_MAX
 };
 #define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -405,6 +411,7 @@
   NFT_META_OIFGROUP,
   NFT_META_CGROUP,
   NFT_META_PRANDOM,
+  NFT_META_SECPATH,
 };
 enum nft_rt_keys {
   NFT_RT_CLASSID,
@@ -463,6 +470,10 @@
   NFT_CT_AVGPKT,
   NFT_CT_ZONE,
   NFT_CT_EVENTMASK,
+  NFT_CT_SRC_IP,
+  NFT_CT_DST_IP,
+  NFT_CT_SRC_IP6,
+  NFT_CT_DST_IP6,
 };
 enum nft_ct_attributes {
   NFTA_CT_UNSPEC,
@@ -473,6 +484,12 @@
   __NFTA_CT_MAX
 };
 #define NFTA_CT_MAX (__NFTA_CT_MAX - 1)
+enum nft_offload_attributes {
+  NFTA_FLOW_UNSPEC,
+  NFTA_FLOW_TABLE_NAME,
+  __NFTA_FLOW_MAX,
+};
+#define NFTA_FLOW_MAX (__NFTA_FLOW_MAX - 1)
 enum nft_limit_type {
   NFT_LIMIT_PKTS,
   NFT_LIMIT_PKT_BYTES
@@ -664,9 +681,36 @@
   NFTA_OBJ_TYPE,
   NFTA_OBJ_DATA,
   NFTA_OBJ_USE,
+  NFTA_OBJ_HANDLE,
+  NFTA_OBJ_PAD,
   __NFTA_OBJ_MAX
 };
 #define NFTA_OBJ_MAX (__NFTA_OBJ_MAX - 1)
+enum nft_flowtable_attributes {
+  NFTA_FLOWTABLE_UNSPEC,
+  NFTA_FLOWTABLE_TABLE,
+  NFTA_FLOWTABLE_NAME,
+  NFTA_FLOWTABLE_HOOK,
+  NFTA_FLOWTABLE_USE,
+  NFTA_FLOWTABLE_HANDLE,
+  NFTA_FLOWTABLE_PAD,
+  __NFTA_FLOWTABLE_MAX
+};
+#define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1)
+enum nft_flowtable_hook_attributes {
+  NFTA_FLOWTABLE_HOOK_UNSPEC,
+  NFTA_FLOWTABLE_HOOK_NUM,
+  NFTA_FLOWTABLE_HOOK_PRIORITY,
+  NFTA_FLOWTABLE_HOOK_DEVS,
+  __NFTA_FLOWTABLE_HOOK_MAX
+};
+#define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1)
+enum nft_devices_attributes {
+  NFTA_DEVICE_UNSPEC,
+  NFTA_DEVICE_NAME,
+  __NFTA_DEVICE_MAX
+};
+#define NFTA_DEVICE_MAX (__NFTA_DEVICE_MAX - 1)
 enum nft_trace_attributes {
   NFTA_TRACE_UNSPEC,
   NFTA_TRACE_TABLE,
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
index a961723..1347820 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
@@ -65,6 +65,7 @@
   CTA_MARK_MASK,
   CTA_LABELS,
   CTA_LABELS_MASK,
+  CTA_SYNPROXY,
   __CTA_MAX
 };
 #define CTA_MAX (__CTA_MAX - 1)
@@ -187,6 +188,14 @@
   __CTA_NAT_SEQ_MAX
 };
 #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
+enum ctattr_synproxy {
+  CTA_SYNPROXY_UNSPEC,
+  CTA_SYNPROXY_ISN,
+  CTA_SYNPROXY_ITS,
+  CTA_SYNPROXY_TSOFF,
+  __CTA_SYNPROXY_MAX,
+};
+#define CTA_SYNPROXY_MAX (__CTA_SYNPROXY_MAX - 1)
 enum ctattr_expect {
   CTA_EXPECT_UNSPEC,
   CTA_EXPECT_MASTER,
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connlimit.h b/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
index 262bc2a..9ff2de9 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
@@ -35,6 +35,6 @@
   };
   unsigned int limit;
   __u32 flags;
-  struct xt_connlimit_data * data __attribute__((aligned(8)));
+  struct nf_conncount_data * data __attribute__((aligned(8)));
 };
 #endif
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connmark.h b/libc/kernel/uapi/linux/netfilter/xt_connmark.h
index ef4c1d0..f14474f 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connmark.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connmark.h
@@ -24,10 +24,18 @@
   XT_CONNMARK_SAVE,
   XT_CONNMARK_RESTORE
 };
+enum {
+  D_SHIFT_LEFT = 0,
+  D_SHIFT_RIGHT,
+};
 struct xt_connmark_tginfo1 {
   __u32 ctmark, ctmask, nfmask;
   __u8 mode;
 };
+struct xt_connmark_tginfo2 {
+  __u32 ctmark, ctmask, nfmask;
+  __u8 shift_dir, shift_bits, mode;
+};
 struct xt_connmark_mtinfo1 {
   __u32 mark, mask;
   __u8 invert;
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
index ef8edab..6ee8afb 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
@@ -25,7 +25,9 @@
 #define EBT_IP_PROTO 0x08
 #define EBT_IP_SPORT 0x10
 #define EBT_IP_DPORT 0x20
-#define EBT_IP_MASK (EBT_IP_SOURCE | EBT_IP_DEST | EBT_IP_TOS | EBT_IP_PROTO | EBT_IP_SPORT | EBT_IP_DPORT)
+#define EBT_IP_ICMP 0x40
+#define EBT_IP_IGMP 0x80
+#define EBT_IP_MASK (EBT_IP_SOURCE | EBT_IP_DEST | EBT_IP_TOS | EBT_IP_PROTO | EBT_IP_SPORT | EBT_IP_DPORT | EBT_IP_ICMP | EBT_IP_IGMP)
 #define EBT_IP_MATCH "ip"
 struct ebt_ip_info {
   __be32 saddr;
@@ -36,7 +38,14 @@
   __u8 protocol;
   __u8 bitmask;
   __u8 invflags;
-  __u16 sport[2];
-  __u16 dport[2];
+  union {
+    __u16 sport[2];
+    __u8 icmp_type[2];
+    __u8 igmp_type[2];
+  };
+  union {
+    __u16 dport[2];
+    __u8 icmp_code[2];
+  };
 };
 #endif
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h b/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
index ba6ce91..e102756 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
@@ -24,6 +24,7 @@
 #define EBT_TABLE_MAXNAMELEN 32
 #define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN
 #define EBT_FUNCTION_MAXNAMELEN EBT_TABLE_MAXNAMELEN
+#define EBT_EXTENSION_MAXNAMELEN 31
 #define EBT_ACCEPT - 1
 #define EBT_DROP - 2
 #define EBT_CONTINUE - 3
@@ -80,7 +81,10 @@
 #define EBT_INV_MASK (EBT_IPROTO | EBT_IIN | EBT_IOUT | EBT_ILOGICALIN | EBT_ILOGICALOUT | EBT_ISOURCE | EBT_IDEST)
 struct ebt_entry_match {
   union {
-    char name[EBT_FUNCTION_MAXNAMELEN];
+    struct {
+      char name[EBT_EXTENSION_MAXNAMELEN];
+      uint8_t revision;
+    };
     struct xt_match * match;
   } u;
   unsigned int match_size;
@@ -88,7 +92,10 @@
 };
 struct ebt_entry_watcher {
   union {
-    char name[EBT_FUNCTION_MAXNAMELEN];
+    struct {
+      char name[EBT_EXTENSION_MAXNAMELEN];
+      uint8_t revision;
+    };
     struct xt_target * watcher;
   } u;
   unsigned int watcher_size;
@@ -96,7 +103,10 @@
 };
 struct ebt_entry_target {
   union {
-    char name[EBT_FUNCTION_MAXNAMELEN];
+    struct {
+      char name[EBT_EXTENSION_MAXNAMELEN];
+      uint8_t revision;
+    };
     struct xt_target * target;
   } u;
   unsigned int target_size;
diff --git a/libc/kernel/uapi/linux/netfilter_decnet.h b/libc/kernel/uapi/linux/netfilter_decnet.h
index cde4645..a9dcdd3 100644
--- a/libc/kernel/uapi/linux/netfilter_decnet.h
+++ b/libc/kernel/uapi/linux/netfilter_decnet.h
@@ -24,6 +24,7 @@
 #define NFC_DN_DST 0x0002
 #define NFC_DN_IF_IN 0x0004
 #define NFC_DN_IF_OUT 0x0008
+#define NF_DN_NUMHOOKS 7
 #define NF_DN_PRE_ROUTING 0
 #define NF_DN_LOCAL_IN 1
 #define NF_DN_FORWARD 2
@@ -31,7 +32,6 @@
 #define NF_DN_POST_ROUTING 4
 #define NF_DN_HELLO 5
 #define NF_DN_ROUTE 6
-#define NF_DN_NUMHOOKS 7
 enum nf_dn_hook_priorities {
   NF_DN_PRI_FIRST = INT_MIN,
   NF_DN_PRI_CONNTRACK = - 200,
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4.h b/libc/kernel/uapi/linux/netfilter_ipv4.h
index 06a6247..7eed768 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4.h
@@ -40,6 +40,7 @@
 #define NF_IP_NUMHOOKS 5
 enum nf_ip_hook_priorities {
   NF_IP_PRI_FIRST = INT_MIN,
+  NF_IP_PRI_RAW_BEFORE_DEFRAG = - 450,
   NF_IP_PRI_CONNTRACK_DEFRAG = - 400,
   NF_IP_PRI_RAW = - 300,
   NF_IP_PRI_SELINUX_FIRST = - 225,
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6.h b/libc/kernel/uapi/linux/netfilter_ipv6.h
index d81134f..2054532 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6.h
@@ -40,6 +40,7 @@
 #define NF_IP6_NUMHOOKS 5
 enum nf_ip6_hook_priorities {
   NF_IP6_PRI_FIRST = INT_MIN,
+  NF_IP6_PRI_RAW_BEFORE_DEFRAG = - 450,
   NF_IP6_PRI_CONNTRACK_DEFRAG = - 400,
   NF_IP6_PRI_RAW = - 300,
   NF_IP6_PRI_SELINUX_FIRST = - 225,
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
new file mode 100644
index 0000000..70fd3e4
--- /dev/null
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
@@ -0,0 +1,56 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _IP6T_SRH_H
+#define _IP6T_SRH_H
+#include <linux/types.h>
+#include <linux/netfilter.h>
+#define IP6T_SRH_NEXTHDR 0x0001
+#define IP6T_SRH_LEN_EQ 0x0002
+#define IP6T_SRH_LEN_GT 0x0004
+#define IP6T_SRH_LEN_LT 0x0008
+#define IP6T_SRH_SEGS_EQ 0x0010
+#define IP6T_SRH_SEGS_GT 0x0020
+#define IP6T_SRH_SEGS_LT 0x0040
+#define IP6T_SRH_LAST_EQ 0x0080
+#define IP6T_SRH_LAST_GT 0x0100
+#define IP6T_SRH_LAST_LT 0x0200
+#define IP6T_SRH_TAG 0x0400
+#define IP6T_SRH_MASK 0x07FF
+#define IP6T_SRH_INV_NEXTHDR 0x0001
+#define IP6T_SRH_INV_LEN_EQ 0x0002
+#define IP6T_SRH_INV_LEN_GT 0x0004
+#define IP6T_SRH_INV_LEN_LT 0x0008
+#define IP6T_SRH_INV_SEGS_EQ 0x0010
+#define IP6T_SRH_INV_SEGS_GT 0x0020
+#define IP6T_SRH_INV_SEGS_LT 0x0040
+#define IP6T_SRH_INV_LAST_EQ 0x0080
+#define IP6T_SRH_INV_LAST_GT 0x0100
+#define IP6T_SRH_INV_LAST_LT 0x0200
+#define IP6T_SRH_INV_TAG 0x0400
+#define IP6T_SRH_INV_MASK 0x07FF
+struct ip6t_srh {
+  __u8 next_hdr;
+  __u8 hdr_len;
+  __u8 segs_left;
+  __u8 last_entry;
+  __u16 tag;
+  __u16 mt_flags;
+  __u16 mt_invflags;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/nfs.h b/libc/kernel/uapi/linux/nfs.h
index ac11084..e8c0499 100644
--- a/libc/kernel/uapi/linux/nfs.h
+++ b/libc/kernel/uapi/linux/nfs.h
@@ -21,6 +21,7 @@
 #include <linux/types.h>
 #define NFS_PROGRAM 100003
 #define NFS_PORT 2049
+#define NFS_RDMA_PORT 20049
 #define NFS_MAXDATA 8192
 #define NFS_MAXPATHLEN 1024
 #define NFS_MAXNAMLEN 255
diff --git a/libc/kernel/uapi/linux/nl80211.h b/libc/kernel/uapi/linux/nl80211.h
index ebf9448..349b471 100644
--- a/libc/kernel/uapi/linux/nl80211.h
+++ b/libc/kernel/uapi/linux/nl80211.h
@@ -160,6 +160,9 @@
   NL80211_CMD_DEL_PMK,
   NL80211_CMD_PORT_AUTHORIZED,
   NL80211_CMD_RELOAD_REGDB,
+  NL80211_CMD_EXTERNAL_AUTH,
+  NL80211_CMD_STA_OPMODE_CHANGED,
+  NL80211_CMD_CONTROL_PORT_FRAME,
   __NL80211_CMD_AFTER_LAST,
   NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
 };
@@ -436,6 +439,11 @@
   NL80211_ATTR_WANT_1X_4WAY_HS,
   NL80211_ATTR_PMKR0_NAME,
   NL80211_ATTR_PORT_AUTHORIZED,
+  NL80211_ATTR_EXTERNAL_AUTH_ACTION,
+  NL80211_ATTR_EXTERNAL_AUTH_SUPPORT,
+  NL80211_ATTR_NSS,
+  NL80211_ATTR_ACK_SIGNAL,
+  NL80211_ATTR_CONTROL_PORT_OVER_NL80211,
   __NL80211_ATTR_AFTER_LAST,
   NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
   NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
@@ -465,6 +473,7 @@
 #define NL80211_ATTR_KEY NL80211_ATTR_KEY
 #define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
 #define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
+#define NL80211_WIPHY_NAME_MAXLEN 64
 #define NL80211_MAX_SUPP_RATES 32
 #define NL80211_MAX_SUPP_HT_RATES 77
 #define NL80211_MAX_SUPP_REG_RULES 64
@@ -579,6 +588,7 @@
   NL80211_STA_INFO_TID_STATS,
   NL80211_STA_INFO_RX_DURATION,
   NL80211_STA_INFO_PAD,
+  NL80211_STA_INFO_ACK_SIGNAL,
   __NL80211_STA_INFO_AFTER_LAST,
   NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
 };
@@ -876,6 +886,7 @@
   NL80211_BSS_PAD,
   NL80211_BSS_PARENT_TSF,
   NL80211_BSS_PARENT_BSSID,
+  NL80211_BSS_CHAIN_SIGNAL,
   __NL80211_BSS_AFTER_LAST,
   NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
 };
@@ -1202,6 +1213,11 @@
   NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE,
   NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION,
   NL80211_EXT_FEATURE_MFP_OPTIONAL,
+  NL80211_EXT_FEATURE_LOW_SPAN_SCAN,
+  NL80211_EXT_FEATURE_LOW_POWER_SCAN,
+  NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
+  NL80211_EXT_FEATURE_DFS_OFFLOAD,
+  NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
   NUM_NL80211_EXT_FEATURES,
   MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
 };
@@ -1230,6 +1246,9 @@
   NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 1 << 5,
   NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 1 << 6,
   NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 1 << 7,
+  NL80211_SCAN_FLAG_LOW_SPAN = 1 << 8,
+  NL80211_SCAN_FLAG_LOW_POWER = 1 << 9,
+  NL80211_SCAN_FLAG_HIGH_ACCURACY = 1 << 10,
 };
 enum nl80211_acl_policy {
   NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED,
@@ -1248,6 +1267,7 @@
   NL80211_RADAR_CAC_ABORTED,
   NL80211_RADAR_NOP_FINISHED,
   NL80211_RADAR_PRE_CAC_EXPIRED,
+  NL80211_RADAR_CAC_STARTED,
 };
 enum nl80211_dfs_state {
   NL80211_DFS_USABLE,
@@ -1353,4 +1373,8 @@
   NUM_NL80211_NAN_MATCH_ATTR,
   NL80211_NAN_MATCH_ATTR_MAX = NUM_NL80211_NAN_MATCH_ATTR - 1
 };
+enum nl80211_external_auth_action {
+  NL80211_EXTERNAL_AUTH_START,
+  NL80211_EXTERNAL_AUTH_ABORT,
+};
 #endif
diff --git a/libc/kernel/uapi/linux/nubus.h b/libc/kernel/uapi/linux/nubus.h
index 530005b..141c2f2 100644
--- a/libc/kernel/uapi/linux/nubus.h
+++ b/libc/kernel/uapi/linux/nubus.h
@@ -155,16 +155,4 @@
   NUBUS_RESID_FIFTHMODE = 0x0084,
   NUBUS_RESID_SIXTHMODE = 0x0085
 };
-struct nubus_dir {
-  unsigned char * base;
-  unsigned char * ptr;
-  int done;
-  int mask;
-};
-struct nubus_dirent {
-  unsigned char * base;
-  unsigned char type;
-  __u32 data;
-  int mask;
-};
 #endif
diff --git a/libc/kernel/uapi/linux/openvswitch.h b/libc/kernel/uapi/linux/openvswitch.h
index bea44d0..1dba16e 100644
--- a/libc/kernel/uapi/linux/openvswitch.h
+++ b/libc/kernel/uapi/linux/openvswitch.h
@@ -204,6 +204,7 @@
   OVS_TUNNEL_KEY_ATTR_IPV6_SRC,
   OVS_TUNNEL_KEY_ATTR_IPV6_DST,
   OVS_TUNNEL_KEY_ATTR_PAD,
+  OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS,
   __OVS_TUNNEL_KEY_ATTR_MAX
 };
 #define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1)
diff --git a/libc/kernel/uapi/linux/pci_regs.h b/libc/kernel/uapi/linux/pci_regs.h
index 148f2b4..4ef3837 100644
--- a/libc/kernel/uapi/linux/pci_regs.h
+++ b/libc/kernel/uapi/linux/pci_regs.h
@@ -430,6 +430,7 @@
 #define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001
 #define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002
 #define PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003
+#define PCI_EXP_LNKCAP_SLS_16_0GB 0x00000004
 #define PCI_EXP_LNKCAP_MLW 0x000003f0
 #define PCI_EXP_LNKCAP_ASPMS 0x00000c00
 #define PCI_EXP_LNKCAP_L0SEL 0x00007000
@@ -457,6 +458,7 @@
 #define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001
 #define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002
 #define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003
+#define PCI_EXP_LNKSTA_CLS_16_0GB 0x0004
 #define PCI_EXP_LNKSTA_NLW 0x03f0
 #define PCI_EXP_LNKSTA_NLW_X1 0x0010
 #define PCI_EXP_LNKSTA_NLW_X2 0x0020
@@ -524,15 +526,19 @@
 #define PCI_EXP_RTSTA_PME 0x00010000
 #define PCI_EXP_RTSTA_PENDING 0x00020000
 #define PCI_EXP_DEVCAP2 36
+#define PCI_EXP_DEVCAP2_COMP_TMOUT_DIS 0x00000010
 #define PCI_EXP_DEVCAP2_ARI 0x00000020
 #define PCI_EXP_DEVCAP2_ATOMIC_ROUTE 0x00000040
+#define PCI_EXP_DEVCAP2_ATOMIC_COMP32 0x00000080
 #define PCI_EXP_DEVCAP2_ATOMIC_COMP64 0x00000100
+#define PCI_EXP_DEVCAP2_ATOMIC_COMP128 0x00000200
 #define PCI_EXP_DEVCAP2_LTR 0x00000800
 #define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000
 #define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000
 #define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000
 #define PCI_EXP_DEVCTL2 40
 #define PCI_EXP_DEVCTL2_COMP_TIMEOUT 0x000f
+#define PCI_EXP_DEVCTL2_COMP_TMOUT_DIS 0x0010
 #define PCI_EXP_DEVCTL2_ARI 0x0020
 #define PCI_EXP_DEVCTL2_ATOMIC_REQ 0x0040
 #define PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080
@@ -548,6 +554,7 @@
 #define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002
 #define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004
 #define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008
+#define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010
 #define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100
 #define PCI_EXP_LNKCTL2 48
 #define PCI_EXP_LNKSTA2 50
@@ -819,19 +826,21 @@
 #define PCI_TPH_CAP_ST_SHIFT 16
 #define PCI_TPH_BASE_SIZEOF 12
 #define PCI_EXP_DPC_CAP 4
-#define PCI_EXP_DPC_IRQ 0x1f
-#define PCI_EXP_DPC_CAP_RP_EXT 0x20
-#define PCI_EXP_DPC_CAP_POISONED_TLP 0x40
-#define PCI_EXP_DPC_CAP_SW_TRIGGER 0x80
-#define PCI_EXP_DPC_RP_PIO_LOG_SIZE 0xF00
+#define PCI_EXP_DPC_IRQ 0x001F
+#define PCI_EXP_DPC_CAP_RP_EXT 0x0020
+#define PCI_EXP_DPC_CAP_POISONED_TLP 0x0040
+#define PCI_EXP_DPC_CAP_SW_TRIGGER 0x0080
+#define PCI_EXP_DPC_RP_PIO_LOG_SIZE 0x0F00
 #define PCI_EXP_DPC_CAP_DL_ACTIVE 0x1000
 #define PCI_EXP_DPC_CTL 6
-#define PCI_EXP_DPC_CTL_EN_NONFATAL 0x02
-#define PCI_EXP_DPC_CTL_INT_EN 0x08
+#define PCI_EXP_DPC_CTL_EN_NONFATAL 0x0002
+#define PCI_EXP_DPC_CTL_INT_EN 0x0008
 #define PCI_EXP_DPC_STATUS 8
-#define PCI_EXP_DPC_STATUS_TRIGGER 0x01
-#define PCI_EXP_DPC_STATUS_INTERRUPT 0x08
-#define PCI_EXP_DPC_RP_BUSY 0x10
+#define PCI_EXP_DPC_STATUS_TRIGGER 0x0001
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN 0x0006
+#define PCI_EXP_DPC_STATUS_INTERRUPT 0x0008
+#define PCI_EXP_DPC_RP_BUSY 0x0010
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT 0x0060
 #define PCI_EXP_DPC_SOURCE_ID 10
 #define PCI_EXP_DPC_RP_PIO_STATUS 0x0C
 #define PCI_EXP_DPC_RP_PIO_MASK 0x10
diff --git a/libc/kernel/uapi/linux/perf_event.h b/libc/kernel/uapi/linux/perf_event.h
index 97a2e99..dc1e32c 100644
--- a/libc/kernel/uapi/linux/perf_event.h
+++ b/libc/kernel/uapi/linux/perf_event.h
@@ -205,10 +205,14 @@
   __u32 bp_type;
   union {
     __u64 bp_addr;
+    __u64 kprobe_func;
+    __u64 uprobe_path;
     __u64 config1;
   };
   union {
     __u64 bp_len;
+    __u64 kprobe_addr;
+    __u64 probe_offset;
     __u64 config2;
   };
   __u64 branch_sample_type;
@@ -220,6 +224,11 @@
   __u16 sample_max_stack;
   __u16 __reserved_2;
 };
+struct perf_event_query_bpf {
+  __u32 ids_len;
+  __u32 prog_cnt;
+  __u32 ids[0];
+};
 #define perf_flags(attr) (* (& (attr)->read_format + 1))
 #define PERF_EVENT_IOC_ENABLE _IO('$', 0)
 #define PERF_EVENT_IOC_DISABLE _IO('$', 1)
@@ -231,6 +240,8 @@
 #define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *)
 #define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32)
 #define PERF_EVENT_IOC_PAUSE_OUTPUT _IOW('$', 9, __u32)
+#define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, struct perf_event_query_bpf *)
+#define PERF_EVENT_IOC_MODIFY_ATTRIBUTES _IOW('$', 11, struct perf_event_attr *)
 enum perf_event_ioc_flags {
   PERF_IOC_FLAG_GROUP = 1U << 0,
 };
@@ -276,6 +287,7 @@
 #define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
 #define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)
 #define PERF_RECORD_MISC_EXACT_IP (1 << 14)
+#define PERF_RECORD_MISC_SWITCH_OUT_PREEMPT (1 << 14)
 #define PERF_RECORD_MISC_EXT_RESERVED (1 << 15)
 struct perf_event_header {
   __u32 type;
diff --git a/libc/kernel/uapi/linux/pkt_cls.h b/libc/kernel/uapi/linux/pkt_cls.h
index 4bac8f9..113469c 100644
--- a/libc/kernel/uapi/linux/pkt_cls.h
+++ b/libc/kernel/uapi/linux/pkt_cls.h
@@ -380,6 +380,7 @@
 #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
 enum {
   TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0),
+  TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1),
 };
 enum {
   TCA_MATCHALL_UNSPEC,
@@ -429,7 +430,8 @@
 #define TCF_EM_VLAN 6
 #define TCF_EM_CANID 7
 #define TCF_EM_IPSET 8
-#define TCF_EM_MAX 8
+#define TCF_EM_IPT 9
+#define TCF_EM_MAX 9
 enum {
   TCF_EM_PROG_TC
 };
diff --git a/libc/kernel/uapi/linux/prctl.h b/libc/kernel/uapi/linux/prctl.h
index 55098f5..ba50b14 100644
--- a/libc/kernel/uapi/linux/prctl.h
+++ b/libc/kernel/uapi/linux/prctl.h
@@ -134,4 +134,12 @@
 #define PR_SVE_GET_VL 51
 #define PR_SVE_VL_LEN_MASK 0xffff
 #define PR_SVE_VL_INHERIT (1 << 17)
+#define PR_GET_SPECULATION_CTRL 52
+#define PR_SET_SPECULATION_CTRL 53
+#define PR_SPEC_STORE_BYPASS 0
+#define PR_SPEC_NOT_AFFECTED 0
+#define PR_SPEC_PRCTL (1UL << 0)
+#define PR_SPEC_ENABLE (1UL << 1)
+#define PR_SPEC_DISABLE (1UL << 2)
+#define PR_SPEC_FORCE_DISABLE (1UL << 3)
 #endif
diff --git a/libc/kernel/uapi/linux/psci.h b/libc/kernel/uapi/linux/psci.h
index 37d811e..658552a 100644
--- a/libc/kernel/uapi/linux/psci.h
+++ b/libc/kernel/uapi/linux/psci.h
@@ -62,6 +62,7 @@
 #define PSCI_VERSION_MAJOR_MASK ~PSCI_VERSION_MINOR_MASK
 #define PSCI_VERSION_MAJOR(ver) (((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
 #define PSCI_VERSION_MINOR(ver) ((ver) & PSCI_VERSION_MINOR_MASK)
+#define PSCI_VERSION(maj,min) ((((maj) << PSCI_VERSION_MAJOR_SHIFT) & PSCI_VERSION_MAJOR_MASK) | ((min) & PSCI_VERSION_MINOR_MASK))
 #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT 1
 #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK (0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
 #define PSCI_RET_SUCCESS 0
diff --git a/libc/kernel/uapi/linux/psp-sev.h b/libc/kernel/uapi/linux/psp-sev.h
new file mode 100644
index 0000000..5f59330
--- /dev/null
+++ b/libc/kernel/uapi/linux/psp-sev.h
@@ -0,0 +1,88 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __PSP_SEV_USER_H__
+#define __PSP_SEV_USER_H__
+#include <linux/types.h>
+enum {
+  SEV_FACTORY_RESET = 0,
+  SEV_PLATFORM_STATUS,
+  SEV_PEK_GEN,
+  SEV_PEK_CSR,
+  SEV_PDH_GEN,
+  SEV_PDH_CERT_EXPORT,
+  SEV_PEK_CERT_IMPORT,
+  SEV_MAX,
+};
+typedef enum {
+  SEV_RET_SUCCESS = 0,
+  SEV_RET_INVALID_PLATFORM_STATE,
+  SEV_RET_INVALID_GUEST_STATE,
+  SEV_RET_INAVLID_CONFIG,
+  SEV_RET_INVALID_LEN,
+  SEV_RET_ALREADY_OWNED,
+  SEV_RET_INVALID_CERTIFICATE,
+  SEV_RET_POLICY_FAILURE,
+  SEV_RET_INACTIVE,
+  SEV_RET_INVALID_ADDRESS,
+  SEV_RET_BAD_SIGNATURE,
+  SEV_RET_BAD_MEASUREMENT,
+  SEV_RET_ASID_OWNED,
+  SEV_RET_INVALID_ASID,
+  SEV_RET_WBINVD_REQUIRED,
+  SEV_RET_DFFLUSH_REQUIRED,
+  SEV_RET_INVALID_GUEST,
+  SEV_RET_INVALID_COMMAND,
+  SEV_RET_ACTIVE,
+  SEV_RET_HWSEV_RET_PLATFORM,
+  SEV_RET_HWSEV_RET_UNSAFE,
+  SEV_RET_UNSUPPORTED,
+  SEV_RET_MAX,
+} sev_ret_code;
+struct sev_user_data_status {
+  __u8 api_major;
+  __u8 api_minor;
+  __u8 state;
+  __u32 flags;
+  __u8 build;
+  __u32 guest_count;
+} __packed;
+struct sev_user_data_pek_csr {
+  __u64 address;
+  __u32 length;
+} __packed;
+struct sev_user_data_pek_cert_import {
+  __u64 pek_cert_address;
+  __u32 pek_cert_len;
+  __u64 oca_cert_address;
+  __u32 oca_cert_len;
+} __packed;
+struct sev_user_data_pdh_cert_export {
+  __u64 pdh_cert_address;
+  __u32 pdh_cert_len;
+  __u64 cert_chain_address;
+  __u32 cert_chain_len;
+} __packed;
+struct sev_issue_cmd {
+  __u32 cmd;
+  __u64 data;
+  __u32 error;
+} __packed;
+#define SEV_IOC_TYPE 'S'
+#define SEV_ISSUE_CMD _IOWR(SEV_IOC_TYPE, 0x0, struct sev_issue_cmd)
+#endif
diff --git a/libc/kernel/uapi/linux/ptrace.h b/libc/kernel/uapi/linux/ptrace.h
index 7c39b5b..4a68738 100644
--- a/libc/kernel/uapi/linux/ptrace.h
+++ b/libc/kernel/uapi/linux/ptrace.h
@@ -50,6 +50,11 @@
 #define PTRACE_GETSIGMASK 0x420a
 #define PTRACE_SETSIGMASK 0x420b
 #define PTRACE_SECCOMP_GET_FILTER 0x420c
+#define PTRACE_SECCOMP_GET_METADATA 0x420d
+struct seccomp_metadata {
+  __u64 filter_off;
+  __u64 flags;
+};
 #define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
 #define PTRACE_EVENT_FORK 1
 #define PTRACE_EVENT_VFORK 2
diff --git a/libc/kernel/uapi/linux/qemu_fw_cfg.h b/libc/kernel/uapi/linux/qemu_fw_cfg.h
new file mode 100644
index 0000000..173af1f
--- /dev/null
+++ b/libc/kernel/uapi/linux/qemu_fw_cfg.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _LINUX_FW_CFG_H
+#define _LINUX_FW_CFG_H
+#include <linux/types.h>
+#define FW_CFG_ACPI_DEVICE_ID "QEMU0002"
+#define FW_CFG_SIGNATURE 0x00
+#define FW_CFG_ID 0x01
+#define FW_CFG_UUID 0x02
+#define FW_CFG_RAM_SIZE 0x03
+#define FW_CFG_NOGRAPHIC 0x04
+#define FW_CFG_NB_CPUS 0x05
+#define FW_CFG_MACHINE_ID 0x06
+#define FW_CFG_KERNEL_ADDR 0x07
+#define FW_CFG_KERNEL_SIZE 0x08
+#define FW_CFG_KERNEL_CMDLINE 0x09
+#define FW_CFG_INITRD_ADDR 0x0a
+#define FW_CFG_INITRD_SIZE 0x0b
+#define FW_CFG_BOOT_DEVICE 0x0c
+#define FW_CFG_NUMA 0x0d
+#define FW_CFG_BOOT_MENU 0x0e
+#define FW_CFG_MAX_CPUS 0x0f
+#define FW_CFG_KERNEL_ENTRY 0x10
+#define FW_CFG_KERNEL_DATA 0x11
+#define FW_CFG_INITRD_DATA 0x12
+#define FW_CFG_CMDLINE_ADDR 0x13
+#define FW_CFG_CMDLINE_SIZE 0x14
+#define FW_CFG_CMDLINE_DATA 0x15
+#define FW_CFG_SETUP_ADDR 0x16
+#define FW_CFG_SETUP_SIZE 0x17
+#define FW_CFG_SETUP_DATA 0x18
+#define FW_CFG_FILE_DIR 0x19
+#define FW_CFG_FILE_FIRST 0x20
+#define FW_CFG_FILE_SLOTS_MIN 0x10
+#define FW_CFG_WRITE_CHANNEL 0x4000
+#define FW_CFG_ARCH_LOCAL 0x8000
+#define FW_CFG_ENTRY_MASK (~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL))
+#define FW_CFG_INVALID 0xffff
+#define FW_CFG_CTL_SIZE 0x02
+#define FW_CFG_MAX_FILE_PATH 56
+#define FW_CFG_SIG_SIZE 4
+#define FW_CFG_VERSION 0x01
+#define FW_CFG_VERSION_DMA 0x02
+struct fw_cfg_file {
+  __be32 size;
+  __be16 select;
+  __u16 reserved;
+  char name[FW_CFG_MAX_FILE_PATH];
+};
+#define FW_CFG_DMA_CTL_ERROR 0x01
+#define FW_CFG_DMA_CTL_READ 0x02
+#define FW_CFG_DMA_CTL_SKIP 0x04
+#define FW_CFG_DMA_CTL_SELECT 0x08
+#define FW_CFG_DMA_CTL_WRITE 0x10
+#define FW_CFG_DMA_SIGNATURE 0x51454d5520434647ULL
+struct fw_cfg_dma_access {
+  __be32 control;
+  __be32 length;
+  __be64 address;
+};
+#define FW_CFG_VMCOREINFO_FILENAME "etc/vmcoreinfo"
+#define FW_CFG_VMCOREINFO_FORMAT_NONE 0x0
+#define FW_CFG_VMCOREINFO_FORMAT_ELF 0x1
+struct fw_cfg_vmcoreinfo {
+  __le16 host_format;
+  __le16 guest_format;
+  __le32 size;
+  __le64 paddr;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/random.h b/libc/kernel/uapi/linux/random.h
index 6ad4f75..3a5fbfd 100644
--- a/libc/kernel/uapi/linux/random.h
+++ b/libc/kernel/uapi/linux/random.h
@@ -27,6 +27,7 @@
 #define RNDADDENTROPY _IOW('R', 0x03, int[2])
 #define RNDZAPENTCNT _IO('R', 0x04)
 #define RNDCLEARPOOL _IO('R', 0x06)
+#define RNDRESEEDCRNG _IO('R', 0x07)
 struct rand_pool_info {
   int entropy_count;
   int buf_size;
diff --git a/libc/kernel/uapi/linux/rds.h b/libc/kernel/uapi/linux/rds.h
index cfb0a3b..c726f54 100644
--- a/libc/kernel/uapi/linux/rds.h
+++ b/libc/kernel/uapi/linux/rds.h
@@ -45,6 +45,8 @@
 #define RDS_CMSG_MASKED_ATOMIC_FADD 8
 #define RDS_CMSG_MASKED_ATOMIC_CSWP 9
 #define RDS_CMSG_RXPATH_LATENCY 11
+#define RDS_CMSG_ZCOPY_COOKIE 12
+#define RDS_CMSG_ZCOPY_COMPLETION 13
 #define RDS_INFO_FIRST 10000
 #define RDS_INFO_COUNTERS 10000
 #define RDS_INFO_CONNECTIONS 10001
@@ -197,6 +199,11 @@
 #define RDS_RDMA_CANCELED 2
 #define RDS_RDMA_DROPPED 3
 #define RDS_RDMA_OTHER_ERROR 4
+#define RDS_MAX_ZCOOKIES 8
+struct rds_zcopy_cookies {
+  __u32 num;
+  __u32 cookies[RDS_MAX_ZCOOKIES];
+};
 #define RDS_RDMA_READWRITE 0x0001
 #define RDS_RDMA_FENCE 0x0002
 #define RDS_RDMA_INVALIDATE 0x0004
diff --git a/libc/kernel/uapi/linux/rtnetlink.h b/libc/kernel/uapi/linux/rtnetlink.h
index 80ba16e..6fffcd3 100644
--- a/libc/kernel/uapi/linux/rtnetlink.h
+++ b/libc/kernel/uapi/linux/rtnetlink.h
@@ -389,8 +389,10 @@
   int tcm_ifindex;
   __u32 tcm_handle;
   __u32 tcm_parent;
+#define tcm_block_index tcm_parent
   __u32 tcm_info;
 };
+#define TCM_IFINDEX_MAGIC_BLOCK (0xFFFFFFFFU)
 enum {
   TCA_UNSPEC,
   TCA_KIND,
@@ -405,6 +407,8 @@
   TCA_DUMP_INVISIBLE,
   TCA_CHAIN,
   TCA_HW_OFFLOAD,
+  TCA_INGRESS_BLOCK,
+  TCA_EGRESS_BLOCK,
   __TCA_MAX
 };
 #define TCA_MAX (__TCA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/sched.h b/libc/kernel/uapi/linux/sched.h
index 9958fba..20d4956 100644
--- a/libc/kernel/uapi/linux/sched.h
+++ b/libc/kernel/uapi/linux/sched.h
@@ -51,4 +51,6 @@
 #define SCHED_RESET_ON_FORK 0x40000000
 #define SCHED_FLAG_RESET_ON_FORK 0x01
 #define SCHED_FLAG_RECLAIM 0x02
+#define SCHED_FLAG_DL_OVERRUN 0x04
+#define SCHED_FLAG_ALL (SCHED_FLAG_RESET_ON_FORK | SCHED_FLAG_RECLAIM | SCHED_FLAG_DL_OVERRUN)
 #endif
diff --git a/libc/kernel/uapi/linux/sctp.h b/libc/kernel/uapi/linux/sctp.h
index cc714ff..1f7fed1 100644
--- a/libc/kernel/uapi/linux/sctp.h
+++ b/libc/kernel/uapi/linux/sctp.h
@@ -58,6 +58,7 @@
 #define SCTP_RECVRCVINFO 32
 #define SCTP_RECVNXTINFO 33
 #define SCTP_DEFAULT_SNDINFO 34
+#define SCTP_AUTH_DEACTIVATE_KEY 35
 #define SCTP_SOCKOPT_BINDX_ADD 100
 #define SCTP_SOCKOPT_BINDX_REM 101
 #define SCTP_SOCKOPT_PEELOFF 102
@@ -79,6 +80,8 @@
 #define SCTP_SOCKOPT_PEELOFF_FLAGS 122
 #define SCTP_STREAM_SCHEDULER 123
 #define SCTP_STREAM_SCHEDULER_VALUE 124
+#define SCTP_INTERLEAVING_SUPPORTED 125
+#define SCTP_SENDMSG_CONNECT 126
 #define SCTP_PR_SCTP_NONE 0x0000
 #define SCTP_PR_SCTP_TTL 0x0010
 #define SCTP_PR_SCTP_RTX 0x0020
@@ -143,11 +146,19 @@
   __u32 nxt_length;
   sctp_assoc_t nxt_assoc_id;
 };
+struct sctp_prinfo {
+  __u16 pr_policy;
+  __u32 pr_value;
+};
+struct sctp_authinfo {
+  __u16 auth_keynumber;
+};
 enum sctp_sinfo_flags {
   SCTP_UNORDERED = (1 << 0),
   SCTP_ADDR_OVER = (1 << 1),
   SCTP_ABORT = (1 << 2),
   SCTP_SACK_IMMEDIATELY = (1 << 3),
+  SCTP_SENDALL = (1 << 6),
   SCTP_NOTIFICATION = MSG_NOTIFICATION,
   SCTP_EOF = MSG_FIN,
 };
@@ -167,6 +178,14 @@
 #define SCTP_RCVINFO SCTP_RCVINFO
   SCTP_NXTINFO,
 #define SCTP_NXTINFO SCTP_NXTINFO
+  SCTP_PRINFO,
+#define SCTP_PRINFO SCTP_PRINFO
+  SCTP_AUTHINFO,
+#define SCTP_AUTHINFO SCTP_AUTHINFO
+  SCTP_DSTADDRV4,
+#define SCTP_DSTADDRV4 SCTP_DSTADDRV4
+  SCTP_DSTADDRV6,
+#define SCTP_DSTADDRV6 SCTP_DSTADDRV6
 } sctp_cmsg_t;
 struct sctp_assoc_change {
   __u16 sac_type;
@@ -243,6 +262,8 @@
   __u32 pdapi_length;
   __u32 pdapi_indication;
   sctp_assoc_t pdapi_assoc_id;
+  __u32 pdapi_stream;
+  __u32 pdapi_seq;
 };
 enum {
   SCTP_PARTIAL_DELIVERY_ABORTED = 0,
@@ -257,7 +278,10 @@
   sctp_assoc_t auth_assoc_id;
 };
 enum {
-  SCTP_AUTH_NEWKEY = 0,
+  SCTP_AUTH_NEW_KEY,
+#define SCTP_AUTH_NEWKEY SCTP_AUTH_NEW_KEY
+  SCTP_AUTH_FREE_KEY,
+  SCTP_AUTH_NO_AUTH,
 };
 struct sctp_sender_dry_event {
   __u16 sender_dry_type;
diff --git a/libc/kernel/uapi/linux/seccomp.h b/libc/kernel/uapi/linux/seccomp.h
index 1fd53fc..fe63789 100644
--- a/libc/kernel/uapi/linux/seccomp.h
+++ b/libc/kernel/uapi/linux/seccomp.h
@@ -26,8 +26,9 @@
 #define SECCOMP_SET_MODE_STRICT 0
 #define SECCOMP_SET_MODE_FILTER 1
 #define SECCOMP_GET_ACTION_AVAIL 2
-#define SECCOMP_FILTER_FLAG_TSYNC 1
-#define SECCOMP_FILTER_FLAG_LOG 2
+#define SECCOMP_FILTER_FLAG_TSYNC (1UL << 0)
+#define SECCOMP_FILTER_FLAG_LOG (1UL << 1)
+#define SECCOMP_FILTER_FLAG_SPEC_ALLOW (1UL << 2)
 #define SECCOMP_RET_KILL_PROCESS 0x80000000U
 #define SECCOMP_RET_KILL_THREAD 0x00000000U
 #define SECCOMP_RET_KILL SECCOMP_RET_KILL_THREAD
diff --git a/libc/kernel/uapi/linux/sem.h b/libc/kernel/uapi/linux/sem.h
index 91b1941..552be4a 100644
--- a/libc/kernel/uapi/linux/sem.h
+++ b/libc/kernel/uapi/linux/sem.h
@@ -29,6 +29,7 @@
 #define SETALL 17
 #define SEM_STAT 18
 #define SEM_INFO 19
+#define SEM_STAT_ANY 20
 struct __kernel_legacy_semid_ds {
   struct __kernel_legacy_ipc_perm sem_perm;
   __kernel_time_t sem_otime;
diff --git a/libc/kernel/uapi/linux/serial_core.h b/libc/kernel/uapi/linux/serial_core.h
index 68d2dcb..f0f464b 100644
--- a/libc/kernel/uapi/linux/serial_core.h
+++ b/libc/kernel/uapi/linux/serial_core.h
@@ -59,6 +59,7 @@
 #define PORT_21285 37
 #define PORT_SUNZILOG 38
 #define PORT_SUNSAB 39
+#define PORT_NPCM 40
 #define PORT_PCH_8LINE 44
 #define PORT_PCH_2LINE 45
 #define PORT_DZ 46
diff --git a/libc/kernel/uapi/linux/shm.h b/libc/kernel/uapi/linux/shm.h
index a3071e7..a30a089 100644
--- a/libc/kernel/uapi/linux/shm.h
+++ b/libc/kernel/uapi/linux/shm.h
@@ -65,6 +65,7 @@
 #define SHM_UNLOCK 12
 #define SHM_STAT 13
 #define SHM_INFO 14
+#define SHM_STAT_ANY 15
 struct shminfo {
   int shmmax;
   int shmmin;
diff --git a/libc/kernel/uapi/linux/stm.h b/libc/kernel/uapi/linux/stm.h
index 497d674..1c7f7f3 100644
--- a/libc/kernel/uapi/linux/stm.h
+++ b/libc/kernel/uapi/linux/stm.h
@@ -19,6 +19,8 @@
 #ifndef _UAPI_LINUX_STM_H
 #define _UAPI_LINUX_STM_H
 #include <linux/types.h>
+#define STP_MASTER_MAX 0xffff
+#define STP_CHANNEL_MAX 0xffff
 struct stp_policy_id {
   __u32 size;
   __u16 master;
diff --git a/libc/kernel/uapi/linux/switchtec_ioctl.h b/libc/kernel/uapi/linux/switchtec_ioctl.h
index 9337be6..09cf9cd 100644
--- a/libc/kernel/uapi/linux/switchtec_ioctl.h
+++ b/libc/kernel/uapi/linux/switchtec_ioctl.h
@@ -83,7 +83,8 @@
 #define SWITCHTEC_IOCTL_EVENT_FORCE_SPEED 26
 #define SWITCHTEC_IOCTL_EVENT_CREDIT_TIMEOUT 27
 #define SWITCHTEC_IOCTL_EVENT_LINK_STATE 28
-#define SWITCHTEC_IOCTL_MAX_EVENTS 29
+#define SWITCHTEC_IOCTL_EVENT_GFMS 29
+#define SWITCHTEC_IOCTL_MAX_EVENTS 30
 #define SWITCHTEC_IOCTL_EVENT_LOCAL_PART_IDX - 1
 #define SWITCHTEC_IOCTL_EVENT_IDX_ALL - 2
 #define SWITCHTEC_IOCTL_EVENT_FLAG_CLEAR (1 << 0)
diff --git a/libc/kernel/uapi/linux/sysctl.h b/libc/kernel/uapi/linux/sysctl.h
index 47c39fc..eb6e61f 100644
--- a/libc/kernel/uapi/linux/sysctl.h
+++ b/libc/kernel/uapi/linux/sysctl.h
@@ -656,22 +656,6 @@
   NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5,
 };
 enum {
-  NET_IRDA_DISCOVERY = 1,
-  NET_IRDA_DEVNAME = 2,
-  NET_IRDA_DEBUG = 3,
-  NET_IRDA_FAST_POLL = 4,
-  NET_IRDA_DISCOVERY_SLOTS = 5,
-  NET_IRDA_DISCOVERY_TIMEOUT = 6,
-  NET_IRDA_SLOT_TIMEOUT = 7,
-  NET_IRDA_MAX_BAUD_RATE = 8,
-  NET_IRDA_MIN_TX_TURN_TIME = 9,
-  NET_IRDA_MAX_TX_DATA_SIZE = 10,
-  NET_IRDA_MAX_TX_WINDOW = 11,
-  NET_IRDA_MAX_NOREPLY_TIME = 12,
-  NET_IRDA_WARN_NOREPLY_TIME = 13,
-  NET_IRDA_LAP_KEEPALIVE_TIME = 14,
-};
-enum {
   FS_NRINODE = 1,
   FS_STATINODE = 2,
   FS_MAXINODE = 3,
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h
new file mode 100644
index 0000000..8cd06ee
--- /dev/null
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h
@@ -0,0 +1,33 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __LINUX_TC_EM_IPT_H
+#define __LINUX_TC_EM_IPT_H
+#include <linux/types.h>
+#include <linux/pkt_cls.h>
+enum {
+  TCA_EM_IPT_UNSPEC,
+  TCA_EM_IPT_HOOK,
+  TCA_EM_IPT_MATCH_NAME,
+  TCA_EM_IPT_MATCH_REVISION,
+  TCA_EM_IPT_NFPROTO,
+  TCA_EM_IPT_MATCH_DATA,
+  __TCA_EM_IPT_MAX
+};
+#define TCA_EM_IPT_MAX (__TCA_EM_IPT_MAX - 1)
+#endif
diff --git a/libc/kernel/uapi/linux/tcp.h b/libc/kernel/uapi/linux/tcp.h
index 0bf9559..8b73119 100644
--- a/libc/kernel/uapi/linux/tcp.h
+++ b/libc/kernel/uapi/linux/tcp.h
@@ -186,6 +186,9 @@
   TCP_NLA_MIN_RTT,
   TCP_NLA_RECUR_RETRANS,
   TCP_NLA_DELIVERY_RATE_APP_LMT,
+  TCP_NLA_SNDQ_SIZE,
+  TCP_NLA_CA_STATE,
+  TCP_NLA_SND_SSTHRESH,
 };
 #define TCP_MD5SIG_MAXKEYLEN 80
 #define TCP_MD5SIG_FLAG_PREFIX 1
diff --git a/libc/kernel/uapi/linux/tee.h b/libc/kernel/uapi/linux/tee.h
index 20d0d80..e13c231 100644
--- a/libc/kernel/uapi/linux/tee.h
+++ b/libc/kernel/uapi/linux/tee.h
@@ -27,6 +27,7 @@
 #define TEE_MAX_ARG_SIZE 1024
 #define TEE_GEN_CAP_GP (1 << 0)
 #define TEE_GEN_CAP_PRIVILEGED (1 << 1)
+#define TEE_GEN_CAP_REG_MEM (1 << 2)
 #define TEE_IMPL_ID_OPTEE 1
 #define TEE_OPTEE_CAP_TZ (1 << 0)
 struct tee_ioctl_version_data {
@@ -53,6 +54,8 @@
 #define TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_OUTPUT 6
 #define TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INOUT 7
 #define TEE_IOCTL_PARAM_ATTR_TYPE_MASK 0xff
+#define TEE_IOCTL_PARAM_ATTR_META 0x100
+#define TEE_IOCTL_PARAM_ATTR_MASK (TEE_IOCTL_PARAM_ATTR_TYPE_MASK | TEE_IOCTL_PARAM_ATTR_META)
 #define TEE_IOCTL_LOGIN_PUBLIC 0
 #define TEE_IOCTL_LOGIN_USER 1
 #define TEE_IOCTL_LOGIN_GROUP 2
@@ -109,4 +112,11 @@
   struct tee_ioctl_param params[];
 };
 #define TEE_IOC_SUPPL_SEND _IOR(TEE_IOC_MAGIC, TEE_IOC_BASE + 7, struct tee_ioctl_buf_data)
+struct tee_ioctl_shm_register_data {
+  __u64 addr;
+  __u64 length;
+  __u32 flags;
+  __s32 id;
+};
+#define TEE_IOC_SHM_REGISTER _IOWR(TEE_IOC_MAGIC, TEE_IOC_BASE + 9, struct tee_ioctl_shm_register_data)
 #endif
diff --git a/libc/kernel/uapi/linux/telephony.h b/libc/kernel/uapi/linux/telephony.h
deleted file mode 100644
index c20eb11..0000000
--- a/libc/kernel/uapi/linux/telephony.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef TELEPHONY_H
-#define TELEPHONY_H
-#define TELEPHONY_VERSION 3013
-#define PHONE_VENDOR_IXJ 1
-#define PHONE_VENDOR_QUICKNET PHONE_VENDOR_IXJ
-#define PHONE_VENDOR_VOICETRONIX 2
-#define PHONE_VENDOR_ACULAB 3
-#define PHONE_VENDOR_DIGI 4
-#define PHONE_VENDOR_FRANKLIN 5
-#define QTI_PHONEJACK 100
-#define QTI_LINEJACK 300
-#define QTI_PHONEJACK_LITE 400
-#define QTI_PHONEJACK_PCI 500
-#define QTI_PHONECARD 600
-typedef enum {
-  vendor = 0,
-  device,
-  port,
-  codec,
-  dsp
-} phone_cap;
-struct phone_capability {
-  char desc[80];
-  phone_cap captype;
-  int cap;
-  int handle;
-};
-typedef enum {
-  pots = 0,
-  pstn,
-  handset,
-  speaker
-} phone_ports;
-#define PHONE_CAPABILITIES _IO('q', 0x80)
-#define PHONE_CAPABILITIES_LIST _IOR('q', 0x81, struct phone_capability *)
-#define PHONE_CAPABILITIES_CHECK _IOW('q', 0x82, struct phone_capability *)
-typedef struct {
-  char month[3];
-  char day[3];
-  char hour[3];
-  char min[3];
-  int numlen;
-  char number[11];
-  int namelen;
-  char name[80];
-} PHONE_CID;
-#define PHONE_RING _IO('q', 0x83)
-#define PHONE_HOOKSTATE _IO('q', 0x84)
-#define PHONE_MAXRINGS _IOW('q', 0x85, char)
-#define PHONE_RING_CADENCE _IOW('q', 0x86, short)
-#define OLD_PHONE_RING_START _IO('q', 0x87)
-#define PHONE_RING_START _IOW('q', 0x87, PHONE_CID *)
-#define PHONE_RING_STOP _IO('q', 0x88)
-#define USA_RING_CADENCE 0xC0C0
-#define PHONE_REC_CODEC _IOW('q', 0x89, int)
-#define PHONE_REC_START _IO('q', 0x8A)
-#define PHONE_REC_STOP _IO('q', 0x8B)
-#define PHONE_REC_DEPTH _IOW('q', 0x8C, int)
-#define PHONE_FRAME _IOW('q', 0x8D, int)
-#define PHONE_REC_VOLUME _IOW('q', 0x8E, int)
-#define PHONE_REC_VOLUME_LINEAR _IOW('q', 0xDB, int)
-#define PHONE_REC_LEVEL _IO('q', 0x8F)
-#define PHONE_PLAY_CODEC _IOW('q', 0x90, int)
-#define PHONE_PLAY_START _IO('q', 0x91)
-#define PHONE_PLAY_STOP _IO('q', 0x92)
-#define PHONE_PLAY_DEPTH _IOW('q', 0x93, int)
-#define PHONE_PLAY_VOLUME _IOW('q', 0x94, int)
-#define PHONE_PLAY_VOLUME_LINEAR _IOW('q', 0xDC, int)
-#define PHONE_PLAY_LEVEL _IO('q', 0x95)
-#define PHONE_DTMF_READY _IOR('q', 0x96, int)
-#define PHONE_GET_DTMF _IOR('q', 0x97, int)
-#define PHONE_GET_DTMF_ASCII _IOR('q', 0x98, int)
-#define PHONE_DTMF_OOB _IOW('q', 0x99, int)
-#define PHONE_EXCEPTION _IOR('q', 0x9A, int)
-#define PHONE_PLAY_TONE _IOW('q', 0x9B, char)
-#define PHONE_SET_TONE_ON_TIME _IOW('q', 0x9C, int)
-#define PHONE_SET_TONE_OFF_TIME _IOW('q', 0x9D, int)
-#define PHONE_GET_TONE_ON_TIME _IO('q', 0x9E)
-#define PHONE_GET_TONE_OFF_TIME _IO('q', 0x9F)
-#define PHONE_GET_TONE_STATE _IO('q', 0xA0)
-#define PHONE_BUSY _IO('q', 0xA1)
-#define PHONE_RINGBACK _IO('q', 0xA2)
-#define PHONE_DIALTONE _IO('q', 0xA3)
-#define PHONE_CPT_STOP _IO('q', 0xA4)
-#define PHONE_PSTN_SET_STATE _IOW('q', 0xA4, int)
-#define PHONE_PSTN_GET_STATE _IO('q', 0xA5)
-#define PSTN_ON_HOOK 0
-#define PSTN_RINGING 1
-#define PSTN_OFF_HOOK 2
-#define PSTN_PULSE_DIAL 3
-#define PHONE_WINK_DURATION _IOW('q', 0xA6, int)
-#define PHONE_WINK _IOW('q', 0xAA, int)
-typedef enum {
-  G723_63 = 1,
-  G723_53 = 2,
-  TS85 = 3,
-  TS48 = 4,
-  TS41 = 5,
-  G728 = 6,
-  G729 = 7,
-  ULAW = 8,
-  ALAW = 9,
-  LINEAR16 = 10,
-  LINEAR8 = 11,
-  WSS = 12,
-  G729B = 13
-} phone_codec;
-struct phone_codec_data {
-  phone_codec type;
-  unsigned short buf_min, buf_opt, buf_max;
-};
-#define PHONE_QUERY_CODEC _IOWR('q', 0xA7, struct phone_codec_data *)
-#define PHONE_PSTN_LINETEST _IO('q', 0xA8)
-#define PHONE_VAD _IOW('q', 0xA9, int)
-struct phone_except {
-  unsigned int dtmf_ready : 1;
-  unsigned int hookstate : 1;
-  unsigned int pstn_ring : 1;
-  unsigned int caller_id : 1;
-  unsigned int pstn_wink : 1;
-  unsigned int f0 : 1;
-  unsigned int f1 : 1;
-  unsigned int f2 : 1;
-  unsigned int f3 : 1;
-  unsigned int flash : 1;
-  unsigned int fc0 : 1;
-  unsigned int fc1 : 1;
-  unsigned int fc2 : 1;
-  unsigned int fc3 : 1;
-  unsigned int reserved : 18;
-};
-union telephony_exception {
-  struct phone_except bits;
-  unsigned int bytes;
-};
-#endif
diff --git a/libc/kernel/uapi/linux/time.h b/libc/kernel/uapi/linux/time.h
index 59e3160..b75d2dc 100644
--- a/libc/kernel/uapi/linux/time.h
+++ b/libc/kernel/uapi/linux/time.h
@@ -45,6 +45,10 @@
   struct timeval it_interval;
   struct timeval it_value;
 };
+struct __kernel_old_timeval {
+  __kernel_long_t tv_sec;
+  __kernel_long_t tv_usec;
+};
 #define CLOCK_REALTIME 0
 #define CLOCK_MONOTONIC 1
 #define CLOCK_PROCESS_CPUTIME_ID 2
diff --git a/libc/kernel/uapi/linux/tipc.h b/libc/kernel/uapi/linux/tipc.h
index b8b4965..603c58f 100644
--- a/libc/kernel/uapi/linux/tipc.h
+++ b/libc/kernel/uapi/linux/tipc.h
@@ -20,39 +20,27 @@
 #define _LINUX_TIPC_H_
 #include <linux/types.h>
 #include <linux/sockios.h>
-struct tipc_portid {
+struct tipc_socket_addr {
   __u32 ref;
   __u32 node;
 };
-struct tipc_name {
+struct tipc_service_addr {
   __u32 type;
   __u32 instance;
 };
-struct tipc_name_seq {
+struct tipc_service_range {
   __u32 type;
   __u32 lower;
   __u32 upper;
 };
-#define TIPC_NODE_BITS 12
-#define TIPC_CLUSTER_BITS 12
-#define TIPC_ZONE_BITS 8
-#define TIPC_NODE_OFFSET 0
-#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
-#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
-#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
-#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
-#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
-#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
-#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
-#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
-#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
-#define TIPC_CFG_SRV 0
+#define TIPC_NODE_STATE 0
 #define TIPC_TOP_SRV 1
 #define TIPC_LINK_STATE 2
 #define TIPC_RESERVED_TYPES 64
-#define TIPC_ZONE_SCOPE 1
-#define TIPC_CLUSTER_SCOPE 2
-#define TIPC_NODE_SCOPE 3
+enum tipc_scope {
+  TIPC_CLUSTER_SCOPE = 2,
+  TIPC_NODE_SCOPE = 3
+};
 #define TIPC_MAX_USER_MSG_SIZE 66000U
 #define TIPC_LOW_IMPORTANCE 0
 #define TIPC_MEDIUM_IMPORTANCE 1
@@ -69,7 +57,7 @@
 #define TIPC_SUB_CANCEL 0x04
 #define TIPC_WAIT_FOREVER (~0)
 struct tipc_subscr {
-  struct tipc_name_seq seq;
+  struct tipc_service_range seq;
   __u32 timeout;
   __u32 filter;
   char usr_handle[8];
@@ -81,7 +69,7 @@
   __u32 event;
   __u32 found_lower;
   __u32 found_upper;
-  struct tipc_portid port;
+  struct tipc_socket_addr port;
   struct tipc_subscr s;
 };
 #ifndef AF_TIPC
@@ -93,19 +81,19 @@
 #ifndef SOL_TIPC
 #define SOL_TIPC 271
 #endif
-#define TIPC_ADDR_NAMESEQ 1
 #define TIPC_ADDR_MCAST 1
-#define TIPC_ADDR_NAME 2
-#define TIPC_ADDR_ID 3
+#define TIPC_SERVICE_RANGE 1
+#define TIPC_SERVICE_ADDR 2
+#define TIPC_SOCKET_ADDR 3
 struct sockaddr_tipc {
   unsigned short family;
   unsigned char addrtype;
   signed char scope;
   union {
-    struct tipc_portid id;
-    struct tipc_name_seq nameseq;
+    struct tipc_socket_addr id;
+    struct tipc_service_range nameseq;
     struct {
-      struct tipc_name name;
+      struct tipc_service_addr name;
       __u32 domain;
     } name;
   } addr;
@@ -134,11 +122,32 @@
 #define TIPC_MAX_MEDIA_NAME 16
 #define TIPC_MAX_IF_NAME 16
 #define TIPC_MAX_BEARER_NAME 32
-#define TIPC_MAX_LINK_NAME 60
+#define TIPC_MAX_LINK_NAME 68
 #define SIOCGETLINKNAME SIOCPROTOPRIVATE
 struct tipc_sioc_ln_req {
   __u32 peer;
   __u32 bearer_id;
   char linkname[TIPC_MAX_LINK_NAME];
 };
+#define TIPC_CFG_SRV 0
+#define TIPC_ZONE_SCOPE 1
+#define TIPC_ADDR_NAMESEQ 1
+#define TIPC_ADDR_NAME 2
+#define TIPC_ADDR_ID 3
+#define TIPC_NODE_BITS 12
+#define TIPC_CLUSTER_BITS 12
+#define TIPC_ZONE_BITS 8
+#define TIPC_NODE_OFFSET 0
+#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
+#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
+#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
+#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
+#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
+#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
+#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
+#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
+#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
+#define tipc_portid tipc_socket_addr
+#define tipc_name tipc_service_addr
+#define tipc_name_seq tipc_service_range
 #endif
diff --git a/libc/kernel/uapi/linux/tipc_netlink.h b/libc/kernel/uapi/linux/tipc_netlink.h
index 5a49b24..ce77441 100644
--- a/libc/kernel/uapi/linux/tipc_netlink.h
+++ b/libc/kernel/uapi/linux/tipc_netlink.h
@@ -85,6 +85,13 @@
   TIPC_NLA_SOCK_REF,
   TIPC_NLA_SOCK_CON,
   TIPC_NLA_SOCK_HAS_PUBL,
+  TIPC_NLA_SOCK_STAT,
+  TIPC_NLA_SOCK_TYPE,
+  TIPC_NLA_SOCK_INO,
+  TIPC_NLA_SOCK_UID,
+  TIPC_NLA_SOCK_TIPC_STATE,
+  TIPC_NLA_SOCK_COOKIE,
+  TIPC_NLA_SOCK_PAD,
   __TIPC_NLA_SOCK_MAX,
   TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
 };
@@ -121,6 +128,8 @@
   TIPC_NLA_NET_UNSPEC,
   TIPC_NLA_NET_ID,
   TIPC_NLA_NET_ADDR,
+  TIPC_NLA_NET_NODEID,
+  TIPC_NLA_NET_NODEID_W1,
   __TIPC_NLA_NET_MAX,
   TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
 };
@@ -178,6 +187,15 @@
   TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
 };
 enum {
+  TIPC_NLA_SOCK_STAT_RCVQ,
+  TIPC_NLA_SOCK_STAT_SENDQ,
+  TIPC_NLA_SOCK_STAT_LINK_CONG,
+  TIPC_NLA_SOCK_STAT_CONN_CONG,
+  TIPC_NLA_SOCK_STAT_DROP,
+  __TIPC_NLA_SOCK_STAT_MAX,
+  TIPC_NLA_SOCK_STAT_MAX = __TIPC_NLA_SOCK_STAT_MAX - 1
+};
+enum {
   TIPC_NLA_PROP_UNSPEC,
   TIPC_NLA_PROP_PRIO,
   TIPC_NLA_PROP_TOL,
diff --git a/libc/kernel/uapi/linux/tipc_sockets_diag.h b/libc/kernel/uapi/linux/tipc_sockets_diag.h
new file mode 100644
index 0000000..7d7d016
--- /dev/null
+++ b/libc/kernel/uapi/linux/tipc_sockets_diag.h
@@ -0,0 +1,29 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI__TIPC_SOCKETS_DIAG_H__
+#define _UAPI__TIPC_SOCKETS_DIAG_H__
+#include <linux/types.h>
+#include <linux/sock_diag.h>
+struct tipc_sock_diag_req {
+  __u8 sdiag_family;
+  __u8 sdiag_protocol;
+  __u16 pad;
+  __u32 tidiag_states;
+};
+#endif
diff --git a/libc/kernel/uapi/linux/tls.h b/libc/kernel/uapi/linux/tls.h
index 925cf80..b6910af 100644
--- a/libc/kernel/uapi/linux/tls.h
+++ b/libc/kernel/uapi/linux/tls.h
@@ -20,6 +20,7 @@
 #define _UAPI_LINUX_TLS_H
 #include <linux/types.h>
 #define TLS_TX 1
+#define TLS_RX 2
 #define TLS_VERSION_MINOR(ver) ((ver) & 0xFF)
 #define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF)
 #define TLS_VERSION_NUMBER(id) ((((id ##_VERSION_MAJOR) & 0xFF) << 8) | ((id ##_VERSION_MINOR) & 0xFF))
@@ -33,6 +34,7 @@
 #define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
 #define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
 #define TLS_SET_RECORD_TYPE 1
+#define TLS_GET_RECORD_TYPE 2
 struct tls_crypto_info {
   __u16 version;
   __u16 cipher_type;
diff --git a/libc/kernel/uapi/linux/types.h b/libc/kernel/uapi/linux/types.h
index 1238a74..e111573 100644
--- a/libc/kernel/uapi/linux/types.h
+++ b/libc/kernel/uapi/linux/types.h
@@ -34,5 +34,10 @@
 #define __aligned_u64 __u64 __attribute__((aligned(8)))
 #define __aligned_be64 __be64 __attribute__((aligned(8)))
 #define __aligned_le64 __le64 __attribute__((aligned(8)))
+#ifdef __CHECK_POLL
+typedef unsigned __bitwise __poll_t;
+#else
+typedef unsigned __poll_t;
+#endif
 #endif
 #endif
diff --git a/libc/kernel/uapi/linux/usb/audio.h b/libc/kernel/uapi/linux/usb/audio.h
index 121c859..87b8bd5 100644
--- a/libc/kernel/uapi/linux/usb/audio.h
+++ b/libc/kernel/uapi/linux/usb/audio.h
@@ -21,6 +21,7 @@
 #include <linux/types.h>
 #define UAC_VERSION_1 0x00
 #define UAC_VERSION_2 0x20
+#define UAC_VERSION_3 0x30
 #define USB_SUBCLASS_AUDIOCONTROL 0x01
 #define USB_SUBCLASS_AUDIOSTREAMING 0x02
 #define USB_SUBCLASS_MIDISTREAMING 0x03
diff --git a/libc/kernel/uapi/linux/usb/ch9.h b/libc/kernel/uapi/linux/usb/ch9.h
index a7cf43a..89d772a 100644
--- a/libc/kernel/uapi/linux/usb/ch9.h
+++ b/libc/kernel/uapi/linux/usb/ch9.h
@@ -508,7 +508,7 @@
   __u8 bDevCapabilityType;
 } __attribute__((packed));
 #define USB_DT_USB_PTM_ID_SIZE 3
-#define USB_DT_USB_SSP_CAP_SIZE(ssac) (16 + ssac * 4)
+#define USB_DT_USB_SSP_CAP_SIZE(ssac) (12 + (ssac + 1) * 4)
 struct usb_wireless_ep_comp_descriptor {
   __u8 bLength;
   __u8 bDescriptorType;
diff --git a/libc/kernel/uapi/linux/uuid.h b/libc/kernel/uapi/linux/uuid.h
index 808578f..d0f82c1 100644
--- a/libc/kernel/uapi/linux/uuid.h
+++ b/libc/kernel/uapi/linux/uuid.h
@@ -19,7 +19,6 @@
 #ifndef _UAPI_LINUX_UUID_H_
 #define _UAPI_LINUX_UUID_H_
 #include <linux/types.h>
-#include <linux/string.h>
 typedef struct {
   __u8 b[16];
 } guid_t;
diff --git a/libc/kernel/uapi/linux/uvcvideo.h b/libc/kernel/uapi/linux/uvcvideo.h
index 5d832d4..7ae7aad 100644
--- a/libc/kernel/uapi/linux/uvcvideo.h
+++ b/libc/kernel/uapi/linux/uvcvideo.h
@@ -61,4 +61,11 @@
 };
 #define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping)
 #define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)
+struct uvc_meta_buf {
+  __u64 ns;
+  __u16 sof;
+  __u8 length;
+  __u8 flags;
+  __u8 buf[];
+} __packed;
 #endif
diff --git a/libc/kernel/uapi/linux/v4l2-controls.h b/libc/kernel/uapi/linux/v4l2-controls.h
index 302da8f..37e447e 100644
--- a/libc/kernel/uapi/linux/v4l2-controls.h
+++ b/libc/kernel/uapi/linux/v4l2-controls.h
@@ -490,6 +490,95 @@
 #define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE + 509)
 #define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE + 510)
 #define V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE + 511)
+#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600)
+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601)
+#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602)
+#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603)
+#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606)
+enum v4l2_mpeg_video_hevc_hier_coding_type {
+  V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0,
+  V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614)
+#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615)
+enum v4l2_mpeg_video_hevc_profile {
+  V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0,
+  V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
+  V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616)
+enum v4l2_mpeg_video_hevc_level {
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_2_1 = 2,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_3 = 3,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_3_1 = 4,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_4 = 5,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1 = 6,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_5 = 7,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1 = 8,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_5_2 = 9,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_6 = 10,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11,
+  V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617)
+#define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618)
+enum v4l2_mpeg_video_hevc_tier {
+  V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0,
+  V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619)
+#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620)
+enum v4l2_cid_mpeg_video_hevc_loop_filter_mode {
+  V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0,
+  V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
+  V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621)
+#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622)
+#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623)
+enum v4l2_cid_mpeg_video_hevc_refresh_type {
+  V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0,
+  V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
+  V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624)
+#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625)
+#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626)
+#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627)
+#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628)
+#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629)
+#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630)
+#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631)
+#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632)
+#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633)
+#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634)
+#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635)
+enum v4l2_cid_mpeg_video_hevc_size_of_length_field {
+  V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0,
+  V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
+  V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2,
+  V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3,
+};
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641)
+#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642)
+#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643)
+#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644)
 #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE + 0)
 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
diff --git a/libc/kernel/uapi/linux/vbox_err.h b/libc/kernel/uapi/linux/vbox_err.h
new file mode 100644
index 0000000..dec3574
--- /dev/null
+++ b/libc/kernel/uapi/linux/vbox_err.h
@@ -0,0 +1,157 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __UAPI_VBOX_ERR_H__
+#define __UAPI_VBOX_ERR_H__
+#define VINF_SUCCESS 0
+#define VERR_GENERAL_FAILURE (- 1)
+#define VERR_INVALID_PARAMETER (- 2)
+#define VERR_INVALID_MAGIC (- 3)
+#define VERR_INVALID_HANDLE (- 4)
+#define VERR_LOCK_FAILED (- 5)
+#define VERR_INVALID_POINTER (- 6)
+#define VERR_IDT_FAILED (- 7)
+#define VERR_NO_MEMORY (- 8)
+#define VERR_ALREADY_LOADED (- 9)
+#define VERR_PERMISSION_DENIED (- 10)
+#define VERR_VERSION_MISMATCH (- 11)
+#define VERR_NOT_IMPLEMENTED (- 12)
+#define VERR_INVALID_FLAGS (- 13)
+#define VERR_NOT_EQUAL (- 18)
+#define VERR_NOT_SYMLINK (- 19)
+#define VERR_NO_TMP_MEMORY (- 20)
+#define VERR_INVALID_FMODE (- 21)
+#define VERR_WRONG_ORDER (- 22)
+#define VERR_NO_TLS_FOR_SELF (- 23)
+#define VERR_FAILED_TO_SET_SELF_TLS (- 24)
+#define VERR_NO_CONT_MEMORY (- 26)
+#define VERR_NO_PAGE_MEMORY (- 27)
+#define VERR_THREAD_IS_DEAD (- 29)
+#define VERR_THREAD_NOT_WAITABLE (- 30)
+#define VERR_PAGE_TABLE_NOT_PRESENT (- 31)
+#define VERR_INVALID_CONTEXT (- 32)
+#define VERR_TIMER_BUSY (- 33)
+#define VERR_ADDRESS_CONFLICT (- 34)
+#define VERR_UNRESOLVED_ERROR (- 35)
+#define VERR_INVALID_FUNCTION (- 36)
+#define VERR_NOT_SUPPORTED (- 37)
+#define VERR_ACCESS_DENIED (- 38)
+#define VERR_INTERRUPTED (- 39)
+#define VERR_TIMEOUT (- 40)
+#define VERR_BUFFER_OVERFLOW (- 41)
+#define VERR_TOO_MUCH_DATA (- 42)
+#define VERR_MAX_THRDS_REACHED (- 43)
+#define VERR_MAX_PROCS_REACHED (- 44)
+#define VERR_SIGNAL_REFUSED (- 45)
+#define VERR_SIGNAL_PENDING (- 46)
+#define VERR_SIGNAL_INVALID (- 47)
+#define VERR_STATE_CHANGED (- 48)
+#define VERR_INVALID_UUID_FORMAT (- 49)
+#define VERR_PROCESS_NOT_FOUND (- 50)
+#define VERR_PROCESS_RUNNING (- 51)
+#define VERR_TRY_AGAIN (- 52)
+#define VERR_PARSE_ERROR (- 53)
+#define VERR_OUT_OF_RANGE (- 54)
+#define VERR_NUMBER_TOO_BIG (- 55)
+#define VERR_NO_DIGITS (- 56)
+#define VERR_NEGATIVE_UNSIGNED (- 57)
+#define VERR_NO_TRANSLATION (- 58)
+#define VERR_NOT_FOUND (- 78)
+#define VERR_INVALID_STATE (- 79)
+#define VERR_OUT_OF_RESOURCES (- 80)
+#define VERR_FILE_NOT_FOUND (- 102)
+#define VERR_PATH_NOT_FOUND (- 103)
+#define VERR_INVALID_NAME (- 104)
+#define VERR_ALREADY_EXISTS (- 105)
+#define VERR_TOO_MANY_OPEN_FILES (- 106)
+#define VERR_SEEK (- 107)
+#define VERR_NEGATIVE_SEEK (- 108)
+#define VERR_SEEK_ON_DEVICE (- 109)
+#define VERR_EOF (- 110)
+#define VERR_READ_ERROR (- 111)
+#define VERR_WRITE_ERROR (- 112)
+#define VERR_WRITE_PROTECT (- 113)
+#define VERR_SHARING_VIOLATION (- 114)
+#define VERR_FILE_LOCK_FAILED (- 115)
+#define VERR_FILE_LOCK_VIOLATION (- 116)
+#define VERR_CANT_CREATE (- 117)
+#define VERR_CANT_DELETE_DIRECTORY (- 118)
+#define VERR_NOT_SAME_DEVICE (- 119)
+#define VERR_FILENAME_TOO_LONG (- 120)
+#define VERR_MEDIA_NOT_PRESENT (- 121)
+#define VERR_MEDIA_NOT_RECOGNIZED (- 122)
+#define VERR_FILE_NOT_LOCKED (- 123)
+#define VERR_FILE_LOCK_LOST (- 124)
+#define VERR_DIR_NOT_EMPTY (- 125)
+#define VERR_NOT_A_DIRECTORY (- 126)
+#define VERR_IS_A_DIRECTORY (- 127)
+#define VERR_FILE_TOO_BIG (- 128)
+#define VERR_NET_IO_ERROR (- 400)
+#define VERR_NET_OUT_OF_RESOURCES (- 401)
+#define VERR_NET_HOST_NOT_FOUND (- 402)
+#define VERR_NET_PATH_NOT_FOUND (- 403)
+#define VERR_NET_PRINT_ERROR (- 404)
+#define VERR_NET_NO_NETWORK (- 405)
+#define VERR_NET_NOT_UNIQUE_NAME (- 406)
+#define VERR_NET_IN_PROGRESS (- 436)
+#define VERR_NET_ALREADY_IN_PROGRESS (- 437)
+#define VERR_NET_NOT_SOCKET (- 438)
+#define VERR_NET_DEST_ADDRESS_REQUIRED (- 439)
+#define VERR_NET_MSG_SIZE (- 440)
+#define VERR_NET_PROTOCOL_TYPE (- 441)
+#define VERR_NET_PROTOCOL_NOT_AVAILABLE (- 442)
+#define VERR_NET_PROTOCOL_NOT_SUPPORTED (- 443)
+#define VERR_NET_SOCKET_TYPE_NOT_SUPPORTED (- 444)
+#define VERR_NET_OPERATION_NOT_SUPPORTED (- 445)
+#define VERR_NET_PROTOCOL_FAMILY_NOT_SUPPORTED (- 446)
+#define VERR_NET_ADDRESS_FAMILY_NOT_SUPPORTED (- 447)
+#define VERR_NET_ADDRESS_IN_USE (- 448)
+#define VERR_NET_ADDRESS_NOT_AVAILABLE (- 449)
+#define VERR_NET_DOWN (- 450)
+#define VERR_NET_UNREACHABLE (- 451)
+#define VERR_NET_CONNECTION_RESET (- 452)
+#define VERR_NET_CONNECTION_ABORTED (- 453)
+#define VERR_NET_CONNECTION_RESET_BY_PEER (- 454)
+#define VERR_NET_NO_BUFFER_SPACE (- 455)
+#define VERR_NET_ALREADY_CONNECTED (- 456)
+#define VERR_NET_NOT_CONNECTED (- 457)
+#define VERR_NET_SHUTDOWN (- 458)
+#define VERR_NET_TOO_MANY_REFERENCES (- 459)
+#define VERR_NET_CONNECTION_TIMED_OUT (- 460)
+#define VERR_NET_CONNECTION_REFUSED (- 461)
+#define VERR_NET_HOST_DOWN (- 464)
+#define VERR_NET_HOST_UNREACHABLE (- 465)
+#define VERR_NET_PROTOCOL_ERROR (- 466)
+#define VERR_NET_INCOMPLETE_TX_PACKET (- 467)
+#define VERR_RESOURCE_BUSY (- 138)
+#define VERR_DISK_FULL (- 152)
+#define VERR_TOO_MANY_SYMLINKS (- 156)
+#define VERR_NO_MORE_FILES (- 201)
+#define VERR_INTERNAL_ERROR (- 225)
+#define VERR_INTERNAL_ERROR_2 (- 226)
+#define VERR_INTERNAL_ERROR_3 (- 227)
+#define VERR_INTERNAL_ERROR_4 (- 228)
+#define VERR_DEV_IO_ERROR (- 250)
+#define VERR_IO_BAD_LENGTH (- 255)
+#define VERR_BROKEN_PIPE (- 301)
+#define VERR_NO_DATA (- 304)
+#define VERR_SEM_DESTROYED (- 363)
+#define VERR_DEADLOCK (- 365)
+#define VERR_BAD_EXE_FORMAT (- 608)
+#define VINF_HGCM_ASYNC_EXECUTE (2903)
+#endif
diff --git a/libc/kernel/uapi/linux/vbox_vmmdev_types.h b/libc/kernel/uapi/linux/vbox_vmmdev_types.h
new file mode 100644
index 0000000..46b3486
--- /dev/null
+++ b/libc/kernel/uapi/linux/vbox_vmmdev_types.h
@@ -0,0 +1,167 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __UAPI_VBOX_VMMDEV_TYPES_H__
+#define __UAPI_VBOX_VMMDEV_TYPES_H__
+#include <asm/bitsperlong.h>
+#include <linux/types.h>
+#define VMMDEV_ASSERT_SIZE(type,size) typedef char type ##_asrt_size[1 - 2 * ! ! (sizeof(struct type) != (size))]
+enum vmmdev_request_type {
+  VMMDEVREQ_INVALID_REQUEST = 0,
+  VMMDEVREQ_GET_MOUSE_STATUS = 1,
+  VMMDEVREQ_SET_MOUSE_STATUS = 2,
+  VMMDEVREQ_SET_POINTER_SHAPE = 3,
+  VMMDEVREQ_GET_HOST_VERSION = 4,
+  VMMDEVREQ_IDLE = 5,
+  VMMDEVREQ_GET_HOST_TIME = 10,
+  VMMDEVREQ_GET_HYPERVISOR_INFO = 20,
+  VMMDEVREQ_SET_HYPERVISOR_INFO = 21,
+  VMMDEVREQ_REGISTER_PATCH_MEMORY = 22,
+  VMMDEVREQ_DEREGISTER_PATCH_MEMORY = 23,
+  VMMDEVREQ_SET_POWER_STATUS = 30,
+  VMMDEVREQ_ACKNOWLEDGE_EVENTS = 41,
+  VMMDEVREQ_CTL_GUEST_FILTER_MASK = 42,
+  VMMDEVREQ_REPORT_GUEST_INFO = 50,
+  VMMDEVREQ_REPORT_GUEST_INFO2 = 58,
+  VMMDEVREQ_REPORT_GUEST_STATUS = 59,
+  VMMDEVREQ_REPORT_GUEST_USER_STATE = 74,
+  VMMDEVREQ_GET_DISPLAY_CHANGE_REQ = 51,
+  VMMDEVREQ_VIDEMODE_SUPPORTED = 52,
+  VMMDEVREQ_GET_HEIGHT_REDUCTION = 53,
+  VMMDEVREQ_GET_DISPLAY_CHANGE_REQ2 = 54,
+  VMMDEVREQ_REPORT_GUEST_CAPABILITIES = 55,
+  VMMDEVREQ_SET_GUEST_CAPABILITIES = 56,
+  VMMDEVREQ_VIDEMODE_SUPPORTED2 = 57,
+  VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX = 80,
+  VMMDEVREQ_HGCM_CONNECT = 60,
+  VMMDEVREQ_HGCM_DISCONNECT = 61,
+  VMMDEVREQ_HGCM_CALL32 = 62,
+  VMMDEVREQ_HGCM_CALL64 = 63,
+  VMMDEVREQ_HGCM_CANCEL = 64,
+  VMMDEVREQ_HGCM_CANCEL2 = 65,
+  VMMDEVREQ_VIDEO_ACCEL_ENABLE = 70,
+  VMMDEVREQ_VIDEO_ACCEL_FLUSH = 71,
+  VMMDEVREQ_VIDEO_SET_VISIBLE_REGION = 72,
+  VMMDEVREQ_GET_SEAMLESS_CHANGE_REQ = 73,
+  VMMDEVREQ_QUERY_CREDENTIALS = 100,
+  VMMDEVREQ_REPORT_CREDENTIALS_JUDGEMENT = 101,
+  VMMDEVREQ_REPORT_GUEST_STATS = 110,
+  VMMDEVREQ_GET_MEMBALLOON_CHANGE_REQ = 111,
+  VMMDEVREQ_GET_STATISTICS_CHANGE_REQ = 112,
+  VMMDEVREQ_CHANGE_MEMBALLOON = 113,
+  VMMDEVREQ_GET_VRDPCHANGE_REQ = 150,
+  VMMDEVREQ_LOG_STRING = 200,
+  VMMDEVREQ_GET_CPU_HOTPLUG_REQ = 210,
+  VMMDEVREQ_SET_CPU_HOTPLUG_STATUS = 211,
+  VMMDEVREQ_REGISTER_SHARED_MODULE = 212,
+  VMMDEVREQ_UNREGISTER_SHARED_MODULE = 213,
+  VMMDEVREQ_CHECK_SHARED_MODULES = 214,
+  VMMDEVREQ_GET_PAGE_SHARING_STATUS = 215,
+  VMMDEVREQ_DEBUG_IS_PAGE_SHARED = 216,
+  VMMDEVREQ_GET_SESSION_ID = 217,
+  VMMDEVREQ_WRITE_COREDUMP = 218,
+  VMMDEVREQ_GUEST_HEARTBEAT = 219,
+  VMMDEVREQ_HEARTBEAT_CONFIGURE = 220,
+  VMMDEVREQ_SIZEHACK = 0x7fffffff
+};
+#if __BITS_PER_LONG == 64
+#define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL64
+#else
+#define VMMDEVREQ_HGCM_CALL VMMDEVREQ_HGCM_CALL32
+#endif
+enum vmmdev_hgcm_service_location_type {
+  VMMDEV_HGCM_LOC_INVALID = 0,
+  VMMDEV_HGCM_LOC_LOCALHOST = 1,
+  VMMDEV_HGCM_LOC_LOCALHOST_EXISTING = 2,
+  VMMDEV_HGCM_LOC_SIZEHACK = 0x7fffffff
+};
+struct vmmdev_hgcm_service_location_localhost {
+  char service_name[128];
+};
+struct vmmdev_hgcm_service_location {
+  enum vmmdev_hgcm_service_location_type type;
+  union {
+    struct vmmdev_hgcm_service_location_localhost localhost;
+  } u;
+};
+enum vmmdev_hgcm_function_parameter_type {
+  VMMDEV_HGCM_PARM_TYPE_INVALID = 0,
+  VMMDEV_HGCM_PARM_TYPE_32BIT = 1,
+  VMMDEV_HGCM_PARM_TYPE_64BIT = 2,
+  VMMDEV_HGCM_PARM_TYPE_PHYSADDR = 3,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR = 4,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR_IN = 5,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR_OUT = 6,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL = 7,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN = 8,
+  VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT = 9,
+  VMMDEV_HGCM_PARM_TYPE_PAGELIST = 10,
+  VMMDEV_HGCM_PARM_TYPE_SIZEHACK = 0x7fffffff
+};
+struct vmmdev_hgcm_function_parameter32 {
+  enum vmmdev_hgcm_function_parameter_type type;
+  union {
+    __u32 value32;
+    __u64 value64;
+    struct {
+      __u32 size;
+      union {
+        __u32 phys_addr;
+        __u32 linear_addr;
+      } u;
+    } pointer;
+    struct {
+      __u32 size;
+      __u32 offset;
+    } page_list;
+  } u;
+} __packed;
+struct vmmdev_hgcm_function_parameter64 {
+  enum vmmdev_hgcm_function_parameter_type type;
+  union {
+    __u32 value32;
+    __u64 value64;
+    struct {
+      __u32 size;
+      union {
+        __u64 phys_addr;
+        __u64 linear_addr;
+      } u;
+    } __packed pointer;
+    struct {
+      __u32 size;
+      __u32 offset;
+    } page_list;
+  } __packed u;
+} __packed;
+#if __BITS_PER_LONG == 64
+#define vmmdev_hgcm_function_parameter vmmdev_hgcm_function_parameter64
+#else
+#define vmmdev_hgcm_function_parameter vmmdev_hgcm_function_parameter32
+#endif
+#define VMMDEV_HGCM_F_PARM_DIRECTION_NONE 0x00000000U
+#define VMMDEV_HGCM_F_PARM_DIRECTION_TO_HOST 0x00000001U
+#define VMMDEV_HGCM_F_PARM_DIRECTION_FROM_HOST 0x00000002U
+#define VMMDEV_HGCM_F_PARM_DIRECTION_BOTH 0x00000003U
+struct vmmdev_hgcm_pagelist {
+  __u32 flags;
+  __u16 offset_first_page;
+  __u16 page_count;
+  __u64 pages[1];
+};
+#endif
diff --git a/libc/kernel/uapi/linux/vboxguest.h b/libc/kernel/uapi/linux/vboxguest.h
new file mode 100644
index 0000000..2eb80ef
--- /dev/null
+++ b/libc/kernel/uapi/linux/vboxguest.h
@@ -0,0 +1,161 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef __UAPI_VBOXGUEST_H__
+#define __UAPI_VBOXGUEST_H__
+#include <asm/bitsperlong.h>
+#include <linux/ioctl.h>
+#include <linux/vbox_err.h>
+#include <linux/vbox_vmmdev_types.h>
+#define VBG_IOCTL_HDR_VERSION 0x10001
+#define VBG_IOCTL_HDR_TYPE_DEFAULT 0
+struct vbg_ioctl_hdr {
+  __u32 size_in;
+  __u32 version;
+  __u32 type;
+  __s32 rc;
+  __u32 size_out;
+  __u32 reserved;
+};
+#define VBG_IOC_VERSION 0x00010000u
+struct vbg_ioctl_driver_version_info {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 req_version;
+      __u32 min_version;
+      __u32 reserved1;
+      __u32 reserved2;
+    } in;
+    struct {
+      __u32 session_version;
+      __u32 driver_version;
+      __u32 driver_revision;
+      __u32 reserved1;
+      __u32 reserved2;
+    } out;
+  } u;
+};
+#define VBG_IOCTL_DRIVER_VERSION_INFO _IOWR('V', 0, struct vbg_ioctl_driver_version_info)
+#define VBG_IOCTL_VMMDEV_REQUEST(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 2, s)
+#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0)
+struct vbg_ioctl_hgcm_connect {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      struct vmmdev_hgcm_service_location loc;
+    } in;
+    struct {
+      __u32 client_id;
+    } out;
+  } u;
+};
+#define VBG_IOCTL_HGCM_CONNECT _IOWR('V', 4, struct vbg_ioctl_hgcm_connect)
+struct vbg_ioctl_hgcm_disconnect {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 client_id;
+    } in;
+  } u;
+};
+#define VBG_IOCTL_HGCM_DISCONNECT _IOWR('V', 5, struct vbg_ioctl_hgcm_disconnect)
+struct vbg_ioctl_hgcm_call {
+  struct vbg_ioctl_hdr hdr;
+  __u32 client_id;
+  __u32 function;
+  __u32 timeout_ms;
+  __u8 interruptible;
+  __u8 reserved;
+  __u16 parm_count;
+};
+#define VBG_IOCTL_HGCM_CALL_32(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 6, s)
+#define VBG_IOCTL_HGCM_CALL_64(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 7, s)
+#if __BITS_PER_LONG == 64
+#define VBG_IOCTL_HGCM_CALL(s) VBG_IOCTL_HGCM_CALL_64(s)
+#else
+#define VBG_IOCTL_HGCM_CALL(s) VBG_IOCTL_HGCM_CALL_32(s)
+#endif
+struct vbg_ioctl_log {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      char msg[1];
+    } in;
+  } u;
+};
+#define VBG_IOCTL_LOG(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s)
+struct vbg_ioctl_wait_for_events {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 timeout_ms;
+      __u32 events;
+    } in;
+    struct {
+      __u32 events;
+    } out;
+  } u;
+};
+#define VBG_IOCTL_WAIT_FOR_EVENTS _IOWR('V', 10, struct vbg_ioctl_wait_for_events)
+#define VBG_IOCTL_INTERRUPT_ALL_WAIT_FOR_EVENTS _IOWR('V', 11, struct vbg_ioctl_hdr)
+struct vbg_ioctl_change_filter {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 or_mask;
+      __u32 not_mask;
+    } in;
+  } u;
+};
+#define VBG_IOCTL_CHANGE_FILTER_MASK _IOWR('V', 12, struct vbg_ioctl_change_filter)
+struct vbg_ioctl_set_guest_caps {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 or_mask;
+      __u32 not_mask;
+    } in;
+    struct {
+      __u32 session_caps;
+      __u32 global_caps;
+    } out;
+  } u;
+};
+#define VBG_IOCTL_CHANGE_GUEST_CAPABILITIES _IOWR('V', 14, struct vbg_ioctl_set_guest_caps)
+struct vbg_ioctl_check_balloon {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 balloon_chunks;
+      __u8 handle_in_r3;
+      __u8 padding[3];
+    } out;
+  } u;
+};
+#define VBG_IOCTL_CHECK_BALLOON _IOWR('V', 17, struct vbg_ioctl_check_balloon)
+struct vbg_ioctl_write_coredump {
+  struct vbg_ioctl_hdr hdr;
+  union {
+    struct {
+      __u32 flags;
+    } in;
+  } u;
+};
+#define VBG_IOCTL_WRITE_CORE_DUMP _IOWR('V', 19, struct vbg_ioctl_write_coredump)
+#endif
diff --git a/libc/kernel/uapi/linux/version.h b/libc/kernel/uapi/linux/version.h
index 70b6963..61f0c3d 100644
--- a/libc/kernel/uapi/linux/version.h
+++ b/libc/kernel/uapi/linux/version.h
@@ -16,5 +16,5 @@
  ***
  ****************************************************************************
  ****************************************************************************/
-#define LINUX_VERSION_CODE 265984
+#define LINUX_VERSION_CODE 266499
 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
diff --git a/libc/kernel/uapi/linux/vfio.h b/libc/kernel/uapi/linux/vfio.h
index 4e3fdb7..8b397f4 100644
--- a/libc/kernel/uapi/linux/vfio.h
+++ b/libc/kernel/uapi/linux/vfio.h
@@ -100,6 +100,7 @@
 #define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1)
 #define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
 #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
+#define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3
 struct vfio_irq_info {
   __u32 argsz;
   __u32 flags;
@@ -177,6 +178,43 @@
   __s32 group_fds[];
 };
 #define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
+struct vfio_device_gfx_plane_info {
+  __u32 argsz;
+  __u32 flags;
+#define VFIO_GFX_PLANE_TYPE_PROBE (1 << 0)
+#define VFIO_GFX_PLANE_TYPE_DMABUF (1 << 1)
+#define VFIO_GFX_PLANE_TYPE_REGION (1 << 2)
+  __u32 drm_plane_type;
+  __u32 drm_format;
+  __u64 drm_format_mod;
+  __u32 width;
+  __u32 height;
+  __u32 stride;
+  __u32 size;
+  __u32 x_pos;
+  __u32 y_pos;
+  __u32 x_hot;
+  __u32 y_hot;
+  union {
+    __u32 region_index;
+    __u32 dmabuf_id;
+  };
+};
+#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
+#define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15)
+struct vfio_device_ioeventfd {
+  __u32 argsz;
+  __u32 flags;
+#define VFIO_DEVICE_IOEVENTFD_8 (1 << 0)
+#define VFIO_DEVICE_IOEVENTFD_16 (1 << 1)
+#define VFIO_DEVICE_IOEVENTFD_32 (1 << 2)
+#define VFIO_DEVICE_IOEVENTFD_64 (1 << 3)
+#define VFIO_DEVICE_IOEVENTFD_SIZE_MASK (0xf)
+  __u64 offset;
+  __u64 data;
+  __s32 fd;
+};
+#define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
 struct vfio_iommu_type1_info {
   __u32 argsz;
   __u32 flags;
diff --git a/libc/kernel/uapi/linux/videodev2.h b/libc/kernel/uapi/linux/videodev2.h
index c350108..0569ba7 100644
--- a/libc/kernel/uapi/linux/videodev2.h
+++ b/libc/kernel/uapi/linux/videodev2.h
@@ -314,6 +314,7 @@
 #define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L')
 #define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0')
 #define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0')
+#define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C')
 #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A')
 #define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A')
 #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0')
@@ -345,6 +346,10 @@
 #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
 #define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1')
 #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I')
+#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b')
+#define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g')
+#define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G')
+#define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r')
 #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8')
 #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6')
 #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8')
@@ -359,6 +364,7 @@
 #define V4L2_TCH_FMT_TU08 v4l2_fourcc('T', 'U', '0', '8')
 #define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H')
 #define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T')
+#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H')
 #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
 #define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001
 struct v4l2_fmtdesc {
diff --git a/libc/kernel/uapi/linux/virtio_balloon.h b/libc/kernel/uapi/linux/virtio_balloon.h
index 9f383bc..5969fa0 100644
--- a/libc/kernel/uapi/linux/virtio_balloon.h
+++ b/libc/kernel/uapi/linux/virtio_balloon.h
@@ -37,7 +37,13 @@
 #define VIRTIO_BALLOON_S_MEMFREE 4
 #define VIRTIO_BALLOON_S_MEMTOT 5
 #define VIRTIO_BALLOON_S_AVAIL 6
-#define VIRTIO_BALLOON_S_NR 7
+#define VIRTIO_BALLOON_S_CACHES 7
+#define VIRTIO_BALLOON_S_HTLB_PGALLOC 8
+#define VIRTIO_BALLOON_S_HTLB_PGFAIL 9
+#define VIRTIO_BALLOON_S_NR 10
+#define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { VIRTIO_BALLOON_S_NAMES_prefix "swap-in", VIRTIO_BALLOON_S_NAMES_prefix "swap-out", VIRTIO_BALLOON_S_NAMES_prefix "major-faults", VIRTIO_BALLOON_S_NAMES_prefix "minor-faults", VIRTIO_BALLOON_S_NAMES_prefix "free-memory", VIRTIO_BALLOON_S_NAMES_prefix "total-memory", VIRTIO_BALLOON_S_NAMES_prefix "available-memory", VIRTIO_BALLOON_S_NAMES_prefix "disk-caches", VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-allocations", VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-failures" \
+}
+#define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("")
 struct virtio_balloon_stat {
   __virtio16 tag;
   __virtio64 val;
diff --git a/libc/kernel/uapi/linux/virtio_net.h b/libc/kernel/uapi/linux/virtio_net.h
index ed9df3f..329d736 100644
--- a/libc/kernel/uapi/linux/virtio_net.h
+++ b/libc/kernel/uapi/linux/virtio_net.h
@@ -45,6 +45,7 @@
 #define VIRTIO_NET_F_GUEST_ANNOUNCE 21
 #define VIRTIO_NET_F_MQ 22
 #define VIRTIO_NET_F_CTRL_MAC_ADDR 23
+#define VIRTIO_NET_F_SPEED_DUPLEX 63
 #ifndef VIRTIO_NET_NO_LEGACY
 #define VIRTIO_NET_F_GSO 6
 #endif
@@ -55,6 +56,8 @@
   __u16 status;
   __u16 max_virtqueue_pairs;
   __u16 mtu;
+  __u32 speed;
+  __u8 duplex;
 } __attribute__((packed));
 struct virtio_net_hdr_v1 {
 #define VIRTIO_NET_HDR_F_NEEDS_CSUM 1
diff --git a/libc/kernel/uapi/misc/cxl.h b/libc/kernel/uapi/misc/cxl.h
index d9cfa5e..64b5992 100644
--- a/libc/kernel/uapi/misc/cxl.h
+++ b/libc/kernel/uapi/misc/cxl.h
@@ -25,17 +25,18 @@
   __u64 work_element_descriptor;
   __u64 amr;
   __s16 num_interrupts;
-  __s16 reserved1;
-  __s32 reserved2;
+  __u16 tid;
+  __s32 reserved1;
+  __u64 reserved2;
   __u64 reserved3;
   __u64 reserved4;
   __u64 reserved5;
-  __u64 reserved6;
 };
 #define CXL_START_WORK_AMR 0x0000000000000001ULL
 #define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL
 #define CXL_START_WORK_ERR_FF 0x0000000000000004ULL
-#define CXL_START_WORK_ALL (CXL_START_WORK_AMR | CXL_START_WORK_NUM_IRQS | CXL_START_WORK_ERR_FF)
+#define CXL_START_WORK_TID 0x0000000000000008ULL
+#define CXL_START_WORK_ALL (CXL_START_WORK_AMR | CXL_START_WORK_NUM_IRQS | CXL_START_WORK_ERR_FF | CXL_START_WORK_TID)
 #define CXL_MODE_DEDICATED 0x1
 #define CXL_MODE_DIRECTED 0x2
 #define CXL_AFUID_FLAG_SLAVE 0x1
diff --git a/libc/kernel/uapi/misc/ocxl.h b/libc/kernel/uapi/misc/ocxl.h
new file mode 100644
index 0000000..98d3eac
--- /dev/null
+++ b/libc/kernel/uapi/misc/ocxl.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _UAPI_MISC_OCXL_H
+#define _UAPI_MISC_OCXL_H
+#include <linux/types.h>
+#include <linux/ioctl.h>
+enum ocxl_event_type {
+  OCXL_AFU_EVENT_XSL_FAULT_ERROR = 0,
+};
+#define OCXL_KERNEL_EVENT_FLAG_LAST 0x0001
+struct ocxl_kernel_event_header {
+  __u16 type;
+  __u16 flags;
+  __u32 reserved;
+};
+struct ocxl_kernel_event_xsl_fault_error {
+  __u64 addr;
+  __u64 dsisr;
+  __u64 count;
+  __u64 reserved;
+};
+struct ocxl_ioctl_attach {
+  __u64 amr;
+  __u64 reserved1;
+  __u64 reserved2;
+  __u64 reserved3;
+};
+struct ocxl_ioctl_metadata {
+  __u16 version;
+  __u8 afu_version_major;
+  __u8 afu_version_minor;
+  __u32 pasid;
+  __u64 pp_mmio_size;
+  __u64 global_mmio_size;
+  __u64 reserved[13];
+};
+struct ocxl_ioctl_irq_fd {
+  __u64 irq_offset;
+  __s32 eventfd;
+  __u32 reserved;
+};
+#define OCXL_MAGIC 0xCA
+#define OCXL_IOCTL_ATTACH _IOW(OCXL_MAGIC, 0x10, struct ocxl_ioctl_attach)
+#define OCXL_IOCTL_IRQ_ALLOC _IOR(OCXL_MAGIC, 0x11, __u64)
+#define OCXL_IOCTL_IRQ_FREE _IOW(OCXL_MAGIC, 0x12, __u64)
+#define OCXL_IOCTL_IRQ_SET_FD _IOW(OCXL_MAGIC, 0x13, struct ocxl_ioctl_irq_fd)
+#define OCXL_IOCTL_GET_METADATA _IOR(OCXL_MAGIC, 0x14, struct ocxl_ioctl_metadata)
+#endif
diff --git a/libc/kernel/uapi/rdma/bnxt_re-abi.h b/libc/kernel/uapi/rdma/bnxt_re-abi.h
index 873c466..4e29624 100644
--- a/libc/kernel/uapi/rdma/bnxt_re-abi.h
+++ b/libc/kernel/uapi/rdma/bnxt_re-abi.h
@@ -32,10 +32,10 @@
   __u32 pdid;
   __u32 dpi;
   __u64 dbr;
-};
+} __attribute__((packed, aligned(4)));
 struct bnxt_re_cq_req {
-  __u64 cq_va;
-  __u64 cq_handle;
+  __aligned_u64 cq_va;
+  __aligned_u64 cq_handle;
 };
 struct bnxt_re_cq_resp {
   __u32 cqid;
@@ -44,14 +44,21 @@
   __u32 rsvd;
 };
 struct bnxt_re_qp_req {
-  __u64 qpsva;
-  __u64 qprva;
-  __u64 qp_handle;
+  __aligned_u64 qpsva;
+  __aligned_u64 qprva;
+  __aligned_u64 qp_handle;
 };
 struct bnxt_re_qp_resp {
   __u32 qpid;
   __u32 rsvd;
 };
+struct bnxt_re_srq_req {
+  __aligned_u64 srqva;
+  __aligned_u64 srq_handle;
+};
+struct bnxt_re_srq_resp {
+  __u32 srqid;
+};
 enum bnxt_re_shpg_offt {
   BNXT_RE_BEG_RESV_OFFT = 0x00,
   BNXT_RE_AVID_OFFT = 0x10,
diff --git a/libc/kernel/uapi/rdma/cxgb3-abi.h b/libc/kernel/uapi/rdma/cxgb3-abi.h
index 6f015ef..205d748 100644
--- a/libc/kernel/uapi/rdma/cxgb3-abi.h
+++ b/libc/kernel/uapi/rdma/cxgb3-abi.h
@@ -21,23 +21,23 @@
 #include <linux/types.h>
 #define IWCH_UVERBS_ABI_VERSION 1
 struct iwch_create_cq_req {
-  __u64 user_rptr_addr;
+  __aligned_u64 user_rptr_addr;
 };
 struct iwch_create_cq_resp_v0 {
-  __u64 key;
+  __aligned_u64 key;
   __u32 cqid;
   __u32 size_log2;
 };
 struct iwch_create_cq_resp {
-  __u64 key;
+  __aligned_u64 key;
   __u32 cqid;
   __u32 size_log2;
   __u32 memsize;
   __u32 reserved;
 };
 struct iwch_create_qp_resp {
-  __u64 key;
-  __u64 db_key;
+  __aligned_u64 key;
+  __aligned_u64 db_key;
   __u32 qpid;
   __u32 size_log2;
   __u32 sq_size_log2;
@@ -46,4 +46,7 @@
 struct iwch_reg_user_mr_resp {
   __u32 pbl_addr;
 };
+struct iwch_alloc_pd_resp {
+  __u32 pdid;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/cxgb4-abi.h b/libc/kernel/uapi/rdma/cxgb4-abi.h
index 42ed246..188d901 100644
--- a/libc/kernel/uapi/rdma/cxgb4-abi.h
+++ b/libc/kernel/uapi/rdma/cxgb4-abi.h
@@ -21,9 +21,9 @@
 #include <linux/types.h>
 #define C4IW_UVERBS_ABI_VERSION 3
 struct c4iw_create_cq_resp {
-  __u64 key;
-  __u64 gts_key;
-  __u64 memsize;
+  __aligned_u64 key;
+  __aligned_u64 gts_key;
+  __aligned_u64 memsize;
   __u32 cqid;
   __u32 size;
   __u32 qid_mask;
@@ -33,13 +33,13 @@
   C4IW_QPF_ONCHIP = (1 << 0)
 };
 struct c4iw_create_qp_resp {
-  __u64 ma_sync_key;
-  __u64 sq_key;
-  __u64 rq_key;
-  __u64 sq_db_gts_key;
-  __u64 rq_db_gts_key;
-  __u64 sq_memsize;
-  __u64 rq_memsize;
+  __aligned_u64 ma_sync_key;
+  __aligned_u64 sq_key;
+  __aligned_u64 rq_key;
+  __aligned_u64 sq_db_gts_key;
+  __aligned_u64 rq_db_gts_key;
+  __aligned_u64 sq_memsize;
+  __aligned_u64 rq_memsize;
   __u32 sqid;
   __u32 rqid;
   __u32 sq_size;
@@ -48,8 +48,11 @@
   __u32 flags;
 };
 struct c4iw_alloc_ucontext_resp {
-  __u64 status_page_key;
+  __aligned_u64 status_page_key;
   __u32 status_page_size;
   __u32 reserved;
 };
+struct c4iw_alloc_pd_resp {
+  __u32 pdid;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h b/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
index ea828fb..a430650 100644
--- a/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
+++ b/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
@@ -27,7 +27,7 @@
   __u8 uuid[16];
 };
 struct hfi1_ctxt_info {
-  __u64 runtime_flags;
+  __aligned_u64 runtime_flags;
   __u32 rcvegr_size;
   __u16 num_active;
   __u16 unit;
@@ -44,8 +44,8 @@
   __u16 sdma_ring_size;
 };
 struct hfi1_tid_info {
-  __u64 vaddr;
-  __u64 tidlist;
+  __aligned_u64 vaddr;
+  __aligned_u64 tidlist;
   __u32 tidcnt;
   __u32 length;
 };
@@ -55,18 +55,18 @@
   __u16 jkey;
   __u16 padding1;
   __u32 bthqp;
-  __u64 sc_credits_addr;
-  __u64 pio_bufbase_sop;
-  __u64 pio_bufbase;
-  __u64 rcvhdr_bufbase;
-  __u64 rcvegr_bufbase;
-  __u64 sdma_comp_bufbase;
-  __u64 user_regbase;
-  __u64 events_bufbase;
-  __u64 status_bufbase;
-  __u64 rcvhdrtail_base;
-  __u64 subctxt_uregbase;
-  __u64 subctxt_rcvegrbuf;
-  __u64 subctxt_rcvhdrbuf;
+  __aligned_u64 sc_credits_addr;
+  __aligned_u64 pio_bufbase_sop;
+  __aligned_u64 pio_bufbase;
+  __aligned_u64 rcvhdr_bufbase;
+  __aligned_u64 rcvegr_bufbase;
+  __aligned_u64 sdma_comp_bufbase;
+  __aligned_u64 user_regbase;
+  __aligned_u64 events_bufbase;
+  __aligned_u64 status_bufbase;
+  __aligned_u64 rcvhdrtail_base;
+  __aligned_u64 subctxt_uregbase;
+  __aligned_u64 subctxt_rcvegrbuf;
+  __aligned_u64 subctxt_rcvhdrbuf;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/hfi/hfi1_user.h b/libc/kernel/uapi/rdma/hfi/hfi1_user.h
index 0d840e9..9148ed5 100644
--- a/libc/kernel/uapi/rdma/hfi/hfi1_user.h
+++ b/libc/kernel/uapi/rdma/hfi/hfi1_user.h
@@ -75,8 +75,8 @@
   __u32 errcode;
 };
 struct hfi1_status {
-  __u64 dev;
-  __u64 port;
+  __aligned_u64 dev;
+  __aligned_u64 port;
   char freezemsg[0];
 };
 enum sdma_req_opcode {
@@ -94,19 +94,19 @@
   __u16 npkts;
   __u16 fragsize;
   __u16 comp_idx;
-} __packed;
+} __attribute__((__packed__));
 struct hfi1_kdeth_header {
   __le32 ver_tid_offset;
   __le16 jkey;
   __le16 hcrc;
   __le32 swdata[7];
-} __packed;
+} __attribute__((__packed__));
 struct hfi1_pkt_header {
   __le16 pbc[4];
   __be16 lrh[4];
   __be32 bth[3];
   struct hfi1_kdeth_header kdeth;
-} __packed;
+} __attribute__((__packed__));
 enum hfi1_ureg {
   ur_rcvhdrtail = 0,
   ur_rcvhdrhead = 1,
diff --git a/libc/kernel/uapi/rdma/hns-abi.h b/libc/kernel/uapi/rdma/hns-abi.h
index e6c0618..8c66f27 100644
--- a/libc/kernel/uapi/rdma/hns-abi.h
+++ b/libc/kernel/uapi/rdma/hns-abi.h
@@ -20,17 +20,29 @@
 #define HNS_ABI_USER_H
 #include <linux/types.h>
 struct hns_roce_ib_create_cq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
+};
+struct hns_roce_ib_create_cq_resp {
+  __aligned_u64 cqn;
+  __aligned_u64 cap_flags;
 };
 struct hns_roce_ib_create_qp {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u8 log_sq_bb_count;
   __u8 log_sq_stride;
   __u8 sq_no_prefetch;
   __u8 reserved[5];
 };
+struct hns_roce_ib_create_qp_resp {
+  __aligned_u64 cap_flags;
+};
 struct hns_roce_ib_alloc_ucontext_resp {
   __u32 qp_tab_size;
+  __u32 reserved;
+};
+struct hns_roce_ib_alloc_pd_resp {
+  __u32 pdn;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/i40iw-abi.h b/libc/kernel/uapi/rdma/i40iw-abi.h
new file mode 100644
index 0000000..60a17f5
--- /dev/null
+++ b/libc/kernel/uapi/rdma/i40iw-abi.h
@@ -0,0 +1,75 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef I40IW_ABI_H
+#define I40IW_ABI_H
+#include <linux/types.h>
+#define I40IW_ABI_VER 5
+struct i40iw_alloc_ucontext_req {
+  __u32 reserved32;
+  __u8 userspace_ver;
+  __u8 reserved8[3];
+};
+struct i40iw_alloc_ucontext_resp {
+  __u32 max_pds;
+  __u32 max_qps;
+  __u32 wq_size;
+  __u8 kernel_ver;
+  __u8 reserved[3];
+};
+struct i40iw_alloc_pd_resp {
+  __u32 pd_id;
+  __u8 reserved[4];
+};
+struct i40iw_create_cq_req {
+  __aligned_u64 user_cq_buffer;
+  __aligned_u64 user_shadow_area;
+};
+struct i40iw_create_qp_req {
+  __aligned_u64 user_wqe_buffers;
+  __aligned_u64 user_compl_ctx;
+  __aligned_u64 user_sq_phb;
+  __aligned_u64 user_rq_phb;
+};
+enum i40iw_memreg_type {
+  IW_MEMREG_TYPE_MEM = 0x0000,
+  IW_MEMREG_TYPE_QP = 0x0001,
+  IW_MEMREG_TYPE_CQ = 0x0002,
+};
+struct i40iw_mem_reg_req {
+  __u16 reg_type;
+  __u16 cq_pages;
+  __u16 rq_pages;
+  __u16 sq_pages;
+};
+struct i40iw_create_cq_resp {
+  __u32 cq_id;
+  __u32 cq_size;
+  __u32 mmap_db_index;
+  __u32 reserved;
+};
+struct i40iw_create_qp_resp {
+  __u32 qp_id;
+  __u32 actual_sq_size;
+  __u32 actual_rq_size;
+  __u32 i40iw_drv_opt;
+  __u16 push_idx;
+  __u8 lsmm;
+  __u8 rsvd2;
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/ib_user_cm.h b/libc/kernel/uapi/rdma/ib_user_cm.h
index 0802f2a..5ba46b8 100644
--- a/libc/kernel/uapi/rdma/ib_user_cm.h
+++ b/libc/kernel/uapi/rdma/ib_user_cm.h
@@ -47,14 +47,14 @@
   __u16 out;
 };
 struct ib_ucm_create_id {
-  __u64 uid;
-  __u64 response;
+  __aligned_u64 uid;
+  __aligned_u64 response;
 };
 struct ib_ucm_create_id_resp {
   __u32 id;
 };
 struct ib_ucm_destroy_id {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 reserved;
 };
@@ -62,7 +62,7 @@
   __u32 events_reported;
 };
 struct ib_ucm_attr_id {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 reserved;
 };
@@ -73,7 +73,7 @@
   __be32 remote_id;
 };
 struct ib_ucm_init_qp_attr {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 qp_state;
 };
@@ -88,7 +88,7 @@
   __u32 event;
 };
 struct ib_ucm_private_data {
-  __u64 data;
+  __aligned_u64 data;
   __u32 id;
   __u8 len;
   __u8 reserved[3];
@@ -99,9 +99,9 @@
   __u32 qp_type;
   __u32 psn;
   __be64 sid;
-  __u64 data;
-  __u64 primary_path;
-  __u64 alternate_path;
+  __aligned_u64 data;
+  __aligned_u64 primary_path;
+  __aligned_u64 alternate_path;
   __u8 len;
   __u8 peer_to_peer;
   __u8 responder_resources;
@@ -116,8 +116,8 @@
   __u8 reserved[5];
 };
 struct ib_ucm_rep {
-  __u64 uid;
-  __u64 data;
+  __aligned_u64 uid;
+  __aligned_u64 data;
   __u32 id;
   __u32 qpn;
   __u32 psn;
@@ -134,22 +134,22 @@
 struct ib_ucm_info {
   __u32 id;
   __u32 status;
-  __u64 info;
-  __u64 data;
+  __aligned_u64 info;
+  __aligned_u64 data;
   __u8 info_len;
   __u8 data_len;
   __u8 reserved[6];
 };
 struct ib_ucm_mra {
-  __u64 data;
+  __aligned_u64 data;
   __u32 id;
   __u8 len;
   __u8 timeout;
   __u8 reserved[2];
 };
 struct ib_ucm_lap {
-  __u64 path;
-  __u64 data;
+  __aligned_u64 path;
+  __aligned_u64 data;
   __u32 id;
   __u8 len;
   __u8 reserved[3];
@@ -158,8 +158,8 @@
   __u32 id;
   __u32 timeout;
   __be64 sid;
-  __u64 data;
-  __u64 path;
+  __aligned_u64 data;
+  __aligned_u64 path;
   __u16 reserved_pkey;
   __u8 len;
   __u8 max_cm_retries;
@@ -170,16 +170,16 @@
   __u32 qpn;
   __u32 qkey;
   __u32 status;
-  __u64 info;
-  __u64 data;
+  __aligned_u64 info;
+  __aligned_u64 data;
   __u8 info_len;
   __u8 data_len;
   __u8 reserved[6];
 };
 struct ib_ucm_event_get {
-  __u64 response;
-  __u64 data;
-  __u64 info;
+  __aligned_u64 response;
+  __aligned_u64 data;
+  __aligned_u64 info;
   __u8 data_len;
   __u8 info_len;
   __u8 reserved[6];
@@ -245,7 +245,7 @@
 #define IB_UCM_PRES_PRIMARY 0x04
 #define IB_UCM_PRES_ALTERNATE 0x08
 struct ib_ucm_event_resp {
-  __u64 uid;
+  __aligned_u64 uid;
   __u32 id;
   __u32 event;
   __u32 present;
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
new file mode 100644
index 0000000..4bc9786
--- /dev/null
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
@@ -0,0 +1,104 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef IB_USER_IOCTL_CMDS_H
+#define IB_USER_IOCTL_CMDS_H
+#define UVERBS_ID_NS_MASK 0xF000
+#define UVERBS_ID_NS_SHIFT 12
+#define UVERBS_UDATA_DRIVER_DATA_NS 1
+#define UVERBS_UDATA_DRIVER_DATA_FLAG (1UL << UVERBS_ID_NS_SHIFT)
+enum uverbs_default_objects {
+  UVERBS_OBJECT_DEVICE,
+  UVERBS_OBJECT_PD,
+  UVERBS_OBJECT_COMP_CHANNEL,
+  UVERBS_OBJECT_CQ,
+  UVERBS_OBJECT_QP,
+  UVERBS_OBJECT_SRQ,
+  UVERBS_OBJECT_AH,
+  UVERBS_OBJECT_MR,
+  UVERBS_OBJECT_MW,
+  UVERBS_OBJECT_FLOW,
+  UVERBS_OBJECT_XRCD,
+  UVERBS_OBJECT_RWQ_IND_TBL,
+  UVERBS_OBJECT_WQ,
+  UVERBS_OBJECT_FLOW_ACTION,
+  UVERBS_OBJECT_DM,
+};
+enum {
+  UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
+  UVERBS_ATTR_UHW_OUT,
+};
+enum uverbs_attrs_create_cq_cmd_attr_ids {
+  UVERBS_ATTR_CREATE_CQ_HANDLE,
+  UVERBS_ATTR_CREATE_CQ_CQE,
+  UVERBS_ATTR_CREATE_CQ_USER_HANDLE,
+  UVERBS_ATTR_CREATE_CQ_COMP_CHANNEL,
+  UVERBS_ATTR_CREATE_CQ_COMP_VECTOR,
+  UVERBS_ATTR_CREATE_CQ_FLAGS,
+  UVERBS_ATTR_CREATE_CQ_RESP_CQE,
+};
+enum uverbs_attrs_destroy_cq_cmd_attr_ids {
+  UVERBS_ATTR_DESTROY_CQ_HANDLE,
+  UVERBS_ATTR_DESTROY_CQ_RESP,
+};
+enum uverbs_attrs_create_flow_action_esp {
+  UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE,
+  UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS,
+  UVERBS_ATTR_FLOW_ACTION_ESP_ESN,
+  UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT,
+  UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY,
+  UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP,
+};
+enum uverbs_attrs_destroy_flow_action_esp {
+  UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE,
+};
+enum uverbs_methods_cq {
+  UVERBS_METHOD_CQ_CREATE,
+  UVERBS_METHOD_CQ_DESTROY,
+};
+enum uverbs_methods_actions_flow_action_ops {
+  UVERBS_METHOD_FLOW_ACTION_ESP_CREATE,
+  UVERBS_METHOD_FLOW_ACTION_DESTROY,
+  UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY,
+};
+enum uverbs_attrs_alloc_dm_cmd_attr_ids {
+  UVERBS_ATTR_ALLOC_DM_HANDLE,
+  UVERBS_ATTR_ALLOC_DM_LENGTH,
+  UVERBS_ATTR_ALLOC_DM_ALIGNMENT,
+};
+enum uverbs_attrs_free_dm_cmd_attr_ids {
+  UVERBS_ATTR_FREE_DM_HANDLE,
+};
+enum uverbs_methods_dm {
+  UVERBS_METHOD_DM_ALLOC,
+  UVERBS_METHOD_DM_FREE,
+};
+enum uverbs_attrs_reg_dm_mr_cmd_attr_ids {
+  UVERBS_ATTR_REG_DM_MR_HANDLE,
+  UVERBS_ATTR_REG_DM_MR_OFFSET,
+  UVERBS_ATTR_REG_DM_MR_LENGTH,
+  UVERBS_ATTR_REG_DM_MR_PD_HANDLE,
+  UVERBS_ATTR_REG_DM_MR_ACCESS_FLAGS,
+  UVERBS_ATTR_REG_DM_MR_DM_HANDLE,
+  UVERBS_ATTR_REG_DM_MR_RESP_LKEY,
+  UVERBS_ATTR_REG_DM_MR_RESP_RKEY,
+};
+enum uverbs_methods_mr {
+  UVERBS_METHOD_DM_MR_REG,
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index 766fe4c..261734e 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -18,44 +18,51 @@
  ****************************************************************************/
 #ifndef IB_USER_IOCTL_VERBS_H
 #define IB_USER_IOCTL_VERBS_H
-#include <rdma/rdma_user_ioctl.h>
-#define UVERBS_UDATA_DRIVER_DATA_NS 1
-#define UVERBS_UDATA_DRIVER_DATA_FLAG (1UL << UVERBS_ID_NS_SHIFT)
-enum uverbs_default_objects {
-  UVERBS_OBJECT_DEVICE,
-  UVERBS_OBJECT_PD,
-  UVERBS_OBJECT_COMP_CHANNEL,
-  UVERBS_OBJECT_CQ,
-  UVERBS_OBJECT_QP,
-  UVERBS_OBJECT_SRQ,
-  UVERBS_OBJECT_AH,
-  UVERBS_OBJECT_MR,
-  UVERBS_OBJECT_MW,
-  UVERBS_OBJECT_FLOW,
-  UVERBS_OBJECT_XRCD,
-  UVERBS_OBJECT_RWQ_IND_TBL,
-  UVERBS_OBJECT_WQ,
-  UVERBS_OBJECT_LAST,
+#include <linux/types.h>
+#ifndef RDMA_UAPI_PTR
+#define RDMA_UAPI_PTR(_type,_name) __aligned_u64 _name
+#endif
+enum ib_uverbs_flow_action_esp_keymat {
+  IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM,
 };
-enum {
-  UVERBS_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
-  UVERBS_UHW_OUT,
+enum ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo {
+  IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ,
 };
-enum uverbs_create_cq_cmd_attr_ids {
-  CREATE_CQ_HANDLE,
-  CREATE_CQ_CQE,
-  CREATE_CQ_USER_HANDLE,
-  CREATE_CQ_COMP_CHANNEL,
-  CREATE_CQ_COMP_VECTOR,
-  CREATE_CQ_FLAGS,
-  CREATE_CQ_RESP_CQE,
+struct ib_uverbs_flow_action_esp_keymat_aes_gcm {
+  __aligned_u64 iv;
+  __u32 iv_algo;
+  __u32 salt;
+  __u32 icv_len;
+  __u32 key_len;
+  __u32 aes_key[256 / 32];
 };
-enum uverbs_destroy_cq_cmd_attr_ids {
-  DESTROY_CQ_HANDLE,
-  DESTROY_CQ_RESP,
+enum ib_uverbs_flow_action_esp_replay {
+  IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE,
+  IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP,
 };
-enum uverbs_actions_cq_ops {
-  UVERBS_CQ_CREATE,
-  UVERBS_CQ_DESTROY,
+struct ib_uverbs_flow_action_esp_replay_bmp {
+  __u32 size;
+};
+enum ib_uverbs_flow_action_esp_flags {
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = 0UL << 0,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = 1UL << 0,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL = 0UL << 1,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT = 1UL << 1,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT = 0UL << 2,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT = 1UL << 2,
+  IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = 1UL << 3,
+};
+struct ib_uverbs_flow_action_esp_encap {
+  RDMA_UAPI_PTR(void *, val_ptr);
+  RDMA_UAPI_PTR(struct ib_uverbs_flow_action_esp_encap *, next_ptr);
+  __u16 len;
+  __u16 type;
+};
+struct ib_uverbs_flow_action_esp {
+  __u32 spi;
+  __u32 seq;
+  __u32 tfc_pad;
+  __u32 flags;
+  __aligned_u64 hard_limit_pkts;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/ib_user_mad.h b/libc/kernel/uapi/rdma/ib_user_mad.h
index cd723bb..dadb590 100644
--- a/libc/kernel/uapi/rdma/ib_user_mad.h
+++ b/libc/kernel/uapi/rdma/ib_user_mad.h
@@ -61,7 +61,7 @@
 };
 struct ib_user_mad {
   struct ib_user_mad_hdr hdr;
-  __u64 data[0];
+  __aligned_u64 data[0];
 };
 typedef unsigned long __attribute__((aligned(4))) packed_ulong;
 #define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof(long)))
@@ -85,7 +85,7 @@
   __u8 mgmt_class_version;
   __u16 res;
   __u32 flags;
-  __u64 method_mask[2];
+  __aligned_u64 method_mask[2];
   __u32 oui;
   __u8 rmpp_version;
   __u8 reserved[3];
diff --git a/libc/kernel/uapi/rdma/ib_user_verbs.h b/libc/kernel/uapi/rdma/ib_user_verbs.h
index 03a2fcd..53e4725 100644
--- a/libc/kernel/uapi/rdma/ib_user_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_verbs.h
@@ -79,12 +79,12 @@
   IB_USER_VERBS_EX_CMD_MODIFY_CQ
 };
 struct ib_uverbs_async_event_desc {
-  __u64 element;
+  __aligned_u64 element;
   __u32 event_type;
   __u32 reserved;
 };
 struct ib_uverbs_comp_event_desc {
-  __u64 cq_handle;
+  __aligned_u64 cq_handle;
 };
 struct ib_uverbs_cq_moderation_caps {
   __u16 max_cq_moderation_count;
@@ -92,38 +92,36 @@
   __u32 reserved;
 };
 #define IB_USER_VERBS_CMD_COMMAND_MASK 0xff
-#define IB_USER_VERBS_CMD_FLAGS_MASK 0xff000000u
-#define IB_USER_VERBS_CMD_FLAGS_SHIFT 24
-#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80
+#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80000000u
 struct ib_uverbs_cmd_hdr {
   __u32 command;
   __u16 in_words;
   __u16 out_words;
 };
 struct ib_uverbs_ex_cmd_hdr {
-  __u64 response;
+  __aligned_u64 response;
   __u16 provider_in_words;
   __u16 provider_out_words;
   __u32 cmd_hdr_reserved;
 };
 struct ib_uverbs_get_context {
-  __u64 response;
-  __u64 driver_data[0];
+  __aligned_u64 response;
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_get_context_resp {
   __u32 async_fd;
   __u32 num_comp_vectors;
 };
 struct ib_uverbs_query_device {
-  __u64 response;
-  __u64 driver_data[0];
+  __aligned_u64 response;
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_query_device_resp {
-  __u64 fw_ver;
+  __aligned_u64 fw_ver;
   __be64 node_guid;
   __be64 sys_image_guid;
-  __u64 max_mr_size;
-  __u64 page_size_cap;
+  __aligned_u64 max_mr_size;
+  __aligned_u64 page_size_cap;
   __u32 vendor_id;
   __u32 vendor_part_id;
   __u32 hw_ver;
@@ -166,7 +164,7 @@
   __u32 reserved;
 };
 struct ib_uverbs_odp_caps {
-  __u64 general_caps;
+  __aligned_u64 general_caps;
   struct {
     __u32 rc_odp_caps;
     __u32 uc_odp_caps;
@@ -193,20 +191,21 @@
   __u32 comp_mask;
   __u32 response_length;
   struct ib_uverbs_odp_caps odp_caps;
-  __u64 timestamp_mask;
-  __u64 hca_core_clock;
-  __u64 device_cap_flags_ex;
+  __aligned_u64 timestamp_mask;
+  __aligned_u64 hca_core_clock;
+  __aligned_u64 device_cap_flags_ex;
   struct ib_uverbs_rss_caps rss_caps;
   __u32 max_wq_type_rq;
   __u32 raw_packet_caps;
   struct ib_uverbs_tm_caps tm_caps;
   struct ib_uverbs_cq_moderation_caps cq_moderation_caps;
+  __aligned_u64 max_dm_size;
 };
 struct ib_uverbs_query_port {
-  __u64 response;
+  __aligned_u64 response;
   __u8 port_num;
   __u8 reserved[7];
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_query_port_resp {
   __u32 port_cap_flags;
@@ -232,8 +231,8 @@
   __u8 reserved[2];
 };
 struct ib_uverbs_alloc_pd {
-  __u64 response;
-  __u64 driver_data[0];
+  __aligned_u64 response;
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_alloc_pd_resp {
   __u32 pd_handle;
@@ -242,10 +241,10 @@
   __u32 pd_handle;
 };
 struct ib_uverbs_open_xrcd {
-  __u64 response;
+  __aligned_u64 response;
   __u32 fd;
   __u32 oflags;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_open_xrcd_resp {
   __u32 xrcd_handle;
@@ -254,13 +253,13 @@
   __u32 xrcd_handle;
 };
 struct ib_uverbs_reg_mr {
-  __u64 response;
-  __u64 start;
-  __u64 length;
-  __u64 hca_va;
+  __aligned_u64 response;
+  __aligned_u64 start;
+  __aligned_u64 length;
+  __aligned_u64 hca_va;
   __u32 pd_handle;
   __u32 access_flags;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_reg_mr_resp {
   __u32 mr_handle;
@@ -268,12 +267,12 @@
   __u32 rkey;
 };
 struct ib_uverbs_rereg_mr {
-  __u64 response;
+  __aligned_u64 response;
   __u32 mr_handle;
   __u32 flags;
-  __u64 start;
-  __u64 length;
-  __u64 hca_va;
+  __aligned_u64 start;
+  __aligned_u64 length;
+  __aligned_u64 hca_va;
   __u32 pd_handle;
   __u32 access_flags;
 };
@@ -285,7 +284,7 @@
   __u32 mr_handle;
 };
 struct ib_uverbs_alloc_mw {
-  __u64 response;
+  __aligned_u64 response;
   __u32 pd_handle;
   __u8 mw_type;
   __u8 reserved[3];
@@ -298,22 +297,26 @@
   __u32 mw_handle;
 };
 struct ib_uverbs_create_comp_channel {
-  __u64 response;
+  __aligned_u64 response;
 };
 struct ib_uverbs_create_comp_channel_resp {
   __u32 fd;
 };
 struct ib_uverbs_create_cq {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 cqe;
   __u32 comp_vector;
   __s32 comp_channel;
   __u32 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
+};
+enum ib_uverbs_ex_create_cq_flags {
+  IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION = 1 << 0,
+  IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN = 1 << 1,
 };
 struct ib_uverbs_ex_create_cq {
-  __u64 user_handle;
+  __aligned_u64 user_handle;
   __u32 cqe;
   __u32 comp_vector;
   __s32 comp_channel;
@@ -331,29 +334,29 @@
   __u32 response_length;
 };
 struct ib_uverbs_resize_cq {
-  __u64 response;
+  __aligned_u64 response;
   __u32 cq_handle;
   __u32 cqe;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_resize_cq_resp {
   __u32 cqe;
   __u32 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_poll_cq {
-  __u64 response;
+  __aligned_u64 response;
   __u32 cq_handle;
   __u32 ne;
 };
 struct ib_uverbs_wc {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 status;
   __u32 opcode;
   __u32 vendor_err;
   __u32 byte_len;
   union {
-    __u32 imm_data;
+    __be32 imm_data;
     __u32 invalidate_rkey;
   } ex;
   __u32 qp_num;
@@ -376,7 +379,7 @@
   __u32 solicited_only;
 };
 struct ib_uverbs_destroy_cq {
-  __u64 response;
+  __aligned_u64 response;
   __u32 cq_handle;
   __u32 reserved;
 };
@@ -436,8 +439,8 @@
   __u8 reserved[5];
 };
 struct ib_uverbs_create_qp {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 send_cq_handle;
   __u32 recv_cq_handle;
@@ -451,7 +454,7 @@
   __u8 qp_type;
   __u8 is_srq;
   __u8 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 enum ib_uverbs_create_qp_mask {
   IB_UVERBS_CREATE_QP_MASK_IND_TABLE = 1UL << 0,
@@ -466,7 +469,7 @@
   IB_USER_LAST_QP_ATTR_MASK = 1ULL << 25,
 };
 struct ib_uverbs_ex_create_qp {
-  __u64 user_handle;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 send_cq_handle;
   __u32 recv_cq_handle;
@@ -486,13 +489,13 @@
   __u32 source_qpn;
 };
 struct ib_uverbs_open_qp {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 qpn;
   __u8 qp_type;
   __u8 reserved[7];
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_create_qp_resp {
   __u32 qp_handle;
@@ -524,10 +527,10 @@
   __u8 port_num;
 };
 struct ib_uverbs_query_qp {
-  __u64 response;
+  __aligned_u64 response;
   __u32 qp_handle;
   __u32 attr_mask;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_query_qp_resp {
   struct ib_uverbs_qp_dest dest;
@@ -560,7 +563,7 @@
   __u8 alt_timeout;
   __u8 sq_sig_all;
   __u8 reserved[5];
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_modify_qp {
   struct ib_uverbs_qp_dest dest;
@@ -589,7 +592,7 @@
   __u8 alt_port_num;
   __u8 alt_timeout;
   __u8 reserved[2];
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_ex_modify_qp {
   struct ib_uverbs_modify_qp base;
@@ -603,7 +606,7 @@
   __u32 response_length;
 };
 struct ib_uverbs_destroy_qp {
-  __u64 response;
+  __aligned_u64 response;
   __u32 qp_handle;
   __u32 reserved;
 };
@@ -611,29 +614,29 @@
   __u32 events_reported;
 };
 struct ib_uverbs_sge {
-  __u64 addr;
+  __aligned_u64 addr;
   __u32 length;
   __u32 lkey;
 };
 struct ib_uverbs_send_wr {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 opcode;
   __u32 send_flags;
   union {
-    __u32 imm_data;
+    __be32 imm_data;
     __u32 invalidate_rkey;
   } ex;
   union {
     struct {
-      __u64 remote_addr;
+      __aligned_u64 remote_addr;
       __u32 rkey;
       __u32 reserved;
     } rdma;
     struct {
-      __u64 remote_addr;
-      __u64 compare_add;
-      __u64 swap;
+      __aligned_u64 remote_addr;
+      __aligned_u64 compare_add;
+      __aligned_u64 swap;
       __u32 rkey;
       __u32 reserved;
     } atomic;
@@ -646,7 +649,7 @@
   } wr;
 };
 struct ib_uverbs_post_send {
-  __u64 response;
+  __aligned_u64 response;
   __u32 qp_handle;
   __u32 wr_count;
   __u32 sge_count;
@@ -657,12 +660,12 @@
   __u32 bad_wr;
 };
 struct ib_uverbs_recv_wr {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 reserved;
 };
 struct ib_uverbs_post_recv {
-  __u64 response;
+  __aligned_u64 response;
   __u32 qp_handle;
   __u32 wr_count;
   __u32 sge_count;
@@ -673,7 +676,7 @@
   __u32 bad_wr;
 };
 struct ib_uverbs_post_srq_recv {
-  __u64 response;
+  __aligned_u64 response;
   __u32 srq_handle;
   __u32 wr_count;
   __u32 sge_count;
@@ -684,8 +687,8 @@
   __u32 bad_wr;
 };
 struct ib_uverbs_create_ah {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 reserved;
   struct ib_uverbs_ah_attr attr;
@@ -701,20 +704,20 @@
   __u32 qp_handle;
   __u16 mlid;
   __u16 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_detach_mcast {
   __u8 gid[16];
   __u32 qp_handle;
   __u16 mlid;
   __u16 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_flow_spec_hdr {
   __u32 type;
   __u16 size;
   __u16 reserved;
-  __u64 flow_spec_data[0];
+  __aligned_u64 flow_spec_data[0];
 };
 struct ib_uverbs_flow_eth_filter {
   __u8 dst_mac[6];
@@ -813,6 +816,18 @@
     };
   };
 };
+struct ib_uverbs_flow_spec_action_handle {
+  union {
+    struct ib_uverbs_flow_spec_hdr hdr;
+    struct {
+      __u32 type;
+      __u16 size;
+      __u16 reserved;
+    };
+  };
+  __u32 handle;
+  __u32 reserved1;
+};
 struct ib_uverbs_flow_tunnel_filter {
   __be32 tunnel_id;
 };
@@ -828,6 +843,22 @@
   struct ib_uverbs_flow_tunnel_filter val;
   struct ib_uverbs_flow_tunnel_filter mask;
 };
+struct ib_uverbs_flow_spec_esp_filter {
+  __u32 spi;
+  __u32 seq;
+};
+struct ib_uverbs_flow_spec_esp {
+  union {
+    struct ib_uverbs_flow_spec_hdr hdr;
+    struct {
+      __u32 type;
+      __u16 size;
+      __u16 reserved;
+    };
+  };
+  struct ib_uverbs_flow_spec_esp_filter val;
+  struct ib_uverbs_flow_spec_esp_filter mask;
+};
 struct ib_uverbs_flow_attr {
   __u32 type;
   __u16 size;
@@ -852,17 +883,17 @@
   __u32 flow_handle;
 };
 struct ib_uverbs_create_srq {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 max_wr;
   __u32 max_sge;
   __u32 srq_limit;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_create_xsrq {
-  __u64 response;
-  __u64 user_handle;
+  __aligned_u64 response;
+  __aligned_u64 user_handle;
   __u32 srq_type;
   __u32 pd_handle;
   __u32 max_wr;
@@ -871,7 +902,7 @@
   __u32 max_num_tags;
   __u32 xrcd_handle;
   __u32 cq_handle;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_create_srq_resp {
   __u32 srq_handle;
@@ -884,13 +915,13 @@
   __u32 attr_mask;
   __u32 max_wr;
   __u32 srq_limit;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_query_srq {
-  __u64 response;
+  __aligned_u64 response;
   __u32 srq_handle;
   __u32 reserved;
-  __u64 driver_data[0];
+  __aligned_u64 driver_data[0];
 };
 struct ib_uverbs_query_srq_resp {
   __u32 max_wr;
@@ -899,7 +930,7 @@
   __u32 reserved;
 };
 struct ib_uverbs_destroy_srq {
-  __u64 response;
+  __aligned_u64 response;
   __u32 srq_handle;
   __u32 reserved;
 };
@@ -909,7 +940,7 @@
 struct ib_uverbs_ex_create_wq {
   __u32 comp_mask;
   __u32 wq_type;
-  __u64 user_handle;
+  __aligned_u64 user_handle;
   __u32 pd_handle;
   __u32 cq_handle;
   __u32 max_wr;
diff --git a/libc/kernel/uapi/rdma/mlx4-abi.h b/libc/kernel/uapi/rdma/mlx4-abi.h
index 078b386..121762b 100644
--- a/libc/kernel/uapi/rdma/mlx4-abi.h
+++ b/libc/kernel/uapi/rdma/mlx4-abi.h
@@ -26,6 +26,9 @@
   __u16 bf_reg_size;
   __u16 bf_regs_per_page;
 };
+enum {
+  MLX4_USER_DEV_CAP_LARGE_CQE = 1L << 0,
+};
 struct mlx4_ib_alloc_ucontext_resp {
   __u32 dev_caps;
   __u32 qp_tab_size;
@@ -38,26 +41,26 @@
   __u32 reserved;
 };
 struct mlx4_ib_create_cq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
 };
 struct mlx4_ib_create_cq_resp {
   __u32 cqn;
   __u32 reserved;
 };
 struct mlx4_ib_resize_cq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
 };
 struct mlx4_ib_create_srq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
 };
 struct mlx4_ib_create_srq_resp {
   __u32 srqn;
   __u32 reserved;
 };
 struct mlx4_ib_create_qp_rss {
-  __u64 rx_hash_fields_mask;
+  __aligned_u64 rx_hash_fields_mask;
   __u8 rx_hash_function;
   __u8 reserved[7];
   __u8 rx_hash_key[40];
@@ -65,8 +68,8 @@
   __u32 reserved1;
 };
 struct mlx4_ib_create_qp {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u8 log_sq_bb_count;
   __u8 log_sq_stride;
   __u8 sq_no_prefetch;
@@ -74,8 +77,8 @@
   __u32 inl_recv_sz;
 };
 struct mlx4_ib_create_wq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u8 log_range_size;
   __u8 reserved[3];
   __u32 comp_mask;
@@ -99,6 +102,28 @@
   MLX4_IB_RX_HASH_SRC_PORT_TCP = 1 << 4,
   MLX4_IB_RX_HASH_DST_PORT_TCP = 1 << 5,
   MLX4_IB_RX_HASH_SRC_PORT_UDP = 1 << 6,
-  MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7
+  MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7,
+  MLX4_IB_RX_HASH_INNER = 1ULL << 31,
+};
+struct mlx4_ib_rss_caps {
+  __aligned_u64 rx_hash_fields_mask;
+  __u8 rx_hash_function;
+  __u8 reserved[7];
+};
+enum query_device_resp_mask {
+  MLX4_IB_QUERY_DEV_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
+};
+struct mlx4_ib_tso_caps {
+  __u32 max_tso;
+  __u32 supported_qpts;
+};
+struct mlx4_uverbs_ex_query_device_resp {
+  __u32 comp_mask;
+  __u32 response_length;
+  __aligned_u64 hca_core_clock_offset;
+  __u32 max_inl_recv_sz;
+  __u32 reserved;
+  struct mlx4_ib_rss_caps rss_caps;
+  struct mlx4_ib_tso_caps tso_caps;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/mlx5-abi.h b/libc/kernel/uapi/rdma/mlx5-abi.h
index 9347cf3..170c0a6 100644
--- a/libc/kernel/uapi/rdma/mlx5-abi.h
+++ b/libc/kernel/uapi/rdma/mlx5-abi.h
@@ -24,6 +24,9 @@
   MLX5_QP_FLAG_SIGNATURE = 1 << 0,
   MLX5_QP_FLAG_SCATTER_CQE = 1 << 1,
   MLX5_QP_FLAG_TUNNEL_OFFLOADS = 1 << 2,
+  MLX5_QP_FLAG_BFREG_INDEX = 1 << 3,
+  MLX5_QP_FLAG_TYPE_DCT = 1 << 4,
+  MLX5_QP_FLAG_TYPE_DCI = 1 << 5,
 };
 enum {
   MLX5_SRQ_FLAG_SIGNATURE = 1 << 0,
@@ -48,7 +51,7 @@
   __u8 reserved0;
   __u16 reserved1;
   __u32 reserved2;
-  __u64 lib_caps;
+  __aligned_u64 lib_caps;
 };
 enum mlx5_ib_alloc_ucontext_resp_mask {
   MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
@@ -64,6 +67,13 @@
   MLX5_USER_INLINE_MODE_IP,
   MLX5_USER_INLINE_MODE_TCP_UDP,
 };
+enum {
+  MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM = 1 << 0,
+  MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_REQ_METADATA = 1 << 1,
+  MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_SPI_STEERING = 1 << 2,
+  MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_FULL_OFFLOAD = 1 << 3,
+  MLX5_USER_ALLOC_UCONTEXT_FLOW_ACTION_FLAGS_ESP_AES_GCM_TX_IV_IS_ESN = 1 << 4,
+};
 struct mlx5_ib_alloc_ucontext_resp {
   __u32 qp_tab_size;
   __u32 bf_reg_size;
@@ -75,16 +85,18 @@
   __u32 max_recv_wr;
   __u32 max_srq_recv_wr;
   __u16 num_ports;
-  __u16 reserved1;
+  __u16 flow_action_flags;
   __u32 comp_mask;
   __u32 response_length;
   __u8 cqe_version;
   __u8 cmds_supp_uhw;
   __u8 eth_min_inline;
-  __u8 reserved2;
-  __u64 hca_core_clock_offset;
+  __u8 clock_info_versions;
+  __aligned_u64 hca_core_clock_offset;
   __u32 log_uar_size;
   __u32 num_uars_per_page;
+  __u32 num_dyn_bfregs;
+  __u32 reserved3;
 };
 struct mlx5_ib_alloc_pd_resp {
   __u32 pdn;
@@ -94,7 +106,7 @@
   __u32 supported_qpts;
 };
 struct mlx5_ib_rss_caps {
-  __u64 rx_hash_fields_mask;
+  __aligned_u64 rx_hash_fields_mask;
   __u8 rx_hash_function;
   __u8 reserved[7];
 };
@@ -107,11 +119,15 @@
   __u32 max_num;
   __u32 supported_format;
 };
+enum mlx5_ib_packet_pacing_cap_flags {
+  MLX5_IB_PP_SUPPORT_BURST = 1 << 0,
+};
 struct mlx5_packet_pacing_caps {
   __u32 qp_rate_limit_min;
   __u32 qp_rate_limit_max;
   __u32 supported_qpts;
-  __u32 reserved;
+  __u8 cap_flags;
+  __u8 reserved[3];
 };
 enum mlx5_ib_mpw_caps {
   MPW_RESERVED = 1 << 0,
@@ -162,8 +178,8 @@
   MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
 };
 struct mlx5_ib_create_cq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u32 cqe_size;
   __u8 cqe_comp_en;
   __u8 cqe_comp_res_format;
@@ -174,14 +190,14 @@
   __u32 reserved;
 };
 struct mlx5_ib_resize_cq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
   __u16 cqe_size;
   __u16 reserved0;
   __u32 reserved1;
 };
 struct mlx5_ib_create_srq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u32 flags;
   __u32 reserved0;
   __u32 uidx;
@@ -192,15 +208,18 @@
   __u32 reserved;
 };
 struct mlx5_ib_create_qp {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u32 sq_wqe_count;
   __u32 rq_wqe_count;
   __u32 rq_wqe_shift;
   __u32 flags;
   __u32 uidx;
-  __u32 reserved0;
-  __u64 sq_buf_addr;
+  __u32 bfreg_index;
+  union {
+    __aligned_u64 sq_buf_addr;
+    __aligned_u64 access_key;
+  };
 };
 enum mlx5_rx_hash_function_flags {
   MLX5_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
@@ -214,10 +233,11 @@
   MLX5_RX_HASH_DST_PORT_TCP = 1 << 5,
   MLX5_RX_HASH_SRC_PORT_UDP = 1 << 6,
   MLX5_RX_HASH_DST_PORT_UDP = 1 << 7,
-  MLX5_RX_HASH_INNER = 1 << 31
+  MLX5_RX_HASH_IPSEC_SPI = 1 << 8,
+  MLX5_RX_HASH_INNER = (1UL << 31),
 };
 struct mlx5_ib_create_qp_rss {
-  __u64 rx_hash_fields_mask;
+  __aligned_u64 rx_hash_fields_mask;
   __u8 rx_hash_function;
   __u8 rx_key_len;
   __u8 reserved[6];
@@ -227,6 +247,7 @@
 };
 struct mlx5_ib_create_qp_resp {
   __u32 bfreg_index;
+  __u32 reserved;
 };
 struct mlx5_ib_alloc_mw {
   __u32 comp_mask;
@@ -238,8 +259,8 @@
   MLX5_IB_CREATE_WQ_STRIDING_RQ = (1 << 0),
 };
 struct mlx5_ib_create_wq {
-  __u64 buf_addr;
-  __u64 db_addr;
+  __aligned_u64 buf_addr;
+  __aligned_u64 db_addr;
   __u32 rq_wqe_count;
   __u32 rq_wqe_shift;
   __u32 user_index;
@@ -254,6 +275,20 @@
   __u8 dmac[ETH_ALEN];
   __u8 reserved[6];
 };
+struct mlx5_ib_burst_info {
+  __u32 max_burst_sz;
+  __u16 typical_pkt_sz;
+  __u16 reserved;
+};
+struct mlx5_ib_modify_qp {
+  __u32 comp_mask;
+  struct mlx5_ib_burst_info burst_info;
+  __u32 reserved;
+};
+struct mlx5_ib_modify_qp_resp {
+  __u32 response_length;
+  __u32 dctn;
+};
 struct mlx5_ib_create_wq_resp {
   __u32 response_length;
   __u32 reserved;
@@ -266,4 +301,31 @@
   __u32 comp_mask;
   __u32 reserved;
 };
+struct mlx5_ib_clock_info {
+  __u32 sign;
+  __u32 resv;
+  __aligned_u64 nsec;
+  __aligned_u64 cycles;
+  __aligned_u64 frac;
+  __u32 mult;
+  __u32 shift;
+  __aligned_u64 mask;
+  __aligned_u64 overflow_period;
+};
+enum mlx5_ib_mmap_cmd {
+  MLX5_IB_MMAP_REGULAR_PAGE = 0,
+  MLX5_IB_MMAP_GET_CONTIGUOUS_PAGES = 1,
+  MLX5_IB_MMAP_WC_PAGE = 2,
+  MLX5_IB_MMAP_NC_PAGE = 3,
+  MLX5_IB_MMAP_CORE_CLOCK = 5,
+  MLX5_IB_MMAP_ALLOC_WC = 6,
+  MLX5_IB_MMAP_CLOCK_INFO = 7,
+  MLX5_IB_MMAP_DEVICE_MEM = 8,
+};
+enum {
+  MLX5_IB_CLOCK_INFO_KERNEL_UPDATING = 1,
+};
+enum {
+  MLX5_IB_CLOCK_INFO_V1 = 0,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
new file mode 100644
index 0000000..37aebaf
--- /dev/null
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -0,0 +1,29 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef MLX5_USER_IOCTL_CMDS_H
+#define MLX5_USER_IOCTL_CMDS_H
+#include <rdma/ib_user_ioctl_cmds.h>
+enum mlx5_ib_create_flow_action_attrs {
+  MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum mlx5_ib_alloc_dm_attrs {
+  MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
new file mode 100644
index 0000000..c9a83cf
--- /dev/null
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
@@ -0,0 +1,25 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef MLX5_USER_IOCTL_VERBS_H
+#define MLX5_USER_IOCTL_VERBS_H
+#include <linux/types.h>
+enum mlx5_ib_uapi_flow_action_flags {
+  MLX5_IB_UAPI_FLOW_ACTION_FLAGS_REQUIRE_METADATA = 1 << 0,
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/mthca-abi.h b/libc/kernel/uapi/rdma/mthca-abi.h
index 49d1df0..86224f2 100644
--- a/libc/kernel/uapi/rdma/mthca-abi.h
+++ b/libc/kernel/uapi/rdma/mthca-abi.h
@@ -36,8 +36,8 @@
 struct mthca_create_cq {
   __u32 lkey;
   __u32 pdn;
-  __u64 arm_db_page;
-  __u64 set_db_page;
+  __aligned_u64 arm_db_page;
+  __aligned_u64 set_db_page;
   __u32 arm_db_index;
   __u32 set_db_index;
 };
@@ -52,7 +52,7 @@
 struct mthca_create_srq {
   __u32 lkey;
   __u32 db_index;
-  __u64 db_page;
+  __aligned_u64 db_page;
 };
 struct mthca_create_srq_resp {
   __u32 srqn;
@@ -61,8 +61,8 @@
 struct mthca_create_qp {
   __u32 lkey;
   __u32 reserved;
-  __u64 sq_db_page;
-  __u64 rq_db_page;
+  __aligned_u64 sq_db_page;
+  __aligned_u64 rq_db_page;
   __u32 sq_db_index;
   __u32 rq_db_index;
 };
diff --git a/libc/kernel/uapi/rdma/nes-abi.h b/libc/kernel/uapi/rdma/nes-abi.h
index 1545e18..724852e 100644
--- a/libc/kernel/uapi/rdma/nes-abi.h
+++ b/libc/kernel/uapi/rdma/nes-abi.h
@@ -39,13 +39,13 @@
   __u32 mmap_db_index;
 };
 struct nes_create_cq_req {
-  __u64 user_cq_buffer;
+  __aligned_u64 user_cq_buffer;
   __u32 mcrqf;
   __u8 reserved[4];
 };
 struct nes_create_qp_req {
-  __u64 user_wqe_buffers;
-  __u64 user_qp_buffer;
+  __aligned_u64 user_wqe_buffers;
+  __aligned_u64 user_qp_buffer;
 };
 enum iwnes_memreg_type {
   IWNES_MEMREG_TYPE_MEM = 0x0000,
diff --git a/libc/kernel/uapi/rdma/ocrdma-abi.h b/libc/kernel/uapi/rdma/ocrdma-abi.h
index f909632..007f0e1 100644
--- a/libc/kernel/uapi/rdma/ocrdma-abi.h
+++ b/libc/kernel/uapi/rdma/ocrdma-abi.h
@@ -26,22 +26,22 @@
   __u32 wqe_size;
   __u32 max_inline_data;
   __u32 dpp_wqe_size;
-  __u64 ah_tbl_page;
+  __aligned_u64 ah_tbl_page;
   __u32 ah_tbl_len;
   __u32 rqe_size;
   __u8 fw_ver[32];
-  __u64 rsvd1;
-  __u64 rsvd2;
+  __aligned_u64 rsvd1;
+  __aligned_u64 rsvd2;
 };
 struct ocrdma_alloc_pd_ureq {
-  __u64 rsvd1;
+  __u32 rsvd[2];
 };
 struct ocrdma_alloc_pd_uresp {
   __u32 id;
   __u32 dpp_enabled;
   __u32 dpp_page_addr_hi;
   __u32 dpp_page_addr_lo;
-  __u64 rsvd1;
+  __u32 rsvd[2];
 };
 struct ocrdma_create_cq_ureq {
   __u32 dpp_cq;
@@ -53,12 +53,12 @@
   __u32 page_size;
   __u32 num_pages;
   __u32 max_hw_cqe;
-  __u64 page_addr[MAX_CQ_PAGES];
-  __u64 db_page_addr;
+  __aligned_u64 page_addr[MAX_CQ_PAGES];
+  __aligned_u64 db_page_addr;
   __u32 db_page_size;
   __u32 phase_change;
-  __u64 rsvd1;
-  __u64 rsvd2;
+  __aligned_u64 rsvd1;
+  __aligned_u64 rsvd2;
 };
 #define MAX_QP_PAGES 8
 #define MAX_UD_AV_PAGES 8
@@ -77,9 +77,9 @@
   __u32 rq_page_size;
   __u32 num_sq_pages;
   __u32 num_rq_pages;
-  __u64 sq_page_addr[MAX_QP_PAGES];
-  __u64 rq_page_addr[MAX_QP_PAGES];
-  __u64 db_page_addr;
+  __aligned_u64 sq_page_addr[MAX_QP_PAGES];
+  __aligned_u64 rq_page_addr[MAX_QP_PAGES];
+  __aligned_u64 db_page_addr;
   __u32 db_page_size;
   __u32 dpp_credit;
   __u32 dpp_offset;
@@ -88,21 +88,21 @@
   __u32 db_sq_offset;
   __u32 db_rq_offset;
   __u32 db_shift;
-  __u64 rsvd[11];
-} __packed;
+  __aligned_u64 rsvd[11];
+};
 struct ocrdma_create_srq_uresp {
   __u16 rq_dbid;
   __u16 resv0;
   __u32 resv1;
   __u32 rq_page_size;
   __u32 num_rq_pages;
-  __u64 rq_page_addr[MAX_QP_PAGES];
-  __u64 db_page_addr;
+  __aligned_u64 rq_page_addr[MAX_QP_PAGES];
+  __aligned_u64 db_page_addr;
   __u32 db_page_size;
   __u32 num_rqe_allocated;
   __u32 db_rq_offset;
   __u32 db_shift;
-  __u64 rsvd2;
-  __u64 rsvd3;
+  __aligned_u64 rsvd2;
+  __aligned_u64 rsvd3;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/qedr-abi.h b/libc/kernel/uapi/rdma/qedr-abi.h
index 55af44b..8626f8c 100644
--- a/libc/kernel/uapi/rdma/qedr-abi.h
+++ b/libc/kernel/uapi/rdma/qedr-abi.h
@@ -21,7 +21,7 @@
 #include <linux/types.h>
 #define QEDR_ABI_VERSION (8)
 struct qedr_alloc_ucontext_resp {
-  __u64 db_pa;
+  __aligned_u64 db_pa;
   __u32 db_size;
   __u32 max_send_wr;
   __u32 max_recv_wr;
@@ -33,28 +33,31 @@
   __u8 dpm_enabled;
   __u8 wids_enabled;
   __u16 wid_count;
+  __u32 reserved;
 };
 struct qedr_alloc_pd_ureq {
-  __u64 rsvd1;
+  __aligned_u64 rsvd1;
 };
 struct qedr_alloc_pd_uresp {
   __u32 pd_id;
+  __u32 reserved;
 };
 struct qedr_create_cq_ureq {
-  __u64 addr;
-  __u64 len;
+  __aligned_u64 addr;
+  __aligned_u64 len;
 };
 struct qedr_create_cq_uresp {
   __u32 db_offset;
   __u16 icid;
+  __u16 reserved;
 };
 struct qedr_create_qp_ureq {
   __u32 qp_handle_hi;
   __u32 qp_handle_lo;
-  __u64 sq_addr;
-  __u64 sq_len;
-  __u64 rq_addr;
-  __u64 rq_len;
+  __aligned_u64 sq_addr;
+  __aligned_u64 sq_len;
+  __aligned_u64 rq_addr;
+  __aligned_u64 rq_len;
 };
 struct qedr_create_qp_uresp {
   __u32 qp_id;
@@ -64,5 +67,6 @@
   __u32 rq_db_offset;
   __u16 rq_icid;
   __u32 rq_db2_offset;
+  __u32 reserved;
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_netlink.h b/libc/kernel/uapi/rdma/rdma_netlink.h
index c7bcb6d..36c8911 100644
--- a/libc/kernel/uapi/rdma/rdma_netlink.h
+++ b/libc/kernel/uapi/rdma/rdma_netlink.h
@@ -173,13 +173,13 @@
 enum rdma_nldev_command {
   RDMA_NLDEV_CMD_UNSPEC,
   RDMA_NLDEV_CMD_GET,
-  RDMA_NLDEV_CMD_SET,
-  RDMA_NLDEV_CMD_NEW,
-  RDMA_NLDEV_CMD_DEL,
-  RDMA_NLDEV_CMD_PORT_GET,
-  RDMA_NLDEV_CMD_PORT_SET,
-  RDMA_NLDEV_CMD_PORT_NEW,
-  RDMA_NLDEV_CMD_PORT_DEL,
+  RDMA_NLDEV_CMD_PORT_GET = 5,
+  RDMA_NLDEV_CMD_RES_GET = 9,
+  RDMA_NLDEV_CMD_RES_QP_GET,
+  RDMA_NLDEV_CMD_RES_CM_ID_GET,
+  RDMA_NLDEV_CMD_RES_CQ_GET,
+  RDMA_NLDEV_CMD_RES_MR_GET,
+  RDMA_NLDEV_CMD_RES_PD_GET,
   RDMA_NLDEV_NUM_OPS
 };
 enum rdma_nldev_attr {
@@ -198,6 +198,43 @@
   RDMA_NLDEV_ATTR_PORT_STATE,
   RDMA_NLDEV_ATTR_PORT_PHYS_STATE,
   RDMA_NLDEV_ATTR_DEV_NODE_TYPE,
+  RDMA_NLDEV_ATTR_RES_SUMMARY,
+  RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY,
+  RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_NAME,
+  RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_CURR,
+  RDMA_NLDEV_ATTR_RES_QP,
+  RDMA_NLDEV_ATTR_RES_QP_ENTRY,
+  RDMA_NLDEV_ATTR_RES_LQPN,
+  RDMA_NLDEV_ATTR_RES_RQPN,
+  RDMA_NLDEV_ATTR_RES_RQ_PSN,
+  RDMA_NLDEV_ATTR_RES_SQ_PSN,
+  RDMA_NLDEV_ATTR_RES_PATH_MIG_STATE,
+  RDMA_NLDEV_ATTR_RES_TYPE,
+  RDMA_NLDEV_ATTR_RES_STATE,
+  RDMA_NLDEV_ATTR_RES_PID,
+  RDMA_NLDEV_ATTR_RES_KERN_NAME,
+  RDMA_NLDEV_ATTR_RES_CM_ID,
+  RDMA_NLDEV_ATTR_RES_CM_ID_ENTRY,
+  RDMA_NLDEV_ATTR_RES_PS,
+  RDMA_NLDEV_ATTR_RES_SRC_ADDR,
+  RDMA_NLDEV_ATTR_RES_DST_ADDR,
+  RDMA_NLDEV_ATTR_RES_CQ,
+  RDMA_NLDEV_ATTR_RES_CQ_ENTRY,
+  RDMA_NLDEV_ATTR_RES_CQE,
+  RDMA_NLDEV_ATTR_RES_USECNT,
+  RDMA_NLDEV_ATTR_RES_POLL_CTX,
+  RDMA_NLDEV_ATTR_RES_MR,
+  RDMA_NLDEV_ATTR_RES_MR_ENTRY,
+  RDMA_NLDEV_ATTR_RES_RKEY,
+  RDMA_NLDEV_ATTR_RES_LKEY,
+  RDMA_NLDEV_ATTR_RES_IOVA,
+  RDMA_NLDEV_ATTR_RES_MRLEN,
+  RDMA_NLDEV_ATTR_RES_PD,
+  RDMA_NLDEV_ATTR_RES_PD_ENTRY,
+  RDMA_NLDEV_ATTR_RES_LOCAL_DMA_LKEY,
+  RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY,
+  RDMA_NLDEV_ATTR_NDEV_INDEX,
+  RDMA_NLDEV_ATTR_NDEV_NAME,
   RDMA_NLDEV_ATTR_MAX
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_user_cm.h b/libc/kernel/uapi/rdma/rdma_user_cm.h
index 24e0f2e..b200491 100644
--- a/libc/kernel/uapi/rdma/rdma_user_cm.h
+++ b/libc/kernel/uapi/rdma/rdma_user_cm.h
@@ -50,14 +50,20 @@
   RDMA_USER_CM_CMD_RESOLVE_ADDR,
   RDMA_USER_CM_CMD_JOIN_MCAST
 };
+enum rdma_ucm_port_space {
+  RDMA_PS_IPOIB = 0x0002,
+  RDMA_PS_IB = 0x013F,
+  RDMA_PS_TCP = 0x0106,
+  RDMA_PS_UDP = 0x0111,
+};
 struct rdma_ucm_cmd_hdr {
   __u32 cmd;
   __u16 in;
   __u16 out;
 };
 struct rdma_ucm_create_id {
-  __u64 uid;
-  __u64 response;
+  __aligned_u64 uid;
+  __aligned_u64 response;
   __u16 ps;
   __u8 qp_type;
   __u8 reserved[5];
@@ -66,7 +72,7 @@
   __u32 id;
 };
 struct rdma_ucm_destroy_id {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 reserved;
 };
@@ -74,7 +80,7 @@
   __u32 events_reported;
 };
 struct rdma_ucm_bind_ip {
-  __u64 response;
+  __aligned_u64 response;
   struct sockaddr_in6 addr;
   __u32 id;
 };
@@ -109,12 +115,12 @@
   RDMA_USER_CM_QUERY_GID
 };
 struct rdma_ucm_query {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 option;
 };
 struct rdma_ucm_query_route_resp {
-  __u64 node_guid;
+  __aligned_u64 node_guid;
   struct ib_user_path_rec ib_route[2];
   struct sockaddr_in6 src_addr;
   struct sockaddr_in6 dst_addr;
@@ -123,7 +129,7 @@
   __u8 reserved[3];
 };
 struct rdma_ucm_query_addr_resp {
-  __u64 node_guid;
+  __aligned_u64 node_guid;
   __u8 port_num;
   __u8 reserved;
   __u16 pkey;
@@ -168,7 +174,7 @@
   __u32 backlog;
 };
 struct rdma_ucm_accept {
-  __u64 uid;
+  __aligned_u64 uid;
   struct rdma_ucm_conn_param conn_param;
   __u32 id;
   __u32 reserved;
@@ -183,7 +189,7 @@
   __u32 id;
 };
 struct rdma_ucm_init_qp_attr {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 qp_state;
 };
@@ -192,8 +198,8 @@
   __u32 event;
 };
 struct rdma_ucm_join_ip_mcast {
-  __u64 response;
-  __u64 uid;
+  __aligned_u64 response;
+  __aligned_u64 uid;
   struct sockaddr_in6 addr;
   __u32 id;
 };
@@ -203,18 +209,18 @@
   RDMA_MC_JOIN_FLAG_RESERVED,
 };
 struct rdma_ucm_join_mcast {
-  __u64 response;
-  __u64 uid;
+  __aligned_u64 response;
+  __aligned_u64 uid;
   __u32 id;
   __u16 addr_size;
   __u16 join_flags;
   struct sockaddr_storage addr;
 };
 struct rdma_ucm_get_event {
-  __u64 response;
+  __aligned_u64 response;
 };
 struct rdma_ucm_event_resp {
-  __u64 uid;
+  __aligned_u64 uid;
   __u32 id;
   __u32 event;
   __u32 status;
@@ -222,6 +228,7 @@
     struct rdma_ucm_conn_param conn;
     struct rdma_ucm_ud_param ud;
   } param;
+  __u32 reserved;
 };
 enum {
   RDMA_OPTION_ID = 0,
@@ -234,14 +241,14 @@
   RDMA_OPTION_IB_PATH = 1
 };
 struct rdma_ucm_set_option {
-  __u64 optval;
+  __aligned_u64 optval;
   __u32 id;
   __u32 level;
   __u32 optname;
   __u32 optlen;
 };
 struct rdma_ucm_migrate_id {
-  __u64 response;
+  __aligned_u64 response;
   __u32 id;
   __u32 fd;
 };
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl.h b/libc/kernel/uapi/rdma/rdma_user_ioctl.h
index 41c11bc..2f532d3 100644
--- a/libc/kernel/uapi/rdma/rdma_user_ioctl.h
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl.h
@@ -18,34 +18,10 @@
  ****************************************************************************/
 #ifndef RDMA_USER_IOCTL_H
 #define RDMA_USER_IOCTL_H
-#include <linux/types.h>
-#include <linux/ioctl.h>
 #include <rdma/ib_user_mad.h>
 #include <rdma/hfi/hfi1_ioctl.h>
-#define RDMA_IOCTL_MAGIC 0x1b
+#include <rdma/rdma_user_ioctl_cmds.h>
 #define IB_IOCTL_MAGIC RDMA_IOCTL_MAGIC
-#define RDMA_VERBS_IOCTL _IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr)
-#define UVERBS_ID_NS_MASK 0xF000
-#define UVERBS_ID_NS_SHIFT 12
-enum {
-  UVERBS_ATTR_F_MANDATORY = 1U << 0,
-  UVERBS_ATTR_F_VALID_OUTPUT = 1U << 1,
-};
-struct ib_uverbs_attr {
-  __u16 attr_id;
-  __u16 len;
-  __u16 flags;
-  __u16 reserved;
-  __u64 data;
-};
-struct ib_uverbs_ioctl_hdr {
-  __u16 length;
-  __u16 object_id;
-  __u16 method_id;
-  __u16 num_attrs;
-  __u64 reserved;
-  struct ib_uverbs_attr attrs[0];
-};
 #define IB_USER_MAD_REGISTER_AGENT _IOWR(RDMA_IOCTL_MAGIC, 0x01, struct ib_user_mad_reg_req)
 #define IB_USER_MAD_UNREGISTER_AGENT _IOW(RDMA_IOCTL_MAGIC, 0x02, __u32)
 #define IB_USER_MAD_ENABLE_PKEY _IO(RDMA_IOCTL_MAGIC, 0x03)
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
new file mode 100644
index 0000000..5da7917
--- /dev/null
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   structures, and macros generated from the original header, and thus,
+ ***   contains no copyrightable information.
+ ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef RDMA_USER_IOCTL_CMDS_H
+#define RDMA_USER_IOCTL_CMDS_H
+#include <linux/types.h>
+#include <linux/ioctl.h>
+#define RDMA_IOCTL_MAGIC 0x1b
+#define RDMA_VERBS_IOCTL _IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr)
+enum {
+  UVERBS_ATTR_F_MANDATORY = 1U << 0,
+  UVERBS_ATTR_F_VALID_OUTPUT = 1U << 1,
+};
+struct ib_uverbs_attr {
+  __u16 attr_id;
+  __u16 len;
+  __u16 flags;
+  union {
+    struct {
+      __u8 elem_id;
+      __u8 reserved;
+    } enum_data;
+    __u16 reserved;
+  } attr_data;
+  __aligned_u64 data;
+};
+struct ib_uverbs_ioctl_hdr {
+  __u16 length;
+  __u16 object_id;
+  __u16 method_id;
+  __u16 num_attrs;
+  __aligned_u64 reserved1;
+  __u32 driver_id;
+  __u32 reserved2;
+  struct ib_uverbs_attr attrs[0];
+};
+enum rdma_driver_id {
+  RDMA_DRIVER_UNKNOWN,
+  RDMA_DRIVER_MLX5,
+  RDMA_DRIVER_MLX4,
+  RDMA_DRIVER_CXGB3,
+  RDMA_DRIVER_CXGB4,
+  RDMA_DRIVER_MTHCA,
+  RDMA_DRIVER_BNXT_RE,
+  RDMA_DRIVER_OCRDMA,
+  RDMA_DRIVER_NES,
+  RDMA_DRIVER_I40IW,
+  RDMA_DRIVER_VMW_PVRDMA,
+  RDMA_DRIVER_QEDR,
+  RDMA_DRIVER_HNS,
+  RDMA_DRIVER_USNIC,
+  RDMA_DRIVER_RXE,
+  RDMA_DRIVER_HFI1,
+  RDMA_DRIVER_QIB,
+};
+#endif
diff --git a/libc/kernel/uapi/rdma/rdma_user_rxe.h b/libc/kernel/uapi/rdma/rdma_user_rxe.h
index 8d1bbd0..a57ed1a 100644
--- a/libc/kernel/uapi/rdma/rdma_user_rxe.h
+++ b/libc/kernel/uapi/rdma/rdma_user_rxe.h
@@ -19,6 +19,9 @@
 #ifndef RDMA_USER_RXE_H
 #define RDMA_USER_RXE_H
 #include <linux/types.h>
+#include <linux/socket.h>
+#include <linux/in.h>
+#include <linux/in6.h>
 union rxe_gid {
   __u8 raw[16];
   struct {
@@ -36,15 +39,16 @@
 struct rxe_av {
   __u8 port_num;
   __u8 network_type;
+  __u16 reserved1;
+  __u32 reserved2;
   struct rxe_global_route grh;
   union {
-    struct sockaddr _sockaddr;
     struct sockaddr_in _sockaddr_in;
     struct sockaddr_in6 _sockaddr_in6;
   } sgid_addr, dgid_addr;
 };
 struct rxe_send_wr {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 opcode;
   __u32 send_flags;
@@ -54,14 +58,16 @@
   } ex;
   union {
     struct {
-      __u64 remote_addr;
+      __aligned_u64 remote_addr;
       __u32 rkey;
+      __u32 reserved;
     } rdma;
     struct {
-      __u64 remote_addr;
-      __u64 compare_add;
-      __u64 swap;
+      __aligned_u64 remote_addr;
+      __aligned_u64 compare_add;
+      __aligned_u64 swap;
       __u32 rkey;
+      __u32 reserved;
     } atomic;
     struct {
       __u32 remote_qpn;
@@ -69,19 +75,22 @@
       __u16 pkey_index;
     } ud;
     struct {
-      struct ib_mr * mr;
+      union {
+        struct ib_mr * mr;
+        __aligned_u64 reserved;
+      };
       __u32 key;
-      int access;
+      __u32 access;
     } reg;
   } wr;
 };
 struct rxe_sge {
-  __u64 addr;
+  __aligned_u64 addr;
   __u32 length;
   __u32 lkey;
 };
 struct mminfo {
-  __u64 offset;
+  __aligned_u64 offset;
   __u32 size;
   __u32 pad;
 };
@@ -91,6 +100,7 @@
   __u32 cur_sge;
   __u32 num_sge;
   __u32 sge_offset;
+  __u32 reserved;
   union {
     __u8 inline_data[0];
     struct rxe_sge sge[0];
@@ -101,7 +111,7 @@
   struct rxe_av av;
   __u32 status;
   __u32 state;
-  __u64 iova;
+  __aligned_u64 iova;
   __u32 mask;
   __u32 first_psn;
   __u32 last_psn;
@@ -111,9 +121,27 @@
   struct rxe_dma_info dma;
 };
 struct rxe_recv_wqe {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 padding;
   struct rxe_dma_info dma;
 };
+struct rxe_create_cq_resp {
+  struct mminfo mi;
+};
+struct rxe_resize_cq_resp {
+  struct mminfo mi;
+};
+struct rxe_create_qp_resp {
+  struct mminfo rq_mi;
+  struct mminfo sq_mi;
+};
+struct rxe_create_srq_resp {
+  struct mminfo mi;
+  __u32 srq_num;
+  __u32 reserved;
+};
+struct rxe_modify_srq_cmd {
+  __aligned_u64 mmap_info_addr;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
index 7c13680..7b43e35 100644
--- a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
+++ b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
@@ -22,12 +22,14 @@
 #define PVRDMA_UVERBS_ABI_VERSION 3
 #define PVRDMA_UAR_HANDLE_MASK 0x00FFFFFF
 #define PVRDMA_UAR_QP_OFFSET 0
-#define PVRDMA_UAR_QP_SEND BIT(30)
-#define PVRDMA_UAR_QP_RECV BIT(31)
+#define PVRDMA_UAR_QP_SEND (1 << 30)
+#define PVRDMA_UAR_QP_RECV (1 << 31)
 #define PVRDMA_UAR_CQ_OFFSET 4
-#define PVRDMA_UAR_CQ_ARM_SOL BIT(29)
-#define PVRDMA_UAR_CQ_ARM BIT(30)
-#define PVRDMA_UAR_CQ_POLL BIT(31)
+#define PVRDMA_UAR_CQ_ARM_SOL (1 << 29)
+#define PVRDMA_UAR_CQ_ARM (1 << 30)
+#define PVRDMA_UAR_CQ_POLL (1 << 31)
+#define PVRDMA_UAR_SRQ_OFFSET 8
+#define PVRDMA_UAR_SRQ_RECV (1 << 30)
 enum pvrdma_wr_opcode {
   PVRDMA_WR_RDMA_WRITE,
   PVRDMA_WR_RDMA_WRITE_WITH_IMM,
@@ -104,7 +106,7 @@
   __u32 reserved;
 };
 struct pvrdma_create_cq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
   __u32 buf_size;
   __u32 reserved;
 };
@@ -113,12 +115,12 @@
   __u32 reserved;
 };
 struct pvrdma_resize_cq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
   __u32 buf_size;
   __u32 reserved;
 };
 struct pvrdma_create_srq {
-  __u64 buf_addr;
+  __aligned_u64 buf_addr;
   __u32 buf_size;
   __u32 reserved;
 };
@@ -127,21 +129,21 @@
   __u32 reserved;
 };
 struct pvrdma_create_qp {
-  __u64 rbuf_addr;
-  __u64 sbuf_addr;
+  __aligned_u64 rbuf_addr;
+  __aligned_u64 sbuf_addr;
   __u32 rbuf_size;
   __u32 sbuf_size;
-  __u64 qp_addr;
+  __aligned_u64 qp_addr;
 };
 struct pvrdma_ex_cmp_swap {
-  __u64 swap_val;
-  __u64 compare_val;
-  __u64 swap_mask;
-  __u64 compare_mask;
+  __aligned_u64 swap_val;
+  __aligned_u64 compare_val;
+  __aligned_u64 swap_mask;
+  __aligned_u64 compare_mask;
 };
 struct pvrdma_ex_fetch_add {
-  __u64 add_val;
-  __u64 field_boundary;
+  __aligned_u64 add_val;
+  __aligned_u64 field_boundary;
 };
 struct pvrdma_av {
   __u32 port_pd;
@@ -155,17 +157,17 @@
   __u8 reserved[6];
 };
 struct pvrdma_sge {
-  __u64 addr;
+  __aligned_u64 addr;
   __u32 length;
   __u32 lkey;
 };
 struct pvrdma_rq_wqe_hdr {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 total_len;
 };
 struct pvrdma_sq_wqe_hdr {
-  __u64 wr_id;
+  __aligned_u64 wr_id;
   __u32 num_sge;
   __u32 total_len;
   __u32 opcode;
@@ -177,19 +179,19 @@
   __u32 reserved;
   union {
     struct {
-      __u64 remote_addr;
+      __aligned_u64 remote_addr;
       __u32 rkey;
       __u8 reserved[4];
     } rdma;
     struct {
-      __u64 remote_addr;
-      __u64 compare_add;
-      __u64 swap;
+      __aligned_u64 remote_addr;
+      __aligned_u64 compare_add;
+      __aligned_u64 swap;
       __u32 rkey;
       __u32 reserved;
     } atomic;
     struct {
-      __u64 remote_addr;
+      __aligned_u64 remote_addr;
       __u32 log_arg_sz;
       __u32 rkey;
       union {
@@ -198,13 +200,14 @@
       } wr_data;
     } masked_atomics;
     struct {
-      __u64 iova_start;
-      __u64 pl_pdir_dma;
+      __aligned_u64 iova_start;
+      __aligned_u64 pl_pdir_dma;
       __u32 page_shift;
       __u32 page_list_len;
       __u32 length;
       __u32 access_flags;
       __u32 rkey;
+      __u32 reserved;
     } fast_reg;
     struct {
       __u32 remote_qpn;
@@ -214,8 +217,8 @@
   } wr;
 };
 struct pvrdma_cqe {
-  __u64 wr_id;
-  __u64 qp;
+  __aligned_u64 wr_id;
+  __aligned_u64 qp;
   __u32 opcode;
   __u32 status;
   __u32 byte_len;
diff --git a/libc/kernel/uapi/sound/asound.h b/libc/kernel/uapi/sound/asound.h
index 63f66b4..e5473a5 100644
--- a/libc/kernel/uapi/sound/asound.h
+++ b/libc/kernel/uapi/sound/asound.h
@@ -153,6 +153,10 @@
 #define SNDRV_PCM_FORMAT_IMA_ADPCM ((__force snd_pcm_format_t) 22)
 #define SNDRV_PCM_FORMAT_MPEG ((__force snd_pcm_format_t) 23)
 #define SNDRV_PCM_FORMAT_GSM ((__force snd_pcm_format_t) 24)
+#define SNDRV_PCM_FORMAT_S20_LE ((__force snd_pcm_format_t) 25)
+#define SNDRV_PCM_FORMAT_S20_BE ((__force snd_pcm_format_t) 26)
+#define SNDRV_PCM_FORMAT_U20_LE ((__force snd_pcm_format_t) 27)
+#define SNDRV_PCM_FORMAT_U20_BE ((__force snd_pcm_format_t) 28)
 #define SNDRV_PCM_FORMAT_SPECIAL ((__force snd_pcm_format_t) 31)
 #define SNDRV_PCM_FORMAT_S24_3LE ((__force snd_pcm_format_t) 32)
 #define SNDRV_PCM_FORMAT_S24_3BE ((__force snd_pcm_format_t) 33)
@@ -176,6 +180,7 @@
 #define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51)
 #define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52)
 #define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_BE
+#define SNDRV_PCM_FORMAT_FIRST SNDRV_PCM_FORMAT_S8
 #ifdef SNDRV_LITTLE_ENDIAN
 #define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_LE
 #define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_LE
@@ -186,6 +191,8 @@
 #define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_LE
 #define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_LE
 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE
+#define SNDRV_PCM_FORMAT_S20 SNDRV_PCM_FORMAT_S20_LE
+#define SNDRV_PCM_FORMAT_U20 SNDRV_PCM_FORMAT_U20_LE
 #endif
 #ifdef SNDRV_BIG_ENDIAN
 #define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_BE
@@ -197,6 +204,8 @@
 #define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_BE
 #define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_BE
 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE
+#define SNDRV_PCM_FORMAT_S20 SNDRV_PCM_FORMAT_S20_BE
+#define SNDRV_PCM_FORMAT_U20 SNDRV_PCM_FORMAT_U20_BE
 #endif
 typedef int __bitwise snd_pcm_subformat_t;
 #define SNDRV_PCM_SUBFORMAT_STD ((__force snd_pcm_subformat_t) 0)
diff --git a/libc/kernel/uapi/sound/snd_sst_tokens.h b/libc/kernel/uapi/sound/snd_sst_tokens.h
index a4cfdd5..85a99c7 100644
--- a/libc/kernel/uapi/sound/snd_sst_tokens.h
+++ b/libc/kernel/uapi/sound/snd_sst_tokens.h
@@ -93,6 +93,10 @@
   SKL_TKN_MM_U32_FMT_ID,
   SKL_TKN_MM_U32_NUM_IN_FMT,
   SKL_TKN_MM_U32_NUM_OUT_FMT,
-  SKL_TKN_MAX = SKL_TKN_MM_U32_NUM_OUT_FMT,
+  SKL_TKN_U32_ASTATE_IDX,
+  SKL_TKN_U32_ASTATE_COUNT,
+  SKL_TKN_U32_ASTATE_KCPS,
+  SKL_TKN_U32_ASTATE_CLK_SRC,
+  SKL_TKN_MAX = SKL_TKN_U32_ASTATE_CLK_SRC,
 };
 #endif
diff --git a/libc/private/bionic_asm_arm64.h b/libc/private/bionic_asm_arm64.h
index 43ecaf3..463ca31 100644
--- a/libc/private/bionic_asm_arm64.h
+++ b/libc/private/bionic_asm_arm64.h
@@ -37,7 +37,7 @@
 
 #pragma once
 
-#define __bionic_asm_align 0
+#define __bionic_asm_align 16
 
 #undef __bionic_asm_function_type
 #define __bionic_asm_function_type %function
diff --git a/libc/private/thread_private.h b/libc/private/thread_private.h
index 0081ad0..1f9eeb6 100644
--- a/libc/private/thread_private.h
+++ b/libc/private/thread_private.h
@@ -2,8 +2,7 @@
 
 /* PUBLIC DOMAIN: No Rights Reserved. Marco S Hyman <marc@snafu.org> */
 
-#ifndef _THREAD_PRIVATE_H_
-#define _THREAD_PRIVATE_H_
+#pragma once
 
 #include <pthread.h>
 
@@ -16,33 +15,15 @@
  * described functions for operation in a non-threaded environment.
  */
 
-/*
- * helper macro to make unique names in the thread namespace
- */
-#define __THREAD_NAME(name)	__CONCAT(_thread_tagname_,name)
-
-struct __thread_private_tag_t {
-    pthread_mutex_t    _private_lock;
-    pthread_key_t      _private_key;
-};
-
-#define _THREAD_PRIVATE_MUTEX(name)  \
-	static struct __thread_private_tag_t  __THREAD_NAME(name) = { PTHREAD_MUTEX_INITIALIZER, -1 }
-#define _THREAD_PRIVATE_MUTEX_LOCK(name)  \
-	pthread_mutex_lock( &__THREAD_NAME(name)._private_lock )
-#define _THREAD_PRIVATE_MUTEX_UNLOCK(name) \
-	pthread_mutex_unlock( &__THREAD_NAME(name)._private_lock )
+#define __MUTEX_NAME(name) __CONCAT(__libc_mutex_,name)
+#define _THREAD_PRIVATE_MUTEX(name) static pthread_mutex_t __MUTEX_NAME(name) = PTHREAD_MUTEX_INITIALIZER
+#define _THREAD_PRIVATE_MUTEX_LOCK(name) pthread_mutex_lock(&__MUTEX_NAME(name))
+#define _THREAD_PRIVATE_MUTEX_UNLOCK(name) pthread_mutex_unlock(&__MUTEX_NAME(name))
 
 /* Note that these aren't compatible with the usual OpenBSD ones which lazy-initialize! */
 #define _MUTEX_LOCK(l) pthread_mutex_lock((pthread_mutex_t*) l)
 #define _MUTEX_UNLOCK(l) pthread_mutex_unlock((pthread_mutex_t*) l)
 
-__LIBC_HIDDEN__ void  _thread_atexit_lock(void);
-__LIBC_HIDDEN__ void  _thread_atexit_unlock(void);
-
-#define _ATEXIT_LOCK() _thread_atexit_lock()
-#define _ATEXIT_UNLOCK() _thread_atexit_unlock()
-
 __LIBC_HIDDEN__ void    _thread_arc4_lock(void);
 __LIBC_HIDDEN__ void    _thread_arc4_unlock(void);
 
@@ -53,5 +34,3 @@
 extern volatile sig_atomic_t _rs_forked;
 
 __END_DECLS
-
-#endif /* _THREAD_PRIVATE_H_ */
diff --git a/libc/stdio/local.h b/libc/stdio/local.h
index 441fcfe..d306a21 100644
--- a/libc/stdio/local.h
+++ b/libc/stdio/local.h
@@ -137,6 +137,9 @@
   // Equivalent to `_seek` but for _FILE_OFFSET_BITS=64.
   // Callers should use this but fall back to `__sFILE::_seek`.
   off64_t (*_seek64)(void*, off64_t, int);
+
+  // The pid of the child if this FILE* is from popen(3).
+  pid_t _popen_pid;
 };
 
 // Values for `__sFILE::_flags`.
@@ -201,7 +204,6 @@
 __LIBC32_LEGACY_PUBLIC__ int _fwalk(int (*)(FILE*));
 
 off64_t __sseek64(void*, off64_t, int);
-int __sflush_locked(FILE*);
 int __swhatbuf(FILE*, size_t*, int*);
 wint_t __fgetwc_unlock(FILE*);
 wint_t __ungetwc(wint_t, FILE*);
diff --git a/libc/stdio/refill.c b/libc/stdio/refill.c
index 1df4191..cfa2bfd 100644
--- a/libc/stdio/refill.c
+++ b/libc/stdio/refill.c
@@ -40,7 +40,7 @@
 lflush(FILE *fp)
 {
 	if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR))
-		return (__sflush_locked(fp));	/* ignored... */
+		return (__sflush(fp));	/* ignored... */
 	return (0);
 }
 
diff --git a/libc/stdio/stdio.cpp b/libc/stdio/stdio.cpp
index e066e5b..1f08ea1 100644
--- a/libc/stdio/stdio.cpp
+++ b/libc/stdio/stdio.cpp
@@ -41,7 +41,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/param.h>
+#include <sys/socket.h>
 #include <sys/stat.h>
+#include <sys/wait.h>
 #include <unistd.h>
 
 #include <async_safe/log.h>
@@ -64,33 +66,42 @@
     va_end(ap); \
     return result;
 
-#define std(flags, file) \
-    {0,0,0,flags,file,{0,0},0,__sF+file,__sclose,__sread,nullptr,__swrite, \
-    {(unsigned char *)(__sFext+file), 0},nullptr,0,{0},{0},{0,0},0,0}
-
-_THREAD_PRIVATE_MUTEX(__sfp_mutex);
-
-#define SBUF_INIT {}
-#define WCHAR_IO_DATA_INIT {}
+#define MAKE_STD_STREAM(flags, fd)                                          \
+  {                                                                         \
+    ._flags = flags, ._file = fd, ._cookie = __sF + fd, ._close = __sclose, \
+    ._read = __sread, ._write = __swrite, ._ext = {                         \
+      ._base = reinterpret_cast<uint8_t*>(__sFext + fd)                     \
+    }                                                                       \
+  }
 
 static struct __sfileext __sFext[3] = {
-  { SBUF_INIT, WCHAR_IO_DATA_INIT, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, false, __sseek64 },
-  { SBUF_INIT, WCHAR_IO_DATA_INIT, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, false, __sseek64 },
-  { SBUF_INIT, WCHAR_IO_DATA_INIT, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, false, __sseek64 },
+    {._lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
+     ._caller_handles_locking = false,
+     ._seek64 = __sseek64,
+     ._popen_pid = 0},
+    {._lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
+     ._caller_handles_locking = false,
+     ._seek64 = __sseek64,
+     ._popen_pid = 0},
+    {._lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP,
+     ._caller_handles_locking = false,
+     ._seek64 = __sseek64,
+     ._popen_pid = 0},
 };
 
 // __sF is exported for backwards compatibility. Until M, we didn't have symbols
 // for stdin/stdout/stderr; they were macros accessing __sF.
 FILE __sF[3] = {
-  std(__SRD, STDIN_FILENO),
-  std(__SWR, STDOUT_FILENO),
-  std(__SWR|__SNBF, STDERR_FILENO),
+    MAKE_STD_STREAM(__SRD, STDIN_FILENO),
+    MAKE_STD_STREAM(__SWR, STDOUT_FILENO),
+    MAKE_STD_STREAM(__SWR|__SNBF, STDERR_FILENO),
 };
 
 FILE* stdin = &__sF[0];
 FILE* stdout = &__sF[1];
 FILE* stderr = &__sF[2];
 
+static pthread_mutex_t __stdio_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
 struct glue __sglue = { nullptr, 3, __sF };
 static struct glue* lastglue = &__sglue;
 
@@ -108,8 +119,6 @@
 };
 
 static glue* moreglue(int n) {
-  static FILE empty;
-
   char* data = new char[sizeof(glue) + ALIGNBYTES + n * sizeof(FILE) + n * sizeof(__sfileext)];
   if (data == nullptr) return nullptr;
 
@@ -120,7 +129,7 @@
   g->niobs = n;
   g->iobs = p;
   while (--n >= 0) {
-    *p = empty;
+    *p = {};
     _FILEEXT_SETUP(p, pext);
     p++;
     pext++;
@@ -143,7 +152,7 @@
 	int n;
 	struct glue *g;
 
-	_THREAD_PRIVATE_MUTEX_LOCK(__sfp_mutex);
+	pthread_mutex_lock(&__stdio_mutex);
 	for (g = &__sglue; g != nullptr; g = g->next) {
 		for (fp = g->iobs, n = g->niobs; --n >= 0; fp++)
 			if (fp->_flags == 0)
@@ -151,15 +160,15 @@
 	}
 
 	/* release lock while mallocing */
-	_THREAD_PRIVATE_MUTEX_UNLOCK(__sfp_mutex);
+	pthread_mutex_unlock(&__stdio_mutex);
 	if ((g = moreglue(NDYNAMIC)) == nullptr) return nullptr;
-	_THREAD_PRIVATE_MUTEX_LOCK(__sfp_mutex);
+	pthread_mutex_lock(&__stdio_mutex);
 	lastglue->next = g;
 	lastglue = g;
 	fp = g->iobs;
 found:
 	fp->_flags = 1;		/* reserve this slot; caller sets real flags */
-	_THREAD_PRIVATE_MUTEX_UNLOCK(__sfp_mutex);
+	pthread_mutex_unlock(&__stdio_mutex);
 	fp->_p = nullptr;		/* no current pointer */
 	fp->_w = 0;		/* nothing to read or write */
 	fp->_r = 0;
@@ -183,9 +192,20 @@
 	return fp;
 }
 
-extern "C" __LIBC_HIDDEN__ void __libc_stdio_cleanup(void) {
-  // Equivalent to fflush(nullptr), but without all the locking since we're shutting down anyway.
-  _fwalk(__sflush);
+int _fwalk(int (*callback)(FILE*)) {
+  pthread_mutex_lock(&__stdio_mutex);
+  int result = 0;
+  for (glue* g = &__sglue; g != nullptr; g = g->next) {
+    FILE* fp = g->iobs;
+    for (int n = g->niobs; --n >= 0; ++fp) {
+      ScopedFileLock sfl(fp);
+      if (fp->_flags != 0 && (fp->_flags & __SIGN) == 0) {
+        result |= (*callback)(fp);
+      }
+    }
+  }
+  pthread_mutex_unlock(&__stdio_mutex);
+  return result;
 }
 
 static FILE* __fopen(int fd, int flags) {
@@ -383,6 +403,16 @@
   if (HASUB(fp)) FREEUB(fp);
   free_fgetln_buffer(fp);
 
+  // If we were created by popen(3), wait for the child.
+  pid_t pid = _EXT(fp)->_popen_pid;
+  if (pid > 0) {
+    int status;
+    if (TEMP_FAILURE_RETRY(wait4(pid, &status, 0, nullptr)) != -1) {
+      r = status;
+    }
+  }
+  _EXT(fp)->_popen_pid = 0;
+
   // Poison this FILE so accesses after fclose will be obvious.
   fp->_file = -1;
   fp->_r = fp->_w = 0;
@@ -391,6 +421,7 @@
   fp->_flags = 0;
   return r;
 }
+__strong_alias(pclose, fclose);
 
 int fileno_unlocked(FILE* fp) {
   CHECK_FP(fp);
@@ -465,11 +496,6 @@
   return 0;
 }
 
-int __sflush_locked(FILE* fp) {
-  ScopedFileLock sfl(fp);
-  return __sflush(fp);
-}
-
 int __sread(void* cookie, char* buf, int n) {
   FILE* fp = reinterpret_cast<FILE*>(cookie);
   return TEMP_FAILURE_RETRY(read(fp->_file, buf, n));
@@ -707,18 +733,16 @@
   return getc_unlocked(fp);
 }
 
-/*
- * Read at most n-1 characters from the given file.
- * Stop when a newline has been read, or the count runs out.
- * Return first argument, or NULL if no characters were read.
- * Do not return NULL if n == 1.
- */
 char* fgets(char* buf, int n, FILE* fp) {
   CHECK_FP(fp);
   ScopedFileLock sfl(fp);
   return fgets_unlocked(buf, n, fp);
 }
 
+// Reads at most n-1 characters from the given file.
+// Stops when a newline has been read, or the count runs out.
+// Returns first argument, or nullptr if no characters were read.
+// Does not return nullptr if n == 1.
 char* fgets_unlocked(char* buf, int n, FILE* fp) {
   if (n <= 0) {
     errno = EINVAL;
@@ -1013,7 +1037,7 @@
 }
 
 static int fflush_all() {
-  return _fwalk(__sflush_locked);
+  return _fwalk(__sflush);
 }
 
 int fflush(FILE* fp) {
@@ -1122,6 +1146,80 @@
   return (__sfvwrite(fp, &uio) == 0) ? count : ((n - uio.uio_resid) / size);
 }
 
+static int __close_if_popened(FILE* fp) {
+  if (_EXT(fp)->_popen_pid > 0) close(fileno(fp));
+  return 0;
+}
+
+static FILE* __popen_fail(int fds[2]) {
+  ErrnoRestorer errno_restorer;
+  close(fds[0]);
+  close(fds[1]);
+  return nullptr;
+}
+
+FILE* popen(const char* cmd, const char* mode) {
+  bool close_on_exec = (strchr(mode, 'e') != nullptr);
+
+  // Was the request for a socketpair or just a pipe?
+  int fds[2];
+  bool bidirectional = false;
+  if (strchr(mode, '+') != nullptr) {
+    if (socketpair(AF_LOCAL, SOCK_CLOEXEC | SOCK_STREAM, 0, fds) == -1) return nullptr;
+    bidirectional = true;
+    mode = "r+";
+  } else {
+    if (pipe2(fds, O_CLOEXEC) == -1) return nullptr;
+    mode = strrchr(mode, 'r') ? "r" : "w";
+  }
+
+  // If the parent wants to read, the child's fd needs to be stdout.
+  int parent, child, desired_child_fd;
+  if (*mode == 'r') {
+    parent = 0;
+    child = 1;
+    desired_child_fd = STDOUT_FILENO;
+  } else {
+    parent = 1;
+    child = 0;
+    desired_child_fd = STDIN_FILENO;
+  }
+
+  // Ensure that the child fd isn't the desired child fd.
+  if (fds[child] == desired_child_fd) {
+    int new_fd = fcntl(fds[child], F_DUPFD_CLOEXEC, 0);
+    if (new_fd == -1) return __popen_fail(fds);
+    close(fds[child]);
+    fds[child] = new_fd;
+  }
+
+  pid_t pid = vfork();
+  if (pid == -1) return __popen_fail(fds);
+
+  if (pid == 0) {
+    close(fds[parent]);
+    // POSIX says "The popen() function shall ensure that any streams from previous popen() calls
+    // that remain open in the parent process are closed in the new child process."
+    _fwalk(__close_if_popened);
+    // dup2 so that the child fd isn't closed on exec.
+    if (dup2(fds[child], desired_child_fd) == -1) _exit(127);
+    close(fds[child]);
+    if (bidirectional) dup2(STDOUT_FILENO, STDIN_FILENO);
+    execl(_PATH_BSHELL, "sh", "-c", cmd, nullptr);
+    _exit(127);
+  }
+
+  FILE* fp = fdopen(fds[parent], mode);
+  if (fp == nullptr) return __popen_fail(fds);
+
+  // The caller didn't ask for their pipe to be O_CLOEXEC, so flip it back now the child has forked.
+  if (!close_on_exec) fcntl(fds[parent], F_SETFD, 0);
+  close(fds[child]);
+
+  _EXT(fp)->_popen_pid = pid;
+  return fp;
+}
+
 namespace {
 
 namespace phony {
diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c
index c817b63..a26bee4 100644
--- a/libc/stdlib/atexit.c
+++ b/libc/stdlib/atexit.c
@@ -29,18 +29,23 @@
  *
  */
 
-#include <sys/types.h>
-#include <sys/mman.h>
+#include "atexit.h"
+
+#include <pthread.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#include "atexit.h"
-#include "private/thread_private.h"
+#include <sys/mman.h>
+#include <sys/types.h>
 
 /* BEGIN android-changed */
 #include "private/bionic_prctl.h"
 /* END android-changed */
 
+static pthread_mutex_t g_atexit_lock = PTHREAD_MUTEX_INITIALIZER;
+#define _ATEXIT_LOCK() pthread_mutex_lock(&g_atexit_lock)
+#define _ATEXIT_UNLOCK() pthread_mutex_unlock(&g_atexit_lock)
+
 struct atexit {
 	struct atexit *next;		/* next in list */
 	int ind;			/* next index in this table */
@@ -79,15 +84,14 @@
 int
 __cxa_atexit(void (*func)(void *), void *arg, void *dso)
 {
-	struct atexit *p = __atexit;
 	struct atexit_fn *fnp;
 	size_t pgsize = getpagesize();
 	int ret = -1;
 
-	if (pgsize < sizeof(*p))
+	if (pgsize < sizeof(struct atexit))
 		return (-1);
 	_ATEXIT_LOCK();
-	p = __atexit;
+	struct atexit *p = __atexit;
 	if (p != NULL) {
 		if (p->ind + 1 >= p->max)
 			p = NULL;
@@ -185,8 +189,7 @@
 	}
 	_ATEXIT_UNLOCK();
 
-  extern void __libc_stdio_cleanup(void);
-  __libc_stdio_cleanup();
+  fflush(NULL);
 
   /* BEGIN android-changed: call __unregister_atfork if dso is not null */
   if (dso != NULL) {
diff --git a/libc/upstream-netbsd/lib/libc/gen/popen.c b/libc/upstream-netbsd/lib/libc/gen/popen.c
deleted file mode 100644
index 593e346..0000000
--- a/libc/upstream-netbsd/lib/libc/gen/popen.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*	$NetBSD: popen.c,v 1.32 2012/06/25 22:32:43 abs Exp $	*/
-
-/*
- * Copyright (c) 1988, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software written by Ken Arnold and
- * published in UNIX Review, Vol. 6, No. 8.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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 <sys/cdefs.h>
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-static char sccsid[] = "@(#)popen.c	8.3 (Berkeley) 5/3/95";
-#else
-__RCSID("$NetBSD: popen.c,v 1.32 2012/06/25 22:32:43 abs Exp $");
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-#include "namespace.h"
-#include <sys/param.h>
-#include <sys/wait.h>
-#include <sys/socket.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <paths.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include "env.h"
-#include "reentrant.h"
-
-#ifdef __weak_alias
-__weak_alias(popen,_popen)
-__weak_alias(pclose,_pclose)
-#endif
-
-static struct pid {
-	struct pid *next;
-	FILE *fp;
-#ifdef _REENTRANT
-	int fd;
-#endif
-	pid_t pid;
-} *pidlist; 
-	
-#ifdef _REENTRANT
-static rwlock_t pidlist_lock = RWLOCK_INITIALIZER;
-#endif
-
-FILE *
-popen(const char *command, const char *type)
-{
-	struct pid *cur, *old;
-	FILE *iop;
-	const char * volatile xtype = type;
-	int pdes[2], pid, serrno;
-	volatile int twoway;
-	int flags;
-
-	_DIAGASSERT(command != NULL);
-	_DIAGASSERT(xtype != NULL);
-
-	flags = strchr(xtype, 'e') ? O_CLOEXEC : 0;
-	if (strchr(xtype, '+')) {
-		int stype = flags ? (SOCK_STREAM | SOCK_CLOEXEC) : SOCK_STREAM;
-		twoway = 1;
-		xtype = "r+";
-		if (socketpair(AF_LOCAL, stype, 0, pdes) < 0)
-			return NULL;
-	} else  {
-		twoway = 0;
-		xtype = strrchr(xtype, 'r') ? "r" : "w";
-		if (pipe2(pdes, flags) == -1)
-			return NULL;
-	}
-
-	if ((cur = malloc(sizeof(struct pid))) == NULL) {
-		(void)close(pdes[0]);
-		(void)close(pdes[1]);
-		errno = ENOMEM;
-		return (NULL);
-	}
-
-	(void)rwlock_rdlock(&pidlist_lock);
-	(void)__readlockenv();
-	switch (pid = vfork()) {
-	case -1:			/* Error. */
-		serrno = errno;
-		(void)__unlockenv();
-		(void)rwlock_unlock(&pidlist_lock);
-		free(cur);
-		(void)close(pdes[0]);
-		(void)close(pdes[1]);
-		errno = serrno;
-		return (NULL);
-		/* NOTREACHED */
-	case 0:				/* Child. */
-		/* POSIX.2 B.3.2.2 "popen() shall ensure that any streams
-		   from previous popen() calls that remain open in the 
-		   parent process are closed in the new child process. */
-		for (old = pidlist; old; old = old->next)
-#ifdef _REENTRANT
-			close(old->fd); /* don't allow a flush */
-#else
-			close(fileno(old->fp)); /* don't allow a flush */
-#endif
-
-		if (*xtype == 'r') {
-			(void)close(pdes[0]);
-			if (pdes[1] != STDOUT_FILENO) {
-				(void)dup2(pdes[1], STDOUT_FILENO);
-				(void)close(pdes[1]);
-			}
-			if (twoway)
-				(void)dup2(STDOUT_FILENO, STDIN_FILENO);
-		} else {
-			(void)close(pdes[1]);
-			if (pdes[0] != STDIN_FILENO) {
-				(void)dup2(pdes[0], STDIN_FILENO);
-				(void)close(pdes[0]);
-			}
-		}
-
-		execl(_PATH_BSHELL, "sh", "-c", command, NULL);
-		_exit(127);
-		/* NOTREACHED */
-	}
-	(void)__unlockenv();
-
-	/* Parent; assume fdopen can't fail. */
-	if (*xtype == 'r') {
-		iop = fdopen(pdes[0], xtype);
-#ifdef _REENTRANT
-		cur->fd = pdes[0];
-#endif
-		(void)close(pdes[1]);
-	} else {
-		iop = fdopen(pdes[1], xtype);
-#ifdef _REENTRANT
-		cur->fd = pdes[1];
-#endif
-		(void)close(pdes[0]);
-	}
-
-	/* Link into list of file descriptors. */
-	cur->fp = iop;
-	cur->pid =  pid;
-	cur->next = pidlist;
-	pidlist = cur;
-	(void)rwlock_unlock(&pidlist_lock);
-
-	return (iop);
-}
-
-/*
- * pclose --
- *	Pclose returns -1 if stream is not associated with a `popened' command,
- *	if already `pclosed', or waitpid returns an error.
- */
-int
-pclose(FILE *iop)
-{
-	struct pid *cur, *last;
-	int pstat;
-	pid_t pid;
-
-	_DIAGASSERT(iop != NULL);
-
-	rwlock_wrlock(&pidlist_lock);
-
-	/* Find the appropriate file pointer. */
-	for (last = NULL, cur = pidlist; cur; last = cur, cur = cur->next)
-		if (cur->fp == iop)
-			break;
-	if (cur == NULL) {
-		(void)rwlock_unlock(&pidlist_lock);
-		return (-1);
-	}
-
-	(void)fclose(iop);
-
-	/* Remove the entry from the linked list. */
-	if (last == NULL)
-		pidlist = cur->next;
-	else
-		last->next = cur->next;
-
-	(void)rwlock_unlock(&pidlist_lock);
-
-	do {
-		pid = waitpid(cur->pid, &pstat, 0);
-	} while (pid == -1 && errno == EINTR);
-
-	free(cur);
-
-	return (pid == -1 ? -1 : pstat);
-}
diff --git a/libc/upstream-openbsd/lib/libc/stdio/fwalk.c b/libc/upstream-openbsd/lib/libc/stdio/fwalk.c
deleted file mode 100644
index 4b1aa43..0000000
--- a/libc/upstream-openbsd/lib/libc/stdio/fwalk.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*	$OpenBSD: fwalk.c,v 1.12 2016/05/23 00:21:48 guenther Exp $ */
-/*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. 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.
- * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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 <errno.h>
-#include <stdio.h>
-#include "local.h"
-#include "glue.h"
-
-int
-_fwalk(int (*function)(FILE *))
-{
-	FILE *fp;
-	int n, ret;
-	struct glue *g;
-
-	ret = 0;
-	for (g = &__sglue; g != NULL; g = g->next)
-		for (fp = g->iobs, n = g->niobs; --n >= 0; fp++) {
-			if ((fp->_flags != 0) && ((fp->_flags & __SIGN) == 0))
-				ret |= (*function)(fp);
-		}
-	return (ret);
-}
diff --git a/linker/linker_config.cpp b/linker/linker_config.cpp
index c00b734..391c8a9 100644
--- a/linker/linker_config.cpp
+++ b/linker/linker_config.cpp
@@ -39,6 +39,7 @@
 
 #include <async_safe/log.h>
 
+#include <limits.h>
 #include <stdlib.h>
 
 #include <string>
@@ -223,8 +224,8 @@
       }
 
       // remove trailing '/'
-      while (value[value.size() - 1] == '/') {
-        value = value.substr(0, value.size() - 1);
+      while (!value.empty() && value.back() == '/') {
+        value.pop_back();
       }
 
       if (value.empty()) {
@@ -234,7 +235,24 @@
         continue;
       }
 
-      if (file_is_under_dir(binary_realpath, value)) {
+      // If the path can be resolved, resolve it
+      char buf[PATH_MAX];
+      std::string resolved_path;
+      if (realpath(value.c_str(), buf)) {
+        resolved_path = buf;
+      } else if (errno != ENOENT)  {
+        DL_WARN("%s:%zd: warning: path \"%s\" couldn't be resolved: %s",
+                ld_config_file_path,
+                cp.lineno(),
+                value.c_str(),
+                strerror(errno));
+        resolved_path = value;
+      } else {
+        // ENOENT: no need to test if binary is under the path
+        continue;
+      }
+
+      if (file_is_under_dir(binary_realpath, resolved_path)) {
         section_name = name.substr(4);
         break;
       }
diff --git a/linker/linker_phdr.cpp b/linker/linker_phdr.cpp
index b24be92..54354a8 100644
--- a/linker/linker_phdr.cpp
+++ b/linker/linker_phdr.cpp
@@ -213,7 +213,8 @@
 
 bool ElfReader::VerifyElfHeader() {
   if (memcmp(header_.e_ident, ELFMAG, SELFMAG) != 0) {
-    DL_ERR("\"%s\" has bad ELF magic", name_.c_str());
+    DL_ERR("\"%s\" has bad ELF magic: %02x%02x%02x%02x", name_.c_str(),
+           header_.e_ident[0], header_.e_ident[1], header_.e_ident[2], header_.e_ident[3]);
     return false;
   }
 
diff --git a/linker/tests/linker_config_test.cpp b/linker/tests/linker_config_test.cpp
index e716879..9208d9d 100644
--- a/linker/tests/linker_config_test.cpp
+++ b/linker/tests/linker_config_test.cpp
@@ -246,3 +246,47 @@
             "error: both shared_libs and allow_all_shared_libs are set for default->system link.",
             error_msg);
 }
+
+TEST(linker_config, dir_path_resolve) {
+  // This unit test ensures the linker resolves paths of dir.${section}
+  // properties to real path.
+
+  TemporaryDir tmp_dir;
+
+  std::string sub_dir = std::string(tmp_dir.path) + "/subdir";
+  mkdir(sub_dir.c_str(), 0755);
+
+  auto subdir_guard =
+      android::base::make_scope_guard([&sub_dir] { rmdir(sub_dir.c_str()); });
+
+  std::string symlink_path = std::string(tmp_dir.path) + "/symlink";
+  symlink(sub_dir.c_str(), symlink_path.c_str());
+
+  auto symlink_guard =
+      android::base::make_scope_guard([&symlink_path] { unlink(symlink_path.c_str()); });
+
+  std::string config_str =
+      "dir.test = " + symlink_path + "\n"
+      "\n"
+      "[test]\n";
+
+  TemporaryFile tmp_file;
+  close(tmp_file.fd);
+  tmp_file.fd = -1;
+
+  android::base::WriteStringToFile(config_str, tmp_file.path);
+
+  std::string executable_path = sub_dir + "/some-binary";
+
+  const Config* config = nullptr;
+  std::string error_msg;
+
+  ASSERT_TRUE(Config::read_binary_config(tmp_file.path,
+                                         executable_path.c_str(),
+                                         false,
+                                         &config,
+                                         &error_msg)) << error_msg;
+
+  ASSERT_TRUE(config != nullptr) << error_msg;
+  ASSERT_TRUE(error_msg.empty()) << error_msg;
+}
diff --git a/tests/Android.bp b/tests/Android.bp
index 707d0fe..b5efb8c 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -108,6 +108,7 @@
         "net_if_test.cpp",
         "netinet_ether_test.cpp",
         "netinet_in_test.cpp",
+        "netinet_ip_icmp_test.cpp",
         "netinet_udp_test.cpp",
         "nl_types_test.cpp",
         "pthread_test.cpp",
@@ -166,6 +167,7 @@
         "sys_ttydefaults_test.cpp",
         "sys_types_test.cpp",
         "sys_uio_test.cpp",
+        "sys_un_test.cpp",
         "sys_vfs_test.cpp",
         "sys_xattr_test.cpp",
         "system_properties_test.cpp",
@@ -396,10 +398,8 @@
 
 // -----------------------------------------------------------------------------
 // Tests for the device using bionic's .so. Run with:
-//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests32
-//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests64
-//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests-gcc32
-//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests-gcc64
+//   adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests
+//   adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests
 // -----------------------------------------------------------------------------
 cc_defaults {
     name: "bionic_unit_tests_defaults",
@@ -610,8 +610,8 @@
 
 // -----------------------------------------------------------------------------
 // Tests for the device linked against bionic's static library. Run with:
-//   adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static32
-//   adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static64
+//   adb shell /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static
+//   adb shell /data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static
 // -----------------------------------------------------------------------------
 cc_test {
     name: "bionic-unit-tests-static",
diff --git a/tests/Android.build.prebuilt.mk b/tests/Android.build.prebuilt.mk
index c98aee2..3b34846 100644
--- a/tests/Android.build.prebuilt.mk
+++ b/tests/Android.build.prebuilt.mk
@@ -29,3 +29,4 @@
 LOCAL_SRC_FILES_mips64 := prebuilt-elf-files/mips64/$(bionic_tests_module)
 include $(BUILD_PREBUILT)
 bionic-loader-test-libs-target: $(LOCAL_MODULE)
+.PHONY: bionic-loader-test-libs-target
diff --git a/tests/atexit_test.cpp b/tests/atexit_test.cpp
index 67fbfd2..e92889d 100644
--- a/tests/atexit_test.cpp
+++ b/tests/atexit_test.cpp
@@ -14,17 +14,7 @@
  * limitations under the License.
  */
 
-// To work around b/25643775, we disable clang optimization so that
-//   VTT for std::__1::basic_stringstream<char, std::__1::char_traits<char>,
-//   std::__1::allocator<char> >
-// will be correctly kept for other module's references.
-#if defined(__clang__) && (defined(__arm__) || defined(__aarch64__))
-#pragma clang optimize off
-#endif
 #include <gtest/gtest.h>
-#if defined(__clang__) && (defined(__arm__) || defined(__aarch64__))
-#pragma clang optimize on
-#endif
 
 #include <dlfcn.h>
 #include <libgen.h>
diff --git a/tests/dlext_test.cpp b/tests/dlext_test.cpp
index ec27932..1e3d9c8 100644
--- a/tests/dlext_test.cpp
+++ b/tests/dlext_test.cpp
@@ -173,7 +173,7 @@
   extinfo.library_fd_offset = 0;
   handle_ = android_dlopen_ext("libname_ignored", RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle_ == nullptr);
-  ASSERT_EQ("dlopen failed: \"" + lib_path + "\" has bad ELF magic", dlerror());
+  ASSERT_EQ("dlopen failed: \"" + lib_path + "\" has bad ELF magic: 504b0304", dlerror());
 
   // Check if dlsym works after unsuccessful dlopen().
   // Supply non-exiting one to make linker visit every soinfo.
diff --git a/tests/grp_pwd_test.cpp b/tests/grp_pwd_test.cpp
index 615f374..2df1ef0 100644
--- a/tests/grp_pwd_test.cpp
+++ b/tests/grp_pwd_test.cpp
@@ -279,7 +279,14 @@
       EXPECT_STREQ("/data", pwd->pw_dir) << "pwd->pw_uid: " << pwd->pw_uid;
     }
 
-    EXPECT_EQ(0U, uids.count(pwd->pw_uid)) << "pwd->pw_uid: " << pwd->pw_uid;
+    // TODO(b/27999086): fix this check with the OEM range
+    // If OEMs add their own AIDs to private/android_filesystem_config.h, this check will fail.
+    // Long term we want to create a better solution for OEMs adding AIDs, but we're not there
+    // yet, so therefore we do not check for uid's in the OEM range.
+    if (!(pwd->pw_uid >= 2900 && pwd->pw_uid <= 2999) &&
+        !(pwd->pw_uid >= 5000 && pwd->pw_uid <= 5999)) {
+      EXPECT_EQ(0U, uids.count(pwd->pw_uid)) << "pwd->pw_uid: " << pwd->pw_uid;
+    }
     uids.emplace(pwd->pw_uid);
   }
   endpwent();
@@ -522,7 +529,14 @@
     EXPECT_STREQ(grp->gr_name, grp->gr_mem[0]) << "grp->gr_gid: " << grp->gr_gid;
     EXPECT_TRUE(grp->gr_mem[1] == NULL) << "grp->gr_gid: " << grp->gr_gid;
 
-    EXPECT_EQ(0U, gids.count(grp->gr_gid)) << "grp->gr_gid: " << grp->gr_gid;
+    // TODO(b/27999086): fix this check with the OEM range
+    // If OEMs add their own AIDs to private/android_filesystem_config.h, this check will fail.
+    // Long term we want to create a better solution for OEMs adding AIDs, but we're not there
+    // yet, so therefore we do not check for gid's in the OEM range.
+    if (!(grp->gr_gid >= 2900 && grp->gr_gid <= 2999) &&
+        !(grp->gr_gid >= 5000 && grp->gr_gid <= 5999)) {
+      EXPECT_EQ(0U, gids.count(grp->gr_gid)) << "grp->gr_gid: " << grp->gr_gid;
+    }
     gids.emplace(grp->gr_gid);
   }
   endgrent();
diff --git a/tests/gtest_main.cpp b/tests/gtest_main.cpp
index 6f8c403..1ee8b53 100644
--- a/tests/gtest_main.cpp
+++ b/tests/gtest_main.cpp
@@ -73,27 +73,21 @@
   return g_envp;
 }
 
-namespace testing {
-namespace internal {
+static constexpr const char* COLOR_RESET  = "\033[m";
+static constexpr const char* COLOR_RED    = "\033[0;31m";
+static constexpr const char* COLOR_GREEN  = "\033[0;32m";
+static constexpr const char* COLOR_YELLOW = "\033[0;33m";
 
-// Reuse of testing::internal::ColoredPrintf in gtest.
-enum GTestColor {
-  COLOR_DEFAULT,
-  COLOR_RED,
-  COLOR_GREEN,
-  COLOR_YELLOW
-};
+static void ColoredPrintf(const char* const color, const char* fmt, ...) {
+    va_list args;
+    va_start(args, fmt);
 
-void ColoredPrintf(GTestColor color, const char* fmt, ...);
+    printf("%s", color);
+    vprintf(fmt, args);
+    printf("%s", COLOR_RESET);
 
-}  // namespace internal
-}  // namespace testing
-
-using testing::internal::GTestColor;
-using testing::internal::COLOR_RED;
-using testing::internal::COLOR_GREEN;
-using testing::internal::COLOR_YELLOW;
-using testing::internal::ColoredPrintf;
+    va_end(args);
+}
 
 constexpr int DEFAULT_GLOBAL_TEST_RUN_DEADLINE_MS = 90000;
 constexpr int DEFAULT_GLOBAL_TEST_RUN_SLOW_THRESHOLD_MS = 2000;
diff --git a/tests/netinet_ip_icmp_test.cpp b/tests/netinet_ip_icmp_test.cpp
new file mode 100644
index 0000000..b3b4f65
--- /dev/null
+++ b/tests/netinet_ip_icmp_test.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include <netinet/ip_icmp.h>
+
+#include <gtest/gtest.h>
+
+TEST(netinet_ip_icmp, struct_icmphdr) {
+  icmphdr hdr = { .type = ICMP_ECHO };
+  ASSERT_EQ(ICMP_ECHO, hdr.type);
+  ASSERT_EQ(0, hdr.code);
+  ASSERT_EQ(0, hdr.checksum);
+  ASSERT_EQ(0, hdr.un.echo.id);
+  ASSERT_EQ(0, hdr.un.echo.sequence);
+  ASSERT_EQ(0U, hdr.un.gateway);
+  ASSERT_EQ(0, hdr.un.frag.mtu);
+}
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index af682a9..f2f6e01 100644
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -2499,6 +2499,11 @@
   }
 }
 
+TEST(pthread, pthread_barrier_init_zero_count) {
+  pthread_barrier_t barrier;
+  ASSERT_EQ(EINVAL, pthread_barrier_init(&barrier, nullptr, 0));
+}
+
 TEST(pthread, pthread_spinlock_smoke) {
   pthread_spinlock_t lock;
   ASSERT_EQ(0, pthread_spin_init(&lock, 0));
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index 33514d4..6282ec3 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -22,6 +22,7 @@
 #include <math.h>
 #include <stdio.h>
 #include <sys/types.h>
+#include <sys/socket.h>
 #include <sys/stat.h>
 #include <unistd.h>
 #include <wchar.h>
@@ -888,7 +889,7 @@
   ASSERT_EQ(-1, fclose(fp));
 }
 
-TEST(STDIO_TEST, popen) {
+TEST(STDIO_TEST, popen_r) {
   FILE* fp = popen("cat /proc/version", "r");
   ASSERT_TRUE(fp != NULL);
 
@@ -900,6 +901,63 @@
   ASSERT_EQ(0, pclose(fp));
 }
 
+TEST(STDIO_TEST, popen_socketpair) {
+  FILE* fp = popen("cat", "r+");
+  ASSERT_TRUE(fp != NULL);
+
+  fputs("hello\nworld\n", fp);
+  fflush(fp);
+
+  char buf[16];
+  ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp));
+  EXPECT_STREQ("hello\n", buf);
+  ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp));
+  EXPECT_STREQ("world\n", buf);
+
+  ASSERT_EQ(0, pclose(fp));
+}
+
+TEST(STDIO_TEST, popen_socketpair_shutdown) {
+  FILE* fp = popen("uniq -c", "r+");
+  ASSERT_TRUE(fp != NULL);
+
+  fputs("a\na\na\na\nb\n", fp);
+  fflush(fp);
+  ASSERT_EQ(0, shutdown(fileno(fp), SHUT_WR));
+
+  char buf[16];
+  ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp));
+  EXPECT_STREQ("      4 a\n", buf);
+  ASSERT_NE(nullptr, fgets(buf, sizeof(buf), fp));
+  EXPECT_STREQ("      1 b\n", buf);
+
+  ASSERT_EQ(0, pclose(fp));
+}
+
+TEST(STDIO_TEST, popen_return_value_0) {
+  FILE* fp = popen("true", "r");
+  ASSERT_TRUE(fp != NULL);
+  int status = pclose(fp);
+  EXPECT_TRUE(WIFEXITED(status));
+  EXPECT_EQ(0, WEXITSTATUS(status));
+}
+
+TEST(STDIO_TEST, popen_return_value_1) {
+  FILE* fp = popen("false", "r");
+  ASSERT_TRUE(fp != NULL);
+  int status = pclose(fp);
+  EXPECT_TRUE(WIFEXITED(status));
+  EXPECT_EQ(1, WEXITSTATUS(status));
+}
+
+TEST(STDIO_TEST, popen_return_value_signal) {
+  FILE* fp = popen("kill -7 $$", "r");
+  ASSERT_TRUE(fp != NULL);
+  int status = pclose(fp);
+  EXPECT_TRUE(WIFSIGNALED(status));
+  EXPECT_EQ(7, WTERMSIG(status));
+}
+
 TEST(STDIO_TEST, getc) {
   FILE* fp = fopen("/proc/version", "r");
   ASSERT_TRUE(fp != NULL);
diff --git a/tests/sys_un_test.cpp b/tests/sys_un_test.cpp
new file mode 100644
index 0000000..08a4d0f
--- /dev/null
+++ b/tests/sys_un_test.cpp
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+
+#include <sys/un.h>
+
+#include <string.h>
+#include <gtest/gtest.h>
+
+TEST(sys_un, SUN_LEN_macro) {
+  sockaddr_un sun = {};
+  sun.sun_family = 1;
+  strcpy(sun.sun_path, "hello");
+  ASSERT_EQ(2U + strlen("hello"), SUN_LEN(&sun));
+}
diff --git a/tests/thread_local_test.cpp b/tests/thread_local_test.cpp
index 1422ed2..95282da 100644
--- a/tests/thread_local_test.cpp
+++ b/tests/thread_local_test.cpp
@@ -18,14 +18,6 @@
 #include <stdint.h>
 #include <string.h>
 
-#if defined(__GNUC__) && !defined(__clang__) && \
-    (defined(__arm__) || defined(__aarch64__))
-// Gcc has a bug with -O -fdata-section for the arm target: http://b/22772147.
-// Until that bug is fixed, disable optimization since
-// it is not essential for this test.
-#pragma GCC optimize("-O0")
-#endif
-
 __thread int local_var = 100;
 int shared_var = 200;
 
diff --git a/tests/uchar_test.cpp b/tests/uchar_test.cpp
index 8b29667..2b4c4d3 100644
--- a/tests/uchar_test.cpp
+++ b/tests/uchar_test.cpp
@@ -322,6 +322,35 @@
 #endif
 }
 
+TEST(uchar, mbrtoc32_valid_non_characters) {
+#if HAVE_UCHAR
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  char32_t out[8] = {};
+  ASSERT_EQ(3U, mbrtoc32(out, "\xef\xbf\xbe", 3, nullptr));
+  ASSERT_EQ(0xfffeU, out[0]);
+  ASSERT_EQ(3U, mbrtoc32(out, "\xef\xbf\xbf", 3, nullptr));
+  ASSERT_EQ(0xffffU, out[0]);
+#else
+  GTEST_LOG_(INFO) << "uchar.h is unavailable.\n";
+#endif
+}
+
+TEST(uchar, mbrtoc32_out_of_range) {
+#if HAVE_UCHAR
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  char32_t out[8] = {};
+  errno = 0;
+  ASSERT_EQ(static_cast<size_t>(-1), mbrtoc32(out, "\xf5\x80\x80\x80", 4, nullptr));
+  ASSERT_EQ(EILSEQ, errno);
+#else
+  GTEST_LOG_(INFO) << "uchar.h is unavailable.\n";
+#endif
+}
+
 TEST(uchar, mbrtoc32) {
 #if HAVE_UCHAR
   char32_t out[8];
diff --git a/tests/wchar_test.cpp b/tests/wchar_test.cpp
index b42e13c..e2def07 100644
--- a/tests/wchar_test.cpp
+++ b/tests/wchar_test.cpp
@@ -305,6 +305,28 @@
   ASSERT_EQ(EILSEQ, errno);
 }
 
+TEST(wchar, mbrtowc_valid_non_characters) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  wchar_t out[8] = {};
+
+  ASSERT_EQ(3U, mbrtowc(out, "\xef\xbf\xbe", 3, nullptr));
+  ASSERT_EQ(static_cast<wchar_t>(0xfffe), out[0]);
+  ASSERT_EQ(3U, mbrtowc(out, "\xef\xbf\xbf", 3, nullptr));
+  ASSERT_EQ(static_cast<wchar_t>(0xffff), out[0]);
+}
+
+TEST(wchar, mbrtowc_out_of_range) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  wchar_t out[8] = {};
+  errno = 0;
+  ASSERT_EQ(static_cast<size_t>(-1), mbrtowc(out, "\xf5\x80\x80\x80", 4, nullptr));
+  ASSERT_EQ(EILSEQ, errno);
+}
+
 static void test_mbrtowc_incomplete(mbstate_t* ps) {
   ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
   uselocale(LC_GLOBAL_LOCALE);
diff --git a/tools/relocation_packer/Android.bp b/tools/relocation_packer/Android.bp
deleted file mode 100644
index cd6053a..0000000
--- a/tools/relocation_packer/Android.bp
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// Copyright (C) 2015 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.
-//
-
-cc_defaults {
-    name: "relocation_packer_flags",
-    cflags: [
-        "-Wall",
-        "-Werror",
-    ],
-    cppflags: [
-        "-Wextra",
-        "-Wunused",
-        "-Wold-style-cast",
-    ],
-
-    target: {
-        darwin: {
-            enabled: false,
-        },
-    },
-}
-
-cc_library_host_static {
-    name: "lib_relocation_packer",
-    defaults: ["relocation_packer_flags"],
-    srcs: [
-        "src/debug.cc",
-        "src/delta_encoder.cc",
-        "src/elf_file.cc",
-        "src/packer.cc",
-        "src/sleb128.cc",
-    ],
-
-    static_libs: [
-        "libelf",
-        "libz",
-    ],
-}
-
-cc_binary_host {
-    name: "relocation_packer",
-    defaults: ["relocation_packer_flags"],
-
-    srcs: ["src/main.cc"],
-    static_libs: [
-        "lib_relocation_packer",
-        "libelf",
-        "libz",
-        "libbase",
-    ],
-
-    // Statically linking libc++ to make it work from prebuilts
-    stl: "libc++_static",
-}
-
-cc_test_host {
-    name: "relocation_packer_unit_tests",
-    defaults: ["relocation_packer_flags"],
-
-    srcs: [
-        "src/debug_unittest.cc",
-        "src/delta_encoder_unittest.cc",
-        "src/elf_file_unittest.cc",
-        "src/sleb128_unittest.cc",
-        "src/packer_unittest.cc",
-    ],
-
-    static_libs: [
-        "lib_relocation_packer",
-        "libelf",
-        "libz",
-    ],
-}
diff --git a/tools/relocation_packer/Android.mk b/tools/relocation_packer/Android.mk
deleted file mode 100644
index 9905657..0000000
--- a/tools/relocation_packer/Android.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (C) 2015 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.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-ifeq ($(HOST_OS),linux)
-
-# $(1) library name
-define copy-test-library
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-LOCAL_MODULE := $(1)
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_MODULE_PATH := $(HOST_OUT_EXECUTABLES)
-LOCAL_STRIP_MODULE := false
-LOCAL_SRC_FILES := test_data/$(1)
-include $(BUILD_PREBUILT)
-endef
-
-$(eval $(call copy-test-library,elf_file_unittest_relocs_arm32.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_arm32_packed.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_arm64.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_arm64_packed.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_ia32.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_ia32_packed.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_x64.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_x64_packed.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_mips32.so))
-$(eval $(call copy-test-library,elf_file_unittest_relocs_mips32_packed.so))
-
-endif
diff --git a/tools/relocation_packer/LICENSE b/tools/relocation_packer/LICENSE
deleted file mode 100644
index 972bb2e..0000000
--- a/tools/relocation_packer/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 The Chromium Authors. 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 Google Inc. 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.
diff --git a/tools/relocation_packer/src/debug.cc b/tools/relocation_packer/src/debug.cc
deleted file mode 100644
index 29d7ab0..0000000
--- a/tools/relocation_packer/src/debug.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "debug.h"
-
-#include <stdlib.h>
-#include <iostream>
-#include <string>
-
-namespace relocation_packer {
-
-// Construct a new message logger.  Prints if level is less than or equal to
-// the level set with SetVerbose() and predicate is true.
-Logger::Logger(Severity severity, int level, bool predicate) {
-  severity_ = severity;
-  level_ = level;
-  predicate_ = predicate;
-}
-
-// On destruction, flush and print the strings accumulated.  Abort if FATAL.
-Logger::~Logger() {
-  if (predicate_) {
-    if (level_ <= max_level_) {
-      std::ostream* log = severity_ == INFO ? info_stream_ : error_stream_;
-      std::string tag;
-      switch (severity_) {
-        case INFO: tag = "INFO"; break;
-        case WARNING: tag = "WARNING"; break;
-        case ERROR: tag = "ERROR"; break;
-        case FATAL: tag = "FATAL"; break;
-      }
-      stream_.flush();
-      *log << tag << ": " << stream_.str() << std::endl;
-    }
-    if (severity_ == FATAL)
-      abort();
-  }
-}
-
-// Reset to initial state.
-void Logger::Reset() {
-  max_level_ = -1;
-  info_stream_ = &std::cout;
-  error_stream_ = &std::cerr;
-}
-
-// Verbosity.  Not thread-safe.
-int Logger::max_level_ = -1;
-
-// Logging streams.  Not thread-safe.
-std::ostream* Logger::info_stream_ = &std::cout;
-std::ostream* Logger::error_stream_ = &std::cerr;
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/debug.h b/tools/relocation_packer/src/debug.h
deleted file mode 100644
index fdfb795..0000000
--- a/tools/relocation_packer/src/debug.h
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Logging and checks.  Avoids a dependency on base.
-//
-// LOG(tag) prints messages.  Tags are INFO, WARNING, ERROR and FATAL.
-// INFO prints to stdout, the others to stderr.  FATAL aborts after printing.
-//
-// LOG_IF(tag, predicate) logs if predicate evaluates to true, else silent.
-//
-// VLOG(level) logs INFO messages where level is less than or equal to the
-// verbosity level set with SetVerbose().
-//
-// VLOG_IF(level, predicate) logs INFO if predicate evaluates to true,
-// else silent.
-//
-// CHECK(predicate) logs a FATAL error if predicate is false.
-// NOTREACHED() always aborts.
-// Log streams can be changed with SetStreams().  Logging is not thread-safe.
-//
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_DEBUG_H_
-#define TOOLS_RELOCATION_PACKER_SRC_DEBUG_H_
-
-#include <limits.h>
-#include <ostream>
-#include <sstream>
-
-namespace relocation_packer {
-
-class Logger {
- public:
-  enum Severity {INFO = 0, WARNING, ERROR, FATAL};
-
-  // Construct a new message logger.  Prints if level is less than or
-  // equal to the level set with SetVerbose() and predicate is true.
-  // |severity| is an enumerated severity.
-  // |level| is the verbosity level.
-  // |predicate| controls if the logger prints or is silent.
-  Logger(Severity severity, int level, bool predicate);
-
-  // On destruction, flush and print the strings accumulated in stream_.
-  ~Logger();
-
-  // Return the stream for this logger.
-  std::ostream& GetStream() { return stream_; }
-
-  // Set verbosity level.  Messages with a level less than or equal to
-  // this level are printed, others are discarded.  Static, not thread-safe.
-  static void SetVerbose(int level) { max_level_ = level; }
-
-  // Set info and error logging streams.  Static, not thread-safe.
-  static void SetStreams(std::ostream* info_stream,
-                         std::ostream* error_stream) {
-    info_stream_ = info_stream;
-    error_stream_ = error_stream;
-  }
-
-  // Reset to initial state.
-  static void Reset();
-
- private:
-  // Message severity, verbosity level, and predicate.
-  Severity severity_;
-  int level_;
-  bool predicate_;
-
-  // String stream, accumulates message text.
-  std::ostringstream stream_;
-
-  // Verbosity for INFO messages.  Not thread-safe.
-  static int max_level_;
-
-  // Logging streams.  Not thread-safe.
-  static std::ostream* info_stream_;
-  static std::ostream* error_stream_;
-};
-
-}  // namespace relocation_packer
-
-// Make logging severities visible globally.
-typedef relocation_packer::Logger::Severity LogSeverity;
-
-// LOG(severity) prints a message with the given severity, and aborts if
-// severity is FATAL.  LOG_IF(severity, predicate) does the same but only if
-// predicate is true.  INT_MIN is guaranteed to be less than or equal to
-// any verbosity level.
-#define LOG(severity)                                                      \
-  (relocation_packer::Logger(relocation_packer::Logger::severity, INT_MIN, \
-                             true)                                         \
-       .GetStream())
-#define LOG_IF(severity, predicate)                                        \
-  (relocation_packer::Logger(relocation_packer::Logger::severity, INT_MIN, \
-                             (predicate))                                  \
-       .GetStream())
-
-// VLOG(level) prints its message as INFO if level is less than or equal to
-// the current verbosity level.
-#define VLOG(level)                                                          \
-  (relocation_packer::Logger(relocation_packer::Logger::INFO, (level), true) \
-       .GetStream())
-#define VLOG_IF(level, predicate)                                      \
-  (relocation_packer::Logger(relocation_packer::Logger::INFO, (level), \
-                             (predicate))                              \
-       .GetStream())
-
-// CHECK(predicate) fails with a FATAL log message if predicate is false.
-#define CHECK(predicate) (LOG_IF(FATAL, !(predicate)) \
-    << __FILE__ << ":" << __LINE__ << ": " \
-    << __FUNCTION__ << ": CHECK '" #predicate "' failed")
-
-// NOTREACHED() always fails with a FATAL log message.
-#define NOTREACHED(_) (LOG(FATAL) \
-    << __FILE__ << ":" << __LINE__ << ": " \
-    << __FUNCTION__ << ": NOTREACHED() hit")
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_DEBUG_H_
diff --git a/tools/relocation_packer/src/debug_unittest.cc b/tools/relocation_packer/src/debug_unittest.cc
deleted file mode 100644
index b31e2ae..0000000
--- a/tools/relocation_packer/src/debug_unittest.cc
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "debug.h"
-
-#include <sstream>
-#include "gtest/gtest.h"
-
-namespace relocation_packer {
-
-TEST(Debug, Log) {
-  Logger::Reset();
-  std::ostringstream info;
-  std::ostringstream error;
-  Logger::SetStreams(&info, &error);
-
-  LOG(INFO) << "INFO log message";
-  LOG(WARNING) << "WARNING log message";
-  LOG(ERROR) << "ERROR log message";
-
-  EXPECT_EQ("INFO: INFO log message\n", info.str());
-  EXPECT_EQ("WARNING: WARNING log message\n"
-            "ERROR: ERROR log message\n", error.str());
-  Logger::Reset();
-}
-
-TEST(Debug, LogIf) {
-  Logger::Reset();
-  std::ostringstream info;
-  std::ostringstream error;
-  Logger::SetStreams(&info, &error);
-
-  LOG_IF(INFO, true) << "INFO log message";
-  LOG_IF(INFO, false) << "INFO log message, SHOULD NOT PRINT";
-  LOG_IF(WARNING, true) << "WARNING log message";
-  LOG_IF(WARNING, false) << "WARNING log message, SHOULD NOT PRINT";
-  LOG_IF(ERROR, true) << "ERROR log message";
-  LOG_IF(ERROR, false) << "ERROR log message, SHOULD NOT PRINT";
-  LOG_IF(FATAL, false) << "FATAL log message, SHOULD NOT PRINT";
-
-  EXPECT_EQ("INFO: INFO log message\n", info.str());
-  EXPECT_EQ("WARNING: WARNING log message\n"
-            "ERROR: ERROR log message\n", error.str());
-  Logger::Reset();
-}
-
-TEST(Debug, Vlog) {
-  Logger::Reset();
-  std::ostringstream info;
-  std::ostringstream error;
-  Logger::SetStreams(&info, &error);
-
-  VLOG(0) << "VLOG 0 INFO log message, SHOULD NOT PRINT";
-  VLOG(1) << "VLOG 1 INFO log message, SHOULD NOT PRINT";
-  VLOG(2) << "VLOG 2 INFO log message, SHOULD NOT PRINT";
-
-  EXPECT_EQ("", info.str());
-  EXPECT_EQ("", error.str());
-
-  Logger::SetVerbose(1);
-
-  VLOG(0) << "VLOG 0 INFO log message";
-  VLOG(1) << "VLOG 1 INFO log message";
-  VLOG(2) << "VLOG 2 INFO log message, SHOULD NOT PRINT";
-
-  EXPECT_EQ("INFO: VLOG 0 INFO log message\n"
-            "INFO: VLOG 1 INFO log message\n", info.str());
-  EXPECT_EQ("", error.str());
-  Logger::Reset();
-}
-
-TEST(Debug, VlogIf) {
-  Logger::Reset();
-  std::ostringstream info;
-  std::ostringstream error;
-  Logger::SetStreams(&info, &error);
-
-  VLOG_IF(0, true) << "VLOG 0 INFO log message, SHOULD NOT PRINT";
-  VLOG_IF(1, true) << "VLOG 1 INFO log message, SHOULD NOT PRINT";
-  VLOG_IF(2, true) << "VLOG 2 INFO log message, SHOULD NOT PRINT";
-
-  EXPECT_EQ("", info.str());
-  EXPECT_EQ("", error.str());
-
-  Logger::SetVerbose(1);
-
-  VLOG_IF(0, true) << "VLOG 0 INFO log message";
-  VLOG_IF(0, false) << "VLOG 0 INFO log message, SHOULD NOT PRINT";
-  VLOG_IF(1, true) << "VLOG 1 INFO log message";
-  VLOG_IF(1, false) << "VLOG 1 INFO log message, SHOULD NOT PRINT";
-  VLOG_IF(2, true) << "VLOG 2 INFO log message, SHOULD NOT PRINT";
-  VLOG_IF(2, false) << "VLOG 2 INFO log message, SHOULD NOT PRINT";
-
-  EXPECT_EQ("INFO: VLOG 0 INFO log message\n"
-            "INFO: VLOG 1 INFO log message\n", info.str());
-  EXPECT_EQ("", error.str());
-  Logger::Reset();
-}
-
-TEST(DebugDeathTest, Fatal) {
-  ::testing::FLAGS_gtest_death_test_style = "threadsafe";
-  Logger::Reset();
-  EXPECT_DEATH(LOG(FATAL) << "FATAL log message", "FATAL: FATAL log message");
-  EXPECT_DEATH(
-      LOG_IF(FATAL, true) << "FATAL log message", "FATAL: FATAL log message");
-}
-
-TEST(DebugDeathTest, Check) {
-  ::testing::FLAGS_gtest_death_test_style = "threadsafe";
-  Logger::Reset();
-  CHECK(0 == 0);
-  EXPECT_DEATH(CHECK(0 == 1), "FATAL: .*:.*: .*: CHECK '0 == 1' failed");
-}
-
-TEST(DebugDeathTest, NotReached) {
-  ::testing::FLAGS_gtest_death_test_style = "threadsafe";
-  Logger::Reset();
-  EXPECT_DEATH(NOTREACHED(), "FATAL: .*:.*: .*: NOTREACHED\\(\\) hit");
-}
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/delta_encoder.cc b/tools/relocation_packer/src/delta_encoder.cc
deleted file mode 100644
index 8349d7c..0000000
--- a/tools/relocation_packer/src/delta_encoder.cc
+++ /dev/null
@@ -1,307 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "delta_encoder.h"
-
-#include <vector>
-
-#include "debug.h"
-
-static constexpr uint32_t RELOCATION_GROUPED_BY_INFO_FLAG = 1;
-static constexpr uint32_t RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG = 2;
-static constexpr uint32_t RELOCATION_GROUPED_BY_ADDEND_FLAG = 4;
-static constexpr uint32_t RELOCATION_GROUP_HAS_ADDEND_FLAG = 8;
-
-static bool is_relocation_grouped_by_info(uint64_t flags) {
-  return (flags & RELOCATION_GROUPED_BY_INFO_FLAG) != 0;
-}
-
-static bool is_relocation_grouped_by_offset_delta(uint64_t flags) {
-  return (flags & RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG) != 0;
-}
-
-static bool is_relocation_grouped_by_addend(uint64_t flags) {
-  return (flags & RELOCATION_GROUPED_BY_ADDEND_FLAG) != 0;
-}
-
-static bool is_relocation_group_has_addend(uint64_t flags) {
-  return (flags & RELOCATION_GROUP_HAS_ADDEND_FLAG) != 0;
-}
-
-namespace relocation_packer {
-
-// Encode relocations into a delta encoded (packed) representation.
-template <typename ELF>
-void RelocationDeltaCodec<ELF>::Encode(const std::vector<ElfRela>& relocations,
-                                       std::vector<ElfAddr>* packed) {
-  if (relocations.size() == 0)
-    return;
-
-  // Start with the relocation count, then append groups
-  // TODO(dimitry): we might want to move it to DT_ANDROID_RELCOUNT section
-  packed->push_back(static_cast<ElfAddr>(relocations.size()));
-
-  // lets write starting offset (offset of the first reloc - first delta)
-  ElfAddr start_offset = relocations.size() > 1 ?
-      relocations[0].r_offset - (relocations[1].r_offset - relocations[0].r_offset) :
-      relocations[0].r_offset;
-
-  packed->push_back(start_offset);
-
-  // this one is used to calculate delta
-  ElfAddr previous_addend = 0;
-  ElfAddr previous_offset = start_offset;
-
-  for (size_t group_start = 0; group_start < relocations.size(); ) {
-    ElfAddr group_flags = 0;
-    ElfAddr group_offset_delta = 0;
-    ElfAddr group_addend = 0;
-    ElfAddr group_info = 0;
-
-    ElfAddr group_size = 0;
-
-    DetectGroup(relocations, group_start, previous_offset, &group_size, &group_flags,
-        &group_offset_delta, &group_info, &group_addend);
-
-    // write the group header
-    packed->push_back(group_size);
-    packed->push_back(group_flags);
-
-    if (is_relocation_grouped_by_offset_delta(group_flags)) {
-      packed->push_back(group_offset_delta);
-    }
-
-    if (is_relocation_grouped_by_info(group_flags)) {
-      packed->push_back(group_info);
-    }
-
-    if (is_relocation_group_has_addend(group_flags) &&
-        is_relocation_grouped_by_addend(group_flags)) {
-      packed->push_back(group_addend - previous_addend);
-      previous_addend = group_addend;
-    }
-
-    for (size_t i = 0; i < static_cast<size_t>(group_size); ++i) {
-      CHECK((group_start + i) < relocations.size());
-      const ElfRela* relocation = &relocations[group_start + i];
-
-      if (!is_relocation_grouped_by_offset_delta(group_flags)) {
-        packed->push_back(relocation->r_offset - previous_offset);
-      }
-      previous_offset = relocation->r_offset;
-
-      if (!is_relocation_grouped_by_info(group_flags)) {
-        packed->push_back(relocation->r_info);
-      }
-
-      if (is_relocation_group_has_addend(group_flags) &&
-          !is_relocation_grouped_by_addend(group_flags)) {
-        packed->push_back(relocation->r_addend - previous_addend);
-        previous_addend = relocation->r_addend;
-      }
-    }
-
-    // If the relocation group does not have an addend - reset it to 0
-    // to simplify addend computation for the group following this one.
-    if (!is_relocation_group_has_addend(group_flags)) {
-      previous_addend = 0;
-    }
-
-    group_start += group_size;
-  }
-}
-
-// Decode relocations from a delta encoded (packed) representation.
-template <typename ELF>
-void RelocationDeltaCodec<ELF>::Decode(const std::vector<ElfAddr>& packed,
-                                       std::vector<ElfRela>* relocations) {
-  if (packed.size() < 5) {
-    return;
-  }
-
-  size_t ndx = 0;
-  ElfAddr current_count = 0;
-  ElfAddr total_count = packed[ndx++];
-
-  ElfAddr offset = packed[ndx++];
-  ElfAddr info = 0;
-  ElfAddr addend = 0;
-
-  while(current_count < total_count) {
-    // read group
-    ElfAddr group_size = packed[ndx++];
-    ElfAddr group_flags = packed[ndx++];
-    ElfAddr group_offset_delta = 0;
-
-    if (is_relocation_grouped_by_offset_delta(group_flags)) {
-      group_offset_delta = packed[ndx++];
-    }
-
-    if (is_relocation_grouped_by_info(group_flags)) {
-      info = packed[ndx++];
-    }
-
-    if (is_relocation_group_has_addend(group_flags) &&
-        is_relocation_grouped_by_addend(group_flags)) {
-      addend += packed[ndx++];
-    }
-
-    // now read not grouped info
-    for (ElfAddr i = 0; i<group_size; ++i) {
-      if (is_relocation_grouped_by_offset_delta(group_flags)) {
-        offset += group_offset_delta;
-      } else {
-        offset += packed[ndx++];
-      }
-
-      if (!is_relocation_grouped_by_info(group_flags)) {
-        info = packed[ndx++];
-      }
-
-      if (is_relocation_group_has_addend(group_flags) &&
-          !is_relocation_grouped_by_addend(group_flags)) {
-        addend += packed[ndx++];
-      }
-
-      ElfRela reloc;
-      reloc.r_offset = offset;
-      reloc.r_info = info;
-      reloc.r_addend = is_relocation_group_has_addend(group_flags) ? addend : 0;
-      relocations->push_back(reloc);
-    }
-
-    if (!is_relocation_group_has_addend(group_flags)) {
-      addend = 0;
-    }
-
-    current_count += group_size;
-  }
-}
-
-// This function detects a way to group reloc_one and reloc_two, sets up group_flags
-// and initializes values for corresponding group_ fields. For example if relocations
-// can be grouped by r_info the function will set group_info variable.
-template <typename ELF>
-void RelocationDeltaCodec<ELF>::DetectGroupFields(const ElfRela& reloc_one,
-                                                  const ElfRela& reloc_two,
-                                                  ElfAddr current_offset_delta,
-                                                  ElfAddr* group_flags,
-                                                  ElfAddr* group_offset_delta,
-                                                  ElfAddr* group_info,
-                                                  ElfAddr* group_addend) {
-  *group_flags = 0;
-
-  const ElfAddr offset_delta = static_cast<ElfAddr>(reloc_two.r_offset) -
-      static_cast<ElfAddr>(reloc_one.r_offset);
-
-  if (offset_delta == current_offset_delta) {
-    *group_flags |= RELOCATION_GROUPED_BY_OFFSET_DELTA_FLAG;
-    if (group_offset_delta != nullptr) {
-      *group_offset_delta = current_offset_delta;
-    }
-  }
-
-  if (reloc_one.r_info == reloc_two.r_info) {
-    *group_flags |= RELOCATION_GROUPED_BY_INFO_FLAG;
-    if (group_info != nullptr) {
-      *group_info = reloc_one.r_info;
-    }
-  }
-
-  if (reloc_one.r_addend != 0 || reloc_two.r_addend != 0) {
-    *group_flags |= RELOCATION_GROUP_HAS_ADDEND_FLAG;
-    if (reloc_one.r_addend == reloc_two.r_addend) {
-      *group_flags |= RELOCATION_GROUPED_BY_ADDEND_FLAG;
-      if (group_addend != nullptr) {
-        *group_addend = reloc_one.r_addend;
-      }
-    }
-  }
-}
-
-// This function is used to detect if there is better group available
-// during RelocationDeltaCodec<ELF>::DetectGroup processing.
-// Current implementation prefers having groups without addend (== zero addend)
-// to any other groups field with the ratio 3:1. This is because addend tends
-// to be more unevenly distributed than other fields.
-static uint32_t group_weight(uint64_t flags) {
-  uint32_t weight = 0;
-  if (!is_relocation_group_has_addend(flags)) {
-    weight += 3;
-  } else if (is_relocation_grouped_by_addend(flags)) {
-    weight += 1;
-  }
-
-  if (is_relocation_grouped_by_offset_delta(flags)) {
-    weight += 1;
-  }
-
-  if (is_relocation_grouped_by_info(flags)) {
-    weight += 1;
-  }
-
-  return weight;
-}
-
-template <typename ELF>
-void RelocationDeltaCodec<ELF>::DetectGroup(const std::vector<ElfRela>& relocations,
-                                          size_t group_starts_with, ElfAddr previous_offset,
-                                          ElfAddr* group_size, ElfAddr* group_flags,
-                                          ElfAddr* group_offset_delta, ElfAddr* group_info,
-                                          ElfAddr* group_addend) {
-  CHECK(group_starts_with < relocations.size());
-  CHECK(group_flags != nullptr);
-
-  const ElfRela& reloc_one = relocations[group_starts_with++];
-  if (group_starts_with == relocations.size()) {
-    *group_flags = reloc_one.r_addend == 0 ? 0 : RELOCATION_GROUP_HAS_ADDEND_FLAG;
-    *group_size = 1;
-    return;
-  }
-
-  const ElfAddr offset_delta = reloc_one.r_offset - previous_offset;
-
-  // detect group_flags
-  DetectGroupFields(reloc_one, relocations[group_starts_with], offset_delta, group_flags,
-      group_offset_delta, group_info, group_addend);
-
-  if (group_starts_with + 1 == relocations.size()) {
-    *group_size = 2;
-    return;
-  }
-
-  ElfAddr cnt = 1;
-  for (size_t i = group_starts_with; i < relocations.size() - 1; ++i) {
-    ElfAddr candidate_flags;
-    // check if next group (reloc_current; reloc_next) has better grouped_by flags
-    DetectGroupFields(relocations[i], relocations[i+1], offset_delta, &candidate_flags,
-        nullptr, nullptr, nullptr);
-
-    if (group_weight(*group_flags) < group_weight(candidate_flags)) {
-      break;
-    }
-    cnt++;
-
-    if (candidate_flags != *group_flags) {
-      break;
-    }
-
-    if (i + 1 == relocations.size() - 1) { // last one
-      cnt++;
-    }
-  }
-
-  // if as a result of checking candidates we ended up with cnt == 1
-  // reset flags to the default state
-  if (cnt == 1) {
-    *group_flags = reloc_one.r_addend == 0 ? 0 : RELOCATION_GROUP_HAS_ADDEND_FLAG;
-  }
-
-  *group_size = cnt;
-}
-
-template class RelocationDeltaCodec<ELF32_traits>;
-template class RelocationDeltaCodec<ELF64_traits>;
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/delta_encoder.h b/tools/relocation_packer/src/delta_encoder.h
deleted file mode 100644
index 46c324c..0000000
--- a/tools/relocation_packer/src/delta_encoder.h
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Delta encode and decode REL/RELA section of elf file.
-//
-// The encoded data format is sequence of elements of ElfAddr type (unsigned long):
-//
-// [00] relocation_count - the total count of relocations
-// [01] initial r_offset - this is initial r_offset for the
-//                         relocation table.
-// followed by group structures:
-// [02] group
-// ...
-// [nn] group
-
-// the generalized format of the group is (! - always present ? - depends on group_flags):
-// --------------
-// ! group_size
-// ! group_flags
-// ? group_r_offset_delta when RELOCATION_GROUPED_BY_OFFSET_DELTA flag is set
-// ? group_r_info when RELOCATION_GROUPED_BY_INFO flag is set
-// ? group_r_addend_group_delta when RELOCATION_GROUP_HAS_ADDEND and RELOCATION_GROUPED_BY_ADDEND
-//   flag is set
-//
-// The group description is followed by individual relocations.
-// please note that there is a case when individual relocation
-// section could be empty - that is if every field ends up grouped.
-//
-// The format for individual relocations section is:
-// ? r_offset_delta - when RELOCATION_GROUPED_BY_OFFSET_DELTA is not set
-// ? r_info - when RELOCATION_GROUPED_BY_INFO flag is not set
-// ? r_addend_delta - RELOCATION_GROUP_HAS_ADDEND is set and RELOCATION_GROUPED_BY_ADDEND is not set
-//
-// For example lets pack the following relocations:
-//
-// Relocation section '.rela.dyn' at offset 0xbf58 contains 939 entries:
-//     Offset             Info             Type               Symbol's Value  Symbol's Name + Addend
-//     00000000000a2178  0000000000000403 R_AARCH64_RELATIVE                        177a8
-//     00000000000a2180  0000000000000403 R_AARCH64_RELATIVE                        177cc
-//     00000000000a2188  0000000000000403 R_AARCH64_RELATIVE                        177e0
-//     00000000000a2190  0000000000000403 R_AARCH64_RELATIVE                        177f4
-//     00000000000a2198  0000000000000403 R_AARCH64_RELATIVE                        17804
-//     00000000000a21a0  0000000000000403 R_AARCH64_RELATIVE                        17818
-//     00000000000a21a8  0000000000000403 R_AARCH64_RELATIVE                        1782c
-//     00000000000a21b0  0000000000000403 R_AARCH64_RELATIVE                        17840
-//     00000000000a21b8  0000000000000403 R_AARCH64_RELATIVE                        17854
-//     00000000000a21c0  0000000000000403 R_AARCH64_RELATIVE                        17868
-//     00000000000a21c8  0000000000000403 R_AARCH64_RELATIVE                        1787c
-//     00000000000a21d0  0000000000000403 R_AARCH64_RELATIVE                        17890
-//     00000000000a21d8  0000000000000403 R_AARCH64_RELATIVE                        178a4
-//     00000000000a21e8  0000000000000403 R_AARCH64_RELATIVE                        178b8
-//
-// The header is going to be
-// [00] 14                 <- count
-// [01] 0x00000000000a2170 <- initial relocation (first relocation - delta,
-//                            the delta is 8 in this case)
-// -- starting the first and only group
-// [03] 14                 <- group size
-// [03] 0xb                <- flags RELOCATION_GROUP_HAS_ADDEND | RELOCATION_GROUPED_BY_OFFSET_DELTA
-//                            | RELOCATION_GROUPED_BY_INFO
-// [04] 8                  <- offset delta
-// [05] 0x403              <- r_info
-// -- end of group definition, starting list of r_addend deltas
-// [06] 0x177a8
-// [07] 0x24               = 177cc - 177a8
-// [08] 0x14               = 177e0 - 177cc
-// [09] 0x14               = 177f4 - 177e0
-// [10] 0x10               = 17804 - 177f4
-// [11] 0x14               = 17818 - 17804
-// [12] 0x14               = 1782c - 17818
-// [13] 0x14               = 17840 - 1782c
-// [14] 0x14               = 17854 - 17840
-// [15] 0x14               = 17868 - 17854
-// [16] 0x14               = 1787c - 17868
-// [17] 0x14               = 17890 - 1787c
-// [18] 0x14               = 178a4 - 17890
-// [19] 0x14               = 178b8 - 178a4
-// -- the end.
-
-// TODO (dimitry): consider using r_addend_group_delta in the way we use group offset delta, it can
-//                 save us more bytes...
-
-// The input ends when sum(group_size) == relocation_count
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_DELTA_ENCODER_H_
-#define TOOLS_RELOCATION_PACKER_SRC_DELTA_ENCODER_H_
-
-#include <vector>
-
-#include "elf.h"
-#include "elf_traits.h"
-
-namespace relocation_packer {
-
-// A RelocationDeltaCodec packs vectors of relative relocations with
-// addends into more compact forms, and unpacks them to reproduce the
-// pre-packed data.
-template <typename ELF>
-class RelocationDeltaCodec {
- public:
-  typedef typename ELF::Addr ElfAddr;
-  typedef typename ELF::Rela ElfRela;
-
-  // Encode relocations with addends into a more compact form.
-  // |relocations| is a vector of relative relocation with addend structs.
-  // |packed| is the vector of packed words into which relocations are packed.
-  static void Encode(const std::vector<ElfRela>& relocations,
-                     std::vector<ElfAddr>* packed);
-
-  // Decode relative relocations with addends from their more compact form.
-  // |packed| is the vector of packed relocations.
-  // |relocations| is a vector of unpacked relative relocations.
-  static void Decode(const std::vector<ElfAddr>& packed,
-                     std::vector<ElfRela>* relocations);
-
- private:
-  static void DetectGroup(const std::vector<ElfRela>& relocations,
-                          size_t group_starts_with, ElfAddr previous_offset,
-                          ElfAddr* group_size, ElfAddr* group_flags,
-                          ElfAddr* group_offset_delta, ElfAddr* group_info,
-                          ElfAddr* group_addend);
-
-  static void DetectGroupFields(const ElfRela& reloc_one, const ElfRela& reloc_two,
-                                ElfAddr current_offset_delta, ElfAddr* group_flags,
-                                ElfAddr* group_offset_delta, ElfAddr* group_info,
-                                ElfAddr* group_addend);
-};
-
-}  // namespace relocation_packer
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_DELTA_ENCODER_H_
diff --git a/tools/relocation_packer/src/delta_encoder_unittest.cc b/tools/relocation_packer/src/delta_encoder_unittest.cc
deleted file mode 100644
index 06d9c96..0000000
--- a/tools/relocation_packer/src/delta_encoder_unittest.cc
+++ /dev/null
@@ -1,223 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "delta_encoder.h"
-
-#include <vector>
-#include "elf.h"
-#include "gtest/gtest.h"
-
-namespace {
-
-template <typename T>
-void AddRelocation(uint32_t addr,
-                   uint32_t info,
-                   int32_t addend,
-                   std::vector<T>* relocations) {
-  T relocation;
-  relocation.r_offset = addr;
-  relocation.r_info = info;
-  relocation.r_addend = addend;
-  relocations->push_back(relocation);
-}
-
-template <typename T>
-bool CheckRelocation(uint32_t addr,
-                     uint32_t info,
-                     int32_t addend,
-                     const T& relocation) {
-  return relocation.r_offset == addr &&
-      relocation.r_info == info &&
-      relocation.r_addend == addend;
-}
-
-}  // namespace
-
-namespace relocation_packer {
-
-template <typename ELF>
-static void encode() {
-  std::vector<typename ELF::Rela> relocations;
-  std::vector<typename ELF::Addr> packed;
-
-  RelocationDeltaCodec<ELF> codec;
-
-  codec.Encode(relocations, &packed);
-
-  ASSERT_EQ(0U, packed.size());
-
-  // Initial relocation.
-  AddRelocation(0xf00d0000, 11U, 10000, &relocations);
-
-  codec.Encode(relocations, &packed);
-
-  // size of reloc table, size of group, flags, 3 fields, zero
-  EXPECT_EQ(7U, packed.size());
-  // One pair present.
-  size_t ndx = 0;
-  EXPECT_EQ(1U, packed[ndx++]);
-  EXPECT_EQ(0xf00d0000, packed[ndx++]);
-  EXPECT_EQ(1U, packed[ndx++]); // group_size
-  EXPECT_EQ(8U, packed[ndx++]); // flags
-  // Delta from the neutral element is zero
-  EXPECT_EQ(0U, packed[ndx++]); // offset_delta
-  EXPECT_EQ(11U, packed[ndx++]); // info
-  EXPECT_EQ(10000U, packed[ndx++]); // addend_delta
-
-  // Add a second relocation, 4 byte offset delta, 12 byte addend delta.
-  // same info
-  AddRelocation(0xf00d0004, 11U, 10012, &relocations);
-
-  packed.clear();
-  codec.Encode(relocations, &packed);
-
-  ndx = 0;
-  EXPECT_EQ(8U, packed.size());
-
-  EXPECT_EQ(2U, packed[ndx++]); // relocs count
-  EXPECT_EQ(0xf00cfffc, packed[ndx++]); // initial offset
-  EXPECT_EQ(2U, packed[ndx++]); // group count
-  EXPECT_EQ(11U, packed[ndx++]); // flags
-  EXPECT_EQ(4U, packed[ndx++]); // group offset delta
-  EXPECT_EQ(11U, packed[ndx++]); // info
-
-  EXPECT_EQ(10000U, packed[ndx++]); // addend delta
-  EXPECT_EQ(12U, packed[ndx++]); // addend delta
-
-  // Add a third relocation, 4 byte offset delta, 12 byte addend delta.
-  // different info
-  AddRelocation(0xf00d0008, 41U, 10024, &relocations);
-
-  // Add three more relocations, 8 byte offset deltas, -24 byte addend deltas.
-  AddRelocation(0xf00d0010, 42U, 10000, &relocations);
-  AddRelocation(0xf00d0018, 42U, 9976, &relocations);
-  AddRelocation(0xf00d0020, 42U, 9952, &relocations);
-
-  AddRelocation(0xf00d2028, 1042U, 0, &relocations);
-  AddRelocation(0xf00d2030, 3442U, 0, &relocations);
-
-  packed.clear();
-  codec.Encode(relocations, &packed);
-
-  ndx = 0;
-  EXPECT_EQ(26U, packed.size());
-  // Total number of relocs
-  EXPECT_EQ(8U, packed[ndx++]);
-  EXPECT_EQ(0xf00cfffc, packed[ndx++]);
-  // 2 in first group
-  EXPECT_EQ(2U, packed[ndx++]);
-  EXPECT_EQ(11U, packed[ndx++]); //flags
-  EXPECT_EQ(4U, packed[ndx++]); // group offset delta
-  EXPECT_EQ(11U, packed[ndx++]); // info
-
-  // Initial relocation.
-  EXPECT_EQ(10000U, packed[ndx++]); // addend delta
-  // Two relocations, 4 byte offset deltas, 12 byte addend deltas.
-  EXPECT_EQ(12U, packed[ndx++]); // addend delta
-
-  // second group has only one reloc
-  EXPECT_EQ(1U, packed[ndx++]); // count
-  EXPECT_EQ(8U, packed[ndx++]); // flags
-
-  EXPECT_EQ(4U, packed[ndx++]); // offset delta
-  EXPECT_EQ(41U, packed[ndx++]); // info
-  EXPECT_EQ(12U, packed[ndx++]); // addend delta
-
-  // next - 3 relocs grouped by info
-  EXPECT_EQ(3U, packed[ndx++]); // count
-  EXPECT_EQ(11U, packed[ndx++]); // flags
-  EXPECT_EQ(8U, packed[ndx++]); // group offset delta
-  EXPECT_EQ(42U, packed[ndx++]); // info
-  // Three relocations, 8 byte offset deltas, -24 byte addend deltas.
-  EXPECT_EQ(static_cast<typename ELF::Addr>(-24), packed[ndx++]);
-  EXPECT_EQ(static_cast<typename ELF::Addr>(-24), packed[ndx++]);
-  EXPECT_EQ(static_cast<typename ELF::Addr>(-24), packed[ndx++]);
-
-  // and last - 2 relocations without addend
-  EXPECT_EQ(2U, packed[ndx++]);
-  EXPECT_EQ(0U, packed[ndx++]); // flags
-  // offset_deltas and r_infos for next 2 relocations
-  EXPECT_EQ(0x2008U, packed[ndx++]); // offset delta
-  EXPECT_EQ(1042U, packed[ndx++]); // r_info
-  EXPECT_EQ(0x8U, packed[ndx++]); // offset delta
-  EXPECT_EQ(3442U, packed[ndx++]); // r_info
-
-  EXPECT_EQ(packed.size(), ndx);
-}
-
-TEST(Delta, Encode32) {
-  encode<ELF32_traits>();
-}
-
-TEST(Delta, Encode64) {
-  encode<ELF64_traits>();
-}
-
-template <typename ELF>
-static void decode() {
-  std::vector<typename ELF::Addr> packed;
-  std::vector<typename ELF::Rela> relocations;
-
-  RelocationDeltaCodec<ELF> codec;
-  codec.Decode(packed, &relocations);
-
-  EXPECT_EQ(0U, relocations.size());
-
-  // Six pairs.
-  packed.push_back(6U); // count
-  packed.push_back(0xc0ddfffc); // base offset
-  packed.push_back(3U); // group count
-  packed.push_back(11U); // flags
-  packed.push_back(4U); // offset delta
-  packed.push_back(11U); // info
-  // Initial relocation.
-  packed.push_back(10000U);
-  // Two relocations, 4 byte offset deltas, 12 byte addend deltas.
-  packed.push_back(12U); // addend
-  packed.push_back(12U); // addend
-
-  // Three relocations, 8 byte offset deltas, -24 byte addend deltas.
-  packed.push_back(1U); // group count
-  packed.push_back(9U); // flags
-  packed.push_back(11U); // info
-
-  packed.push_back(8U);
-  packed.push_back(static_cast<typename ELF::Addr>(-24));
-  // next group with 2 relocs
-  packed.push_back(2U); // group count
-  packed.push_back(11U); // flags
-  packed.push_back(8U); // offset
-  packed.push_back(42U); // info
-
-  packed.push_back(static_cast<typename ELF::Addr>(-24)); // addend
-  packed.push_back(static_cast<typename ELF::Addr>(-24)); // addend
-
-  relocations.clear();
-  codec.Decode(packed, &relocations);
-
-  EXPECT_EQ(6U, relocations.size());
-  // Initial relocation.
-  EXPECT_TRUE(CheckRelocation(0xc0de0000, 11U, 10000, relocations[0]));
-  // Two relocations, 4 byte offset deltas, 12 byte addend deltas.
-  EXPECT_TRUE(CheckRelocation(0xc0de0004, 11U, 10012, relocations[1]));
-  EXPECT_TRUE(CheckRelocation(0xc0de0008, 11U, 10024, relocations[2]));
-  // Three relocations, 8 byte offset deltas, -24 byte addend deltas.
-  EXPECT_TRUE(CheckRelocation(0xc0de0010, 11U, 10000, relocations[3]));
-  EXPECT_TRUE(CheckRelocation(0xc0de0018, 42U, 9976, relocations[4]));
-  EXPECT_TRUE(CheckRelocation(0xc0de0020, 42U, 9952, relocations[5]));
-}
-
-TEST(Delta, Decode32) {
-  decode<ELF32_traits>();
-}
-
-TEST(Delta, Decode64) {
-  decode<ELF64_traits>();
-}
-
-// TODO (dimitry): add more tests (fix by 19 January 2038 03:14:07 UTC)
-// TODO (dimtiry): 1. Incorrect packed array for decode
-// TODO (dimtiry): 2. Try to catch situation where it is likely to get series of groups with size 1
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/elf_file.cc b/tools/relocation_packer/src/elf_file.cc
deleted file mode 100644
index 275e486..0000000
--- a/tools/relocation_packer/src/elf_file.cc
+++ /dev/null
@@ -1,1001 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Implementation notes:
-//
-// We need to remove a piece from the ELF shared library.  However, we also
-// want to avoid fixing DWARF cfi data and relative relocation addresses.
-// So after packing we shift offets and starting address of the RX segment
-// while preserving code/data vaddrs location.
-// This requires some fixups for symtab/hash/gnu_hash dynamic section addresses.
-
-#include "elf_file.h"
-
-#include <stdlib.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <algorithm>
-#include <string>
-#include <vector>
-
-#include "debug.h"
-#include "elf_traits.h"
-#include "libelf.h"
-#include "packer.h"
-
-namespace relocation_packer {
-
-// Out-of-band dynamic tags used to indicate the offset and size of the
-// android packed relocations section.
-static constexpr int32_t DT_ANDROID_REL = DT_LOOS + 2;
-static constexpr int32_t DT_ANDROID_RELSZ = DT_LOOS + 3;
-
-static constexpr int32_t DT_ANDROID_RELA = DT_LOOS + 4;
-static constexpr int32_t DT_ANDROID_RELASZ = DT_LOOS + 5;
-
-static constexpr uint32_t SHT_ANDROID_REL = SHT_LOOS + 1;
-static constexpr uint32_t SHT_ANDROID_RELA = SHT_LOOS + 2;
-
-static const size_t kPageSize = 4096;
-
-// Alignment to preserve, in bytes.  This must be at least as large as the
-// largest d_align and sh_addralign values found in the loaded file.
-// Out of caution for RELRO page alignment, we preserve to a complete target
-// page.  See http://www.airs.com/blog/archives/189.
-static const size_t kPreserveAlignment = kPageSize;
-
-// Get section data.  Checks that the section has exactly one data entry,
-// so that the section size and the data size are the same.  True in
-// practice for all sections we resize when packing or unpacking.  Done
-// by ensuring that a call to elf_getdata(section, data) returns NULL as
-// the next data entry.
-static Elf_Data* GetSectionData(Elf_Scn* section) {
-  Elf_Data* data = elf_getdata(section, NULL);
-  CHECK(data && elf_getdata(section, data) == NULL);
-  return data;
-}
-
-// Rewrite section data.  Allocates new data and makes it the data element's
-// buffer.  Relies on program exit to free allocated data.
-static void RewriteSectionData(Elf_Scn* section,
-                               const void* section_data,
-                               size_t size) {
-  Elf_Data* data = GetSectionData(section);
-  CHECK(size == data->d_size);
-  uint8_t* area = new uint8_t[size];
-  memcpy(area, section_data, size);
-  data->d_buf = area;
-}
-
-// Verbose ELF header logging.
-template <typename Ehdr>
-static void VerboseLogElfHeader(const Ehdr* elf_header) {
-  VLOG(1) << "e_phoff = " << elf_header->e_phoff;
-  VLOG(1) << "e_shoff = " << elf_header->e_shoff;
-  VLOG(1) << "e_ehsize = " << elf_header->e_ehsize;
-  VLOG(1) << "e_phentsize = " << elf_header->e_phentsize;
-  VLOG(1) << "e_phnum = " << elf_header->e_phnum;
-  VLOG(1) << "e_shnum = " << elf_header->e_shnum;
-  VLOG(1) << "e_shstrndx = " << elf_header->e_shstrndx;
-}
-
-// Verbose ELF program header logging.
-template <typename Phdr>
-static void VerboseLogProgramHeader(size_t program_header_index,
-                             const Phdr* program_header) {
-  std::string type;
-  switch (program_header->p_type) {
-    case PT_NULL: type = "NULL"; break;
-    case PT_LOAD: type = "LOAD"; break;
-    case PT_DYNAMIC: type = "DYNAMIC"; break;
-    case PT_INTERP: type = "INTERP"; break;
-    case PT_PHDR: type = "PHDR"; break;
-    case PT_GNU_RELRO: type = "GNU_RELRO"; break;
-    case PT_GNU_STACK: type = "GNU_STACK"; break;
-    case PT_ARM_EXIDX: type = "EXIDX"; break;
-    default: type = "(OTHER)"; break;
-  }
-  VLOG(1) << "phdr[" << program_header_index << "] : " << type;
-  VLOG(1) << "  p_offset = " << program_header->p_offset;
-  VLOG(1) << "  p_vaddr = " << program_header->p_vaddr;
-  VLOG(1) << "  p_paddr = " << program_header->p_paddr;
-  VLOG(1) << "  p_filesz = " << program_header->p_filesz;
-  VLOG(1) << "  p_memsz = " << program_header->p_memsz;
-  VLOG(1) << "  p_flags = " << program_header->p_flags;
-  VLOG(1) << "  p_align = " << program_header->p_align;
-}
-
-// Verbose ELF section header logging.
-template <typename Shdr>
-static void VerboseLogSectionHeader(const std::string& section_name,
-                             const Shdr* section_header) {
-  VLOG(1) << "section " << section_name;
-  VLOG(1) << "  sh_addr = " << section_header->sh_addr;
-  VLOG(1) << "  sh_offset = " << section_header->sh_offset;
-  VLOG(1) << "  sh_size = " << section_header->sh_size;
-  VLOG(1) << "  sh_entsize = " << section_header->sh_entsize;
-  VLOG(1) << "  sh_addralign = " << section_header->sh_addralign;
-}
-
-// Verbose ELF section data logging.
-static void VerboseLogSectionData(const Elf_Data* data) {
-  VLOG(1) << "  data";
-  VLOG(1) << "    d_buf = " << data->d_buf;
-  VLOG(1) << "    d_off = " << data->d_off;
-  VLOG(1) << "    d_size = " << data->d_size;
-  VLOG(1) << "    d_align = " << data->d_align;
-}
-
-// Load the complete ELF file into a memory image in libelf, and identify
-// the .rel.dyn or .rela.dyn, .dynamic, and .android.rel.dyn or
-// .android.rela.dyn sections.  No-op if the ELF file has already been loaded.
-template <typename ELF>
-bool ElfFile<ELF>::Load() {
-  if (elf_)
-    return true;
-
-  Elf* elf = elf_begin(fd_, ELF_C_RDWR, NULL);
-  CHECK(elf);
-
-  if (elf_kind(elf) != ELF_K_ELF) {
-    LOG(ERROR) << "File not in ELF format";
-    return false;
-  }
-
-  auto elf_header = ELF::getehdr(elf);
-  if (!elf_header) {
-    LOG(ERROR) << "Failed to load ELF header: " << elf_errmsg(elf_errno());
-    return false;
-  }
-
-  if (elf_header->e_type != ET_DYN) {
-    LOG(ERROR) << "ELF file is not a shared object";
-    return false;
-  }
-
-  // Require that our endianness matches that of the target, and that both
-  // are little-endian.  Safe for all current build/target combinations.
-  const int endian = elf_header->e_ident[EI_DATA];
-  CHECK(endian == ELFDATA2LSB);
-  CHECK(__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__);
-
-  const int file_class = elf_header->e_ident[EI_CLASS];
-  VLOG(1) << "endian = " << endian << ", file class = " << file_class;
-  VerboseLogElfHeader(elf_header);
-
-  auto elf_program_header = ELF::getphdr(elf);
-  CHECK(elf_program_header != nullptr);
-
-  const typename ELF::Phdr* dynamic_program_header = NULL;
-  for (size_t i = 0; i < elf_header->e_phnum; ++i) {
-    auto program_header = &elf_program_header[i];
-    VerboseLogProgramHeader(i, program_header);
-
-    if (program_header->p_type == PT_DYNAMIC) {
-      CHECK(dynamic_program_header == NULL);
-      dynamic_program_header = program_header;
-    }
-  }
-  CHECK(dynamic_program_header != nullptr);
-
-  size_t string_index;
-  elf_getshdrstrndx(elf, &string_index);
-
-  // Notes of the dynamic relocations, packed relocations, and .dynamic
-  // sections.  Found while iterating sections, and later stored in class
-  // attributes.
-  Elf_Scn* found_relocations_section = nullptr;
-  Elf_Scn* found_dynamic_section = nullptr;
-
-  // Notes of relocation section types seen.  We require one or the other of
-  // these; both is unsupported.
-  bool has_rel_relocations = false;
-  bool has_rela_relocations = false;
-  bool has_android_relocations = false;
-
-  Elf_Scn* section = NULL;
-  while ((section = elf_nextscn(elf, section)) != nullptr) {
-    auto section_header = ELF::getshdr(section);
-    std::string name = elf_strptr(elf, string_index, section_header->sh_name);
-    VerboseLogSectionHeader(name, section_header);
-
-    // Note relocation section types.
-    if (section_header->sh_type == SHT_REL || section_header->sh_type == SHT_ANDROID_REL) {
-      has_rel_relocations = true;
-    }
-    if (section_header->sh_type == SHT_RELA || section_header->sh_type == SHT_ANDROID_RELA) {
-      has_rela_relocations = true;
-    }
-
-    // Note special sections as we encounter them.
-    if ((name == ".rel.dyn" || name == ".rela.dyn") &&
-        section_header->sh_size > 0) {
-      found_relocations_section = section;
-
-      // Note if relocation section is already packed
-      has_android_relocations =
-          section_header->sh_type == SHT_ANDROID_REL ||
-          section_header->sh_type == SHT_ANDROID_RELA;
-    }
-
-    if (section_header->sh_offset == dynamic_program_header->p_offset) {
-      found_dynamic_section = section;
-    }
-
-    // Ensure we preserve alignment, repeated later for the data block(s).
-    CHECK(section_header->sh_addralign <= kPreserveAlignment);
-
-    Elf_Data* data = NULL;
-    while ((data = elf_getdata(section, data)) != NULL) {
-      CHECK(data->d_align <= kPreserveAlignment);
-      VerboseLogSectionData(data);
-    }
-  }
-
-  // Loading failed if we did not find the required special sections.
-  if (!found_dynamic_section) {
-    LOG(ERROR) << "Missing .dynamic section";
-    return false;
-  }
-
-  if (found_relocations_section != nullptr) {
-    // Loading failed if we could not identify the relocations type.
-    if (!has_rel_relocations && !has_rela_relocations) {
-      LOG(ERROR) << "No relocations sections found";
-      return false;
-    }
-    if (has_rel_relocations && has_rela_relocations) {
-      LOG(ERROR) << "Multiple relocations sections with different types found, "
-                 << "not currently supported";
-      return false;
-    }
-  }
-
-  elf_ = elf;
-  relocations_section_ = found_relocations_section;
-  dynamic_section_ = found_dynamic_section;
-  relocations_type_ = has_rel_relocations ? REL : RELA;
-  has_android_relocations_ = has_android_relocations;
-  return true;
-}
-
-// Helper for ResizeSection().  Adjust the main ELF header for the hole.
-template <typename ELF>
-static void AdjustElfHeaderForHole(typename ELF::Ehdr* elf_header,
-                                   typename ELF::Off hole_start,
-                                   ssize_t hole_size) {
-  if (elf_header->e_phoff > hole_start) {
-    elf_header->e_phoff += hole_size;
-    VLOG(1) << "e_phoff adjusted to " << elf_header->e_phoff;
-  }
-  if (elf_header->e_shoff > hole_start) {
-    elf_header->e_shoff += hole_size;
-    VLOG(1) << "e_shoff adjusted to " << elf_header->e_shoff;
-  }
-}
-
-// Helper for ResizeSection().  Adjust all section headers for the hole.
-template <typename ELF>
-static void AdjustSectionHeadersForHole(Elf* elf,
-                                        typename ELF::Off hole_start,
-                                        ssize_t hole_size) {
-  size_t string_index;
-  elf_getshdrstrndx(elf, &string_index);
-
-  Elf_Scn* section = NULL;
-  while ((section = elf_nextscn(elf, section)) != NULL) {
-    auto section_header = ELF::getshdr(section);
-    std::string name = elf_strptr(elf, string_index, section_header->sh_name);
-
-    if (section_header->sh_offset > hole_start) {
-      section_header->sh_offset += hole_size;
-      VLOG(1) << "section " << name
-              << " sh_offset adjusted to " << section_header->sh_offset;
-    } else {
-      section_header->sh_addr -= hole_size;
-      VLOG(1) << "section " << name
-              << " sh_addr adjusted to " << section_header->sh_addr;
-    }
-  }
-}
-
-// Helpers for ResizeSection().  On packing, reduce p_align for LOAD segments
-// to 4kb if larger.  On unpacking, restore p_align for LOAD segments if
-// packing reduced it to 4kb.  Return true if p_align was changed.
-template <typename ELF>
-static bool ClampLoadSegmentAlignment(typename ELF::Phdr* program_header) {
-  CHECK(program_header->p_type == PT_LOAD);
-
-  // If large, reduce p_align for a LOAD segment to page size on packing.
-  if (program_header->p_align > kPageSize) {
-    program_header->p_align = kPageSize;
-    return true;
-  }
-  return false;
-}
-
-template <typename ELF>
-static bool RestoreLoadSegmentAlignment(typename ELF::Phdr* program_headers,
-                                        size_t count,
-                                        typename ELF::Phdr* program_header) {
-  CHECK(program_header->p_type == PT_LOAD);
-
-  // If p_align was reduced on packing, restore it to its previous value
-  // on unpacking.  We do this by searching for a different LOAD segment
-  // and setting p_align to that of the other LOAD segment found.
-  //
-  // Relies on the following observations:
-  //   - a packable ELF executable has more than one LOAD segment;
-  //   - before packing all LOAD segments have the same p_align;
-  //   - on packing we reduce only one LOAD segment's p_align.
-  if (program_header->p_align == kPageSize) {
-    for (size_t i = 0; i < count; ++i) {
-      typename ELF::Phdr* other_header = &program_headers[i];
-      if (other_header->p_type == PT_LOAD && other_header != program_header) {
-        program_header->p_align = other_header->p_align;
-        return true;
-      }
-    }
-    LOG(WARNING) << "Cannot find a LOAD segment from which to restore p_align";
-  }
-  return false;
-}
-
-template <typename ELF>
-static bool AdjustLoadSegmentAlignment(typename ELF::Phdr* program_headers,
-                                       size_t count,
-                                       typename ELF::Phdr* program_header,
-                                       ssize_t hole_size) {
-  CHECK(program_header->p_type == PT_LOAD);
-
-  bool status = false;
-  if (hole_size < 0) {
-    status = ClampLoadSegmentAlignment<ELF>(program_header);
-  } else if (hole_size > 0) {
-    status = RestoreLoadSegmentAlignment<ELF>(program_headers,
-                                              count,
-                                              program_header);
-  }
-  return status;
-}
-
-// Helper for ResizeSection().  Adjust the offsets of any program headers
-// that have offsets currently beyond the hole start, and adjust the
-// virtual and physical addrs (and perhaps alignment) of the others.
-template <typename ELF>
-static void AdjustProgramHeaderFields(typename ELF::Phdr* program_headers,
-                                      size_t count,
-                                      typename ELF::Off hole_start,
-                                      ssize_t hole_size) {
-  int alignment_changes = 0;
-  for (size_t i = 0; i < count; ++i) {
-    typename ELF::Phdr* program_header = &program_headers[i];
-
-    // Do not adjust PT_GNU_STACK - it confuses gdb and results
-    // in incorrect unwinding if the executable is stripped after
-    // packing.
-    if (program_header->p_type == PT_GNU_STACK) {
-      continue;
-    }
-
-    if (program_header->p_offset > hole_start) {
-      // The hole start is past this segment, so adjust offset.
-      program_header->p_offset += hole_size;
-      VLOG(1) << "phdr[" << i
-              << "] p_offset adjusted to "<< program_header->p_offset;
-    } else {
-      program_header->p_vaddr -= hole_size;
-      program_header->p_paddr -= hole_size;
-
-      // If packing, clamp LOAD segment alignment to 4kb to prevent strip
-      // from adjusting it unnecessarily if run on a packed file.  If
-      // unpacking, attempt to restore a reduced alignment to its previous
-      // value.  Ensure that we do this on at most one LOAD segment.
-      if (program_header->p_type == PT_LOAD) {
-        alignment_changes += AdjustLoadSegmentAlignment<ELF>(program_headers,
-                                                             count,
-                                                             program_header,
-                                                             hole_size);
-        LOG_IF(FATAL, alignment_changes > 1)
-            << "Changed p_align on more than one LOAD segment";
-      }
-
-      VLOG(1) << "phdr[" << i
-              << "] p_vaddr adjusted to "<< program_header->p_vaddr
-              << "; p_paddr adjusted to "<< program_header->p_paddr
-              << "; p_align adjusted to "<< program_header->p_align;
-    }
-  }
-}
-
-// Helper for ResizeSection().  Find the first loadable segment in the
-// file.  We expect it to map from file offset zero.
-template <typename ELF>
-static typename ELF::Phdr* FindLoadSegmentForHole(typename ELF::Phdr* program_headers,
-                                                  size_t count,
-                                                  typename ELF::Off hole_start) {
-  for (size_t i = 0; i < count; ++i) {
-    typename ELF::Phdr* program_header = &program_headers[i];
-
-    if (program_header->p_type == PT_LOAD &&
-        program_header->p_offset <= hole_start &&
-        (program_header->p_offset + program_header->p_filesz) >= hole_start ) {
-      return program_header;
-    }
-  }
-  LOG(FATAL) << "Cannot locate a LOAD segment with hole_start=0x" << std::hex << hole_start;
-  NOTREACHED();
-
-  return nullptr;
-}
-
-// Helper for ResizeSection().  Rewrite program headers.
-template <typename ELF>
-static void RewriteProgramHeadersForHole(Elf* elf,
-                                         typename ELF::Off hole_start,
-                                         ssize_t hole_size) {
-  const typename ELF::Ehdr* elf_header = ELF::getehdr(elf);
-  CHECK(elf_header);
-
-  typename ELF::Phdr* elf_program_header = ELF::getphdr(elf);
-  CHECK(elf_program_header);
-
-  const size_t program_header_count = elf_header->e_phnum;
-
-  // Locate the segment that we can overwrite to form the new LOAD entry,
-  // and the segment that we are going to split into two parts.
-  typename ELF::Phdr* target_load_header =
-      FindLoadSegmentForHole<ELF>(elf_program_header, program_header_count, hole_start);
-
-  VLOG(1) << "phdr[" << target_load_header - elf_program_header << "] adjust";
-  // Adjust PT_LOAD program header memsz and filesz
-  target_load_header->p_filesz += hole_size;
-  target_load_header->p_memsz += hole_size;
-
-  // Adjust the offsets and p_vaddrs
-  AdjustProgramHeaderFields<ELF>(elf_program_header,
-                                 program_header_count,
-                                 hole_start,
-                                 hole_size);
-}
-
-// Helper for ResizeSection().  Locate and return the dynamic section.
-template <typename ELF>
-static Elf_Scn* GetDynamicSection(Elf* elf) {
-  const typename ELF::Ehdr* elf_header = ELF::getehdr(elf);
-  CHECK(elf_header);
-
-  const typename ELF::Phdr* elf_program_header = ELF::getphdr(elf);
-  CHECK(elf_program_header);
-
-  // Find the program header that describes the dynamic section.
-  const typename ELF::Phdr* dynamic_program_header = NULL;
-  for (size_t i = 0; i < elf_header->e_phnum; ++i) {
-    const typename ELF::Phdr* program_header = &elf_program_header[i];
-
-    if (program_header->p_type == PT_DYNAMIC) {
-      dynamic_program_header = program_header;
-    }
-  }
-  CHECK(dynamic_program_header);
-
-  // Now find the section with the same offset as this program header.
-  Elf_Scn* dynamic_section = NULL;
-  Elf_Scn* section = NULL;
-  while ((section = elf_nextscn(elf, section)) != NULL) {
-    typename ELF::Shdr* section_header = ELF::getshdr(section);
-
-    if (section_header->sh_offset == dynamic_program_header->p_offset) {
-      dynamic_section = section;
-    }
-  }
-  CHECK(dynamic_section != NULL);
-
-  return dynamic_section;
-}
-
-// Helper for ResizeSection().  Adjust the .dynamic section for the hole.
-template <typename ELF>
-void ElfFile<ELF>::AdjustDynamicSectionForHole(Elf_Scn* dynamic_section,
-                                               typename ELF::Off hole_start,
-                                               ssize_t hole_size,
-                                               relocations_type_t relocations_type) {
-  CHECK(relocations_type != NONE);
-  Elf_Data* data = GetSectionData(dynamic_section);
-
-  auto dynamic_base = reinterpret_cast<typename ELF::Dyn*>(data->d_buf);
-  std::vector<typename ELF::Dyn> dynamics(
-      dynamic_base,
-      dynamic_base + data->d_size / sizeof(dynamics[0]));
-
-  if (hole_size > 0) { // expanding
-    hole_start += hole_size;
-  }
-
-  for (size_t i = 0; i < dynamics.size(); ++i) {
-    typename ELF::Dyn* dynamic = &dynamics[i];
-    const typename ELF::Sword tag = dynamic->d_tag;
-
-    // Any tags that hold offsets are adjustment candidates.
-    const bool is_adjustable = (tag == DT_PLTGOT ||
-                                tag == DT_HASH ||
-                                tag == DT_GNU_HASH ||
-                                tag == DT_STRTAB ||
-                                tag == DT_SYMTAB ||
-                                tag == DT_RELA ||
-                                tag == DT_INIT ||
-                                tag == DT_FINI ||
-                                tag == DT_REL ||
-                                tag == DT_JMPREL ||
-                                tag == DT_INIT_ARRAY ||
-                                tag == DT_FINI_ARRAY ||
-                                tag == DT_VERSYM ||
-                                tag == DT_VERNEED ||
-                                tag == DT_VERDEF ||
-                                tag == DT_ANDROID_REL||
-                                tag == DT_ANDROID_RELA);
-
-    if (is_adjustable && dynamic->d_un.d_ptr <= hole_start) {
-      dynamic->d_un.d_ptr -= hole_size;
-      VLOG(1) << "dynamic[" << i << "] " << dynamic->d_tag
-              << " d_ptr adjusted to " << dynamic->d_un.d_ptr;
-    }
-
-    // DT_RELSZ or DT_RELASZ indicate the overall size of relocations.
-    // Only one will be present.  Adjust by hole size.
-    if (tag == DT_RELSZ || tag == DT_RELASZ || tag == DT_ANDROID_RELSZ || tag == DT_ANDROID_RELASZ) {
-      dynamic->d_un.d_val += hole_size;
-      VLOG(1) << "dynamic[" << i << "] " << dynamic->d_tag
-              << " d_val adjusted to " << dynamic->d_un.d_val;
-    }
-
-    // Special case: DT_MIPS_RLD_MAP_REL stores the difference between dynamic
-    // entry address and the address of the _r_debug (used by GDB)
-    // since the dynamic section and target address are on the
-    // different sides of the hole it needs to be adjusted accordingly
-    if (tag == DT_MIPS_RLD_MAP_REL) {
-      dynamic->d_un.d_val += hole_size;
-      VLOG(1) << "dynamic[" << i << "] " << dynamic->d_tag
-              << " d_val adjusted to " << dynamic->d_un.d_val;
-    }
-
-    // Ignore DT_RELCOUNT and DT_RELACOUNT: (1) nobody uses them and
-    // technically (2) the relative relocation count is not changed.
-
-    // DT_RELENT and DT_RELAENT don't change, ignore them as well.
-  }
-
-  void* section_data = &dynamics[0];
-  size_t bytes = dynamics.size() * sizeof(dynamics[0]);
-  RewriteSectionData(dynamic_section, section_data, bytes);
-}
-
-// Resize a section.  If the new size is larger than the current size, open
-// up a hole by increasing file offsets that come after the hole.  If smaller
-// than the current size, remove the hole by decreasing those offsets.
-template <typename ELF>
-void ElfFile<ELF>::ResizeSection(Elf* elf, Elf_Scn* section, size_t new_size,
-                                 typename ELF::Word new_sh_type,
-                                 relocations_type_t relocations_type) {
-
-  size_t string_index;
-  elf_getshdrstrndx(elf, &string_index);
-  auto section_header = ELF::getshdr(section);
-  std::string name = elf_strptr(elf, string_index, section_header->sh_name);
-
-  if (section_header->sh_size == new_size) {
-    return;
-  }
-
-  // Require that the section size and the data size are the same.  True
-  // in practice for all sections we resize when packing or unpacking.
-  Elf_Data* data = GetSectionData(section);
-  CHECK(data->d_off == 0 && data->d_size == section_header->sh_size);
-
-  // Require that the section is not zero-length (that is, has allocated
-  // data that we can validly expand).
-  CHECK(data->d_size && data->d_buf);
-
-  const auto hole_start = section_header->sh_offset;
-  const ssize_t hole_size = new_size - data->d_size;
-
-  VLOG_IF(1, (hole_size > 0)) << "expand section (" << name << ") size: " <<
-      data->d_size << " -> " << (data->d_size + hole_size);
-  VLOG_IF(1, (hole_size < 0)) << "shrink section (" << name << ") size: " <<
-      data->d_size << " -> " << (data->d_size + hole_size);
-
-  // libelf overrides sh_entsize for known sh_types, so it does not matter what we set
-  // for SHT_REL/SHT_RELA.
-  typename ELF::Xword new_entsize =
-      (new_sh_type == SHT_ANDROID_REL || new_sh_type == SHT_ANDROID_RELA) ? 1 : 0;
-
-  VLOG(1) << "Update section (" << name << ") entry size: " <<
-      section_header->sh_entsize << " -> " << new_entsize;
-
-  // Resize the data and the section header.
-  data->d_size += hole_size;
-  section_header->sh_size += hole_size;
-  section_header->sh_entsize = new_entsize;
-  section_header->sh_type = new_sh_type;
-
-  // Add the hole size to all offsets in the ELF file that are after the
-  // start of the hole.  If the hole size is positive we are expanding the
-  // section to create a new hole; if negative, we are closing up a hole.
-
-  // Start with the main ELF header.
-  typename ELF::Ehdr* elf_header = ELF::getehdr(elf);
-  AdjustElfHeaderForHole<ELF>(elf_header, hole_start, hole_size);
-
-  // Adjust all section headers.
-  AdjustSectionHeadersForHole<ELF>(elf, hole_start, hole_size);
-
-  // Rewrite the program headers to either split or coalesce segments,
-  // and adjust dynamic entries to match.
-  RewriteProgramHeadersForHole<ELF>(elf, hole_start, hole_size);
-
-  Elf_Scn* dynamic_section = GetDynamicSection<ELF>(elf);
-  AdjustDynamicSectionForHole(dynamic_section, hole_start, hole_size, relocations_type);
-}
-
-// Find the first slot in a dynamics array with the given tag.  The array
-// always ends with a free (unused) element, and which we exclude from the
-// search.  Returns dynamics->size() if not found.
-template <typename ELF>
-static size_t FindDynamicEntry(typename ELF::Sword tag,
-                               std::vector<typename ELF::Dyn>* dynamics) {
-  // Loop until the penultimate entry.  We exclude the end sentinel.
-  for (size_t i = 0; i < dynamics->size() - 1; ++i) {
-    if (dynamics->at(i).d_tag == tag) {
-      return i;
-    }
-  }
-
-  // The tag was not found.
-  return dynamics->size();
-}
-
-// Replace dynamic entry.
-template <typename ELF>
-static void ReplaceDynamicEntry(typename ELF::Sword tag,
-                                const typename ELF::Dyn& dyn,
-                                std::vector<typename ELF::Dyn>* dynamics) {
-  const size_t slot = FindDynamicEntry<ELF>(tag, dynamics);
-  if (slot == dynamics->size()) {
-    LOG(FATAL) << "Dynamic slot is not found for tag=" << tag;
-  }
-
-  // Replace this entry with the one supplied.
-  dynamics->at(slot) = dyn;
-  VLOG(1) << "dynamic[" << slot << "] overwritten with " << dyn.d_tag;
-}
-
-// Remove relative entries from dynamic relocations and write as packed
-// data into android packed relocations.
-template <typename ELF>
-bool ElfFile<ELF>::PackRelocations() {
-  // Load the ELF file into libelf.
-  if (!Load()) {
-    LOG(ERROR) << "Failed to load as ELF";
-    return false;
-  }
-
-  if (relocations_section_ == nullptr) {
-    // There is nothing to do
-    return true;
-  }
-
-  // Retrieve the current dynamic relocations section data.
-  Elf_Data* data = GetSectionData(relocations_section_);
-  // we always pack rela, because packed format is pretty much the same
-  std::vector<typename ELF::Rela> relocations;
-
-  if (relocations_type_ == REL) {
-    // Convert data to a vector of relocations.
-    const typename ELF::Rel* relocations_base = reinterpret_cast<typename ELF::Rel*>(data->d_buf);
-    ConvertRelArrayToRelaVector(relocations_base,
-        data->d_size / sizeof(typename ELF::Rel), &relocations);
-    VLOG(1) << "Relocations   : REL";
-  } else if (relocations_type_ == RELA) {
-    // Convert data to a vector of relocations with addends.
-    const typename ELF::Rela* relocations_base = reinterpret_cast<typename ELF::Rela*>(data->d_buf);
-    relocations = std::vector<typename ELF::Rela>(
-        relocations_base,
-        relocations_base + data->d_size / sizeof(relocations[0]));
-
-    VLOG(1) << "Relocations   : RELA";
-  } else {
-    NOTREACHED();
-  }
-
-  return PackTypedRelocations(&relocations);
-}
-
-// Helper for PackRelocations().  Rel type is one of ELF::Rel or ELF::Rela.
-template <typename ELF>
-bool ElfFile<ELF>::PackTypedRelocations(std::vector<typename ELF::Rela>* relocations) {
-  typedef typename ELF::Rela Rela;
-
-  if (has_android_relocations_) {
-    LOG(INFO) << "Relocation table is already packed";
-    return true;
-  }
-
-  // If no relocations then we have nothing packable.  Perhaps
-  // the shared object has already been packed?
-  if (relocations->empty()) {
-    LOG(ERROR) << "No relocations found";
-    return false;
-  }
-
-  const size_t rel_size =
-      relocations_type_ == RELA ? sizeof(typename ELF::Rela) : sizeof(typename ELF::Rel);
-  const size_t initial_bytes = relocations->size() * rel_size;
-
-  VLOG(1) << "Unpacked                   : " << initial_bytes << " bytes";
-  std::vector<uint8_t> packed;
-  RelocationPacker<ELF> packer;
-
-  // Pack relocations: dry run to estimate memory savings.
-  packer.PackRelocations(*relocations, &packed);
-  const size_t packed_bytes_estimate = packed.size() * sizeof(packed[0]);
-  VLOG(1) << "Packed         (no padding): " << packed_bytes_estimate << " bytes";
-
-  if (packed.empty()) {
-    VLOG(1) << "Too few relocations to pack";
-    return true;
-  }
-
-  // Pre-calculate the size of the hole we will close up when we rewrite
-  // dynamic relocations.  We have to adjust relocation addresses to
-  // account for this.
-  typename ELF::Shdr* section_header = ELF::getshdr(relocations_section_);
-  ssize_t hole_size = initial_bytes - packed_bytes_estimate;
-
-  // hole_size needs to be page_aligned.
-  hole_size -= hole_size % kPreserveAlignment;
-
-  VLOG(1) << "Compaction                 : " << hole_size << " bytes";
-
-  // Adjusting for alignment may have removed any packing benefit.
-  if (hole_size == 0) {
-    VLOG(1) << "Too few relocations to pack after alignment";
-    return true;
-  }
-
-  if (hole_size <= 0) {
-    VLOG(1) << "Packing relocations saves no space";
-    return true;
-  }
-
-  size_t data_padding_bytes = is_padding_relocations_ ?
-      initial_bytes - packed_bytes_estimate :
-      initial_bytes - hole_size - packed_bytes_estimate;
-
-  // pad data
-  std::vector<uint8_t> padding(data_padding_bytes, 0);
-  packed.insert(packed.end(), padding.begin(), padding.end());
-
-  const void* packed_data = &packed[0];
-
-  // Run a loopback self-test as a check that packing is lossless.
-  std::vector<Rela> unpacked;
-  packer.UnpackRelocations(packed, &unpacked);
-  CHECK(unpacked.size() == relocations->size());
-  CHECK(!memcmp(&unpacked[0],
-                &relocations->at(0),
-                unpacked.size() * sizeof(unpacked[0])));
-
-  // Rewrite the current dynamic relocations section with packed one then shrink it to size.
-  const size_t bytes = packed.size() * sizeof(packed[0]);
-  ResizeSection(elf_, relocations_section_, bytes,
-      relocations_type_ == REL ? SHT_ANDROID_REL : SHT_ANDROID_RELA, relocations_type_);
-  RewriteSectionData(relocations_section_, packed_data, bytes);
-
-  // TODO (dimitry): fix string table and replace .rel.dyn/plt with .android.rel.dyn/plt
-
-  // Rewrite .dynamic and rename relocation tags describing the packed android
-  // relocations.
-  Elf_Data* data = GetSectionData(dynamic_section_);
-  const typename ELF::Dyn* dynamic_base = reinterpret_cast<typename ELF::Dyn*>(data->d_buf);
-  std::vector<typename ELF::Dyn> dynamics(
-      dynamic_base,
-      dynamic_base + data->d_size / sizeof(dynamics[0]));
-  section_header = ELF::getshdr(relocations_section_);
-  {
-    typename ELF::Dyn dyn;
-    dyn.d_tag = relocations_type_ == REL ? DT_ANDROID_REL : DT_ANDROID_RELA;
-    dyn.d_un.d_ptr = section_header->sh_addr;
-    ReplaceDynamicEntry<ELF>(relocations_type_ == REL ? DT_REL : DT_RELA, dyn, &dynamics);
-  }
-  {
-    typename ELF::Dyn dyn;
-    dyn.d_tag = relocations_type_ == REL ? DT_ANDROID_RELSZ : DT_ANDROID_RELASZ;
-    dyn.d_un.d_val = section_header->sh_size;
-    ReplaceDynamicEntry<ELF>(relocations_type_ == REL ? DT_RELSZ : DT_RELASZ, dyn, &dynamics);
-  }
-
-  const void* dynamics_data = &dynamics[0];
-  const size_t dynamics_bytes = dynamics.size() * sizeof(dynamics[0]);
-  RewriteSectionData(dynamic_section_, dynamics_data, dynamics_bytes);
-
-  Flush();
-  return true;
-}
-
-// Find packed relative relocations in the packed android relocations
-// section, unpack them, and rewrite the dynamic relocations section to
-// contain unpacked data.
-template <typename ELF>
-bool ElfFile<ELF>::UnpackRelocations() {
-  // Load the ELF file into libelf.
-  if (!Load()) {
-    LOG(ERROR) << "Failed to load as ELF";
-    return false;
-  }
-
-  if (relocations_section_ == nullptr) {
-    // There is nothing to do
-    return true;
-  }
-
-  typename ELF::Shdr* section_header = ELF::getshdr(relocations_section_);
-  // Retrieve the current packed android relocations section data.
-  Elf_Data* data = GetSectionData(relocations_section_);
-
-  // Convert data to a vector of bytes.
-  const uint8_t* packed_base = reinterpret_cast<uint8_t*>(data->d_buf);
-  std::vector<uint8_t> packed(
-      packed_base,
-      packed_base + data->d_size / sizeof(packed[0]));
-
-  if ((section_header->sh_type == SHT_ANDROID_RELA || section_header->sh_type == SHT_ANDROID_REL) &&
-      packed.size() > 3 &&
-      packed[0] == 'A' &&
-      packed[1] == 'P' &&
-      packed[2] == 'S' &&
-      packed[3] == '2') {
-    LOG(INFO) << "Relocations   : " << (relocations_type_ == REL ? "REL" : "RELA");
-  } else {
-    LOG(ERROR) << "Packed relocations not found (not packed?)";
-    return false;
-  }
-
-  return UnpackTypedRelocations(packed);
-}
-
-// Helper for UnpackRelocations().  Rel type is one of ELF::Rel or ELF::Rela.
-template <typename ELF>
-bool ElfFile<ELF>::UnpackTypedRelocations(const std::vector<uint8_t>& packed) {
-  // Unpack the data to re-materialize the relative relocations.
-  const size_t packed_bytes = packed.size() * sizeof(packed[0]);
-  LOG(INFO) << "Packed           : " << packed_bytes << " bytes";
-  std::vector<typename ELF::Rela> unpacked_relocations;
-  RelocationPacker<ELF> packer;
-  packer.UnpackRelocations(packed, &unpacked_relocations);
-
-  const size_t relocation_entry_size =
-      relocations_type_ == REL ? sizeof(typename ELF::Rel) : sizeof(typename ELF::Rela);
-  const size_t unpacked_bytes = unpacked_relocations.size() * relocation_entry_size;
-  LOG(INFO) << "Unpacked         : " << unpacked_bytes << " bytes";
-
-  // Retrieve the current dynamic relocations section data.
-  Elf_Data* data = GetSectionData(relocations_section_);
-
-  LOG(INFO) << "Relocations      : " << unpacked_relocations.size() << " entries";
-
-  // If we found the same number of null relocation entries in the dynamic
-  // relocations section as we hold as unpacked relative relocations, then
-  // this is a padded file.
-
-  const bool is_padded = packed_bytes == unpacked_bytes;
-
-  // Unless padded, pre-apply relative relocations to account for the
-  // hole, and pre-adjust all relocation offsets accordingly.
-  typename ELF::Shdr* section_header = ELF::getshdr(relocations_section_);
-
-  if (!is_padded) {
-    LOG(INFO) << "Expansion     : " << unpacked_bytes - packed_bytes << " bytes";
-  }
-
-  // Rewrite the current dynamic relocations section with unpacked version of
-  // relocations.
-  const void* section_data = nullptr;
-  std::vector<typename ELF::Rel> unpacked_rel_relocations;
-  if (relocations_type_ == RELA) {
-    section_data = &unpacked_relocations[0];
-  } else if (relocations_type_ == REL) {
-    ConvertRelaVectorToRelVector(unpacked_relocations, &unpacked_rel_relocations);
-    section_data = &unpacked_rel_relocations[0];
-  } else {
-    NOTREACHED();
-  }
-
-  ResizeSection(elf_, relocations_section_, unpacked_bytes,
-      relocations_type_ == REL ? SHT_REL : SHT_RELA, relocations_type_);
-  RewriteSectionData(relocations_section_, section_data, unpacked_bytes);
-
-  // Rewrite .dynamic to remove two tags describing packed android relocations.
-  data = GetSectionData(dynamic_section_);
-  const typename ELF::Dyn* dynamic_base = reinterpret_cast<typename ELF::Dyn*>(data->d_buf);
-  std::vector<typename ELF::Dyn> dynamics(
-      dynamic_base,
-      dynamic_base + data->d_size / sizeof(dynamics[0]));
-  {
-    typename ELF::Dyn dyn;
-    dyn.d_tag = relocations_type_ == REL ? DT_REL : DT_RELA;
-    dyn.d_un.d_ptr = section_header->sh_addr;
-    ReplaceDynamicEntry<ELF>(relocations_type_ == REL ? DT_ANDROID_REL : DT_ANDROID_RELA,
-        dyn, &dynamics);
-  }
-
-  {
-    typename ELF::Dyn dyn;
-    dyn.d_tag = relocations_type_ == REL ? DT_RELSZ : DT_RELASZ;
-    dyn.d_un.d_val = section_header->sh_size;
-    ReplaceDynamicEntry<ELF>(relocations_type_ == REL ? DT_ANDROID_RELSZ : DT_ANDROID_RELASZ,
-        dyn, &dynamics);
-  }
-
-  const void* dynamics_data = &dynamics[0];
-  const size_t dynamics_bytes = dynamics.size() * sizeof(dynamics[0]);
-  RewriteSectionData(dynamic_section_, dynamics_data, dynamics_bytes);
-
-  Flush();
-  return true;
-}
-
-// Flush rewritten shared object file data.
-template <typename ELF>
-void ElfFile<ELF>::Flush() {
-  // Flag all ELF data held in memory as needing to be written back to the
-  // file, and tell libelf that we have controlled the file layout.
-  elf_flagelf(elf_, ELF_C_SET, ELF_F_DIRTY);
-  elf_flagelf(elf_, ELF_C_SET, ELF_F_LAYOUT);
-
-  // Write ELF data back to disk.
-  const off_t file_bytes = elf_update(elf_, ELF_C_WRITE);
-  if (file_bytes == -1) {
-    LOG(ERROR) << "elf_update failed: " << elf_errmsg(elf_errno());
-  }
-
-  CHECK(file_bytes > 0);
-  VLOG(1) << "elf_update returned: " << file_bytes;
-
-  // Clean up libelf, and truncate the output file to the number of bytes
-  // written by elf_update().
-  elf_end(elf_);
-  elf_ = NULL;
-  const int truncate = ftruncate(fd_, file_bytes);
-  CHECK(truncate == 0);
-}
-
-template <typename ELF>
-void ElfFile<ELF>::ConvertRelArrayToRelaVector(const typename ELF::Rel* rel_array,
-                                               size_t rel_array_size,
-                                               std::vector<typename ELF::Rela>* rela_vector) {
-  for (size_t i = 0; i<rel_array_size; ++i) {
-    typename ELF::Rela rela;
-    rela.r_offset = rel_array[i].r_offset;
-    rela.r_info = rel_array[i].r_info;
-    rela.r_addend = 0;
-    rela_vector->push_back(rela);
-  }
-}
-
-template <typename ELF>
-void ElfFile<ELF>::ConvertRelaVectorToRelVector(const std::vector<typename ELF::Rela>& rela_vector,
-                                                std::vector<typename ELF::Rel>* rel_vector) {
-  for (auto rela : rela_vector) {
-    typename ELF::Rel rel;
-    rel.r_offset = rela.r_offset;
-    rel.r_info = rela.r_info;
-    CHECK(rela.r_addend == 0);
-    rel_vector->push_back(rel);
-  }
-}
-
-template class ElfFile<ELF32_traits>;
-template class ElfFile<ELF64_traits>;
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/elf_file.h b/tools/relocation_packer/src/elf_file.h
deleted file mode 100644
index d6acc76..0000000
--- a/tools/relocation_packer/src/elf_file.h
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// ELF shared object file updates handler.
-//
-// Provides functions to pack relocations in the .rel.dyn or .rela.dyn
-// sections, and unpack to return the file to its pre-packed state.
-//
-// SetPadding() causes PackRelocations() to pad .rel.dyn or .rela.dyn with
-// NONE-type entries rather than cutting a hole out of the shared object
-// file.  This keeps all load addresses and offsets constant, and enables
-// easier debugging and testing.
-//
-// A packed shared object file is shorter than its non-packed original.
-// Unpacking a packed file restores the file to its non-packed state.
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_ELF_FILE_H_
-#define TOOLS_RELOCATION_PACKER_SRC_ELF_FILE_H_
-
-#include <string.h>
-#include <vector>
-
-#include "elf.h"
-#include "libelf.h"
-#include "packer.h"
-
-namespace relocation_packer {
-
-// An ElfFile reads shared objects, and shuttles relative relocations
-// between .rel.dyn or .rela.dyn and .android.rel.dyn or .android.rela.dyn
-// sections.
-template <typename ELF>
-class ElfFile {
- public:
-  explicit ElfFile(int fd)
-      : fd_(fd), is_padding_relocations_(false), elf_(NULL),
-        relocations_section_(NULL), dynamic_section_(NULL),
-        relocations_type_(NONE), has_android_relocations_(false) {}
-  ~ElfFile() {}
-
-  // Set padding mode.  When padding, PackRelocations() will not shrink
-  // the .rel.dyn or .rela.dyn section, but instead replace relative with
-  // NONE-type entries.
-  // |flag| is true to pad .rel.dyn or .rela.dyn, false to shrink it.
-  inline void SetPadding(bool flag) { is_padding_relocations_ = flag; }
-
-  // Transfer relative relocations from .rel.dyn or .rela.dyn to a packed
-  // representation in .android.rel.dyn or .android.rela.dyn.  Returns true
-  // on success.
-  bool PackRelocations();
-
-  // Transfer relative relocations from a packed representation in
-  // .android.rel.dyn or .android.rela.dyn to .rel.dyn or .rela.dyn.  Returns
-  // true on success.
-  bool UnpackRelocations();
-
- private:
-  enum relocations_type_t {
-    NONE = 0, REL, RELA
-  };
-
-  // Load a new ElfFile from a filedescriptor.  If flushing, the file must
-  // be open for read/write.  Returns true on successful ELF file load.
-  // |fd| is an open file descriptor for the shared object.
-  bool Load();
-
-  // Templated packer, helper for PackRelocations().  Rel type is one of
-  // ELF::Rel or ELF::Rela.
-  bool PackTypedRelocations(std::vector<typename ELF::Rela>* relocations);
-
-  // Templated unpacker, helper for UnpackRelocations().  Rel type is one of
-  // ELF::Rel or ELF::Rela.
-  bool UnpackTypedRelocations(const std::vector<uint8_t>& packed);
-
-  // Write ELF file changes.
-  void Flush();
-
-  void AdjustRelativeRelocationTargets(typename ELF::Off hole_start,
-                                       ssize_t hole_size,
-                                       std::vector<typename ELF::Rela>* relocations);
-
-  static void ResizeSection(Elf* elf, Elf_Scn* section, size_t new_size,
-                            typename ELF::Word new_sh_type, relocations_type_t relocations_type);
-
-  static void AdjustDynamicSectionForHole(Elf_Scn* dynamic_section,
-                                          typename ELF::Off hole_start,
-                                          ssize_t hole_size,
-                                          relocations_type_t relocations_type);
-
-  static void ConvertRelArrayToRelaVector(const typename ELF::Rel* rel_array, size_t rel_array_size,
-                                          std::vector<typename ELF::Rela>* rela_vector);
-
-  static void ConvertRelaVectorToRelVector(const std::vector<typename ELF::Rela>& rela_vector,
-                                           std::vector<typename ELF::Rel>* rel_vector);
-
-
-  // File descriptor opened on the shared object.
-  int fd_;
-
-  // If set, pad rather than shrink .rel.dyn or .rela.dyn.  Primarily for
-  // debugging, allows packing to be checked without affecting load addresses.
-  bool is_padding_relocations_;
-
-  // Libelf handle, assigned by Load().
-  Elf* elf_;
-
-  // Sections that we manipulate, assigned by Load().
-  Elf_Scn* relocations_section_;
-  Elf_Scn* dynamic_section_;
-
-  // Relocation type found, assigned by Load().
-  relocations_type_t relocations_type_;
-
-  // Elf-file has android relocations section
-  bool has_android_relocations_;
-};
-
-}  // namespace relocation_packer
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_ELF_FILE_H_
diff --git a/tools/relocation_packer/src/elf_file_unittest.cc b/tools/relocation_packer/src/elf_file_unittest.cc
deleted file mode 100644
index d5c8918..0000000
--- a/tools/relocation_packer/src/elf_file_unittest.cc
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "elf_file.h"
-
-#include <limits.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string>
-#include <vector>
-#include "debug.h"
-#include "elf_traits.h"
-#include "gtest/gtest.h"
-
-namespace {
-
-void GetDataFilePath(const char* name, std::string* path) {
-  std::string data_dir;
-
-  const char* bindir = getenv("bindir");
-  if (bindir) {
-    data_dir = std::string(bindir);
-  } else {
-    char path[PATH_MAX];
-    memset(path, 0, sizeof(path));
-    ASSERT_NE(-1, readlink("/proc/self/exe", path, sizeof(path) - 1));
-
-    data_dir = std::string(path);
-    size_t pos = data_dir.rfind('/');
-    ASSERT_NE(std::string::npos, pos);
-
-    data_dir.erase(pos);
-  }
-
-  *path = data_dir + "/" + name;
-}
-
-void OpenRelocsTestFile(const char* name, FILE** stream) {
-  std::string path;
-  GetDataFilePath(name, &path);
-
-  FILE* testfile = fopen(path.c_str(), "rb");
-  ASSERT_FALSE(testfile == NULL) << "Error opening '" << path << "'";
-
-  FILE* temporary = tmpfile();
-  ASSERT_FALSE(temporary == NULL);
-
-  static const size_t buffer_size = 4096;
-  unsigned char buffer[buffer_size];
-
-  size_t bytes;
-  do {
-    bytes = fread(buffer, 1, sizeof(buffer), testfile);
-    ASSERT_EQ(bytes, fwrite(buffer, 1, bytes, temporary));
-  } while (bytes > 0);
-
-  ASSERT_EQ(0, fclose(testfile));
-  ASSERT_EQ(0, fseek(temporary, 0, SEEK_SET));
-  ASSERT_EQ(0, lseek(fileno(temporary), 0, SEEK_SET));
-
-  *stream = temporary;
-}
-
-void OpenRelocsTestFiles(const std::string& arch, FILE** relocs_so, FILE** packed_relocs_so) {
-  const std::string base = std::string("elf_file_unittest_relocs_") + arch;
-  const std::string relocs = base + ".so";
-  const std::string packed_relocs = base + "_packed.so";
-
-  OpenRelocsTestFile(relocs.c_str(), relocs_so);
-  OpenRelocsTestFile(packed_relocs.c_str(), packed_relocs_so);
-}
-
-void CloseRelocsTestFile(FILE* temporary) {
-  fclose(temporary);
-}
-
-void CloseRelocsTestFiles(FILE* relocs_so, FILE* packed_relocs_so) {
-  CloseRelocsTestFile(relocs_so);
-  CloseRelocsTestFile(packed_relocs_so);
-}
-
-void CheckFileContentsEqual(FILE* first, FILE* second) {
-  ASSERT_EQ(0, fseek(first, 0, SEEK_SET));
-  ASSERT_EQ(0, fseek(second, 0, SEEK_SET));
-
-  static const size_t buffer_size = 4096;
-  unsigned char first_buffer[buffer_size];
-  unsigned char second_buffer[buffer_size];
-
-  do {
-    size_t first_read = fread(first_buffer, 1, sizeof(first_buffer), first);
-    size_t second_read = fread(second_buffer, 1, sizeof(second_buffer), second);
-
-    EXPECT_EQ(first_read, second_read);
-    EXPECT_EQ(0, memcmp(first_buffer, second_buffer, first_read));
-  } while (!feof(first) && !feof(second));
-
-  EXPECT_TRUE(feof(first) && feof(second));
-}
-
-template <typename ELF>
-static void ProcessUnpack(FILE* relocs_so, FILE* packed_relocs_so) {
-  relocation_packer::ElfFile<ELF> elf_file(fileno(packed_relocs_so));
-
-  // Ensure packing already packed elf-file does not fail the build.
-  EXPECT_TRUE(elf_file.PackRelocations());
-
-  // Unpack golden relocations, and check files are now identical.
-  EXPECT_TRUE(elf_file.UnpackRelocations());
-  CheckFileContentsEqual(packed_relocs_so, relocs_so);
-
-  CloseRelocsTestFiles(relocs_so, packed_relocs_so);
-}
-
-static void RunUnpackRelocationsTestFor(const std::string& arch) {
-  ASSERT_NE(static_cast<uint32_t>(EV_NONE), elf_version(EV_CURRENT));
-
-  FILE* relocs_so = NULL;
-  FILE* packed_relocs_so = NULL;
-  OpenRelocsTestFiles(arch, &relocs_so, &packed_relocs_so);
-
-  if (relocs_so != NULL && packed_relocs_so != NULL) {
-    // lets detect elf class
-    ASSERT_EQ(0, fseek(relocs_so, EI_CLASS, SEEK_SET))
-        << "Invalid file length: " << strerror(errno);
-    uint8_t elf_class = 0;
-    ASSERT_EQ(1U, fread(&elf_class, 1, 1, relocs_so));
-    ASSERT_EQ(0, fseek(relocs_so, 0, SEEK_SET));
-    if (elf_class == ELFCLASS32) {
-      ProcessUnpack<ELF32_traits>(relocs_so, packed_relocs_so);
-    } else {
-      ProcessUnpack<ELF64_traits>(relocs_so, packed_relocs_so);
-    }
-  }
-}
-
-template <typename ELF>
-static void ProcessPack(FILE* relocs_so, FILE* packed_relocs_so) {
-  relocation_packer::ElfFile<ELF> elf_file(fileno(relocs_so));
-
-  // Ensure unpacking fails (not packed).
-  EXPECT_FALSE(elf_file.UnpackRelocations());
-
-  // Pack relocations, and check files are now identical.
-  EXPECT_TRUE(elf_file.PackRelocations());
-  CheckFileContentsEqual(relocs_so, packed_relocs_so);
-
-  CloseRelocsTestFiles(relocs_so, packed_relocs_so);
-}
-
-static void RunPackRelocationsTestFor(const std::string& arch) {
-  ASSERT_NE(static_cast<uint32_t>(EV_NONE), elf_version(EV_CURRENT));
-
-  FILE* relocs_so = NULL;
-  FILE* packed_relocs_so = NULL;
-  OpenRelocsTestFiles(arch, &relocs_so, &packed_relocs_so);
-
-  if (relocs_so != NULL && packed_relocs_so != NULL) {
-    // lets detect elf class
-    ASSERT_EQ(0, fseek(packed_relocs_so, EI_CLASS, SEEK_SET))
-        << "Invalid file length: " << strerror(errno);
-    uint8_t elf_class = 0;
-    ASSERT_EQ(1U, fread(&elf_class, 1, 1, packed_relocs_so));
-    fseek(packed_relocs_so, 0, SEEK_SET);
-    if (elf_class == ELFCLASS32) {
-      ProcessPack<ELF32_traits>(relocs_so, packed_relocs_so);
-    } else {
-      ProcessPack<ELF64_traits>(relocs_so, packed_relocs_so);
-    }
-  }
-}
-
-}  // namespace
-
-namespace relocation_packer {
-
-TEST(ElfFile, PackRelocationsArm32) {
-  RunPackRelocationsTestFor("arm32");
-}
-
-TEST(ElfFile, PackRelocationsArm64) {
-  RunPackRelocationsTestFor("arm64");
-}
-
-TEST(ElfFile, PackRelocationsMips32) {
-  RunPackRelocationsTestFor("mips32");
-}
-
-TEST(ElfFile, PackRelocationsIa32) {
-  RunPackRelocationsTestFor("ia32");
-}
-
-TEST(ElfFile, PackRelocationsX64) {
-  RunPackRelocationsTestFor("x64");
-}
-
-TEST(ElfFile, UnpackRelocationsArm32) {
-  RunUnpackRelocationsTestFor("arm32");
-}
-
-TEST(ElfFile, UnpackRelocationsArm64) {
-  RunUnpackRelocationsTestFor("arm64");
-}
-
-TEST(ElfFile, UnpackRelocationsMips32) {
-  RunUnpackRelocationsTestFor("mips32");
-}
-
-TEST(ElfFile, UnpackRelocationsIa32) {
-  RunUnpackRelocationsTestFor("ia32");
-}
-
-TEST(ElfFile, UnpackRelocationsX64) {
-  RunUnpackRelocationsTestFor("x64");
-}
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/elf_traits.h b/tools/relocation_packer/src/elf_traits.h
deleted file mode 100644
index 3e282b2..0000000
--- a/tools/relocation_packer/src/elf_traits.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Target-specific ELF type traits.
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_ELF_TRAITS_H_
-#define TOOLS_RELOCATION_PACKER_SRC_ELF_TRAITS_H_
-
-#include "elf.h"
-#include "libelf.h"
-
-#if !defined(DT_MIPS_RLD_MAP_REL)
-#define DT_MIPS_RLD_MAP_REL 0x70000035
-#endif
-
-// ELF is a traits structure used to provide convenient aliases for
-// 32/64 bit Elf types and functions, depending on the target file.
-
-struct ELF32_traits {
-  typedef Elf32_Addr Addr;
-  typedef Elf32_Dyn Dyn;
-  typedef Elf32_Ehdr Ehdr;
-  typedef Elf32_Off Off;
-  typedef Elf32_Phdr Phdr;
-  typedef Elf32_Rel Rel;
-  typedef Elf32_Rela Rela;
-  typedef Elf32_Shdr Shdr;
-  typedef Elf32_Sword Sword;
-  typedef Elf32_Sxword Sxword;
-  typedef Elf32_Sym Sym;
-  typedef Elf32_Word Word;
-  typedef Elf32_Xword Xword;
-  typedef Elf32_Half Half;
-
-  static inline Ehdr* getehdr(Elf* elf) { return elf32_getehdr(elf); }
-  static inline Phdr* getphdr(Elf* elf) { return elf32_getphdr(elf); }
-  static inline Shdr* getshdr(Elf_Scn* scn) { return elf32_getshdr(scn); }
-  static inline Word elf_r_type(Word info) { return ELF32_R_TYPE(info); }
-  static inline int elf_st_type(uint8_t info) { return ELF32_ST_TYPE(info); }
-  static inline Word elf_r_sym(Word info) { return ELF32_R_SYM(info); }
-};
-
-struct ELF64_traits {
-  typedef Elf64_Addr Addr;
-  typedef Elf64_Dyn Dyn;
-  typedef Elf64_Ehdr Ehdr;
-  typedef Elf64_Off Off;
-  typedef Elf64_Phdr Phdr;
-  typedef Elf64_Rel Rel;
-  typedef Elf64_Rela Rela;
-  typedef Elf64_Shdr Shdr;
-  typedef Elf64_Sword Sword;
-  typedef Elf64_Sxword Sxword;
-  typedef Elf64_Sym Sym;
-  typedef Elf64_Word Word;
-  typedef Elf64_Xword Xword;
-  typedef Elf64_Half Half;
-
-  static inline Ehdr* getehdr(Elf* elf) { return elf64_getehdr(elf); }
-  static inline Phdr* getphdr(Elf* elf) { return elf64_getphdr(elf); }
-  static inline Shdr* getshdr(Elf_Scn* scn) { return elf64_getshdr(scn); }
-  static inline Xword elf_r_type(Xword info) { return ELF64_R_TYPE(info); }
-  static inline int elf_st_type(uint8_t info) { return ELF64_ST_TYPE(info); }
-  static inline Word elf_r_sym(Xword info) { return ELF64_R_SYM(info); }
-};
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_ELF_TRAITS_H_
diff --git a/tools/relocation_packer/src/main.cc b/tools/relocation_packer/src/main.cc
deleted file mode 100644
index 1589043..0000000
--- a/tools/relocation_packer/src/main.cc
+++ /dev/null
@@ -1,150 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Tool to pack and unpack relative relocations in a shared library.
-//
-// Invoke with -v to trace actions taken when packing or unpacking.
-// Invoke with -p to pad removed relocations with R_*_NONE.  Suppresses
-// shrinking of .rel.dyn.
-// See PrintUsage() below for full usage details.
-//
-// NOTE: Breaks with libelf 0.152, which is buggy.  libelf 0.158 works.
-
-#include <errno.h>
-#include <fcntl.h>
-#include <getopt.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <string>
-
-#include "debug.h"
-#include "elf_file.h"
-#include "elf_traits.h"
-#include "libelf.h"
-
-#include <android-base/unique_fd.h>
-
-static void PrintUsage(const char* argv0) {
-  std::string temporary = argv0;
-  const size_t last_slash = temporary.find_last_of("/");
-  if (last_slash != temporary.npos) {
-    temporary.erase(0, last_slash + 1);
-  }
-  const char* basename = temporary.c_str();
-
-  printf(
-      "Usage: %s [-u] [-v] [-p] file\n\n"
-      "Pack or unpack relative relocations in a shared library.\n\n"
-      "  -u, --unpack   unpack previously packed relative relocations\n"
-      "  -v, --verbose  trace object file modifications (for debugging)\n"
-      "  -p, --pad      do not shrink relocations, but pad (for debugging)\n\n",
-      basename);
-
-  printf(
-      "Debug sections are not handled, so packing should not be used on\n"
-      "shared libraries compiled for debugging or otherwise unstripped.\n");
-}
-
-int main(int argc, char* argv[]) {
-  bool is_unpacking = false;
-  bool is_verbose = false;
-  bool is_padding = false;
-
-  static const option options[] = {
-    {"unpack", 0, 0, 'u'}, {"verbose", 0, 0, 'v'}, {"pad", 0, 0, 'p'},
-    {"help", 0, 0, 'h'}, {NULL, 0, 0, 0}
-  };
-  bool has_options = true;
-  while (has_options) {
-    int c = getopt_long(argc, argv, "uvph", options, NULL);
-    switch (c) {
-      case 'u':
-        is_unpacking = true;
-        break;
-      case 'v':
-        is_verbose = true;
-        break;
-      case 'p':
-        is_padding = true;
-        break;
-      case 'h':
-        PrintUsage(argv[0]);
-        return 0;
-      case '?':
-        LOG(INFO) << "Try '" << argv[0] << " --help' for more information.";
-        return 1;
-      case -1:
-        has_options = false;
-        break;
-      default:
-        NOTREACHED();
-        return 1;
-    }
-  }
-  if (optind != argc - 1) {
-    LOG(INFO) << "Try '" << argv[0] << " --help' for more information.";
-    return 1;
-  }
-
-  if (elf_version(EV_CURRENT) == EV_NONE) {
-    LOG(WARNING) << "Elf Library is out of date!";
-  }
-
-  const char* file = argv[argc - 1];
-  android::base::unique_fd fd(open(file, O_RDWR));
-  if (fd.get() == -1) {
-    LOG(ERROR) << file << ": " << strerror(errno);
-    return 1;
-  }
-
-  if (is_verbose)
-    relocation_packer::Logger::SetVerbose(1);
-
-  // We need to detect elf class in order to create
-  // correct implementation
-  uint8_t e_ident[EI_NIDENT];
-  if (TEMP_FAILURE_RETRY(read(fd.get(), e_ident, EI_NIDENT)) != EI_NIDENT) {
-    LOG(ERROR) << file << ": failed to read elf header:" << strerror(errno);
-    return 1;
-  }
-
-  if (TEMP_FAILURE_RETRY(lseek(fd.get(), 0, SEEK_SET)) != 0) {
-    LOG(ERROR) << file << ": lseek to 0 failed:" << strerror(errno);
-    return 1;
-  }
-
-  bool status = false;
-
-  if (e_ident[EI_CLASS] == ELFCLASS32) {
-    relocation_packer::ElfFile<ELF32_traits> elf_file(fd.get());
-    elf_file.SetPadding(is_padding);
-
-    if (is_unpacking) {
-      status = elf_file.UnpackRelocations();
-    } else {
-      status = elf_file.PackRelocations();
-    }
-  } else if (e_ident[EI_CLASS] == ELFCLASS64) {
-    relocation_packer::ElfFile<ELF64_traits> elf_file(fd.get());
-    elf_file.SetPadding(is_padding);
-
-    if (is_unpacking) {
-      status = elf_file.UnpackRelocations();
-    } else {
-      status = elf_file.PackRelocations();
-    }
-  } else {
-    LOG(ERROR) << file << ": unknown ELFCLASS: " << e_ident[EI_CLASS];
-    return 1;
-  }
-
-  if (!status) {
-    LOG(ERROR) << file << ": failed to pack/unpack file";
-    return 1;
-  }
-
-  return 0;
-}
diff --git a/tools/relocation_packer/src/packer.cc b/tools/relocation_packer/src/packer.cc
deleted file mode 100644
index 433611f..0000000
--- a/tools/relocation_packer/src/packer.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "packer.h"
-
-#include <vector>
-
-#include "debug.h"
-#include "delta_encoder.h"
-#include "elf_traits.h"
-#include "sleb128.h"
-
-namespace relocation_packer {
-
-// Pack relocations into a group encoded packed representation.
-template <typename ELF>
-void RelocationPacker<ELF>::PackRelocations(const std::vector<typename ELF::Rela>& relocations,
-                                            std::vector<uint8_t>* packed) {
-  // Run-length encode.
-  std::vector<typename ELF::Addr> packed_words;
-  RelocationDeltaCodec<ELF> codec;
-  codec.Encode(relocations, &packed_words);
-
-  // If insufficient data do nothing.
-  if (packed_words.empty())
-    return;
-
-  Sleb128Encoder<typename ELF::Addr> sleb128_encoder;
-
-  std::vector<uint8_t> sleb128_packed;
-
-  sleb128_encoder.EnqueueAll(packed_words);
-  sleb128_encoder.GetEncoding(&sleb128_packed);
-
-  packed->push_back('A');
-  packed->push_back('P');
-  packed->push_back('S');
-  packed->push_back('2');
-  packed->insert(packed->end(), sleb128_packed.begin(), sleb128_packed.end());
-}
-
-// Unpack relative relocations from a run-length encoded packed
-// representation.
-template <typename ELF>
-void RelocationPacker<ELF>::UnpackRelocations(
-    const std::vector<uint8_t>& packed,
-    std::vector<typename ELF::Rela>* relocations) {
-
-  std::vector<typename ELF::Addr> packed_words;
-  CHECK(packed.size() > 4 &&
-        packed[0] == 'A' &&
-        packed[1] == 'P' &&
-        packed[2] == 'S' &&
-        packed[3] == '2');
-
-  Sleb128Decoder<typename ELF::Addr> decoder(packed, 4);
-  decoder.DequeueAll(&packed_words);
-
-  RelocationDeltaCodec<ELF> codec;
-  codec.Decode(packed_words, relocations);
-}
-
-template class RelocationPacker<ELF32_traits>;
-template class RelocationPacker<ELF64_traits>;
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/packer.h b/tools/relocation_packer/src/packer.h
deleted file mode 100644
index 63f50e2..0000000
--- a/tools/relocation_packer/src/packer.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Pack relative relocations into a more compact form.
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_PACKER_H_
-#define TOOLS_RELOCATION_PACKER_SRC_PACKER_H_
-
-#include <stdint.h>
-#include <vector>
-
-#include "elf.h"
-
-namespace relocation_packer {
-
-// A RelocationPacker packs vectors of relocations into more
-// compact forms, and unpacks them to reproduce the pre-packed data.
-template <typename ELF>
-class RelocationPacker {
- public:
-  // Pack relocations into a more compact form.
-  // |relocations| is a vector of relocation structs.
-  // |packed| is the vector of packed bytes into which relocations are packed.
-  static void PackRelocations(const std::vector<typename ELF::Rela>& relocations,
-                              std::vector<uint8_t>* packed);
-
-  // Unpack relocations from their more compact form.
-  // |packed| is the vector of packed relocations.
-  // |relocations| is a vector of unpacked relocation structs.
-  static void UnpackRelocations(const std::vector<uint8_t>& packed,
-                                std::vector<typename ELF::Rela>* relocations);
-};
-
-}  // namespace relocation_packer
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_PACKER_H_
diff --git a/tools/relocation_packer/src/packer_unittest.cc b/tools/relocation_packer/src/packer_unittest.cc
deleted file mode 100644
index 424b92c..0000000
--- a/tools/relocation_packer/src/packer_unittest.cc
+++ /dev/null
@@ -1,300 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "packer.h"
-
-#include <vector>
-#include "elf.h"
-#include "elf_traits.h"
-#include "gtest/gtest.h"
-
-
-template <typename ELF>
-static void AddRelocation(typename ELF::Addr addr,
-                   typename ELF::Xword info,
-                   typename ELF::Sxword addend,
-                   std::vector<typename ELF::Rela>* relocations) {
-  typename ELF::Rela relocation;
-  relocation.r_offset = addr;
-  relocation.r_info = info;
-  relocation.r_addend = addend;
-
-  relocations->push_back(relocation);
-}
-
-template <typename ELF>
-static bool CheckRelocation(typename ELF::Addr addr,
-                     typename ELF::Xword info,
-                     typename ELF::Sxword addend,
-                     const typename ELF::Rela& relocation) {
-  return relocation.r_offset == addr &&
-      relocation.r_info == info &&
-      relocation.r_addend == addend;
-}
-
-namespace relocation_packer {
-
-template <typename ELF>
-static void DoPackNoAddend() {
-  std::vector<typename ELF::Rela> relocations;
-  std::vector<uint8_t> packed;
-  bool is_32 = sizeof(typename ELF::Addr) == 4;
-  // Initial relocation.
-  AddRelocation<ELF>(0xd1ce0000, 0x11, 0, &relocations);
-  // Two more relocations, 4 byte deltas.
-  AddRelocation<ELF>(0xd1ce0004, 0x11, 0, &relocations);
-  AddRelocation<ELF>(0xd1ce0008, 0x11, 0, &relocations);
-  // Three more relocations, 8 byte deltas.
-  AddRelocation<ELF>(0xd1ce0010, 0x11, 0, &relocations);
-  AddRelocation<ELF>(0xd1ce0018, 0x11, 0, &relocations);
-  AddRelocation<ELF>(0xd1ce0020, 0x11, 0, &relocations);
-
-  RelocationPacker<ELF> packer;
-
-  packed.clear();
-  packer.PackRelocations(relocations, &packed);
-
-  ASSERT_EQ(18U, packed.size());
-  // Identifier.
-  size_t ndx = 0;
-  EXPECT_EQ('A', packed[ndx++]);
-  EXPECT_EQ('P', packed[ndx++]);
-  EXPECT_EQ('S', packed[ndx++]);
-  EXPECT_EQ('2', packed[ndx++]);
-  // relocation count
-  EXPECT_EQ(6, packed[ndx++]);
-  // base relocation = 0xd1cdfffc -> fc, ff, b7, 8e, 7d/0d (32/64bit)
-  EXPECT_EQ(0xfc, packed[ndx++]);
-  EXPECT_EQ(0xff, packed[ndx++]);
-  EXPECT_EQ(0xb7, packed[ndx++]);
-  EXPECT_EQ(0x8e, packed[ndx++]);
-  EXPECT_EQ(is_32 ? 0x7d : 0x0d, packed[ndx++]);
-  // first group
-  EXPECT_EQ(3, packed[ndx++]);  // size
-  EXPECT_EQ(3, packed[ndx++]); // flags
-  EXPECT_EQ(4, packed[ndx++]); // r_offset_delta
-  EXPECT_EQ(0x11, packed[ndx++]); // r_info
-  // second group
-  EXPECT_EQ(3, packed[ndx++]);  // size
-  EXPECT_EQ(3, packed[ndx++]); // flags
-  EXPECT_EQ(8, packed[ndx++]); // r_offset_delta
-  EXPECT_EQ(0x11, packed[ndx++]); // r_info
-
-  EXPECT_EQ(ndx, packed.size());
-}
-
-TEST(Packer, PackNoAddend32) {
-  DoPackNoAddend<ELF32_traits>();
-}
-
-TEST(Packer, PackNoAddend64) {
-  DoPackNoAddend<ELF64_traits>();
-}
-
-template <typename ELF>
-static void DoUnpackNoAddend() {
-  std::vector<typename ELF::Rela> relocations;
-  std::vector<uint8_t> packed;
-  bool is_32 = sizeof(typename ELF::Addr) == 4;
-  packed.push_back('A');
-  packed.push_back('P');
-  packed.push_back('S');
-  packed.push_back('2');
-  // relocation count
-  packed.push_back(6);
-  // base relocation = 0xd1cdfffc -> fc, ff, b7, 8e, 7d/0d (32/64bit)
-  packed.push_back(0xfc);
-  packed.push_back(0xff);
-  packed.push_back(0xb7);
-  packed.push_back(0x8e);
-  packed.push_back(is_32 ? 0x7d : 0x0d);
-  // first group
-  packed.push_back(3);  // size
-  packed.push_back(3); // flags
-  packed.push_back(4); // r_offset_delta
-  packed.push_back(0x11); // r_info
-  // second group
-  packed.push_back(3);  // size
-  packed.push_back(3); // flags
-  packed.push_back(8); // r_offset_delta
-  packed.push_back(0x11); // r_info
-
-  RelocationPacker<ELF> packer;
-  packer.UnpackRelocations(packed, &relocations);
-
-  size_t ndx = 0;
-  EXPECT_EQ(6U, relocations.size());
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0000, 0x11, 0, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0004, 0x11, 0, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0008, 0x11, 0, relocations[ndx++]));
-
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0010, 0x11, 0, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0018, 0x11, 0, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0020, 0x11, 0, relocations[ndx++]));
-
-  EXPECT_EQ(ndx, relocations.size());
-}
-
-TEST(Packer, UnpackNoAddend32) {
-  DoUnpackNoAddend<ELF32_traits>();
-}
-
-TEST(Packer, UnpackNoAddend64) {
-  DoUnpackNoAddend<ELF64_traits>();
-}
-
-template <typename ELF>
-static void DoPackWithAddend() {
-  std::vector<typename ELF::Rela> relocations;
-
-  // Initial relocation.
-  AddRelocation<ELF>(0xd1ce0000, 0x01, 10024, &relocations);
-  // Two more relocations, 4 byte offset deltas, 12 byte addend deltas.
-  AddRelocation<ELF>(0xd1ce0004, 0x01, 10012, &relocations);
-  AddRelocation<ELF>(0xd1ce0008, 0x01, 10024, &relocations);
-  // Three more relocations, 8 byte deltas, -24 byte addend deltas.
-  AddRelocation<ELF>(0xd1ce0010, 0x01, 10000, &relocations);
-  AddRelocation<ELF>(0xd1ce0018, 0x01, 9976, &relocations);
-  AddRelocation<ELF>(0xd1ce0020, 0x01, 9952, &relocations);
-
-  std::vector<uint8_t> packed;
-
-  RelocationPacker<ELF> packer;
-
-  packed.clear();
-  packer.PackRelocations(relocations, &packed);
-
-  EXPECT_EQ(26U, packed.size());
-  size_t ndx = 0;
-  // Identifier.
-  EXPECT_EQ('A', packed[ndx++]);
-  EXPECT_EQ('P', packed[ndx++]);
-  EXPECT_EQ('S', packed[ndx++]);
-  EXPECT_EQ('2', packed[ndx++]);
-  // Relocation count
-  EXPECT_EQ(6U, packed[ndx++]);
-  // base relocation = 0xd1cdfffc -> fc, ff, b7, 8e, 0d/7d (depending on ELF::Addr)
-  EXPECT_EQ(0xfc, packed[ndx++]);
-  EXPECT_EQ(0xff, packed[ndx++]);
-  EXPECT_EQ(0xb7, packed[ndx++]);
-  EXPECT_EQ(0x8e, packed[ndx++]);
-  if (sizeof(typename ELF::Addr) == 8) {
-    // positive for uint64_t
-    EXPECT_EQ(0x0d, packed[ndx++]);
-  } else {
-    // negative for uint32_t
-    EXPECT_EQ(0x7d, packed[ndx++]);
-  }
-  // group 1
-  EXPECT_EQ(0x03, packed[ndx++]); // size
-  EXPECT_EQ(0x0b, packed[ndx++]); // flags
-  EXPECT_EQ(0x04, packed[ndx++]); // r_offset_delta
-  EXPECT_EQ(0x01, packed[ndx++]); // r_info
-  // group 1 - addend 1: 10024 = 0xa8, 0xce, 0x80
-  EXPECT_EQ(0xa8, packed[ndx++]);
-  EXPECT_EQ(0xce, packed[ndx++]);
-  EXPECT_EQ(0x00, packed[ndx++]);
-  // group 1 - addend 2: -12 = 0x74
-  EXPECT_EQ(0x74, packed[ndx++]);
-  // group 1 - addend 3: +12 = 0x0c
-  EXPECT_EQ(0x0c, packed[ndx++]);
-
-  // group 2
-  EXPECT_EQ(0x03, packed[ndx++]); // size
-  EXPECT_EQ(0x0b, packed[ndx++]); // flags
-  EXPECT_EQ(0x08, packed[ndx++]); // r_offset_delta
-  EXPECT_EQ(0x01, packed[ndx++]); // r_info
-
-  // group 2 - addend 1: -24 = 0x68
-  EXPECT_EQ(0x68, packed[ndx++]);
-  // group 2 - addend 2: -24 = 0x68
-  EXPECT_EQ(0x68, packed[ndx++]);
-  // group 2 - addend 3: -24 = 0x68
-  EXPECT_EQ(0x68, packed[ndx++]);
-
-  EXPECT_EQ(ndx, packed.size());
-}
-
-TEST(Packer, PackWithAddend) {
-  DoPackWithAddend<ELF32_traits>();
-  DoPackWithAddend<ELF64_traits>();
-}
-
-template <typename ELF>
-static void DoUnpackWithAddend() {
-  std::vector<uint8_t> packed;
-  // Identifier.
-  packed.push_back('A');
-  packed.push_back('P');
-  packed.push_back('S');
-  packed.push_back('2');
-  // Relocation count
-  packed.push_back(6U);
-  // base relocation = 0xd1cdfffc -> fc, ff, b7, 8e, 0d
-  packed.push_back(0xfc);
-  packed.push_back(0xff);
-  packed.push_back(0xb7);
-  packed.push_back(0x8e);
-  if (sizeof(typename ELF::Addr) == 8) {
-    // positive for uint64_t
-    packed.push_back(0x0d);
-  } else {
-    // negative for uint32_t
-    packed.push_back(0x7d);
-  }
-  // group 1
-  packed.push_back(0x03); // size
-  packed.push_back(0x0b); // flags
-  packed.push_back(0x04); // r_offset_delta
-  packed.push_back(0x01); // r_info
-  // group 1 - addend 1: 10024 = 0xa8, 0xce, 0x80
-  packed.push_back(0xa8);
-  packed.push_back(0xce);
-  packed.push_back(0x00);
-  // group 1 - addend 2: -12 = 0x74
-  packed.push_back(0x74);
-  // group 1 - addend 3: +12 = 0x0c
-  packed.push_back(0x0c);
-
-  // group 2
-  packed.push_back(0x03); // size
-  packed.push_back(0x0b); // flags
-  packed.push_back(0x08); // r_offset_delta
-  packed.push_back(0x01); // r_info
-
-  // group 2 - addend 1: -24 = 0x68
-  packed.push_back(0x68);
-  // group 2 - addend 2: -24 = 0x68
-  packed.push_back(0x68);
-  // group 2 - addend 3: -24 = 0x68
-  packed.push_back(0x68);
-
-  std::vector<typename ELF::Rela> relocations;
-
-  RelocationPacker<ELF> packer;
-
-  relocations.clear();
-  packer.UnpackRelocations(packed, &relocations);
-
-  EXPECT_EQ(6U, relocations.size());
-  size_t ndx = 0;
-  // Initial relocation.
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0000, 0x01, 10024, relocations[ndx++]));
-  // Two more relocations, 4 byte offset deltas, 12 byte addend deltas.
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0004, 0x01, 10012, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0008, 0x01, 10024, relocations[ndx++]));
-  // Three more relocations, 8 byte offset deltas, -24 byte addend deltas.
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0010, 0x01, 10000, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0018, 0x01, 9976, relocations[ndx++]));
-  EXPECT_TRUE(CheckRelocation<ELF>(0xd1ce0020, 0x01, 9952, relocations[ndx++]));
-
-  EXPECT_EQ(ndx, relocations.size());
-}
-
-TEST(Packer, UnpackWithAddend) {
-  DoUnpackWithAddend<ELF32_traits>();
-  DoUnpackWithAddend<ELF64_traits>();
-}
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/sleb128.cc b/tools/relocation_packer/src/sleb128.cc
deleted file mode 100644
index 12c21e3..0000000
--- a/tools/relocation_packer/src/sleb128.cc
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "sleb128.h"
-
-#include <limits.h>
-#include <stdint.h>
-#include <vector>
-
-#include "elf_traits.h"
-
-namespace {
-
-template <typename T>
-class uint_traits {};
-
-template <>
-class uint_traits<uint64_t> {
- public:
-  typedef int64_t int_t;
-};
-
-template <>
-class uint_traits<uint32_t> {
- public:
-  typedef int32_t int_t;
-};
-
-}
-
-namespace relocation_packer {
-
-// Empty constructor and destructor to silence chromium-style.
-template <typename uint_t>
-Sleb128Encoder<uint_t>::Sleb128Encoder() { }
-
-template <typename uint_t>
-Sleb128Encoder<uint_t>::~Sleb128Encoder() { }
-
-// Add a single value to the encoding.  Values are encoded with variable
-// length.  The least significant 7 bits of each byte hold 7 bits of data,
-// and the most significant bit is set on each byte except the last.  The
-// value is sign extended up to a multiple of 7 bits (ensuring that the
-// most significant bit is zero for a positive number and one for a
-// negative number).
-template <typename uint_t>
-void Sleb128Encoder<uint_t>::Enqueue(uint_t value) {
-  typedef typename uint_traits<uint_t>::int_t int_t;
-  static const size_t size = CHAR_BIT * sizeof(value);
-
-  bool more = true;
-  const bool negative = static_cast<int_t>(value) < 0;
-
-  while (more) {
-    uint8_t byte = value & 127;
-    value >>= 7;
-
-    // Sign extend if encoding a -ve value.
-    if (negative)
-      value |= -(static_cast<uint_t>(1) << (size - 7));
-
-    // The sign bit of byte is second high order bit.
-    const bool sign_bit = byte & 64;
-    if ((value == 0 && !sign_bit) || (value == static_cast<uint_t>(-1) && sign_bit))
-      more = false;
-    else
-      byte |= 128;
-    encoding_.push_back(byte);
-  }
-}
-
-// Add a vector of values to the encoding.
-template <typename uint_t>
-void Sleb128Encoder<uint_t>::EnqueueAll(const std::vector<uint_t>& values) {
-  for (size_t i = 0; i < values.size(); ++i) {
-    Enqueue(values[i]);
-  }
-}
-
-// Create a new decoder for the given encoded stream.
-template <typename uint_t>
-Sleb128Decoder<uint_t>::Sleb128Decoder(const std::vector<uint8_t>& encoding, size_t start_with) {
-  encoding_ = encoding;
-  cursor_ = start_with;
-}
-
-// Empty destructor to silence chromium-style.
-template <typename uint_t>
-Sleb128Decoder<uint_t>::~Sleb128Decoder() { }
-
-// Decode and retrieve a single value from the encoding.  Consume bytes
-// until one without its most significant bit is found, and re-form the
-// value from the 7 bit fields of the bytes consumed.
-template <typename uint_t>
-uint_t Sleb128Decoder<uint_t>::Dequeue() {
-  uint_t value = 0;
-  static const size_t size = CHAR_BIT * sizeof(value);
-
-  size_t shift = 0;
-  uint8_t byte;
-
-  // Loop until we reach a byte with its high order bit clear.
-  do {
-    byte = encoding_[cursor_++];
-    value |= (static_cast<uint_t>(byte & 127) << shift);
-    shift += 7;
-  } while (byte & 128);
-
-  // The sign bit is second high order bit of the final byte decoded.
-  // Sign extend if value is -ve and we did not shift all of it.
-  if (shift < size && (byte & 64))
-    value |= -(static_cast<uint_t>(1) << shift);
-
-  return static_cast<uint_t>(value);
-}
-
-// Decode and retrieve all remaining values from the encoding.
-template <typename uint_t>
-void Sleb128Decoder<uint_t>::DequeueAll(std::vector<uint_t>* values) {
-  while (cursor_ < encoding_.size()) {
-    values->push_back(Dequeue());
-  }
-}
-
-template class Sleb128Encoder<uint32_t>;
-template class Sleb128Encoder<uint64_t>;
-template class Sleb128Decoder<uint32_t>;
-template class Sleb128Decoder<uint64_t>;
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/src/sleb128.h b/tools/relocation_packer/src/sleb128.h
deleted file mode 100644
index 3a63f66..0000000
--- a/tools/relocation_packer/src/sleb128.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// SLEB128 encoder and decoder for packed relative relocations.
-//
-// Packed relocations consist of a large number of relatively small
-// integer values.  Encoding these as LEB128 saves space.
-//
-// For more on LEB128 see http://en.wikipedia.org/wiki/LEB128.
-
-#ifndef TOOLS_RELOCATION_PACKER_SRC_SLEB128_H_
-#define TOOLS_RELOCATION_PACKER_SRC_SLEB128_H_
-
-#include <stdint.h>
-#include <unistd.h>
-#include <vector>
-
-#include "elf_traits.h"
-
-namespace relocation_packer {
-
-// Encode packed words as a signed LEB128 byte stream.
-template<typename int_t>
-class Sleb128Encoder {
- public:
-  // Explicit (but empty) constructor and destructor, for chromium-style.
-  Sleb128Encoder();
-  ~Sleb128Encoder();
-
-  // Add a value to the encoding stream.
-  // |value| is the signed int to add.
-  void Enqueue(int_t value);
-
-  // Add a vector of values to the encoding stream.
-  // |values| is the vector of signed ints to add.
-  void EnqueueAll(const std::vector<int_t>& values);
-
-  // Retrieve the encoded representation of the values.
-  // |encoding| is the returned vector of encoded data.
-  void GetEncoding(std::vector<uint8_t>* encoding) { *encoding = encoding_; }
-
- private:
-  // Growable vector holding the encoded LEB128 stream.
-  std::vector<uint8_t> encoding_;
-};
-
-// Decode a LEB128 byte stream to produce packed words.
-template <typename int_t>
-class Sleb128Decoder {
- public:
-  // Create a new decoder for the given encoded stream.
-  // |encoding| is the vector of encoded data.
-  explicit Sleb128Decoder(const std::vector<uint8_t>& encoding, size_t start_with);
-
-  // Explicit (but empty) destructor, for chromium-style.
-  ~Sleb128Decoder();
-
-  // Retrieve the next value from the encoded stream.
-  int_t Dequeue();
-
-  // Retrieve all remaining values from the encoded stream.
-  // |values| is the vector of decoded data.
-  void DequeueAll(std::vector<int_t>* values);
-
- private:
-  // Encoded LEB128 stream.
-  std::vector<uint8_t> encoding_;
-
-  // Cursor indicating the current stream retrieval point.
-  size_t cursor_;
-};
-
-}  // namespace relocation_packer
-
-#endif  // TOOLS_RELOCATION_PACKER_SRC_SLEB128_H_
diff --git a/tools/relocation_packer/src/sleb128_unittest.cc b/tools/relocation_packer/src/sleb128_unittest.cc
deleted file mode 100644
index 49a553c..0000000
--- a/tools/relocation_packer/src/sleb128_unittest.cc
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "sleb128.h"
-
-#include <vector>
-#include "elf_traits.h"
-#include "gtest/gtest.h"
-
-namespace relocation_packer {
-
-TEST(Sleb128, Encoder64) {
-  std::vector<uint64_t> values;
-  values.push_back(624485U);
-  values.push_back(0U);
-  values.push_back(1U);
-  values.push_back(63U);
-  values.push_back(64U);
-  values.push_back(static_cast<uint64_t>(-1));
-  values.push_back(static_cast<uint64_t>(-624485));
-
-  Sleb128Encoder<uint64_t> encoder;
-  encoder.EnqueueAll(values);
-
-  encoder.Enqueue(2147483647U);
-  encoder.Enqueue(static_cast<uint64_t>(-2147483648));
-  encoder.Enqueue(9223372036854775807ULL);
-  encoder.Enqueue(static_cast<uint64_t>(-9223372036854775807LL - 1));
-
-  std::vector<uint8_t> encoding;
-  encoder.GetEncoding(&encoding);
-
-  EXPECT_EQ(42u, encoding.size());
-  // 624485
-  EXPECT_EQ(0xe5, encoding[0]);
-  EXPECT_EQ(0x8e, encoding[1]);
-  EXPECT_EQ(0x26, encoding[2]);
-  // 0
-  EXPECT_EQ(0x00, encoding[3]);
-  // 1
-  EXPECT_EQ(0x01, encoding[4]);
-  // 63
-  EXPECT_EQ(0x3f, encoding[5]);
-  // 64
-  EXPECT_EQ(0xc0, encoding[6]);
-  EXPECT_EQ(0x00, encoding[7]);
-  // -1
-  EXPECT_EQ(0x7f, encoding[8]);
-  // -624485
-  EXPECT_EQ(0x9b, encoding[9]);
-  EXPECT_EQ(0xf1, encoding[10]);
-  EXPECT_EQ(0x59, encoding[11]);
-  // 2147483647
-  EXPECT_EQ(0xff, encoding[12]);
-  EXPECT_EQ(0xff, encoding[13]);
-  EXPECT_EQ(0xff, encoding[14]);
-  EXPECT_EQ(0xff, encoding[15]);
-  EXPECT_EQ(0x07, encoding[16]);
-  // -2147483648
-  EXPECT_EQ(0x80, encoding[17]);
-  EXPECT_EQ(0x80, encoding[18]);
-  EXPECT_EQ(0x80, encoding[19]);
-  EXPECT_EQ(0x80, encoding[20]);
-  EXPECT_EQ(0x78, encoding[21]);
-  // 9223372036854775807
-  EXPECT_EQ(0xff, encoding[22]);
-  EXPECT_EQ(0xff, encoding[23]);
-  EXPECT_EQ(0xff, encoding[24]);
-  EXPECT_EQ(0xff, encoding[25]);
-  EXPECT_EQ(0xff, encoding[26]);
-  EXPECT_EQ(0xff, encoding[27]);
-  EXPECT_EQ(0xff, encoding[28]);
-  EXPECT_EQ(0xff, encoding[29]);
-  EXPECT_EQ(0xff, encoding[30]);
-  EXPECT_EQ(0x00, encoding[31]);
-  // -9223372036854775808
-  EXPECT_EQ(0x80, encoding[32]);
-  EXPECT_EQ(0x80, encoding[33]);
-  EXPECT_EQ(0x80, encoding[34]);
-  EXPECT_EQ(0x80, encoding[35]);
-  EXPECT_EQ(0x80, encoding[36]);
-  EXPECT_EQ(0x80, encoding[37]);
-  EXPECT_EQ(0x80, encoding[38]);
-  EXPECT_EQ(0x80, encoding[39]);
-  EXPECT_EQ(0x80, encoding[40]);
-  EXPECT_EQ(0x7f, encoding[41]);
-}
-
-TEST(Sleb128, Decoder) {
-  std::vector<uint8_t> encoding;
-  // 624485
-  encoding.push_back(0xe5);
-  encoding.push_back(0x8e);
-  encoding.push_back(0x26);
-  // 0
-  encoding.push_back(0x00);
-  // 1
-  encoding.push_back(0x01);
-  // 63
-  encoding.push_back(0x3f);
-  // 64
-  encoding.push_back(0xc0);
-  encoding.push_back(0x00);
-  // -1
-  encoding.push_back(0x7f);
-  // -624485
-  encoding.push_back(0x9b);
-  encoding.push_back(0xf1);
-  encoding.push_back(0x59);
-  // 2147483647
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0x07);
-  // -2147483648
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x78);
-  // 9223372036854775807
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0xff);
-  encoding.push_back(0x00);
-  // -9223372036854775808
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x80);
-  encoding.push_back(0x7f);
-
-  Sleb128Decoder<uint64_t> decoder(encoding, 0);
-
-  EXPECT_EQ(624485U, decoder.Dequeue());
-
-  std::vector<uint64_t> dequeued;
-  decoder.DequeueAll(&dequeued);
-
-  EXPECT_EQ(10U, dequeued.size());
-  EXPECT_EQ(0U, dequeued[0]);
-  EXPECT_EQ(1U, dequeued[1]);
-  EXPECT_EQ(63U, dequeued[2]);
-  EXPECT_EQ(64U, dequeued[3]);
-  EXPECT_EQ(static_cast<uint64_t>(-1), dequeued[4]);
-  EXPECT_EQ(static_cast<uint64_t>(-624485), dequeued[5]);
-  EXPECT_EQ(2147483647U, dequeued[6]);
-  EXPECT_EQ(static_cast<uint64_t>(-2147483648), dequeued[7]);
-  EXPECT_EQ(9223372036854775807ULL, dequeued[8]);
-  EXPECT_EQ(static_cast<uint64_t>(-9223372036854775807LL - 1), dequeued[9]);
-}
-
-}  // namespace relocation_packer
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs.cc b/tools/relocation_packer/test_data/elf_file_unittest_relocs.cc
deleted file mode 100644
index 5e1fa74..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs.cc
+++ /dev/null
@@ -1,1014 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Test data for packing/unpacking.  When compiled, creates a run of
-// relative relocations.
-//
-// See generate_elf_file_unittest_relocs.sh for instructions on how to build
-// unit test data from this source file.
-
-const int i = 0;
-
-// Generator:
-// python -c 'for i in xrange(0,1000):print"const void* pointer_%d = &i;"%i'
-const void* pointer_0 = &i;
-const void* pointer_1 = &i;
-const void* pointer_2 = &i;
-const void* pointer_3 = &i;
-const void* pointer_4 = &i;
-const void* pointer_5 = &i;
-const void* pointer_6 = &i;
-const void* pointer_7 = &i;
-const void* pointer_8 = &i;
-const void* pointer_9 = &i;
-const void* pointer_10 = &i;
-const void* pointer_11 = &i;
-const void* pointer_12 = &i;
-const void* pointer_13 = &i;
-const void* pointer_14 = &i;
-const void* pointer_15 = &i;
-const void* pointer_16 = &i;
-const void* pointer_17 = &i;
-const void* pointer_18 = &i;
-const void* pointer_19 = &i;
-const void* pointer_20 = &i;
-const void* pointer_21 = &i;
-const void* pointer_22 = &i;
-const void* pointer_23 = &i;
-const void* pointer_24 = &i;
-const void* pointer_25 = &i;
-const void* pointer_26 = &i;
-const void* pointer_27 = &i;
-const void* pointer_28 = &i;
-const void* pointer_29 = &i;
-const void* pointer_30 = &i;
-const void* pointer_31 = &i;
-const void* pointer_32 = &i;
-const void* pointer_33 = &i;
-const void* pointer_34 = &i;
-const void* pointer_35 = &i;
-const void* pointer_36 = &i;
-const void* pointer_37 = &i;
-const void* pointer_38 = &i;
-const void* pointer_39 = &i;
-const void* pointer_40 = &i;
-const void* pointer_41 = &i;
-const void* pointer_42 = &i;
-const void* pointer_43 = &i;
-const void* pointer_44 = &i;
-const void* pointer_45 = &i;
-const void* pointer_46 = &i;
-const void* pointer_47 = &i;
-const void* pointer_48 = &i;
-const void* pointer_49 = &i;
-const void* pointer_50 = &i;
-const void* pointer_51 = &i;
-const void* pointer_52 = &i;
-const void* pointer_53 = &i;
-const void* pointer_54 = &i;
-const void* pointer_55 = &i;
-const void* pointer_56 = &i;
-const void* pointer_57 = &i;
-const void* pointer_58 = &i;
-const void* pointer_59 = &i;
-const void* pointer_60 = &i;
-const void* pointer_61 = &i;
-const void* pointer_62 = &i;
-const void* pointer_63 = &i;
-const void* pointer_64 = &i;
-const void* pointer_65 = &i;
-const void* pointer_66 = &i;
-const void* pointer_67 = &i;
-const void* pointer_68 = &i;
-const void* pointer_69 = &i;
-const void* pointer_70 = &i;
-const void* pointer_71 = &i;
-const void* pointer_72 = &i;
-const void* pointer_73 = &i;
-const void* pointer_74 = &i;
-const void* pointer_75 = &i;
-const void* pointer_76 = &i;
-const void* pointer_77 = &i;
-const void* pointer_78 = &i;
-const void* pointer_79 = &i;
-const void* pointer_80 = &i;
-const void* pointer_81 = &i;
-const void* pointer_82 = &i;
-const void* pointer_83 = &i;
-const void* pointer_84 = &i;
-const void* pointer_85 = &i;
-const void* pointer_86 = &i;
-const void* pointer_87 = &i;
-const void* pointer_88 = &i;
-const void* pointer_89 = &i;
-const void* pointer_90 = &i;
-const void* pointer_91 = &i;
-const void* pointer_92 = &i;
-const void* pointer_93 = &i;
-const void* pointer_94 = &i;
-const void* pointer_95 = &i;
-const void* pointer_96 = &i;
-const void* pointer_97 = &i;
-const void* pointer_98 = &i;
-const void* pointer_99 = &i;
-const void* pointer_100 = &i;
-const void* pointer_101 = &i;
-const void* pointer_102 = &i;
-const void* pointer_103 = &i;
-const void* pointer_104 = &i;
-const void* pointer_105 = &i;
-const void* pointer_106 = &i;
-const void* pointer_107 = &i;
-const void* pointer_108 = &i;
-const void* pointer_109 = &i;
-const void* pointer_110 = &i;
-const void* pointer_111 = &i;
-const void* pointer_112 = &i;
-const void* pointer_113 = &i;
-const void* pointer_114 = &i;
-const void* pointer_115 = &i;
-const void* pointer_116 = &i;
-const void* pointer_117 = &i;
-const void* pointer_118 = &i;
-const void* pointer_119 = &i;
-const void* pointer_120 = &i;
-const void* pointer_121 = &i;
-const void* pointer_122 = &i;
-const void* pointer_123 = &i;
-const void* pointer_124 = &i;
-const void* pointer_125 = &i;
-const void* pointer_126 = &i;
-const void* pointer_127 = &i;
-const void* pointer_128 = &i;
-const void* pointer_129 = &i;
-const void* pointer_130 = &i;
-const void* pointer_131 = &i;
-const void* pointer_132 = &i;
-const void* pointer_133 = &i;
-const void* pointer_134 = &i;
-const void* pointer_135 = &i;
-const void* pointer_136 = &i;
-const void* pointer_137 = &i;
-const void* pointer_138 = &i;
-const void* pointer_139 = &i;
-const void* pointer_140 = &i;
-const void* pointer_141 = &i;
-const void* pointer_142 = &i;
-const void* pointer_143 = &i;
-const void* pointer_144 = &i;
-const void* pointer_145 = &i;
-const void* pointer_146 = &i;
-const void* pointer_147 = &i;
-const void* pointer_148 = &i;
-const void* pointer_149 = &i;
-const void* pointer_150 = &i;
-const void* pointer_151 = &i;
-const void* pointer_152 = &i;
-const void* pointer_153 = &i;
-const void* pointer_154 = &i;
-const void* pointer_155 = &i;
-const void* pointer_156 = &i;
-const void* pointer_157 = &i;
-const void* pointer_158 = &i;
-const void* pointer_159 = &i;
-const void* pointer_160 = &i;
-const void* pointer_161 = &i;
-const void* pointer_162 = &i;
-const void* pointer_163 = &i;
-const void* pointer_164 = &i;
-const void* pointer_165 = &i;
-const void* pointer_166 = &i;
-const void* pointer_167 = &i;
-const void* pointer_168 = &i;
-const void* pointer_169 = &i;
-const void* pointer_170 = &i;
-const void* pointer_171 = &i;
-const void* pointer_172 = &i;
-const void* pointer_173 = &i;
-const void* pointer_174 = &i;
-const void* pointer_175 = &i;
-const void* pointer_176 = &i;
-const void* pointer_177 = &i;
-const void* pointer_178 = &i;
-const void* pointer_179 = &i;
-const void* pointer_180 = &i;
-const void* pointer_181 = &i;
-const void* pointer_182 = &i;
-const void* pointer_183 = &i;
-const void* pointer_184 = &i;
-const void* pointer_185 = &i;
-const void* pointer_186 = &i;
-const void* pointer_187 = &i;
-const void* pointer_188 = &i;
-const void* pointer_189 = &i;
-const void* pointer_190 = &i;
-const void* pointer_191 = &i;
-const void* pointer_192 = &i;
-const void* pointer_193 = &i;
-const void* pointer_194 = &i;
-const void* pointer_195 = &i;
-const void* pointer_196 = &i;
-const void* pointer_197 = &i;
-const void* pointer_198 = &i;
-const void* pointer_199 = &i;
-const void* pointer_200 = &i;
-const void* pointer_201 = &i;
-const void* pointer_202 = &i;
-const void* pointer_203 = &i;
-const void* pointer_204 = &i;
-const void* pointer_205 = &i;
-const void* pointer_206 = &i;
-const void* pointer_207 = &i;
-const void* pointer_208 = &i;
-const void* pointer_209 = &i;
-const void* pointer_210 = &i;
-const void* pointer_211 = &i;
-const void* pointer_212 = &i;
-const void* pointer_213 = &i;
-const void* pointer_214 = &i;
-const void* pointer_215 = &i;
-const void* pointer_216 = &i;
-const void* pointer_217 = &i;
-const void* pointer_218 = &i;
-const void* pointer_219 = &i;
-const void* pointer_220 = &i;
-const void* pointer_221 = &i;
-const void* pointer_222 = &i;
-const void* pointer_223 = &i;
-const void* pointer_224 = &i;
-const void* pointer_225 = &i;
-const void* pointer_226 = &i;
-const void* pointer_227 = &i;
-const void* pointer_228 = &i;
-const void* pointer_229 = &i;
-const void* pointer_230 = &i;
-const void* pointer_231 = &i;
-const void* pointer_232 = &i;
-const void* pointer_233 = &i;
-const void* pointer_234 = &i;
-const void* pointer_235 = &i;
-const void* pointer_236 = &i;
-const void* pointer_237 = &i;
-const void* pointer_238 = &i;
-const void* pointer_239 = &i;
-const void* pointer_240 = &i;
-const void* pointer_241 = &i;
-const void* pointer_242 = &i;
-const void* pointer_243 = &i;
-const void* pointer_244 = &i;
-const void* pointer_245 = &i;
-const void* pointer_246 = &i;
-const void* pointer_247 = &i;
-const void* pointer_248 = &i;
-const void* pointer_249 = &i;
-const void* pointer_250 = &i;
-const void* pointer_251 = &i;
-const void* pointer_252 = &i;
-const void* pointer_253 = &i;
-const void* pointer_254 = &i;
-const void* pointer_255 = &i;
-const void* pointer_256 = &i;
-const void* pointer_257 = &i;
-const void* pointer_258 = &i;
-const void* pointer_259 = &i;
-const void* pointer_260 = &i;
-const void* pointer_261 = &i;
-const void* pointer_262 = &i;
-const void* pointer_263 = &i;
-const void* pointer_264 = &i;
-const void* pointer_265 = &i;
-const void* pointer_266 = &i;
-const void* pointer_267 = &i;
-const void* pointer_268 = &i;
-const void* pointer_269 = &i;
-const void* pointer_270 = &i;
-const void* pointer_271 = &i;
-const void* pointer_272 = &i;
-const void* pointer_273 = &i;
-const void* pointer_274 = &i;
-const void* pointer_275 = &i;
-const void* pointer_276 = &i;
-const void* pointer_277 = &i;
-const void* pointer_278 = &i;
-const void* pointer_279 = &i;
-const void* pointer_280 = &i;
-const void* pointer_281 = &i;
-const void* pointer_282 = &i;
-const void* pointer_283 = &i;
-const void* pointer_284 = &i;
-const void* pointer_285 = &i;
-const void* pointer_286 = &i;
-const void* pointer_287 = &i;
-const void* pointer_288 = &i;
-const void* pointer_289 = &i;
-const void* pointer_290 = &i;
-const void* pointer_291 = &i;
-const void* pointer_292 = &i;
-const void* pointer_293 = &i;
-const void* pointer_294 = &i;
-const void* pointer_295 = &i;
-const void* pointer_296 = &i;
-const void* pointer_297 = &i;
-const void* pointer_298 = &i;
-const void* pointer_299 = &i;
-const void* pointer_300 = &i;
-const void* pointer_301 = &i;
-const void* pointer_302 = &i;
-const void* pointer_303 = &i;
-const void* pointer_304 = &i;
-const void* pointer_305 = &i;
-const void* pointer_306 = &i;
-const void* pointer_307 = &i;
-const void* pointer_308 = &i;
-const void* pointer_309 = &i;
-const void* pointer_310 = &i;
-const void* pointer_311 = &i;
-const void* pointer_312 = &i;
-const void* pointer_313 = &i;
-const void* pointer_314 = &i;
-const void* pointer_315 = &i;
-const void* pointer_316 = &i;
-const void* pointer_317 = &i;
-const void* pointer_318 = &i;
-const void* pointer_319 = &i;
-const void* pointer_320 = &i;
-const void* pointer_321 = &i;
-const void* pointer_322 = &i;
-const void* pointer_323 = &i;
-const void* pointer_324 = &i;
-const void* pointer_325 = &i;
-const void* pointer_326 = &i;
-const void* pointer_327 = &i;
-const void* pointer_328 = &i;
-const void* pointer_329 = &i;
-const void* pointer_330 = &i;
-const void* pointer_331 = &i;
-const void* pointer_332 = &i;
-const void* pointer_333 = &i;
-const void* pointer_334 = &i;
-const void* pointer_335 = &i;
-const void* pointer_336 = &i;
-const void* pointer_337 = &i;
-const void* pointer_338 = &i;
-const void* pointer_339 = &i;
-const void* pointer_340 = &i;
-const void* pointer_341 = &i;
-const void* pointer_342 = &i;
-const void* pointer_343 = &i;
-const void* pointer_344 = &i;
-const void* pointer_345 = &i;
-const void* pointer_346 = &i;
-const void* pointer_347 = &i;
-const void* pointer_348 = &i;
-const void* pointer_349 = &i;
-const void* pointer_350 = &i;
-const void* pointer_351 = &i;
-const void* pointer_352 = &i;
-const void* pointer_353 = &i;
-const void* pointer_354 = &i;
-const void* pointer_355 = &i;
-const void* pointer_356 = &i;
-const void* pointer_357 = &i;
-const void* pointer_358 = &i;
-const void* pointer_359 = &i;
-const void* pointer_360 = &i;
-const void* pointer_361 = &i;
-const void* pointer_362 = &i;
-const void* pointer_363 = &i;
-const void* pointer_364 = &i;
-const void* pointer_365 = &i;
-const void* pointer_366 = &i;
-const void* pointer_367 = &i;
-const void* pointer_368 = &i;
-const void* pointer_369 = &i;
-const void* pointer_370 = &i;
-const void* pointer_371 = &i;
-const void* pointer_372 = &i;
-const void* pointer_373 = &i;
-const void* pointer_374 = &i;
-const void* pointer_375 = &i;
-const void* pointer_376 = &i;
-const void* pointer_377 = &i;
-const void* pointer_378 = &i;
-const void* pointer_379 = &i;
-const void* pointer_380 = &i;
-const void* pointer_381 = &i;
-const void* pointer_382 = &i;
-const void* pointer_383 = &i;
-const void* pointer_384 = &i;
-const void* pointer_385 = &i;
-const void* pointer_386 = &i;
-const void* pointer_387 = &i;
-const void* pointer_388 = &i;
-const void* pointer_389 = &i;
-const void* pointer_390 = &i;
-const void* pointer_391 = &i;
-const void* pointer_392 = &i;
-const void* pointer_393 = &i;
-const void* pointer_394 = &i;
-const void* pointer_395 = &i;
-const void* pointer_396 = &i;
-const void* pointer_397 = &i;
-const void* pointer_398 = &i;
-const void* pointer_399 = &i;
-const void* pointer_400 = &i;
-const void* pointer_401 = &i;
-const void* pointer_402 = &i;
-const void* pointer_403 = &i;
-const void* pointer_404 = &i;
-const void* pointer_405 = &i;
-const void* pointer_406 = &i;
-const void* pointer_407 = &i;
-const void* pointer_408 = &i;
-const void* pointer_409 = &i;
-const void* pointer_410 = &i;
-const void* pointer_411 = &i;
-const void* pointer_412 = &i;
-const void* pointer_413 = &i;
-const void* pointer_414 = &i;
-const void* pointer_415 = &i;
-const void* pointer_416 = &i;
-const void* pointer_417 = &i;
-const void* pointer_418 = &i;
-const void* pointer_419 = &i;
-const void* pointer_420 = &i;
-const void* pointer_421 = &i;
-const void* pointer_422 = &i;
-const void* pointer_423 = &i;
-const void* pointer_424 = &i;
-const void* pointer_425 = &i;
-const void* pointer_426 = &i;
-const void* pointer_427 = &i;
-const void* pointer_428 = &i;
-const void* pointer_429 = &i;
-const void* pointer_430 = &i;
-const void* pointer_431 = &i;
-const void* pointer_432 = &i;
-const void* pointer_433 = &i;
-const void* pointer_434 = &i;
-const void* pointer_435 = &i;
-const void* pointer_436 = &i;
-const void* pointer_437 = &i;
-const void* pointer_438 = &i;
-const void* pointer_439 = &i;
-const void* pointer_440 = &i;
-const void* pointer_441 = &i;
-const void* pointer_442 = &i;
-const void* pointer_443 = &i;
-const void* pointer_444 = &i;
-const void* pointer_445 = &i;
-const void* pointer_446 = &i;
-const void* pointer_447 = &i;
-const void* pointer_448 = &i;
-const void* pointer_449 = &i;
-const void* pointer_450 = &i;
-const void* pointer_451 = &i;
-const void* pointer_452 = &i;
-const void* pointer_453 = &i;
-const void* pointer_454 = &i;
-const void* pointer_455 = &i;
-const void* pointer_456 = &i;
-const void* pointer_457 = &i;
-const void* pointer_458 = &i;
-const void* pointer_459 = &i;
-const void* pointer_460 = &i;
-const void* pointer_461 = &i;
-const void* pointer_462 = &i;
-const void* pointer_463 = &i;
-const void* pointer_464 = &i;
-const void* pointer_465 = &i;
-const void* pointer_466 = &i;
-const void* pointer_467 = &i;
-const void* pointer_468 = &i;
-const void* pointer_469 = &i;
-const void* pointer_470 = &i;
-const void* pointer_471 = &i;
-const void* pointer_472 = &i;
-const void* pointer_473 = &i;
-const void* pointer_474 = &i;
-const void* pointer_475 = &i;
-const void* pointer_476 = &i;
-const void* pointer_477 = &i;
-const void* pointer_478 = &i;
-const void* pointer_479 = &i;
-const void* pointer_480 = &i;
-const void* pointer_481 = &i;
-const void* pointer_482 = &i;
-const void* pointer_483 = &i;
-const void* pointer_484 = &i;
-const void* pointer_485 = &i;
-const void* pointer_486 = &i;
-const void* pointer_487 = &i;
-const void* pointer_488 = &i;
-const void* pointer_489 = &i;
-const void* pointer_490 = &i;
-const void* pointer_491 = &i;
-const void* pointer_492 = &i;
-const void* pointer_493 = &i;
-const void* pointer_494 = &i;
-const void* pointer_495 = &i;
-const void* pointer_496 = &i;
-const void* pointer_497 = &i;
-const void* pointer_498 = &i;
-const void* pointer_499 = &i;
-const void* pointer_500 = &i;
-const void* pointer_501 = &i;
-const void* pointer_502 = &i;
-const void* pointer_503 = &i;
-const void* pointer_504 = &i;
-const void* pointer_505 = &i;
-const void* pointer_506 = &i;
-const void* pointer_507 = &i;
-const void* pointer_508 = &i;
-const void* pointer_509 = &i;
-const void* pointer_510 = &i;
-const void* pointer_511 = &i;
-const void* pointer_512 = &i;
-const void* pointer_513 = &i;
-const void* pointer_514 = &i;
-const void* pointer_515 = &i;
-const void* pointer_516 = &i;
-const void* pointer_517 = &i;
-const void* pointer_518 = &i;
-const void* pointer_519 = &i;
-const void* pointer_520 = &i;
-const void* pointer_521 = &i;
-const void* pointer_522 = &i;
-const void* pointer_523 = &i;
-const void* pointer_524 = &i;
-const void* pointer_525 = &i;
-const void* pointer_526 = &i;
-const void* pointer_527 = &i;
-const void* pointer_528 = &i;
-const void* pointer_529 = &i;
-const void* pointer_530 = &i;
-const void* pointer_531 = &i;
-const void* pointer_532 = &i;
-const void* pointer_533 = &i;
-const void* pointer_534 = &i;
-const void* pointer_535 = &i;
-const void* pointer_536 = &i;
-const void* pointer_537 = &i;
-const void* pointer_538 = &i;
-const void* pointer_539 = &i;
-const void* pointer_540 = &i;
-const void* pointer_541 = &i;
-const void* pointer_542 = &i;
-const void* pointer_543 = &i;
-const void* pointer_544 = &i;
-const void* pointer_545 = &i;
-const void* pointer_546 = &i;
-const void* pointer_547 = &i;
-const void* pointer_548 = &i;
-const void* pointer_549 = &i;
-const void* pointer_550 = &i;
-const void* pointer_551 = &i;
-const void* pointer_552 = &i;
-const void* pointer_553 = &i;
-const void* pointer_554 = &i;
-const void* pointer_555 = &i;
-const void* pointer_556 = &i;
-const void* pointer_557 = &i;
-const void* pointer_558 = &i;
-const void* pointer_559 = &i;
-const void* pointer_560 = &i;
-const void* pointer_561 = &i;
-const void* pointer_562 = &i;
-const void* pointer_563 = &i;
-const void* pointer_564 = &i;
-const void* pointer_565 = &i;
-const void* pointer_566 = &i;
-const void* pointer_567 = &i;
-const void* pointer_568 = &i;
-const void* pointer_569 = &i;
-const void* pointer_570 = &i;
-const void* pointer_571 = &i;
-const void* pointer_572 = &i;
-const void* pointer_573 = &i;
-const void* pointer_574 = &i;
-const void* pointer_575 = &i;
-const void* pointer_576 = &i;
-const void* pointer_577 = &i;
-const void* pointer_578 = &i;
-const void* pointer_579 = &i;
-const void* pointer_580 = &i;
-const void* pointer_581 = &i;
-const void* pointer_582 = &i;
-const void* pointer_583 = &i;
-const void* pointer_584 = &i;
-const void* pointer_585 = &i;
-const void* pointer_586 = &i;
-const void* pointer_587 = &i;
-const void* pointer_588 = &i;
-const void* pointer_589 = &i;
-const void* pointer_590 = &i;
-const void* pointer_591 = &i;
-const void* pointer_592 = &i;
-const void* pointer_593 = &i;
-const void* pointer_594 = &i;
-const void* pointer_595 = &i;
-const void* pointer_596 = &i;
-const void* pointer_597 = &i;
-const void* pointer_598 = &i;
-const void* pointer_599 = &i;
-const void* pointer_600 = &i;
-const void* pointer_601 = &i;
-const void* pointer_602 = &i;
-const void* pointer_603 = &i;
-const void* pointer_604 = &i;
-const void* pointer_605 = &i;
-const void* pointer_606 = &i;
-const void* pointer_607 = &i;
-const void* pointer_608 = &i;
-const void* pointer_609 = &i;
-const void* pointer_610 = &i;
-const void* pointer_611 = &i;
-const void* pointer_612 = &i;
-const void* pointer_613 = &i;
-const void* pointer_614 = &i;
-const void* pointer_615 = &i;
-const void* pointer_616 = &i;
-const void* pointer_617 = &i;
-const void* pointer_618 = &i;
-const void* pointer_619 = &i;
-const void* pointer_620 = &i;
-const void* pointer_621 = &i;
-const void* pointer_622 = &i;
-const void* pointer_623 = &i;
-const void* pointer_624 = &i;
-const void* pointer_625 = &i;
-const void* pointer_626 = &i;
-const void* pointer_627 = &i;
-const void* pointer_628 = &i;
-const void* pointer_629 = &i;
-const void* pointer_630 = &i;
-const void* pointer_631 = &i;
-const void* pointer_632 = &i;
-const void* pointer_633 = &i;
-const void* pointer_634 = &i;
-const void* pointer_635 = &i;
-const void* pointer_636 = &i;
-const void* pointer_637 = &i;
-const void* pointer_638 = &i;
-const void* pointer_639 = &i;
-const void* pointer_640 = &i;
-const void* pointer_641 = &i;
-const void* pointer_642 = &i;
-const void* pointer_643 = &i;
-const void* pointer_644 = &i;
-const void* pointer_645 = &i;
-const void* pointer_646 = &i;
-const void* pointer_647 = &i;
-const void* pointer_648 = &i;
-const void* pointer_649 = &i;
-const void* pointer_650 = &i;
-const void* pointer_651 = &i;
-const void* pointer_652 = &i;
-const void* pointer_653 = &i;
-const void* pointer_654 = &i;
-const void* pointer_655 = &i;
-const void* pointer_656 = &i;
-const void* pointer_657 = &i;
-const void* pointer_658 = &i;
-const void* pointer_659 = &i;
-const void* pointer_660 = &i;
-const void* pointer_661 = &i;
-const void* pointer_662 = &i;
-const void* pointer_663 = &i;
-const void* pointer_664 = &i;
-const void* pointer_665 = &i;
-const void* pointer_666 = &i;
-const void* pointer_667 = &i;
-const void* pointer_668 = &i;
-const void* pointer_669 = &i;
-const void* pointer_670 = &i;
-const void* pointer_671 = &i;
-const void* pointer_672 = &i;
-const void* pointer_673 = &i;
-const void* pointer_674 = &i;
-const void* pointer_675 = &i;
-const void* pointer_676 = &i;
-const void* pointer_677 = &i;
-const void* pointer_678 = &i;
-const void* pointer_679 = &i;
-const void* pointer_680 = &i;
-const void* pointer_681 = &i;
-const void* pointer_682 = &i;
-const void* pointer_683 = &i;
-const void* pointer_684 = &i;
-const void* pointer_685 = &i;
-const void* pointer_686 = &i;
-const void* pointer_687 = &i;
-const void* pointer_688 = &i;
-const void* pointer_689 = &i;
-const void* pointer_690 = &i;
-const void* pointer_691 = &i;
-const void* pointer_692 = &i;
-const void* pointer_693 = &i;
-const void* pointer_694 = &i;
-const void* pointer_695 = &i;
-const void* pointer_696 = &i;
-const void* pointer_697 = &i;
-const void* pointer_698 = &i;
-const void* pointer_699 = &i;
-const void* pointer_700 = &i;
-const void* pointer_701 = &i;
-const void* pointer_702 = &i;
-const void* pointer_703 = &i;
-const void* pointer_704 = &i;
-const void* pointer_705 = &i;
-const void* pointer_706 = &i;
-const void* pointer_707 = &i;
-const void* pointer_708 = &i;
-const void* pointer_709 = &i;
-const void* pointer_710 = &i;
-const void* pointer_711 = &i;
-const void* pointer_712 = &i;
-const void* pointer_713 = &i;
-const void* pointer_714 = &i;
-const void* pointer_715 = &i;
-const void* pointer_716 = &i;
-const void* pointer_717 = &i;
-const void* pointer_718 = &i;
-const void* pointer_719 = &i;
-const void* pointer_720 = &i;
-const void* pointer_721 = &i;
-const void* pointer_722 = &i;
-const void* pointer_723 = &i;
-const void* pointer_724 = &i;
-const void* pointer_725 = &i;
-const void* pointer_726 = &i;
-const void* pointer_727 = &i;
-const void* pointer_728 = &i;
-const void* pointer_729 = &i;
-const void* pointer_730 = &i;
-const void* pointer_731 = &i;
-const void* pointer_732 = &i;
-const void* pointer_733 = &i;
-const void* pointer_734 = &i;
-const void* pointer_735 = &i;
-const void* pointer_736 = &i;
-const void* pointer_737 = &i;
-const void* pointer_738 = &i;
-const void* pointer_739 = &i;
-const void* pointer_740 = &i;
-const void* pointer_741 = &i;
-const void* pointer_742 = &i;
-const void* pointer_743 = &i;
-const void* pointer_744 = &i;
-const void* pointer_745 = &i;
-const void* pointer_746 = &i;
-const void* pointer_747 = &i;
-const void* pointer_748 = &i;
-const void* pointer_749 = &i;
-const void* pointer_750 = &i;
-const void* pointer_751 = &i;
-const void* pointer_752 = &i;
-const void* pointer_753 = &i;
-const void* pointer_754 = &i;
-const void* pointer_755 = &i;
-const void* pointer_756 = &i;
-const void* pointer_757 = &i;
-const void* pointer_758 = &i;
-const void* pointer_759 = &i;
-const void* pointer_760 = &i;
-const void* pointer_761 = &i;
-const void* pointer_762 = &i;
-const void* pointer_763 = &i;
-const void* pointer_764 = &i;
-const void* pointer_765 = &i;
-const void* pointer_766 = &i;
-const void* pointer_767 = &i;
-const void* pointer_768 = &i;
-const void* pointer_769 = &i;
-const void* pointer_770 = &i;
-const void* pointer_771 = &i;
-const void* pointer_772 = &i;
-const void* pointer_773 = &i;
-const void* pointer_774 = &i;
-const void* pointer_775 = &i;
-const void* pointer_776 = &i;
-const void* pointer_777 = &i;
-const void* pointer_778 = &i;
-const void* pointer_779 = &i;
-const void* pointer_780 = &i;
-const void* pointer_781 = &i;
-const void* pointer_782 = &i;
-const void* pointer_783 = &i;
-const void* pointer_784 = &i;
-const void* pointer_785 = &i;
-const void* pointer_786 = &i;
-const void* pointer_787 = &i;
-const void* pointer_788 = &i;
-const void* pointer_789 = &i;
-const void* pointer_790 = &i;
-const void* pointer_791 = &i;
-const void* pointer_792 = &i;
-const void* pointer_793 = &i;
-const void* pointer_794 = &i;
-const void* pointer_795 = &i;
-const void* pointer_796 = &i;
-const void* pointer_797 = &i;
-const void* pointer_798 = &i;
-const void* pointer_799 = &i;
-const void* pointer_800 = &i;
-const void* pointer_801 = &i;
-const void* pointer_802 = &i;
-const void* pointer_803 = &i;
-const void* pointer_804 = &i;
-const void* pointer_805 = &i;
-const void* pointer_806 = &i;
-const void* pointer_807 = &i;
-const void* pointer_808 = &i;
-const void* pointer_809 = &i;
-const void* pointer_810 = &i;
-const void* pointer_811 = &i;
-const void* pointer_812 = &i;
-const void* pointer_813 = &i;
-const void* pointer_814 = &i;
-const void* pointer_815 = &i;
-const void* pointer_816 = &i;
-const void* pointer_817 = &i;
-const void* pointer_818 = &i;
-const void* pointer_819 = &i;
-const void* pointer_820 = &i;
-const void* pointer_821 = &i;
-const void* pointer_822 = &i;
-const void* pointer_823 = &i;
-const void* pointer_824 = &i;
-const void* pointer_825 = &i;
-const void* pointer_826 = &i;
-const void* pointer_827 = &i;
-const void* pointer_828 = &i;
-const void* pointer_829 = &i;
-const void* pointer_830 = &i;
-const void* pointer_831 = &i;
-const void* pointer_832 = &i;
-const void* pointer_833 = &i;
-const void* pointer_834 = &i;
-const void* pointer_835 = &i;
-const void* pointer_836 = &i;
-const void* pointer_837 = &i;
-const void* pointer_838 = &i;
-const void* pointer_839 = &i;
-const void* pointer_840 = &i;
-const void* pointer_841 = &i;
-const void* pointer_842 = &i;
-const void* pointer_843 = &i;
-const void* pointer_844 = &i;
-const void* pointer_845 = &i;
-const void* pointer_846 = &i;
-const void* pointer_847 = &i;
-const void* pointer_848 = &i;
-const void* pointer_849 = &i;
-const void* pointer_850 = &i;
-const void* pointer_851 = &i;
-const void* pointer_852 = &i;
-const void* pointer_853 = &i;
-const void* pointer_854 = &i;
-const void* pointer_855 = &i;
-const void* pointer_856 = &i;
-const void* pointer_857 = &i;
-const void* pointer_858 = &i;
-const void* pointer_859 = &i;
-const void* pointer_860 = &i;
-const void* pointer_861 = &i;
-const void* pointer_862 = &i;
-const void* pointer_863 = &i;
-const void* pointer_864 = &i;
-const void* pointer_865 = &i;
-const void* pointer_866 = &i;
-const void* pointer_867 = &i;
-const void* pointer_868 = &i;
-const void* pointer_869 = &i;
-const void* pointer_870 = &i;
-const void* pointer_871 = &i;
-const void* pointer_872 = &i;
-const void* pointer_873 = &i;
-const void* pointer_874 = &i;
-const void* pointer_875 = &i;
-const void* pointer_876 = &i;
-const void* pointer_877 = &i;
-const void* pointer_878 = &i;
-const void* pointer_879 = &i;
-const void* pointer_880 = &i;
-const void* pointer_881 = &i;
-const void* pointer_882 = &i;
-const void* pointer_883 = &i;
-const void* pointer_884 = &i;
-const void* pointer_885 = &i;
-const void* pointer_886 = &i;
-const void* pointer_887 = &i;
-const void* pointer_888 = &i;
-const void* pointer_889 = &i;
-const void* pointer_890 = &i;
-const void* pointer_891 = &i;
-const void* pointer_892 = &i;
-const void* pointer_893 = &i;
-const void* pointer_894 = &i;
-const void* pointer_895 = &i;
-const void* pointer_896 = &i;
-const void* pointer_897 = &i;
-const void* pointer_898 = &i;
-const void* pointer_899 = &i;
-const void* pointer_900 = &i;
-const void* pointer_901 = &i;
-const void* pointer_902 = &i;
-const void* pointer_903 = &i;
-const void* pointer_904 = &i;
-const void* pointer_905 = &i;
-const void* pointer_906 = &i;
-const void* pointer_907 = &i;
-const void* pointer_908 = &i;
-const void* pointer_909 = &i;
-const void* pointer_910 = &i;
-const void* pointer_911 = &i;
-const void* pointer_912 = &i;
-const void* pointer_913 = &i;
-const void* pointer_914 = &i;
-const void* pointer_915 = &i;
-const void* pointer_916 = &i;
-const void* pointer_917 = &i;
-const void* pointer_918 = &i;
-const void* pointer_919 = &i;
-const void* pointer_920 = &i;
-const void* pointer_921 = &i;
-const void* pointer_922 = &i;
-const void* pointer_923 = &i;
-const void* pointer_924 = &i;
-const void* pointer_925 = &i;
-const void* pointer_926 = &i;
-const void* pointer_927 = &i;
-const void* pointer_928 = &i;
-const void* pointer_929 = &i;
-const void* pointer_930 = &i;
-const void* pointer_931 = &i;
-const void* pointer_932 = &i;
-const void* pointer_933 = &i;
-const void* pointer_934 = &i;
-const void* pointer_935 = &i;
-const void* pointer_936 = &i;
-const void* pointer_937 = &i;
-const void* pointer_938 = &i;
-const void* pointer_939 = &i;
-const void* pointer_940 = &i;
-const void* pointer_941 = &i;
-const void* pointer_942 = &i;
-const void* pointer_943 = &i;
-const void* pointer_944 = &i;
-const void* pointer_945 = &i;
-const void* pointer_946 = &i;
-const void* pointer_947 = &i;
-const void* pointer_948 = &i;
-const void* pointer_949 = &i;
-const void* pointer_950 = &i;
-const void* pointer_951 = &i;
-const void* pointer_952 = &i;
-const void* pointer_953 = &i;
-const void* pointer_954 = &i;
-const void* pointer_955 = &i;
-const void* pointer_956 = &i;
-const void* pointer_957 = &i;
-const void* pointer_958 = &i;
-const void* pointer_959 = &i;
-const void* pointer_960 = &i;
-const void* pointer_961 = &i;
-const void* pointer_962 = &i;
-const void* pointer_963 = &i;
-const void* pointer_964 = &i;
-const void* pointer_965 = &i;
-const void* pointer_966 = &i;
-const void* pointer_967 = &i;
-const void* pointer_968 = &i;
-const void* pointer_969 = &i;
-const void* pointer_970 = &i;
-const void* pointer_971 = &i;
-const void* pointer_972 = &i;
-const void* pointer_973 = &i;
-const void* pointer_974 = &i;
-const void* pointer_975 = &i;
-const void* pointer_976 = &i;
-const void* pointer_977 = &i;
-const void* pointer_978 = &i;
-const void* pointer_979 = &i;
-const void* pointer_980 = &i;
-const void* pointer_981 = &i;
-const void* pointer_982 = &i;
-const void* pointer_983 = &i;
-const void* pointer_984 = &i;
-const void* pointer_985 = &i;
-const void* pointer_986 = &i;
-const void* pointer_987 = &i;
-const void* pointer_988 = &i;
-const void* pointer_989 = &i;
-const void* pointer_990 = &i;
-const void* pointer_991 = &i;
-const void* pointer_992 = &i;
-const void* pointer_993 = &i;
-const void* pointer_994 = &i;
-const void* pointer_995 = &i;
-const void* pointer_996 = &i;
-const void* pointer_997 = &i;
-const void* pointer_998 = &i;
-const void* pointer_999 = &i;
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32.so
deleted file mode 100755
index 5e339ae..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32_packed.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32_packed.so
deleted file mode 100755
index 253dd97..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm32_packed.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64.so
deleted file mode 100755
index d3d0194..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64_packed.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64_packed.so
deleted file mode 100755
index 269b975..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_arm64_packed.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32.so
deleted file mode 100755
index 42db62c..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32_packed.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32_packed.so
deleted file mode 100755
index 27817cc..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_ia32_packed.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32.so
deleted file mode 100755
index 6da324b..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32_packed.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32_packed.so
deleted file mode 100755
index b11ca48..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_mips32_packed.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64.so
deleted file mode 100755
index 6cb689e..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64.so
+++ /dev/null
Binary files differ
diff --git a/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64_packed.so b/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64_packed.so
deleted file mode 100755
index 60b9ad1..0000000
--- a/tools/relocation_packer/test_data/elf_file_unittest_relocs_x64_packed.so
+++ /dev/null
Binary files differ
