diff --git a/src/__support/FPUtil/FloatProperties.h b/src/__support/FPUtil/FloatProperties.h
index ff132ed..d8d0fea 100644
--- a/src/__support/FPUtil/FloatProperties.h
+++ b/src/__support/FPUtil/FloatProperties.h
@@ -80,6 +80,12 @@
       FloatProperties<double>::exponentMask;
   static constexpr uint32_t exponentBias =
       FloatProperties<double>::exponentBias;
+
+  // If a number x is a NAN, then it is a quiet NAN if:
+  //   QuietNaNMask & bits(x) != 0
+  // Else, it is a signalling NAN.
+  static constexpr BitsType quietNaNMask =
+      FloatProperties<double>::quietNaNMask;
 };
 #elif defined(SPECIAL_X86_LONG_DOUBLE)
 // Properties for numbers represented in 80 bits long double on non-Windows x86
@@ -99,6 +105,11 @@
   static constexpr BitsType exponentMask = ((BitsType(1) << exponentWidth) - 1)
                                            << (mantissaWidth + 1);
   static constexpr uint32_t exponentBias = 16383;
+
+  // If a number x is a NAN, then it is a quiet NAN if:
+  //   QuietNaNMask & bits(x) != 0
+  // Else, it is a signalling NAN.
+  static constexpr BitsType quietNaNMask = BitsType(1) << (mantissaWidth - 1);
 };
 #else
 // Properties for numbers represented in 128 bits long double on non x86
@@ -117,6 +128,11 @@
                                        << (exponentWidth + mantissaWidth);
   static constexpr BitsType exponentMask = ~(signMask | mantissaMask);
   static constexpr uint32_t exponentBias = 16383;
+
+  // If a number x is a NAN, then it is a quiet NAN if:
+  //   QuietNaNMask & bits(x) != 0
+  // Else, it is a signalling NAN.
+  static constexpr BitsType quietNaNMask = BitsType(1) << (mantissaWidth - 1);
 };
 #endif
 
diff --git a/src/__support/FPUtil/LongDoubleBitsX86.h b/src/__support/FPUtil/LongDoubleBitsX86.h
index 1c963b0..77611ad 100644
--- a/src/__support/FPUtil/LongDoubleBitsX86.h
+++ b/src/__support/FPUtil/LongDoubleBitsX86.h
@@ -89,7 +89,11 @@
 
   template <typename XType,
             cpp::EnableIfType<cpp::IsSame<long double, XType>::Value, int> = 0>
-  explicit FPBits(XType x) : val(x) {}
+  explicit FPBits(XType x) : val(x) {
+    // bits starts uninitialized, and setting it to a long double only
+    // overwrites the first 80 bits. This clears those upper bits.
+    bits = bits & ((UIntType(1) << 80) - 1);
+  }
 
   template <typename XType,
             cpp::EnableIfType<cpp::IsSame<XType, UIntType>::Value, int> = 0>
