diff --git a/softrvv/include/softrvv.h b/softrvv/include/softrvv.h
index bfc0f54..b4b69a2 100644
--- a/softrvv/include/softrvv.h
+++ b/softrvv/include/softrvv.h
@@ -9,8 +9,12 @@
 #include "softrvv_vadd.h"
 #include "softrvv_vand.h"
 #include "softrvv_vdiv.h"
-#include "softrvv_vfsub.h"
 #include "softrvv_vfadd.h"
+#include "softrvv_vfdiv.h"
+#include "softrvv_vfmax.h"
+#include "softrvv_vfmin.h"
+#include "softrvv_vfmul.h"
+#include "softrvv_vfsub.h"
 #include "softrvv_vmax.h"
 #include "softrvv_vmin.h"
 #include "softrvv_vmseq.h"
diff --git a/softrvv/include/softrvv_vfdiv.h b/softrvv/include/softrvv_vfdiv.h
new file mode 100644
index 0000000..6759f66
--- /dev/null
+++ b/softrvv/include/softrvv_vfdiv.h
@@ -0,0 +1,22 @@
+#ifndef SOFTRVV_VFDIV_H
+#define SOFTRVV_VFDIV_H
+
+#include <stddef.h>
+
+namespace softrvv {
+
+void vfdiv_vf(float *dest, float *src1, const float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = src1[idx] / *src2;
+  }
+}
+
+void vfdiv_vv(float *dest, float *src1, float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = src1[idx] / src2[idx];
+  }
+}
+
+}  // namespace softrvv
+
+#endif  // SOFTRVV_VFDIV_H
diff --git a/softrvv/include/softrvv_vfmax.h b/softrvv/include/softrvv_vfmax.h
new file mode 100644
index 0000000..3231de1
--- /dev/null
+++ b/softrvv/include/softrvv_vfmax.h
@@ -0,0 +1,22 @@
+#ifndef SOFTRVV_VFMAX_H
+#define SOFTRVV_VFMAX_H
+
+#include <stddef.h>
+
+namespace softrvv {
+
+void vfmax_vf(float *dest, float *src1, const float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = (src1[idx] > *src2) ? src1[idx] : *src2;
+  }
+}
+
+void vfmax_vv(float *dest, float *src1, float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = (src1[idx] > src2[idx]) ? src1[idx] : src2[idx];
+  }
+}
+
+}  // namespace softrvv
+
+#endif  // SOFTRVV_VFMAX_H
diff --git a/softrvv/include/softrvv_vfmin.h b/softrvv/include/softrvv_vfmin.h
new file mode 100644
index 0000000..894544f
--- /dev/null
+++ b/softrvv/include/softrvv_vfmin.h
@@ -0,0 +1,22 @@
+#ifndef SOFTRVV_VFMIN_H
+#define SOFTRVV_VFMIN_H
+
+#include <stddef.h>
+
+namespace softrvv {
+
+void vfmin_vf(float *dest, float *src1, const float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = (src1[idx] < *src2) ? src1[idx] : *src2;
+  }
+}
+
+void vfmin_vv(float *dest, float *src1, float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = (src1[idx] < src2[idx]) ? src1[idx] : src2[idx];
+  }
+}
+
+}  // namespace softrvv
+
+#endif  // SOFTRVV_VFMIN_H
diff --git a/softrvv/include/softrvv_vfmul.h b/softrvv/include/softrvv_vfmul.h
new file mode 100644
index 0000000..7dcb462
--- /dev/null
+++ b/softrvv/include/softrvv_vfmul.h
@@ -0,0 +1,22 @@
+#ifndef SOFTRVV_VFMUL_H
+#define SOFTRVV_VFMUL_H
+
+#include <stddef.h>
+
+namespace softrvv {
+
+void vfmul_vf(float *dest, float *src1, const float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = src1[idx] * *src2;
+  }
+}
+
+void vfmul_vv(float *dest, float *src1, float *src2, int32_t avl) {
+  for (int32_t idx = 0; idx < avl; idx++) {
+    dest[idx] = src1[idx] * src2[idx];
+  }
+}
+
+}  // namespace softrvv
+
+#endif  // SOFTRVV_VFMUL_H
diff --git a/softrvv/include/softrvv_vfsub.h b/softrvv/include/softrvv_vfsub.h
index aff1f52..d78504d 100644
--- a/softrvv/include/softrvv_vfsub.h
+++ b/softrvv/include/softrvv_vfsub.h
@@ -17,7 +17,7 @@
   }
 }
 
-void vfrsub_vx(float *dest, float *src1, const float *src2, int32_t avl) {
+void vfrsub_vf(float *dest, float *src1, const float *src2, int32_t avl) {
   for (int32_t idx = 0; idx < avl; idx++) {
     dest[idx] = *src2 - src1[idx];
   }
diff --git a/softrvv/include/softrvv_vmax.h b/softrvv/include/softrvv_vmax.h
index 5ad4352..3b70b9a 100644
--- a/softrvv/include/softrvv_vmax.h
+++ b/softrvv/include/softrvv_vmax.h
@@ -2,7 +2,6 @@
 #define SOFTRVV_VMAX_H
 
 #include <stddef.h>
-#include <stdint.h>
 
 namespace softrvv {
 
diff --git a/softrvv/include/softrvv_vmin.h b/softrvv/include/softrvv_vmin.h
index d853455..78f55e1 100644
--- a/softrvv/include/softrvv_vmin.h
+++ b/softrvv/include/softrvv_vmin.h
@@ -2,7 +2,6 @@
 #define SOFTRVV_VMIN_H
 
 #include <stddef.h>
-#include <stdint.h>
 
 namespace softrvv {
 
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 05814ca..abb58a6 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -10,6 +10,60 @@
 
 vec_cc_generated_test(
   NAME
+    vfsub
+  TEMPLATE
+    opivv_opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
+    vfrsub
+  TEMPLATE
+    opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
+    vfdiv
+  TEMPLATE
+    opivv_opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
+    vfmax
+  TEMPLATE
+    opivv_opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
+    vfmin
+  TEMPLATE
+    opivv_opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
+    vfmul
+  TEMPLATE
+    opivv_opivf_test.tpl.cpp
+  LINKOPTS
+   -Xlinker --defsym=__itcm_length__=128K
+)
+
+vec_cc_generated_test(
+  NAME
     vsub
   TEMPLATE
     opivv_opivx_test.tpl.cpp
