diff --git a/combination.h b/combination.h
index d94df8894e23ed51b3feafcdb98f48b1f94b81bd..a20cc7d81c2d8169edde45a2fd17813f3f0bf57d 100644
--- a/combination.h
+++ b/combination.h
@@ -52,6 +52,8 @@
     #define fx_mul1(a, b) fx_s1516_longlong_mul0(a, b)
     #define fx_mul2(a, b) fx_s1516_longlong_mul1(a, b)
     #define fx_mul3(a, b) fx_s1516_longlong_mul2(a, b)
+    #define fx_mul4(a, b) fx_s1516_longlong_mul3(a, b)
+    #define fx_mul5(a, b) fx_s1516_longlong_mul4(a, b)
     #define fx_div1(a, b) fx_s1516_longlong_div0(a, b)
     #define fx_div2(a, b) fx_s1516_longlong_div1(a, b)
     #define fx_div3(a, b) fx_s1516_longlong_div2(a, b)
diff --git a/test.c b/test.c
index 83a528595c0b04afb414a338558a77e9b6b07d72..a6c4cec7099c8a6beb0dc709563a0731d92ddf24 100644
--- a/test.c
+++ b/test.c
@@ -12,6 +12,12 @@
     void fx_mul3_test(fx_s1615 a, fx_s1615 b){
         fx_mul3(a, b);
     }
+    void fx_mul4_test(fx_s1615 a, fx_s1615 b){
+        fx_mul4(a, b);
+    }
+    void fx_mul5_test(fx_s1615 a, fx_s1615 b){
+        fx_mul5(a, b);
+    }
     void fx_div1_test(fx_s1615 a, fx_s1615 b){
         fx_div1(a, b);
     }
@@ -327,6 +333,8 @@ int main(){
             printf("MUL1: %d\n", fx_mul1(num1, num2));
             printf("MUL2: %d\n", fx_mul2(num1, num2));
             printf("MUL3: %d\n", fx_mul3(num1, num2));
+            printf("MUL4: %d\n", fx_mul4(num1, num2));
+            printf("MUL5: %d\n", fx_mul5(num1, num2));
 #if _FX_SYSTEM == _FX_S1516 && _FX_CALCULATION_TYPE == _FX_LONGLONG
             for(int i = 0 ; i < Max; i++){
                 fx_mul1_test(num1,num2);
@@ -337,6 +345,12 @@ int main(){
             for(int i = 0 ; i < Max; i++){
                 fx_mul3_test(num1,num2);
             }
+            for(int i = 0 ; i < Max; i++){
+                fx_mul4_test(num1,num2);
+            }
+            for(int i = 0 ; i < Max; i++){
+                fx_mul5_test(num1,num2);
+            }
 #endif
         }
         else if(a==2){
@@ -457,8 +471,8 @@ int main(){
             printf("MUL1: %d\n", fx_mul1(num1, num2));
             printf("MUL2: %d\n", fx_mul2(num1, num2));
             printf("MUL3: %d\n", fx_mul3(num1, num2));
-            printf("MUL4: %d\n", fx_mul4(num1, num2));
 #if _FX_SYSTEM == _FX_S2308 && _FX_CALCULATION_TYPE == _FX_LONGLONG
+            printf("MUL4: %d\n", fx_mul4(num1, num2));