diff --git a/div_perf.c b/div_perf.c
index 7dfc664088ec659b98440212e8e73598c264ef57..7928ddd7ebfdcb1ad2189f4e8f4ca4f63931cade 100644
--- a/div_perf.c
+++ b/div_perf.c
@@ -9,7 +9,7 @@ typedef long fixed32;
 #define DOUBLE_TO_FX(a) (((int)(a*(256.0))))
 
 #define FX_DIV(a,b) DOUBLE_TO_FX(FX_TO_DOUBLE(a)/FX_TO_DOUBLE(b))
-#define fx_s2308_l_div1(a,b) (int)((long long)(a)/(b))
+#define fx_s2308_l_div1(a,b) (int)(((long long)(a)/(b))<<8)
 #define fx_s2308_l_div2(a,b) (int)((a<<8)/(b))
 
 long long div_sum_double_test()
diff --git a/fx_s2308_longlong.h b/fx_s2308_longlong.h
index 39ae85a41a61653aea72286a3ce4ea17bb112f92..794ebb4dfb09cb01235db65bfe2aaa3aba41b16c 100644
--- a/fx_s2308_longlong.h
+++ b/fx_s2308_longlong.h
@@ -7,7 +7,7 @@
 #define fx_s2308_l_mul3(a,b) (int)(((a)*(b)) >> 8) 
 #define fx_s2308_l_mul4(a,b) (int)(((a>>4)*(b>>4))) 
 
-#define fx_s2308_l_div1(a,b) (int)((long long)(a)/(b)) 
+#define fx_s2308_l_div1(a,b) (int)(((long long)(a)/(b))<<8)
 #define fx_s2308_l_div2(a,b) (int)((a<<8)/(b)) 
 
 typedef int fx_s2308;