diff --git a/include/teqp/types.hpp b/include/teqp/types.hpp
index 60d51479dbba041d98641f6f7cc7a2df6c960c96..6469a5cf1a14b0d221244ee8c6cd6051c25af1cb 100644
--- a/include/teqp/types.hpp
+++ b/include/teqp/types.hpp
@@ -9,6 +9,8 @@
 #include <set>
 #include <chrono>
 
+#include "boost/multiprecision/cpp_bin_float.hpp"
+
 // Registration of types that are considered to be containers
 // See https://stackoverflow.com/a/12045843
 template <typename Container>
@@ -55,6 +57,9 @@ auto getbaseval(const T& expr)
     else if constexpr (is_mcx_t<T>()) {
         return expr.real();
     }
+    else if constexpr (boost::multiprecision::is_number<T>()) {
+        return static_cast<double>(expr);
+    }
     else {
         return expr;
     }