*/
 
 
+#include "ieee754sp.h"
 #include "ieee754dp.h"
 
 union ieee754dp ieee754dp_fsp(union ieee754sp x)
 
 #include "ieee754sp.h"
 #include "ieee754dp.h"
 
-#define DP_EBIAS       1023
-#define DP_EMIN                (-1022)
-#define DP_EMAX                1023
-
-#define SP_EBIAS       127
-#define SP_EMIN                (-126)
-#define SP_EMAX                127
-
 /* special constants
 */
 
 
 #include <linux/types.h>
 #include <linux/printk.h>
 #include "ieee754.h"
-
-#define DP_EBIAS       1023
-#define DP_EMIN                (-1022)
-#define DP_EMAX                1023
-#define DP_FBITS       52
-
-#define SP_EBIAS       127
-#define SP_EMIN                (-126)
-#define SP_EMAX                127
-#define SP_FBITS       23
-
-#define DP_MBIT(x)     ((u64)1 << (x))
-#define DP_HIDDEN_BIT  DP_MBIT(DP_FBITS)
-#define DP_SIGN_BIT    DP_MBIT(63)
-
-
-#define SP_MBIT(x)     ((u32)1 << (x))
-#define SP_HIDDEN_BIT  SP_MBIT(SP_FBITS)
-#define SP_SIGN_BIT    SP_MBIT(31)
-
-
-#define SPSIGN(sp)     (sp.parts.sign)
-#define SPBEXP(sp)     (sp.parts.bexp)
-#define SPMANT(sp)     (sp.parts.mant)
-
-#define DPSIGN(dp)     (dp.parts.sign)
-#define DPBEXP(dp)     (dp.parts.bexp)
-#define DPMANT(dp)     (dp.parts.mant)
+#include "ieee754sp.h"
+#include "ieee754dp.h"
 
 union ieee754dp ieee754dp_dump(char *m, union ieee754dp x)
 {
 
 
 #define assert(expr) ((void)0)
 
+#define DP_EBIAS       1023
+#define DP_EMIN                (-1022)
+#define DP_EMAX                1023
+#define DP_FBITS       52
+#define DP_MBITS       52
+
+#define DP_MBIT(x)     ((u64)1 << (x))
+#define DP_HIDDEN_BIT  DP_MBIT(DP_FBITS)
+#define DP_SIGN_BIT    DP_MBIT(63)
+
+#define DPSIGN(dp)     (dp.parts.sign)
+#define DPBEXP(dp)     (dp.parts.bexp)
+#define DPMANT(dp)     (dp.parts.mant)
+
 /* 3bit extended double precision sticky right shift */
 #define XDPSRS(v,rs)   \
        ((rs > (DP_FBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0))
 
 
 #include "ieee754.h"
 
-#define DP_EBIAS       1023
-#define DP_EMIN                (-1022)
-#define DP_EMAX                1023
-#define DP_FBITS       52
-
-#define SP_EBIAS       127
-#define SP_EMIN                (-126)
-#define SP_EMAX                127
-#define SP_FBITS       23
-
-#define DP_MBIT(x)     ((u64)1 << (x))
-#define DP_HIDDEN_BIT  DP_MBIT(DP_FBITS)
-#define DP_SIGN_BIT    DP_MBIT(63)
-
-#define SP_MBIT(x)     ((u32)1 << (x))
-#define SP_HIDDEN_BIT  SP_MBIT(SP_FBITS)
-#define SP_SIGN_BIT    SP_MBIT(31)
-
-
-#define SPSIGN(sp)     (sp.parts.sign)
-#define SPBEXP(sp)     (sp.parts.bexp)
-#define SPMANT(sp)     (sp.parts.mant)
-
-#define DPSIGN(dp)     (dp.parts.sign)
-#define DPBEXP(dp)     (dp.parts.bexp)
-#define DPMANT(dp)     (dp.parts.mant)
-
 #define CLPAIR(x, y)   ((x)*6+(y))
 
 static inline void ieee754_clearcx(void)
 
 
 #define assert(expr) ((void)0)
 
+#define SP_EBIAS       127
+#define SP_EMIN                (-126)
+#define SP_EMAX                127
+#define SP_FBITS       23
+#define SP_MBITS       23
+
+#define SP_MBIT(x)     ((u32)1 << (x))
+#define SP_HIDDEN_BIT  SP_MBIT(SP_FBITS)
+#define SP_SIGN_BIT    SP_MBIT(31)
+
+#define SPSIGN(sp)     (sp.parts.sign)
+#define SPBEXP(sp)     (sp.parts.bexp)
+#define SPMANT(sp)     (sp.parts.mant)
+
 /* 3bit extended single precision sticky right shift */
 #define SPXSRSXn(rs)                                                   \
        (xe += rs,                                                      \
 
 
 
 #include "ieee754sp.h"
+#include "ieee754dp.h"
 
 union ieee754sp ieee754sp_fdp(union ieee754dp x)
 {
 
 
 
 #include "ieee754sp.h"
+#include "ieee754dp.h"
 
 s64 ieee754sp_tlong(union ieee754sp x)
 {