vbinary and vunary microkernels assert pointers are not NULL

PiperOrigin-RevId: 319614242
diff --git a/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c
index 61db283..0c17cb3 100644
--- a/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c
index 0bd4cda..f4ac9a6 100644
--- a/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c
index 4b89679..51febab 100644
--- a/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c
index b35d3b0..544811d 100644
--- a/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c
index 59d7b04..2ead8b7 100644
--- a/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c
index 397dcfd..9bd94d7 100644
--- a/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c
index f99e8c6..3ca1847 100644
--- a/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c
index 9af6a7a..9507270 100644
--- a/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vmax-neonfp16arith-x16.c
index 0c4dd9c..fd2dd81 100644
--- a/src/f16-vbinary/gen/vmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vmax-neonfp16arith-x8.c
index 396d739..4879812 100644
--- a/src/f16-vbinary/gen/vmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c b/src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c
index 4cff9ab..c72eced 100644
--- a/src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c b/src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c
index cb4caf3..60b224f 100644
--- a/src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmin-neonfp16arith-x16.c b/src/f16-vbinary/gen/vmin-neonfp16arith-x16.c
index e167e0f..9fbedda 100644
--- a/src/f16-vbinary/gen/vmin-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vmin-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmin-neonfp16arith-x8.c b/src/f16-vbinary/gen/vmin-neonfp16arith-x8.c
index 1ebe139..508d7b7 100644
--- a/src/f16-vbinary/gen/vmin-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vmin-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vminc-neonfp16arith-x16.c b/src/f16-vbinary/gen/vminc-neonfp16arith-x16.c
index 0d0b1a3..9cb07f6 100644
--- a/src/f16-vbinary/gen/vminc-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vminc-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vminc-neonfp16arith-x8.c b/src/f16-vbinary/gen/vminc-neonfp16arith-x8.c
index 0340b36..40f1d6b 100644
--- a/src/f16-vbinary/gen/vminc-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vminc-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c
index c73a09b..48a51cc 100644
--- a/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c
index de722b1..06b6994 100644
--- a/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c
index ac24e50..3ad9c87 100644
--- a/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c
index 30eb99d..2db561d 100644
--- a/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c
index 965fb53..7ac11ee 100644
--- a/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c
index bec3652..6949176 100644
--- a/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c
index 9c1e3d9..7493837 100644
--- a/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c
index 8e5cda8..9d3bb97 100644
--- a/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x16.c b/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x16.c
index 17019b4..aed5e47 100644
--- a/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x8.c b/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x8.c
index 2f52a29..e2cb56e 100644
--- a/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vsqrdiff-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x16.c b/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x16.c
index f1132b3..9eb5cd0 100644
--- a/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x8.c b/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x8.c
index c739d0e..e37525b 100644
--- a/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vsqrdiffc-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c
index 6e9097c..683a160 100644
--- a/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c
index 4d049b9..e2f20b7 100644
--- a/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c b/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c
index dd8705b..1a6fe46 100644
--- a/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c
+++ b/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c b/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c
index 49eca87..ab34960 100644
--- a/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c
+++ b/src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/vop-neonfp16arith.c.in b/src/f16-vbinary/vop-neonfp16arith.c.in
index e606b65..aa67715 100644
--- a/src/f16-vbinary/vop-neonfp16arith.c.in
+++ b/src/f16-vbinary/vop-neonfp16arith.c.in
@@ -36,6 +36,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f16-vbinary/vopc-neonfp16arith.c.in b/src/f16-vbinary/vopc-neonfp16arith.c.in
index 0f92b75..4619197 100644
--- a/src/f16-vbinary/vopc-neonfp16arith.c.in
+++ b/src/f16-vbinary/vopc-neonfp16arith.c.in
@@ -38,6 +38,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(__fp16) == 0);
+  assert(a_ptr != NULL);
+  assert(b_ptr != NULL);
+  assert(y_ptr != NULL);
 
   const __fp16* a = (const __fp16*) a_ptr;
   const __fp16* b = (const __fp16*) b_ptr;
