  
    static dd_real mul(double a, double b);
  
-@@ -123,18 +133,30 @@ struct QD_API dd_real {
+@@ -123,18 +137,30 @@ struct QD_API dd_real {
    static dd_real div(double a, double b);
    static dd_real sloppy_div(const dd_real &a, const dd_real &b);
    static dd_real accurate_div(const dd_real &a, const dd_real &b);

   static void error(const char *msg);
 
   double _hi() const { return x[0]; }
@@ -114,6 +123,7 @@ struct QD_API dd_real {
   dd_real &operator-=(const dd_real &a);
 
   dd_real operator-() const;

 
 QD_API qd_real sqr(const qd_real &a);
 QD_API qd_real sqrt(const qd_real &a);
@@ -209,36 +268,48 @@ QD_API bool operator==(const qd_real &a,
 QD_API bool operator==(const dd_real &a, const qd_real &b);
 QD_API bool operator==(double a, const qd_real &b);
 QD_API bool operator==(const qd_real &a, double b);
