The code here is from qd 2.3.24 patched with these simple fixes from github.

# https://github.com/BL-highprecision/QD/commit/0a672bd1c7c418910e46089608554336d4276c12
diff -r ORIGINAL/src/qd_real.cpp ./qd_real.cpp
536c536
<         		dd_real::error("Re-rounding unsuccessful in large number fixed point trap.") ;
---
>         		qd_real::error("Re-rounding unsuccessful in large number fixed point trap.") ;

# https://github.com/BL-highprecision/QD/commit/b1c8ddfd2d4a0f0901a88491524df728a26cbe8e
diff -r ORIGINAL/include/qd/qd_inline.h ./include/qd/qd_inline.h
548c548
<   p3 = a[2] * b._hi() + a[3] * b._lo() + q3 + q4;
---
>   p3 = a[2] * b._lo() + a[3] * b._hi() + q3 + q4;