diff --git a/src/f32-vbinary/gen/vadd-minmax-avx-x16.c b/src/f32-vbinary/gen/vadd-minmax-avx-x16.c
index 2722f82..ed329e5 100644
--- a/src/f32-vbinary/gen/vadd-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vadd-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-avx-x8.c b/src/f32-vbinary/gen/vadd-minmax-avx-x8.c
index 7f68ea1..7dafa92 100644
--- a/src/f32-vbinary/gen/vadd-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c
index 74e0c8a..8dbb362 100644
--- a/src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c
index f33cefb..8ab6158 100644
--- a/src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vadd-minmax-neon-x4.c b/src/f32-vbinary/gen/vadd-minmax-neon-x4.c
index 64006b2..05b1d3b 100644
--- a/src/f32-vbinary/gen/vadd-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-neon-x8.c b/src/f32-vbinary/gen/vadd-minmax-neon-x8.c
index 9f4ff35..253b937 100644
--- a/src/f32-vbinary/gen/vadd-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-psimd-x4.c b/src/f32-vbinary/gen/vadd-minmax-psimd-x4.c
index d9fffd9..81ed983 100644
--- a/src/f32-vbinary/gen/vadd-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-psimd-x8.c b/src/f32-vbinary/gen/vadd-minmax-psimd-x8.c
index 6de0617..772a748 100644
--- a/src/f32-vbinary/gen/vadd-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-scalar-x1.c b/src/f32-vbinary/gen/vadd-minmax-scalar-x1.c
index 51623e9..e8d8c65 100644
--- a/src/f32-vbinary/gen/vadd-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vadd-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-scalar-x2.c b/src/f32-vbinary/gen/vadd-minmax-scalar-x2.c
index 0bfbd55..ed133ff 100644
--- a/src/f32-vbinary/gen/vadd-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vadd-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-scalar-x4.c b/src/f32-vbinary/gen/vadd-minmax-scalar-x4.c
index 8fbabcb..c76a989 100644
--- a/src/f32-vbinary/gen/vadd-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-sse-x4.c b/src/f32-vbinary/gen/vadd-minmax-sse-x4.c
index f985512..724d423 100644
--- a/src/f32-vbinary/gen/vadd-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-sse-x8.c b/src/f32-vbinary/gen/vadd-minmax-sse-x8.c
index c6f9ac6..0fdc17a 100644
--- a/src/f32-vbinary/gen/vadd-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasm-x1.c b/src/f32-vbinary/gen/vadd-minmax-wasm-x1.c
index 481272e..4516474 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasm-x2.c b/src/f32-vbinary/gen/vadd-minmax-wasm-x2.c
index 67c3c2a..d7a1027 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasm-x4.c b/src/f32-vbinary/gen/vadd-minmax-wasm-x4.c
index ddbafca..af05e23 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x4.c
index 634b51a..dc5b9e2 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x8.c
index 8dcb40c..cda1acb 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x4.c
index bad0eeb..4eec998 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x8.c
index 485f6e2..9e78ae2 100644
--- a/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vadd-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vadd-wasmsimd-x4.c b/src/f32-vbinary/gen/vadd-wasmsimd-x4.c
index fa28141..57f24bb 100644
--- a/src/f32-vbinary/gen/vadd-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vadd-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vadd-wasmsimd-x8.c b/src/f32-vbinary/gen/vadd-wasmsimd-x8.c
index b7b00be..35d0c10 100644
--- a/src/f32-vbinary/gen/vadd-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vadd-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vaddc-minmax-avx-x16.c b/src/f32-vbinary/gen/vaddc-minmax-avx-x16.c
index 140c3dc..912d3a2 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-avx-x8.c b/src/f32-vbinary/gen/vaddc-minmax-avx-x8.c
index 3a229b4..1d37c3e 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c
index f4185aa..4c70c24 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c
index c0cb054..f3bfe24 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vaddc-minmax-neon-x4.c b/src/f32-vbinary/gen/vaddc-minmax-neon-x4.c
index 57e4cda..318427d 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-neon-x8.c b/src/f32-vbinary/gen/vaddc-minmax-neon-x8.c
index 3c3fe34..04f181b 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vaddc-minmax-psimd-x4.c
index a243c94..1306f05 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vaddc-minmax-psimd-x8.c
index c2f1f24..0dafc5d 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c
index 7f7ceb2..329e37b 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c
index e183f22..6441a87 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c
index 51cb7e6..5ecb9ae 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-sse-x4.c b/src/f32-vbinary/gen/vaddc-minmax-sse-x4.c
index 06b30c9..95f887c 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-sse-x8.c b/src/f32-vbinary/gen/vaddc-minmax-sse-x8.c
index a169ca6..c6442bf 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vaddc-minmax-wasm-x1.c
index 28f4a31..b9c4329 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vaddc-minmax-wasm-x2.c
index 44c66cc..566fc56 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vaddc-minmax-wasm-x4.c
index def140a..53840dd 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x4.c
index dee652e..049b6e9 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x8.c
index f2cc655..c654389 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x4.c
index 9062b48..a2ce9d6 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x8.c
index c030c2d..2c53f3c 100644
--- a/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vaddc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vaddc-wasmsimd-x4.c b/src/f32-vbinary/gen/vaddc-wasmsimd-x4.c
index 0166991..9e3b56a 100644
--- a/src/f32-vbinary/gen/vaddc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vaddc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vaddc-wasmsimd-x8.c b/src/f32-vbinary/gen/vaddc-wasmsimd-x8.c
index 6599318..c8e772b 100644
--- a/src/f32-vbinary/gen/vaddc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vaddc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-avx-x16.c b/src/f32-vbinary/gen/vdiv-minmax-avx-x16.c
index 134ad9a..e6703cf 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-avx-x8.c b/src/f32-vbinary/gen/vdiv-minmax-avx-x8.c
index 63b9793..92769fe 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c
index 35ac61d..a067ff5 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c
index 52ef1da..35daa3a 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vdiv-minmax-neon-x4.c b/src/f32-vbinary/gen/vdiv-minmax-neon-x4.c
index cc4fc07..5061db7 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-neon-x8.c b/src/f32-vbinary/gen/vdiv-minmax-neon-x8.c
index 1ad0784..fb54ad4 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-psimd-x4.c b/src/f32-vbinary/gen/vdiv-minmax-psimd-x4.c
index a6e7d60..ccdb695 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-psimd-x8.c b/src/f32-vbinary/gen/vdiv-minmax-psimd-x8.c
index e5016cc..11239d4 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c b/src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c
index 53b562c..c91437b 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c b/src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
index 824c2bd..af78337 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c b/src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c
index 3d6a8cd..264c5be 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-sse-x4.c b/src/f32-vbinary/gen/vdiv-minmax-sse-x4.c
index 934b196..da002d8 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-sse-x8.c b/src/f32-vbinary/gen/vdiv-minmax-sse-x8.c
index 42e11c6..8aab030 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasm-x1.c b/src/f32-vbinary/gen/vdiv-minmax-wasm-x1.c
index aaf2759..8afbb48 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasm-x2.c b/src/f32-vbinary/gen/vdiv-minmax-wasm-x2.c
index f7a5cce..bff0095 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasm-x4.c b/src/f32-vbinary/gen/vdiv-minmax-wasm-x4.c
index 212b0d6..920f7c8 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x4.c
index f681aa4..a3abcfc 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x8.c
index 06133e3..f60e478 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x4.c
index a166116..bb86135 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x8.c
index 6214ae9..2cb5b5f 100644
--- a/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vdiv-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdiv-wasmsimd-x4.c b/src/f32-vbinary/gen/vdiv-wasmsimd-x4.c
index 8a7e68f..4d2356b 100644
--- a/src/f32-vbinary/gen/vdiv-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vdiv-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vdiv-wasmsimd-x8.c b/src/f32-vbinary/gen/vdiv-wasmsimd-x8.c
index fe8d3c9..0e5a847 100644
--- a/src/f32-vbinary/gen/vdiv-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vdiv-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vdivc-minmax-avx-x16.c b/src/f32-vbinary/gen/vdivc-minmax-avx-x16.c
index 945916c..d7b98aa 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-avx-x8.c b/src/f32-vbinary/gen/vdivc-minmax-avx-x8.c
index 9a47650..2a6dd89 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c
index 88b151e..4734164 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c
index 1a84a0e..79b7500 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vdivc-minmax-neon-x4.c b/src/f32-vbinary/gen/vdivc-minmax-neon-x4.c
index 8dde1b3..5e2f89a 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-neon-x8.c b/src/f32-vbinary/gen/vdivc-minmax-neon-x8.c
index 1517447..1700e99 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vdivc-minmax-psimd-x4.c
index f23b55d..6b14c37 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vdivc-minmax-psimd-x8.c
index 9f05b23..13de3e5 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c
index 3119102..c19cc01 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
index 954af51..d76a290 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c
index 0d05701..47943b2 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-sse-x4.c b/src/f32-vbinary/gen/vdivc-minmax-sse-x4.c
index 30544f3..cedab9e 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-sse-x8.c b/src/f32-vbinary/gen/vdivc-minmax-sse-x8.c
index 7d36f03..ad9d4fb 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vdivc-minmax-wasm-x1.c
index a6beadf..d9e245d 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vdivc-minmax-wasm-x2.c
index eafeef2..a60ec40 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vdivc-minmax-wasm-x4.c
index f46d880..22f8592 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x4.c
index 37eb288..4037443 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x8.c
index ad4f093..9d6de46 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x4.c
index d6b5f4b..9f2d6bf 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x8.c
index 00310e3..18bd5e7 100644
--- a/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vdivc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vdivc-wasmsimd-x4.c b/src/f32-vbinary/gen/vdivc-wasmsimd-x4.c
index 9deda98..e3bfe9b 100644
--- a/src/f32-vbinary/gen/vdivc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vdivc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vdivc-wasmsimd-x8.c b/src/f32-vbinary/gen/vdivc-wasmsimd-x8.c
index e4b4607..c9043b5 100644
--- a/src/f32-vbinary/gen/vdivc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vdivc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmax-avx-x16.c b/src/f32-vbinary/gen/vmax-avx-x16.c
index df889aa..252a296 100644
--- a/src/f32-vbinary/gen/vmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-avx-x8.c b/src/f32-vbinary/gen/vmax-avx-x8.c
index a7bb885..3703567 100644
--- a/src/f32-vbinary/gen/vmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-avx512f-x16.c b/src/f32-vbinary/gen/vmax-avx512f-x16.c
index b305419..6497566 100644
--- a/src/f32-vbinary/gen/vmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-avx512f-x32.c b/src/f32-vbinary/gen/vmax-avx512f-x32.c
index 26768c8..06c9dfc 100644
--- a/src/f32-vbinary/gen/vmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-neon-x4.c b/src/f32-vbinary/gen/vmax-neon-x4.c
index 1b89da5..73a2c9e 100644
--- a/src/f32-vbinary/gen/vmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-neon-x8.c b/src/f32-vbinary/gen/vmax-neon-x8.c
index 79fc7a2..416179c 100644
--- a/src/f32-vbinary/gen/vmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-psimd-x4.c b/src/f32-vbinary/gen/vmax-psimd-x4.c
index fb3bdc9..f55e42f 100644
--- a/src/f32-vbinary/gen/vmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-psimd-x8.c b/src/f32-vbinary/gen/vmax-psimd-x8.c
index f6396e0..c59ebdf 100644
--- a/src/f32-vbinary/gen/vmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-scalar-x1.c b/src/f32-vbinary/gen/vmax-scalar-x1.c
index cadc48f..d5b7c28 100644
--- a/src/f32-vbinary/gen/vmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-scalar-x2.c b/src/f32-vbinary/gen/vmax-scalar-x2.c
index 3c41548..a398846 100644
--- a/src/f32-vbinary/gen/vmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-scalar-x4.c b/src/f32-vbinary/gen/vmax-scalar-x4.c
index 729cbd8..669419c 100644
--- a/src/f32-vbinary/gen/vmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-sse-x4.c b/src/f32-vbinary/gen/vmax-sse-x4.c
index 296b40d..528e9a3 100644
--- a/src/f32-vbinary/gen/vmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-sse-x8.c b/src/f32-vbinary/gen/vmax-sse-x8.c
index 095f75f..13ce65f 100644
--- a/src/f32-vbinary/gen/vmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasm-x1.c b/src/f32-vbinary/gen/vmax-wasm-x1.c
index b0f05b8..767da2a 100644
--- a/src/f32-vbinary/gen/vmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasm-x2.c b/src/f32-vbinary/gen/vmax-wasm-x2.c
index 813b12e..a42ff4d 100644
--- a/src/f32-vbinary/gen/vmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasm-x4.c b/src/f32-vbinary/gen/vmax-wasm-x4.c
index 556703d..1af25cc 100644
--- a/src/f32-vbinary/gen/vmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vmax-wasmsimd-arm-x4.c
index 4cc77e7..38f0ef1 100644
--- a/src/f32-vbinary/gen/vmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vmax-wasmsimd-arm-x8.c
index fe29602..1a40c8a 100644
--- a/src/f32-vbinary/gen/vmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vmax-wasmsimd-x86-x4.c
index 5a760ce..871c14a 100644
--- a/src/f32-vbinary/gen/vmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vmax-wasmsimd-x86-x8.c
index 38b8e0a..5ea5d91 100644
--- a/src/f32-vbinary/gen/vmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmaxc-avx-x16.c b/src/f32-vbinary/gen/vmaxc-avx-x16.c
index ead7d47..304f96a 100644
--- a/src/f32-vbinary/gen/vmaxc-avx-x16.c
+++ b/src/f32-vbinary/gen/vmaxc-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vmaxc-avx-x8.c b/src/f32-vbinary/gen/vmaxc-avx-x8.c
index d8582b8..ddad53c 100644
--- a/src/f32-vbinary/gen/vmaxc-avx-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vmaxc-avx512f-x16.c b/src/f32-vbinary/gen/vmaxc-avx512f-x16.c
index e278e73..80b2471 100644
--- a/src/f32-vbinary/gen/vmaxc-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vmaxc-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vmaxc-avx512f-x32.c b/src/f32-vbinary/gen/vmaxc-avx512f-x32.c
index aba2ef5..27efb07 100644
--- a/src/f32-vbinary/gen/vmaxc-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vmaxc-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vmaxc-neon-x4.c b/src/f32-vbinary/gen/vmaxc-neon-x4.c
index a35d543..cb58453 100644
--- a/src/f32-vbinary/gen/vmaxc-neon-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vmaxc-neon-x8.c b/src/f32-vbinary/gen/vmaxc-neon-x8.c
index c246fae..04bc868 100644
--- a/src/f32-vbinary/gen/vmaxc-neon-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vmaxc-psimd-x4.c b/src/f32-vbinary/gen/vmaxc-psimd-x4.c
index 937d123..b5249ab 100644
--- a/src/f32-vbinary/gen/vmaxc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vmaxc-psimd-x8.c b/src/f32-vbinary/gen/vmaxc-psimd-x8.c
index 9a6cf1d..aa79336 100644
--- a/src/f32-vbinary/gen/vmaxc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vmaxc-scalar-x1.c b/src/f32-vbinary/gen/vmaxc-scalar-x1.c
index f0386b2..f5433df 100644
--- a/src/f32-vbinary/gen/vmaxc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmaxc-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-scalar-x2.c b/src/f32-vbinary/gen/vmaxc-scalar-x2.c
index e9dc506..c414451 100644
--- a/src/f32-vbinary/gen/vmaxc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmaxc-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-scalar-x4.c b/src/f32-vbinary/gen/vmaxc-scalar-x4.c
index 5459acf..144aa08 100644
--- a/src/f32-vbinary/gen/vmaxc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-sse-x4.c b/src/f32-vbinary/gen/vmaxc-sse-x4.c
index d4b2f03..60e438d 100644
--- a/src/f32-vbinary/gen/vmaxc-sse-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vmaxc-sse-x8.c b/src/f32-vbinary/gen/vmaxc-sse-x8.c
index 98a45ca..f593bd1 100644
--- a/src/f32-vbinary/gen/vmaxc-sse-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vmaxc-wasm-x1.c b/src/f32-vbinary/gen/vmaxc-wasm-x1.c
index 974b235..f545f57 100644
--- a/src/f32-vbinary/gen/vmaxc-wasm-x1.c
+++ b/src/f32-vbinary/gen/vmaxc-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-wasm-x2.c b/src/f32-vbinary/gen/vmaxc-wasm-x2.c
index d80941e..cb64e9b 100644
--- a/src/f32-vbinary/gen/vmaxc-wasm-x2.c
+++ b/src/f32-vbinary/gen/vmaxc-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-wasm-x4.c b/src/f32-vbinary/gen/vmaxc-wasm-x4.c
index 0fa1d17..88e3fce 100644
--- a/src/f32-vbinary/gen/vmaxc-wasm-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x4.c
index 222ab07..1aa9ada 100644
--- a/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x8.c
index 007ad84..347d060 100644
--- a/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x4.c
index aff4a75..d111b57 100644
--- a/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x8.c
index 31631a0..1325b6c 100644
--- a/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vmaxc-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmin-avx-x16.c b/src/f32-vbinary/gen/vmin-avx-x16.c
index 046b03e..2b7d6c4 100644
--- a/src/f32-vbinary/gen/vmin-avx-x16.c
+++ b/src/f32-vbinary/gen/vmin-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-avx-x8.c b/src/f32-vbinary/gen/vmin-avx-x8.c
index 82aacc9..1f7cb0f 100644
--- a/src/f32-vbinary/gen/vmin-avx-x8.c
+++ b/src/f32-vbinary/gen/vmin-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-avx512f-x16.c b/src/f32-vbinary/gen/vmin-avx512f-x16.c
index 46af77c..1a79d70 100644
--- a/src/f32-vbinary/gen/vmin-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vmin-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-avx512f-x32.c b/src/f32-vbinary/gen/vmin-avx512f-x32.c
index 894374c..b1e547b 100644
--- a/src/f32-vbinary/gen/vmin-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vmin-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-neon-x4.c b/src/f32-vbinary/gen/vmin-neon-x4.c
index dfa1ca9..eb1d3e1 100644
--- a/src/f32-vbinary/gen/vmin-neon-x4.c
+++ b/src/f32-vbinary/gen/vmin-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-neon-x8.c b/src/f32-vbinary/gen/vmin-neon-x8.c
index 2c936c3..92c9142 100644
--- a/src/f32-vbinary/gen/vmin-neon-x8.c
+++ b/src/f32-vbinary/gen/vmin-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-psimd-x4.c b/src/f32-vbinary/gen/vmin-psimd-x4.c
index ecea89e..67a2bdc 100644
--- a/src/f32-vbinary/gen/vmin-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmin-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-psimd-x8.c b/src/f32-vbinary/gen/vmin-psimd-x8.c
index da7fc6a..1032b47 100644
--- a/src/f32-vbinary/gen/vmin-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmin-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-scalar-x1.c b/src/f32-vbinary/gen/vmin-scalar-x1.c
index a29f699..2b6cdff 100644
--- a/src/f32-vbinary/gen/vmin-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmin-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-scalar-x2.c b/src/f32-vbinary/gen/vmin-scalar-x2.c
index d4ee3a4..3806c0b 100644
--- a/src/f32-vbinary/gen/vmin-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmin-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-scalar-x4.c b/src/f32-vbinary/gen/vmin-scalar-x4.c
index 71fc93c..d7d6d06 100644
--- a/src/f32-vbinary/gen/vmin-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmin-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-sse-x4.c b/src/f32-vbinary/gen/vmin-sse-x4.c
index a521e97..ae72673 100644
--- a/src/f32-vbinary/gen/vmin-sse-x4.c
+++ b/src/f32-vbinary/gen/vmin-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-sse-x8.c b/src/f32-vbinary/gen/vmin-sse-x8.c
index 500ed65..18ac48c 100644
--- a/src/f32-vbinary/gen/vmin-sse-x8.c
+++ b/src/f32-vbinary/gen/vmin-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasm-x1.c b/src/f32-vbinary/gen/vmin-wasm-x1.c
index cc6386a..c665f48 100644
--- a/src/f32-vbinary/gen/vmin-wasm-x1.c
+++ b/src/f32-vbinary/gen/vmin-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasm-x2.c b/src/f32-vbinary/gen/vmin-wasm-x2.c
index 92e467a..e0e5b28 100644
--- a/src/f32-vbinary/gen/vmin-wasm-x2.c
+++ b/src/f32-vbinary/gen/vmin-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasm-x4.c b/src/f32-vbinary/gen/vmin-wasm-x4.c
index 75e23c9..76d0a2a 100644
--- a/src/f32-vbinary/gen/vmin-wasm-x4.c
+++ b/src/f32-vbinary/gen/vmin-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vmin-wasmsimd-arm-x4.c
index e9b35db..c2d415f 100644
--- a/src/f32-vbinary/gen/vmin-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vmin-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vmin-wasmsimd-arm-x8.c
index aabca1b..16fc3a0 100644
--- a/src/f32-vbinary/gen/vmin-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vmin-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vmin-wasmsimd-x86-x4.c
index 7eafac9..c3db2f7 100644
--- a/src/f32-vbinary/gen/vmin-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vmin-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmin-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vmin-wasmsimd-x86-x8.c
index 2f785f0..2920c7b 100644
--- a/src/f32-vbinary/gen/vmin-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vmin-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vminc-avx-x16.c b/src/f32-vbinary/gen/vminc-avx-x16.c
index c15c0e3..e80af29 100644
--- a/src/f32-vbinary/gen/vminc-avx-x16.c
+++ b/src/f32-vbinary/gen/vminc-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vminc-avx-x8.c b/src/f32-vbinary/gen/vminc-avx-x8.c
index 9a1880c..0337508 100644
--- a/src/f32-vbinary/gen/vminc-avx-x8.c
+++ b/src/f32-vbinary/gen/vminc-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vminc-avx512f-x16.c b/src/f32-vbinary/gen/vminc-avx512f-x16.c
index c09dc8e..6b7f325 100644
--- a/src/f32-vbinary/gen/vminc-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vminc-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vminc-avx512f-x32.c b/src/f32-vbinary/gen/vminc-avx512f-x32.c
index 6a1ebb3..6b141bc 100644
--- a/src/f32-vbinary/gen/vminc-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vminc-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vminc-neon-x4.c b/src/f32-vbinary/gen/vminc-neon-x4.c
index 07b1ac6..13936c2 100644
--- a/src/f32-vbinary/gen/vminc-neon-x4.c
+++ b/src/f32-vbinary/gen/vminc-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vminc-neon-x8.c b/src/f32-vbinary/gen/vminc-neon-x8.c
index 517f13a..09e3f5a 100644
--- a/src/f32-vbinary/gen/vminc-neon-x8.c
+++ b/src/f32-vbinary/gen/vminc-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vminc-psimd-x4.c b/src/f32-vbinary/gen/vminc-psimd-x4.c
index e1336ac..c6d8a24 100644
--- a/src/f32-vbinary/gen/vminc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vminc-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vminc-psimd-x8.c b/src/f32-vbinary/gen/vminc-psimd-x8.c
index 4adfb23..e0c44fe 100644
--- a/src/f32-vbinary/gen/vminc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vminc-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vminc-scalar-x1.c b/src/f32-vbinary/gen/vminc-scalar-x1.c
index f1eb3cb..397521e 100644
--- a/src/f32-vbinary/gen/vminc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vminc-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-scalar-x2.c b/src/f32-vbinary/gen/vminc-scalar-x2.c
index cea44df..3441bfb 100644
--- a/src/f32-vbinary/gen/vminc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vminc-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-scalar-x4.c b/src/f32-vbinary/gen/vminc-scalar-x4.c
index 2f2deda..bc4ca15 100644
--- a/src/f32-vbinary/gen/vminc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vminc-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-sse-x4.c b/src/f32-vbinary/gen/vminc-sse-x4.c
index be8998c..eb0d86a 100644
--- a/src/f32-vbinary/gen/vminc-sse-x4.c
+++ b/src/f32-vbinary/gen/vminc-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vminc-sse-x8.c b/src/f32-vbinary/gen/vminc-sse-x8.c
index 7f4a11b..c1537a6 100644
--- a/src/f32-vbinary/gen/vminc-sse-x8.c
+++ b/src/f32-vbinary/gen/vminc-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vminc-wasm-x1.c b/src/f32-vbinary/gen/vminc-wasm-x1.c
index a557465..9223266 100644
--- a/src/f32-vbinary/gen/vminc-wasm-x1.c
+++ b/src/f32-vbinary/gen/vminc-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-wasm-x2.c b/src/f32-vbinary/gen/vminc-wasm-x2.c
index d50e60a..4d46e61 100644
--- a/src/f32-vbinary/gen/vminc-wasm-x2.c
+++ b/src/f32-vbinary/gen/vminc-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-wasm-x4.c b/src/f32-vbinary/gen/vminc-wasm-x4.c
index d8ac0ad..87234dd 100644
--- a/src/f32-vbinary/gen/vminc-wasm-x4.c
+++ b/src/f32-vbinary/gen/vminc-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vminc-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vminc-wasmsimd-arm-x4.c
index be3b869..40c3f33 100644
--- a/src/f32-vbinary/gen/vminc-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vminc-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vminc-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vminc-wasmsimd-arm-x8.c
index 6b1f726..bdd7c63 100644
--- a/src/f32-vbinary/gen/vminc-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vminc-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vminc-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vminc-wasmsimd-x86-x4.c
index 8b47e9f..463cea3 100644
--- a/src/f32-vbinary/gen/vminc-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vminc-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vminc-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vminc-wasmsimd-x86-x8.c
index 10b564e..56fd55e 100644
--- a/src/f32-vbinary/gen/vminc-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vminc-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmul-minmax-avx-x16.c b/src/f32-vbinary/gen/vmul-minmax-avx-x16.c
index 7e2590d..eb02454 100644
--- a/src/f32-vbinary/gen/vmul-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vmul-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-avx-x8.c b/src/f32-vbinary/gen/vmul-minmax-avx-x8.c
index 8c6e79e..a24b79d 100644
--- a/src/f32-vbinary/gen/vmul-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c
index 06c08bc..ac6788c 100644
--- a/src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c
index 1ccf9fb..5f21610 100644
--- a/src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vmul-minmax-neon-x4.c b/src/f32-vbinary/gen/vmul-minmax-neon-x4.c
index ec1973a..b422031 100644
--- a/src/f32-vbinary/gen/vmul-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-neon-x8.c b/src/f32-vbinary/gen/vmul-minmax-neon-x8.c
index 73de3bf..f96941d 100644
--- a/src/f32-vbinary/gen/vmul-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-psimd-x4.c b/src/f32-vbinary/gen/vmul-minmax-psimd-x4.c
index c53b818..e980d02 100644
--- a/src/f32-vbinary/gen/vmul-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-psimd-x8.c b/src/f32-vbinary/gen/vmul-minmax-psimd-x8.c
index a0e0e0f..761eba6 100644
--- a/src/f32-vbinary/gen/vmul-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-scalar-x1.c b/src/f32-vbinary/gen/vmul-minmax-scalar-x1.c
index 01f22c1..27ad2f1 100644
--- a/src/f32-vbinary/gen/vmul-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmul-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-scalar-x2.c b/src/f32-vbinary/gen/vmul-minmax-scalar-x2.c
index 191611e..3b11894 100644
--- a/src/f32-vbinary/gen/vmul-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmul-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-scalar-x4.c b/src/f32-vbinary/gen/vmul-minmax-scalar-x4.c
index 1d2e783..ce5eb00 100644
--- a/src/f32-vbinary/gen/vmul-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-sse-x4.c b/src/f32-vbinary/gen/vmul-minmax-sse-x4.c
index 094d81e..a64c71f 100644
--- a/src/f32-vbinary/gen/vmul-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-sse-x8.c b/src/f32-vbinary/gen/vmul-minmax-sse-x8.c
index 6099c87..b5f58de 100644
--- a/src/f32-vbinary/gen/vmul-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasm-x1.c b/src/f32-vbinary/gen/vmul-minmax-wasm-x1.c
index 0a2a848..63946cc 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasm-x2.c b/src/f32-vbinary/gen/vmul-minmax-wasm-x2.c
index 1891226..3b5ab46 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasm-x4.c b/src/f32-vbinary/gen/vmul-minmax-wasm-x4.c
index 0731aa7..24e4f30 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x4.c
index 5737f07..aa240d3 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x8.c
index 87b6689..3f876aa 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x4.c
index 1c3c63e..2de7784 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x8.c
index 14fefe3..c7d27be 100644
--- a/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vmul-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmul-wasmsimd-x4.c b/src/f32-vbinary/gen/vmul-wasmsimd-x4.c
index 7d494e6..8c39c45 100644
--- a/src/f32-vbinary/gen/vmul-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vmul-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmul-wasmsimd-x8.c b/src/f32-vbinary/gen/vmul-wasmsimd-x8.c
index f5162b3..8a271b9 100644
--- a/src/f32-vbinary/gen/vmul-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vmul-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vmulc-minmax-avx-x16.c b/src/f32-vbinary/gen/vmulc-minmax-avx-x16.c
index 29cc7b4..2ad0f34 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-avx-x8.c b/src/f32-vbinary/gen/vmulc-minmax-avx-x8.c
index 50eb602..36d7e61 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c
index 460d422..0ee604b 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c
index dca652f..8fff362 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vmulc-minmax-neon-x4.c b/src/f32-vbinary/gen/vmulc-minmax-neon-x4.c
index 15c2930..fc73453 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-neon-x8.c b/src/f32-vbinary/gen/vmulc-minmax-neon-x8.c
index 8693b14..46dfc89 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vmulc-minmax-psimd-x4.c
index 1a8d281..d588181 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vmulc-minmax-psimd-x8.c
index f58446b..5539d16 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c
index ffca7a7..89966d3 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c
index fe53df5..fd210c7 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c
index 24e4bcf..c0803cb 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-sse-x4.c b/src/f32-vbinary/gen/vmulc-minmax-sse-x4.c
index c564a12..cf6aa59 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-sse-x8.c b/src/f32-vbinary/gen/vmulc-minmax-sse-x8.c
index de42813..5de510c 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vmulc-minmax-wasm-x1.c
index 6507dba..6c12981 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vmulc-minmax-wasm-x2.c
index 4d8d071..3cdc3bd 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vmulc-minmax-wasm-x4.c
index 5281c86..808e802 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x4.c
index 55fc2d2..7dbe2ef 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x8.c
index 1d35091..98e6807 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x4.c
index e83c5e2..ca33b63 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x8.c
index c5ba724..d76fb6c 100644
--- a/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vmulc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vmulc-wasmsimd-x4.c b/src/f32-vbinary/gen/vmulc-wasmsimd-x4.c
index 32c56f4..d50579d 100644
--- a/src/f32-vbinary/gen/vmulc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vmulc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vmulc-wasmsimd-x8.c b/src/f32-vbinary/gen/vmulc-wasmsimd-x8.c
index 16b953c..1d5f972 100644
--- a/src/f32-vbinary/gen/vmulc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vmulc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c b/src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c
index 47c7e79..8e728cc 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c
index 721c71c..84803fe 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c
index 293e835..4c0d3b8 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c
index 65acd81..4dd239a 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c
index 0023945..f7237ae 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c
index bb5e055..78bf9f3 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-psimd-x4.c
index 7f89b45..13a1adf 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-psimd-x8.c
index 1f675a5..a910491 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c
index b49204a..ae85623 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
index f3e82c6..b8b631e 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c
index 8cc8737..02be84d 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c
index 3bfdb77..7d439ff 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c
index 7e72a02..8779326 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x1.c
index 63072ae..df9a6b7 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x2.c
index a9f70f6..0e16b0d 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x4.c
index 5b689e3..1e8aa5b 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x4.c
index 2b25852..55f2079 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x8.c
index fc28788..bc02f2c 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x4.c
index 27a516c..04216f5 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x8.c
index 4e41a7d..21ecca2 100644
--- a/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrdivc-wasmsimd-x4.c b/src/f32-vbinary/gen/vrdivc-wasmsimd-x4.c
index 077dd83..bbcf6c0 100644
--- a/src/f32-vbinary/gen/vrdivc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vrdivc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vrdivc-wasmsimd-x8.c b/src/f32-vbinary/gen/vrdivc-wasmsimd-x8.c
index 3a3d2dd..48d9528 100644
--- a/src/f32-vbinary/gen/vrdivc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vrdivc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c b/src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c
index 4e73860..1813146 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c
index e036c9b..2d5196b 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c
index 908916e..9c789d0 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c
index b4c7d05..3668a6d 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c
index 4457291..0192f23 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c
index e68b6cb..297a77d 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-psimd-x4.c
index fff955f..c29f383 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-psimd-x8.c
index f57dbf5..9658ed6 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c
index d7463cb..206b0c6 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c
index a6189df..3fae634 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c
index 64afb58..05dc84e 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c
index 0322bb5..9033d61 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c
index 853faa6..0ca655b 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x1.c
index 3ee3d12..567ccb0 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x2.c
index c66ae81..07928c1 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x4.c
index 5b2dfec..6a844e1 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x4.c
index 5a2d27d..6099a52 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x8.c
index 3944715..9062993 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x4.c
index 3652662..a974232 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x8.c
index cff00af..993e222 100644
--- a/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vrsubc-wasmsimd-x4.c b/src/f32-vbinary/gen/vrsubc-wasmsimd-x4.c
index 2c570d6..21e51d1 100644
--- a/src/f32-vbinary/gen/vrsubc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vrsubc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vrsubc-wasmsimd-x8.c b/src/f32-vbinary/gen/vrsubc-wasmsimd-x8.c
index c8ca73c..8c27319 100644
--- a/src/f32-vbinary/gen/vrsubc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vrsubc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vsqrdiff-avx-x16.c b/src/f32-vbinary/gen/vsqrdiff-avx-x16.c
index d29cfec..da17288 100644
--- a/src/f32-vbinary/gen/vsqrdiff-avx-x16.c
+++ b/src/f32-vbinary/gen/vsqrdiff-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-avx-x8.c b/src/f32-vbinary/gen/vsqrdiff-avx-x8.c
index 3a676a4..e3ebd25 100644
--- a/src/f32-vbinary/gen/vsqrdiff-avx-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiff-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c b/src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c
index a5f4844..ae00dab 100644
--- a/src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c b/src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c
index c232e68..5c503c8 100644
--- a/src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-neon-x4.c b/src/f32-vbinary/gen/vsqrdiff-neon-x4.c
index dd06cc7..6f90fd7 100644
--- a/src/f32-vbinary/gen/vsqrdiff-neon-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiff-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-neon-x8.c b/src/f32-vbinary/gen/vsqrdiff-neon-x8.c
index bda32d1..4ccbba7 100644
--- a/src/f32-vbinary/gen/vsqrdiff-neon-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiff-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-psimd-x4.c b/src/f32-vbinary/gen/vsqrdiff-psimd-x4.c
index 1439c0a..d26f91b 100644
--- a/src/f32-vbinary/gen/vsqrdiff-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiff-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-psimd-x8.c b/src/f32-vbinary/gen/vsqrdiff-psimd-x8.c
index 7910349..0584f27 100644
--- a/src/f32-vbinary/gen/vsqrdiff-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiff-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-scalar-x1.c b/src/f32-vbinary/gen/vsqrdiff-scalar-x1.c
index 9f8ff4e..d3f0be5 100644
--- a/src/f32-vbinary/gen/vsqrdiff-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsqrdiff-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-scalar-x2.c b/src/f32-vbinary/gen/vsqrdiff-scalar-x2.c
index ab47261..6c3b323 100644
--- a/src/f32-vbinary/gen/vsqrdiff-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsqrdiff-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-scalar-x4.c b/src/f32-vbinary/gen/vsqrdiff-scalar-x4.c
index e850af8..f8d1df7 100644
--- a/src/f32-vbinary/gen/vsqrdiff-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiff-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-sse-x4.c b/src/f32-vbinary/gen/vsqrdiff-sse-x4.c
index 3db4403..84ec75a 100644
--- a/src/f32-vbinary/gen/vsqrdiff-sse-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiff-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-sse-x8.c b/src/f32-vbinary/gen/vsqrdiff-sse-x8.c
index ca6ab69..9dca2c9 100644
--- a/src/f32-vbinary/gen/vsqrdiff-sse-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiff-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x4.c b/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x4.c
index 1434360..49cb136 100644
--- a/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x8.c b/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x8.c
index bf7d1ba..97cea11 100644
--- a/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiff-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsqrdiffc-avx-x16.c b/src/f32-vbinary/gen/vsqrdiffc-avx-x16.c
index 636766f..baa85ce 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-avx-x16.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-avx-x8.c b/src/f32-vbinary/gen/vsqrdiffc-avx-x8.c
index e2dfb5f..13206b5 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-avx-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m256 vb = _mm256_broadcast_ss(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c b/src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c
index bf41178..6ffe404 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c b/src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c
index 487632f..0c64f50 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m512 vb = _mm512_set1_ps(*b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-neon-x4.c b/src/f32-vbinary/gen/vsqrdiffc-neon-x4.c
index 33cc34b..b922a97 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-neon-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-neon-x8.c b/src/f32-vbinary/gen/vsqrdiffc-neon-x8.c
index da2f1dc..a04e8d6 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-neon-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float32x4_t vb = vld1q_dup_f32(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-psimd-x4.c b/src/f32-vbinary/gen/vsqrdiffc-psimd-x4.c
index 754e814..937a506 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-psimd-x8.c b/src/f32-vbinary/gen/vsqrdiffc-psimd-x8.c
index d47eeea..9f58188 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const psimd_f32 vb = psimd_load_splat_f32(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c b/src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c
index 7a88d0a..700f052 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c b/src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c
index 63771e5..28cf740 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c b/src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c
index 9fcc8dc..21cc5be 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const float vb = *b;
diff --git a/src/f32-vbinary/gen/vsqrdiffc-sse-x4.c b/src/f32-vbinary/gen/vsqrdiffc-sse-x4.c
index 19beecc..6883f39 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-sse-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-sse-x8.c b/src/f32-vbinary/gen/vsqrdiffc-sse-x8.c
index 43c1eb0..102b3b2 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-sse-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const __m128 vb = _mm_load1_ps(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x4.c b/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x4.c
index fbfcb40..e1fa64c 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x8.c b/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x8.c
index e22ef37..f90aadb 100644
--- a/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vsqrdiffc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vsub-minmax-avx-x16.c b/src/f32-vbinary/gen/vsub-minmax-avx-x16.c
index fd9aee3..7d550ed 100644
--- a/src/f32-vbinary/gen/vsub-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vsub-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-avx-x8.c b/src/f32-vbinary/gen/vsub-minmax-avx-x8.c
index 1604d60..e889804 100644
--- a/src/f32-vbinary/gen/vsub-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c
index 767bf48..69b9733 100644
--- a/src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c
index ed289c6..71a69cd 100644
--- a/src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vsub-minmax-neon-x4.c b/src/f32-vbinary/gen/vsub-minmax-neon-x4.c
index bc5609d..cc0c236 100644
--- a/src/f32-vbinary/gen/vsub-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-neon-x8.c b/src/f32-vbinary/gen/vsub-minmax-neon-x8.c
index a5b4ada..fab82b3 100644
--- a/src/f32-vbinary/gen/vsub-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-psimd-x4.c b/src/f32-vbinary/gen/vsub-minmax-psimd-x4.c
index 9b81729..0c955aa 100644
--- a/src/f32-vbinary/gen/vsub-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-psimd-x8.c b/src/f32-vbinary/gen/vsub-minmax-psimd-x8.c
index f1931ec..6118494 100644
--- a/src/f32-vbinary/gen/vsub-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-scalar-x1.c b/src/f32-vbinary/gen/vsub-minmax-scalar-x1.c
index 1f251e2..b7502f8 100644
--- a/src/f32-vbinary/gen/vsub-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsub-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-scalar-x2.c b/src/f32-vbinary/gen/vsub-minmax-scalar-x2.c
index 16cdb9d..62f6ab3 100644
--- a/src/f32-vbinary/gen/vsub-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsub-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-scalar-x4.c b/src/f32-vbinary/gen/vsub-minmax-scalar-x4.c
index 81e52d0..d4e9261 100644
--- a/src/f32-vbinary/gen/vsub-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-sse-x4.c b/src/f32-vbinary/gen/vsub-minmax-sse-x4.c
index f9e7a60..4995bc3 100644
--- a/src/f32-vbinary/gen/vsub-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-sse-x8.c b/src/f32-vbinary/gen/vsub-minmax-sse-x8.c
index 83d9ed2..9b22986 100644
--- a/src/f32-vbinary/gen/vsub-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasm-x1.c b/src/f32-vbinary/gen/vsub-minmax-wasm-x1.c
index 32b5b99..968ecb1 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasm-x2.c b/src/f32-vbinary/gen/vsub-minmax-wasm-x2.c
index eb66d63..ce262ce 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasm-x4.c b/src/f32-vbinary/gen/vsub-minmax-wasm-x4.c
index 167c5d6..c2e5d66 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x4.c
index a8ca2e8..22f251b 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x8.c
index a9298e8..addd721 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x4.c
index 207002b..09076a8 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x8.c
index 122e892..caba328 100644
--- a/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vsub-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsub-wasmsimd-x4.c b/src/f32-vbinary/gen/vsub-wasmsimd-x4.c
index e21efe8..1f5f968 100644
--- a/src/f32-vbinary/gen/vsub-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vsub-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsub-wasmsimd-x8.c b/src/f32-vbinary/gen/vsub-wasmsimd-x8.c
index b31df31..d831196 100644
--- a/src/f32-vbinary/gen/vsub-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vsub-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vbinary/gen/vsubc-minmax-avx-x16.c b/src/f32-vbinary/gen/vsubc-minmax-avx-x16.c
index 7b5800c..3d92692 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-avx-x16.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-avx-x16.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-avx-x8.c b/src/f32-vbinary/gen/vsubc-minmax-avx-x8.c
index 1ac4afc..88ecb5e 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-avx-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-avx-x8.c
@@ -26,6 +26,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
   const __m256 vy_max = _mm256_broadcast_ps((const __m128*) params->sse.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c b/src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c
index 71775cf..d4916be 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c b/src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c
index 5aa88d5..98dcec8 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
   const __m512 vy_max = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.max));
diff --git a/src/f32-vbinary/gen/vsubc-minmax-neon-x4.c b/src/f32-vbinary/gen/vsubc-minmax-neon-x4.c
index 0b616f1..00c118e 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-neon-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-neon-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-neon-x8.c b/src/f32-vbinary/gen/vsubc-minmax-neon-x8.c
index 3c8f247..9deb2ab 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-neon-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-neon-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
   const float32x4_t vy_max = vld1q_dup_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-psimd-x4.c b/src/f32-vbinary/gen/vsubc-minmax-psimd-x4.c
index f514bed..1ad761f 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-psimd-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-psimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-psimd-x8.c b/src/f32-vbinary/gen/vsubc-minmax-psimd-x8.c
index 6633b80..c607a6c 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-psimd-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-psimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
   const psimd_f32 vy_max = psimd_load_splat_f32(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c b/src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c
index ed2bb78..d0ecd9a 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c b/src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c
index 16b8ca3..082c28a 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c b/src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c
index 589ae49..0769fca 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-sse-x4.c b/src/f32-vbinary/gen/vsubc-minmax-sse-x4.c
index 4e697f1..14eea80 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-sse-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-sse-x4.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-sse-x8.c b/src/f32-vbinary/gen/vsubc-minmax-sse-x8.c
index 735102b..09c7929 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-sse-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-sse-x8.c
@@ -25,6 +25,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const __m128 vy_min = _mm_load_ps(params->sse.min);
   const __m128 vy_max = _mm_load_ps(params->sse.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasm-x1.c b/src/f32-vbinary/gen/vsubc-minmax-wasm-x1.c
index 1a47366..756422e 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasm-x1.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasm-x1.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasm-x2.c b/src/f32-vbinary/gen/vsubc-minmax-wasm-x2.c
index c7463d6..1e0b02c 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasm-x2.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasm-x2.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasm-x4.c b/src/f32-vbinary/gen/vsubc-minmax-wasm-x4.c
index 1970ca9..e82df01 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasm-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasm-x4.c
@@ -23,6 +23,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const float vy_min = params->scalar.min;
   const float vy_max = params->scalar.max;
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x4.c b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x4.c
index 0ee3672..6177309 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x8.c b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x8.c
index be93ed0..03b7b1d 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-arm-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x4.c b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x4.c
index 4aebc52..e521a74 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x4.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x8.c b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x8.c
index 14d10eb..b4ba3af 100644
--- a/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x8.c
+++ b/src/f32-vbinary/gen/vsubc-minmax-wasmsimd-x86-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
   const v128_t vy_max = wasm_v32x4_load_splat(&params->scalar.max);
diff --git a/src/f32-vbinary/gen/vsubc-wasmsimd-x4.c b/src/f32-vbinary/gen/vsubc-wasmsimd-x4.c
index 135b0ad..33d0b37 100644
--- a/src/f32-vbinary/gen/vsubc-wasmsimd-x4.c
+++ b/src/f32-vbinary/gen/vsubc-wasmsimd-x4.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/gen/vsubc-wasmsimd-x8.c b/src/f32-vbinary/gen/vsubc-wasmsimd-x8.c
index 5c5a827..4abbc1b 100644
--- a/src/f32-vbinary/gen/vsubc-wasmsimd-x8.c
+++ b/src/f32-vbinary/gen/vsubc-wasmsimd-x8.c
@@ -24,6 +24,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
 
   const v128_t vb = wasm_v32x4_load_splat(b);
diff --git a/src/f32-vbinary/vop-avx.c.in b/src/f32-vbinary/vop-avx.c.in
index 9257ceb..142d6f8 100644
--- a/src/f32-vbinary/vop-avx.c.in
+++ b/src/f32-vbinary/vop-avx.c.in
@@ -38,6 +38,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
diff --git a/src/f32-vbinary/vop-avx512f.c.in b/src/f32-vbinary/vop-avx512f.c.in
index fcde413..a924ec8 100644
--- a/src/f32-vbinary/vop-avx512f.c.in
+++ b/src/f32-vbinary/vop-avx512f.c.in
@@ -37,6 +37,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
diff --git a/src/f32-vbinary/vop-neon.c.in b/src/f32-vbinary/vop-neon.c.in
index 143a8e8..4bc640e 100644
--- a/src/f32-vbinary/vop-neon.c.in
+++ b/src/f32-vbinary/vop-neon.c.in
@@ -36,6 +36,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
diff --git a/src/f32-vbinary/vop-psimd.c.in b/src/f32-vbinary/vop-psimd.c.in
index 35a0cdb..822b627 100644
--- a/src/f32-vbinary/vop-psimd.c.in
+++ b/src/f32-vbinary/vop-psimd.c.in
@@ -36,6 +36,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
diff --git a/src/f32-vbinary/vop-scalar.c.in b/src/f32-vbinary/vop-scalar.c.in
index 85696ac..0df0def 100644
--- a/src/f32-vbinary/vop-scalar.c.in
+++ b/src/f32-vbinary/vop-scalar.c.in
@@ -36,6 +36,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const float vy_min = params->scalar.min;
diff --git a/src/f32-vbinary/vop-sse.c.in b/src/f32-vbinary/vop-sse.c.in
index 5f141b5..7105c30 100644
--- a/src/f32-vbinary/vop-sse.c.in
+++ b/src/f32-vbinary/vop-sse.c.in
@@ -37,6 +37,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m128 vy_min = _mm_load_ps(params->sse.min);
diff --git a/src/f32-vbinary/vop-wasmsimd.c.in b/src/f32-vbinary/vop-wasmsimd.c.in
index 50c59c8..025ced0 100644
--- a/src/f32-vbinary/vop-wasmsimd.c.in
+++ b/src/f32-vbinary/vop-wasmsimd.c.in
@@ -37,6 +37,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
diff --git a/src/f32-vbinary/vopc-avx.c.in b/src/f32-vbinary/vopc-avx.c.in
index 8cc81ec..e9041c0 100644
--- a/src/f32-vbinary/vopc-avx.c.in
+++ b/src/f32-vbinary/vopc-avx.c.in
@@ -40,6 +40,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m256 vy_min = _mm256_broadcast_ps((const __m128*) params->sse.min);
diff --git a/src/f32-vbinary/vopc-avx512f.c.in b/src/f32-vbinary/vopc-avx512f.c.in
index 488f1d4..2bde7fa 100644
--- a/src/f32-vbinary/vopc-avx512f.c.in
+++ b/src/f32-vbinary/vopc-avx512f.c.in
@@ -39,6 +39,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m512 vy_min = _mm512_broadcast_f32x4(_mm_load_ps(params->sse.min));
diff --git a/src/f32-vbinary/vopc-neon.c.in b/src/f32-vbinary/vopc-neon.c.in
index c962cc1..987a720 100644
--- a/src/f32-vbinary/vopc-neon.c.in
+++ b/src/f32-vbinary/vopc-neon.c.in
@@ -38,6 +38,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const float32x4_t vy_min = vld1q_dup_f32(&params->scalar.min);
diff --git a/src/f32-vbinary/vopc-psimd.c.in b/src/f32-vbinary/vopc-psimd.c.in
index 44c1928..4804b65 100644
--- a/src/f32-vbinary/vopc-psimd.c.in
+++ b/src/f32-vbinary/vopc-psimd.c.in
@@ -38,6 +38,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const psimd_f32 vy_min = psimd_load_splat_f32(&params->scalar.min);
diff --git a/src/f32-vbinary/vopc-scalar.c.in b/src/f32-vbinary/vopc-scalar.c.in
index af859b3..bd1453b 100644
--- a/src/f32-vbinary/vopc-scalar.c.in
+++ b/src/f32-vbinary/vopc-scalar.c.in
@@ -38,6 +38,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const float vy_min = params->scalar.min;
diff --git a/src/f32-vbinary/vopc-sse.c.in b/src/f32-vbinary/vopc-sse.c.in
index f296438..8d83621 100644
--- a/src/f32-vbinary/vopc-sse.c.in
+++ b/src/f32-vbinary/vopc-sse.c.in
@@ -39,6 +39,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const __m128 vy_min = _mm_load_ps(params->sse.min);
diff --git a/src/f32-vbinary/vopc-wasmsimd.c.in b/src/f32-vbinary/vopc-wasmsimd.c.in
index bca3fac..5cc437d 100644
--- a/src/f32-vbinary/vopc-wasmsimd.c.in
+++ b/src/f32-vbinary/vopc-wasmsimd.c.in
@@ -39,6 +39,9 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(a != NULL);
+  assert(b != NULL);
+  assert(y != NULL);
 
   $if ACTIVATION == "MINMAX":
     const v128_t vy_min = wasm_v32x4_load_splat(&params->scalar.min);
diff --git a/src/f32-vunary/avx.c.in b/src/f32-vunary/avx.c.in
index 2405bf9..15015c5 100644
--- a/src/f32-vunary/avx.c.in
+++ b/src/f32-vunary/avx.c.in
@@ -35,6 +35,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   $if OP == "ABS":
     const __m256 vnonsign_mask = _mm256_broadcast_ps((const __m128*) params->sse.nonsign_mask);
diff --git a/src/f32-vunary/avx512f.c.in b/src/f32-vunary/avx512f.c.in
index eb8764b..ecc6ea8 100644
--- a/src/f32-vunary/avx512f.c.in
+++ b/src/f32-vunary/avx512f.c.in
@@ -59,6 +59,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   $if OP == "ABS":
     const __m512i vnonsign_mask = _mm512_broadcast_i32x4(_mm_load_si128((const __m128i*) params->sse.nonsign_mask));
diff --git a/src/f32-vunary/gen/vabs-avx-x16.c b/src/f32-vunary/gen/vabs-avx-x16.c
index 13a33b2..40b037e 100644
--- a/src/f32-vunary/gen/vabs-avx-x16.c
+++ b/src/f32-vunary/gen/vabs-avx-x16.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m256 vnonsign_mask = _mm256_broadcast_ps((const __m128*) params->sse.nonsign_mask);
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-avx-x8.c b/src/f32-vunary/gen/vabs-avx-x8.c
index 54f5281..51d7696 100644
--- a/src/f32-vunary/gen/vabs-avx-x8.c
+++ b/src/f32-vunary/gen/vabs-avx-x8.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m256 vnonsign_mask = _mm256_broadcast_ps((const __m128*) params->sse.nonsign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-avx512f-x16.c b/src/f32-vunary/gen/vabs-avx512f-x16.c
index a57d5c8..b16753e 100644
--- a/src/f32-vunary/gen/vabs-avx512f-x16.c
+++ b/src/f32-vunary/gen/vabs-avx512f-x16.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m512i vnonsign_mask = _mm512_broadcast_i32x4(_mm_load_si128((const __m128i*) params->sse.nonsign_mask));
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-avx512f-x32.c b/src/f32-vunary/gen/vabs-avx512f-x32.c
index 7f325f2..e200135 100644
--- a/src/f32-vunary/gen/vabs-avx512f-x32.c
+++ b/src/f32-vunary/gen/vabs-avx512f-x32.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m512i vnonsign_mask = _mm512_broadcast_i32x4(_mm_load_si128((const __m128i*) params->sse.nonsign_mask));
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-neon-x4.c b/src/f32-vunary/gen/vabs-neon-x4.c
index d60f2e7..248ca7d 100644
--- a/src/f32-vunary/gen/vabs-neon-x4.c
+++ b/src/f32-vunary/gen/vabs-neon-x4.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vabs-neon-x8.c b/src/f32-vunary/gen/vabs-neon-x8.c
index d94b53e..702d9eb 100644
--- a/src/f32-vunary/gen/vabs-neon-x8.c
+++ b/src/f32-vunary/gen/vabs-neon-x8.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vabs-psimd-x4.c b/src/f32-vunary/gen/vabs-psimd-x4.c
index 4446cb1..e69f08b 100644
--- a/src/f32-vunary/gen/vabs-psimd-x4.c
+++ b/src/f32-vunary/gen/vabs-psimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vabs-psimd-x8.c b/src/f32-vunary/gen/vabs-psimd-x8.c
index c8d5da8..ce089fe 100644
--- a/src/f32-vunary/gen/vabs-psimd-x8.c
+++ b/src/f32-vunary/gen/vabs-psimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vabs-scalar-x1.c b/src/f32-vunary/gen/vabs-scalar-x1.c
index c8c5937..7e830ce 100644
--- a/src/f32-vunary/gen/vabs-scalar-x1.c
+++ b/src/f32-vunary/gen/vabs-scalar-x1.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
     const float vx = *x++;
diff --git a/src/f32-vunary/gen/vabs-scalar-x2.c b/src/f32-vunary/gen/vabs-scalar-x2.c
index 385a5c5..41d831a 100644
--- a/src/f32-vunary/gen/vabs-scalar-x2.c
+++ b/src/f32-vunary/gen/vabs-scalar-x2.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vabs-scalar-x4.c b/src/f32-vunary/gen/vabs-scalar-x4.c
index b4417dc..9d79154 100644
--- a/src/f32-vunary/gen/vabs-scalar-x4.c
+++ b/src/f32-vunary/gen/vabs-scalar-x4.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vabs-sse-x4.c b/src/f32-vunary/gen/vabs-sse-x4.c
index 7595937..bbd8fa9 100644
--- a/src/f32-vunary/gen/vabs-sse-x4.c
+++ b/src/f32-vunary/gen/vabs-sse-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m128 vnonsign_mask = _mm_load_ps(params->sse.nonsign_mask);
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-sse-x8.c b/src/f32-vunary/gen/vabs-sse-x8.c
index afce830..7b2a32c 100644
--- a/src/f32-vunary/gen/vabs-sse-x8.c
+++ b/src/f32-vunary/gen/vabs-sse-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m128 vnonsign_mask = _mm_load_ps(params->sse.nonsign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-wasmsimd-x4.c b/src/f32-vunary/gen/vabs-wasmsimd-x4.c
index 63dcc00..64cbd53 100644
--- a/src/f32-vunary/gen/vabs-wasmsimd-x4.c
+++ b/src/f32-vunary/gen/vabs-wasmsimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const v128_t vnonsign_mask = wasm_v32x4_load_splat(&params->wasmsimd.nonsign_mask);
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vabs-wasmsimd-x8.c b/src/f32-vunary/gen/vabs-wasmsimd-x8.c
index 034c3ec..5194dc5 100644
--- a/src/f32-vunary/gen/vabs-wasmsimd-x8.c
+++ b/src/f32-vunary/gen/vabs-wasmsimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const v128_t vnonsign_mask = wasm_v32x4_load_splat(&params->wasmsimd.nonsign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-avx-x16.c b/src/f32-vunary/gen/vneg-avx-x16.c
index 0847b40..4a24a00 100644
--- a/src/f32-vunary/gen/vneg-avx-x16.c
+++ b/src/f32-vunary/gen/vneg-avx-x16.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m256 vsign_mask = _mm256_broadcast_ps((const __m128*) params->sse.sign_mask);
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-avx-x8.c b/src/f32-vunary/gen/vneg-avx-x8.c
index 825a3b6..a5cb658 100644
--- a/src/f32-vunary/gen/vneg-avx-x8.c
+++ b/src/f32-vunary/gen/vneg-avx-x8.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m256 vsign_mask = _mm256_broadcast_ps((const __m128*) params->sse.sign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-avx512f-x16.c b/src/f32-vunary/gen/vneg-avx512f-x16.c
index 0123585..6d8d7a8 100644
--- a/src/f32-vunary/gen/vneg-avx512f-x16.c
+++ b/src/f32-vunary/gen/vneg-avx512f-x16.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m512i vsign_mask = _mm512_broadcast_i32x4(_mm_load_si128((const __m128i*) params->sse.sign_mask));
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-avx512f-x32.c b/src/f32-vunary/gen/vneg-avx512f-x32.c
index a082580..29285a8 100644
--- a/src/f32-vunary/gen/vneg-avx512f-x32.c
+++ b/src/f32-vunary/gen/vneg-avx512f-x32.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m512i vsign_mask = _mm512_broadcast_i32x4(_mm_load_si128((const __m128i*) params->sse.sign_mask));
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-neon-x4.c b/src/f32-vunary/gen/vneg-neon-x4.c
index 76ef83f..9623792 100644
--- a/src/f32-vunary/gen/vneg-neon-x4.c
+++ b/src/f32-vunary/gen/vneg-neon-x4.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vneg-neon-x8.c b/src/f32-vunary/gen/vneg-neon-x8.c
index 0a56120..87caed2 100644
--- a/src/f32-vunary/gen/vneg-neon-x8.c
+++ b/src/f32-vunary/gen/vneg-neon-x8.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vneg-psimd-x4.c b/src/f32-vunary/gen/vneg-psimd-x4.c
index 55dc60f..f4955c1 100644
--- a/src/f32-vunary/gen/vneg-psimd-x4.c
+++ b/src/f32-vunary/gen/vneg-psimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vneg-psimd-x8.c b/src/f32-vunary/gen/vneg-psimd-x8.c
index 0acbda9..75d497e 100644
--- a/src/f32-vunary/gen/vneg-psimd-x8.c
+++ b/src/f32-vunary/gen/vneg-psimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vneg-scalar-x1.c b/src/f32-vunary/gen/vneg-scalar-x1.c
index 208aea9..702f751 100644
--- a/src/f32-vunary/gen/vneg-scalar-x1.c
+++ b/src/f32-vunary/gen/vneg-scalar-x1.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
     const float vx = *x++;
diff --git a/src/f32-vunary/gen/vneg-scalar-x2.c b/src/f32-vunary/gen/vneg-scalar-x2.c
index f5a8cbd..236078e 100644
--- a/src/f32-vunary/gen/vneg-scalar-x2.c
+++ b/src/f32-vunary/gen/vneg-scalar-x2.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vneg-scalar-x4.c b/src/f32-vunary/gen/vneg-scalar-x4.c
index 1ad597a..8cbb75a 100644
--- a/src/f32-vunary/gen/vneg-scalar-x4.c
+++ b/src/f32-vunary/gen/vneg-scalar-x4.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vneg-sse-x4.c b/src/f32-vunary/gen/vneg-sse-x4.c
index 207ed05..1099a43 100644
--- a/src/f32-vunary/gen/vneg-sse-x4.c
+++ b/src/f32-vunary/gen/vneg-sse-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m128 vsign_mask = _mm_load_ps(params->sse.sign_mask);
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-sse-x8.c b/src/f32-vunary/gen/vneg-sse-x8.c
index 16d7be5..e4a1f95 100644
--- a/src/f32-vunary/gen/vneg-sse-x8.c
+++ b/src/f32-vunary/gen/vneg-sse-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const __m128 vsign_mask = _mm_load_ps(params->sse.sign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-wasmsimd-x4.c b/src/f32-vunary/gen/vneg-wasmsimd-x4.c
index 0459a46..e3a3831 100644
--- a/src/f32-vunary/gen/vneg-wasmsimd-x4.c
+++ b/src/f32-vunary/gen/vneg-wasmsimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const v128_t vsign_mask = wasm_v32x4_load_splat(&params->wasmsimd.sign_mask);
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vneg-wasmsimd-x8.c b/src/f32-vunary/gen/vneg-wasmsimd-x8.c
index 3809ba3..024fada 100644
--- a/src/f32-vunary/gen/vneg-wasmsimd-x8.c
+++ b/src/f32-vunary/gen/vneg-wasmsimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   const v128_t vsign_mask = wasm_v32x4_load_splat(&params->wasmsimd.sign_mask);
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
diff --git a/src/f32-vunary/gen/vsqr-avx-x16.c b/src/f32-vunary/gen/vsqr-avx-x16.c
index 9d9aef4..a7c7c25 100644
--- a/src/f32-vunary/gen/vsqr-avx-x16.c
+++ b/src/f32-vunary/gen/vsqr-avx-x16.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
     const __m256 vx01234567 = _mm256_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-avx-x8.c b/src/f32-vunary/gen/vsqr-avx-x8.c
index 35a8490..151409f 100644
--- a/src/f32-vunary/gen/vsqr-avx-x8.c
+++ b/src/f32-vunary/gen/vsqr-avx-x8.c
@@ -25,6 +25,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const __m256 vx01234567 = _mm256_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-avx512f-x16.c b/src/f32-vunary/gen/vsqr-avx512f-x16.c
index 03133dd..4f7e8ad 100644
--- a/src/f32-vunary/gen/vsqr-avx512f-x16.c
+++ b/src/f32-vunary/gen/vsqr-avx512f-x16.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 16 * sizeof(float); n -= 16 * sizeof(float)) {
     const __m512 vx0123456789ABCDEF = _mm512_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-avx512f-x32.c b/src/f32-vunary/gen/vsqr-avx512f-x32.c
index 9a27e3c..46e815f 100644
--- a/src/f32-vunary/gen/vsqr-avx512f-x32.c
+++ b/src/f32-vunary/gen/vsqr-avx512f-x32.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 32 * sizeof(float); n -= 32 * sizeof(float)) {
     const __m512 vx0123456789ABCDEF = _mm512_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-neon-x4.c b/src/f32-vunary/gen/vsqr-neon-x4.c
index ecaf516..beb578c 100644
--- a/src/f32-vunary/gen/vsqr-neon-x4.c
+++ b/src/f32-vunary/gen/vsqr-neon-x4.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vsqr-neon-x8.c b/src/f32-vunary/gen/vsqr-neon-x8.c
index 6f815d2..aaf9962 100644
--- a/src/f32-vunary/gen/vsqr-neon-x8.c
+++ b/src/f32-vunary/gen/vsqr-neon-x8.c
@@ -23,6 +23,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const float32x4_t vx0123 = vld1q_f32(x); x += 4;
diff --git a/src/f32-vunary/gen/vsqr-psimd-x4.c b/src/f32-vunary/gen/vsqr-psimd-x4.c
index 4ba8159..ad6800a 100644
--- a/src/f32-vunary/gen/vsqr-psimd-x4.c
+++ b/src/f32-vunary/gen/vsqr-psimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vsqr-psimd-x8.c b/src/f32-vunary/gen/vsqr-psimd-x8.c
index 5a0e4a7..535810d 100644
--- a/src/f32-vunary/gen/vsqr-psimd-x8.c
+++ b/src/f32-vunary/gen/vsqr-psimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const psimd_f32 vx0123 = psimd_load_f32(x);
diff --git a/src/f32-vunary/gen/vsqr-scalar-x1.c b/src/f32-vunary/gen/vsqr-scalar-x1.c
index 93d7a5b..ecbc0a0 100644
--- a/src/f32-vunary/gen/vsqr-scalar-x1.c
+++ b/src/f32-vunary/gen/vsqr-scalar-x1.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= sizeof(float); n -= sizeof(float)) {
     const float vx = *x++;
diff --git a/src/f32-vunary/gen/vsqr-scalar-x2.c b/src/f32-vunary/gen/vsqr-scalar-x2.c
index dc396b7..262d0fb 100644
--- a/src/f32-vunary/gen/vsqr-scalar-x2.c
+++ b/src/f32-vunary/gen/vsqr-scalar-x2.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 2 * sizeof(float); n -= 2 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vsqr-scalar-x4.c b/src/f32-vunary/gen/vsqr-scalar-x4.c
index 2a2a55b..2706b1b 100644
--- a/src/f32-vunary/gen/vsqr-scalar-x4.c
+++ b/src/f32-vunary/gen/vsqr-scalar-x4.c
@@ -22,6 +22,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const float vx0 = x[0];
diff --git a/src/f32-vunary/gen/vsqr-sse-x4.c b/src/f32-vunary/gen/vsqr-sse-x4.c
index 1c0412b..ae97d43 100644
--- a/src/f32-vunary/gen/vsqr-sse-x4.c
+++ b/src/f32-vunary/gen/vsqr-sse-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const __m128 vx0123 = _mm_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-sse-x8.c b/src/f32-vunary/gen/vsqr-sse-x8.c
index 2feadf6..cd68fb9 100644
--- a/src/f32-vunary/gen/vsqr-sse-x8.c
+++ b/src/f32-vunary/gen/vsqr-sse-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const __m128 vx0123 = _mm_loadu_ps(x);
diff --git a/src/f32-vunary/gen/vsqr-wasmsimd-x4.c b/src/f32-vunary/gen/vsqr-wasmsimd-x4.c
index 512d962..bdfd1f1 100644
--- a/src/f32-vunary/gen/vsqr-wasmsimd-x4.c
+++ b/src/f32-vunary/gen/vsqr-wasmsimd-x4.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 4 * sizeof(float); n -= 4 * sizeof(float)) {
     const v128_t vx = wasm_v128_load(x);
diff --git a/src/f32-vunary/gen/vsqr-wasmsimd-x8.c b/src/f32-vunary/gen/vsqr-wasmsimd-x8.c
index 11bbec7..9d81aab 100644
--- a/src/f32-vunary/gen/vsqr-wasmsimd-x8.c
+++ b/src/f32-vunary/gen/vsqr-wasmsimd-x8.c
@@ -24,6 +24,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= 8 * sizeof(float); n -= 8 * sizeof(float)) {
     const v128_t vx0123 = wasm_v128_load(x);
diff --git a/src/f32-vunary/neon.c.in b/src/f32-vunary/neon.c.in
index cd4b4c1..10eaa8b 100644
--- a/src/f32-vunary/neon.c.in
+++ b/src/f32-vunary/neon.c.in
@@ -33,6 +33,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= ${BATCH_TILE} * sizeof(float); n -= ${BATCH_TILE} * sizeof(float)) {
     $for N in range(0, BATCH_TILE, 4):
diff --git a/src/f32-vunary/psimd.c.in b/src/f32-vunary/psimd.c.in
index ba08a43..1619d2a 100644
--- a/src/f32-vunary/psimd.c.in
+++ b/src/f32-vunary/psimd.c.in
@@ -34,6 +34,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   for (; n >= ${BATCH_TILE} * sizeof(float); n -= ${BATCH_TILE} * sizeof(float)) {
     const psimd_f32 vx${ABC[0:4]} = psimd_load_f32(x);
diff --git a/src/f32-vunary/scalar.c.in b/src/f32-vunary/scalar.c.in
index ddd65b5..7794f21 100644
--- a/src/f32-vunary/scalar.c.in
+++ b/src/f32-vunary/scalar.c.in
@@ -33,6 +33,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   $if BATCH_TILE > 1:
     for (; n >= ${BATCH_TILE} * sizeof(float); n -= ${BATCH_TILE} * sizeof(float)) {
diff --git a/src/f32-vunary/sse.c.in b/src/f32-vunary/sse.c.in
index 9367094..0f4e1f2 100644
--- a/src/f32-vunary/sse.c.in
+++ b/src/f32-vunary/sse.c.in
@@ -34,6 +34,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   $if OP == "ABS":
     const __m128 vnonsign_mask = _mm_load_ps(params->sse.nonsign_mask);
diff --git a/src/f32-vunary/wasmsimd.c.in b/src/f32-vunary/wasmsimd.c.in
index 69bb833..7a17015 100644
--- a/src/f32-vunary/wasmsimd.c.in
+++ b/src/f32-vunary/wasmsimd.c.in
@@ -34,6 +34,8 @@
 {
   assert(n != 0);
   assert(n % sizeof(float) == 0);
+  assert(x != NULL);
+  assert(y != NULL);
 
   $if OP == "ABS":
     const v128_t vnonsign_mask = wasm_v32x4_load_splat(&params->wasmsimd.nonsign_mask);