diff --git a/third_party/fiat/README.md b/third_party/fiat/README.md
index 3f98155..a4cbb8f 100644
--- a/third_party/fiat/README.md
+++ b/third_party/fiat/README.md
@@ -31,7 +31,7 @@
 
 The P256 point doubling and addition are implemented in this manner in
 p256_coord.br.c.inc. This code originates from Fiat Cryptogaphy commit
-b8890d810b812180fb224356e0f0b932afade414 file src/Bedrock/P256.v
+6e22d333861d51c7f6baa0826648a2215d0c333f file src/Bedrock/P256.v
 Field arithmetic operations are dispatched in p256_field.c.inc to
 platform-specific code including assembly, fiat-crypto-generated C, and
 Bedrock-generated C.
diff --git a/third_party/fiat/p256_field_32.br.c.inc b/third_party/fiat/p256_field_32.br.c.inc
index 4fe7c1a..e681dcb 100644
--- a/third_party/fiat/p256_field_32.br.c.inc
+++ b/third_party/fiat/p256_field_32.br.c.inc
@@ -48,7 +48,6 @@
   _br_store(((((p_out+4)+4)+4)+4)+4, y5);
   _br_store((((((p_out+4)+4)+4)+4)+4)+4, y6);
   _br_store(((((((p_out+4)+4)+4)+4)+4)+4)+4, y7);
-  return;
 }
 
 static inline void u256_set_p256_minushalf_conditional(br_word_t p_out, br_word_t mask) {
@@ -69,5 +68,4 @@
   _br_store(((((p_out+4)+4)+4)+4)+4, mask&mh5);
   _br_store((((((p_out+4)+4)+4)+4)+4)+4, mask&mh6);
   _br_store(((((((p_out+4)+4)+4)+4)+4)+4)+4, mask&mh7);
-  return;
 }
diff --git a/third_party/fiat/p256_field_64.br.c.inc b/third_party/fiat/p256_field_64.br.c.inc
index 756d237..b23246b 100644
--- a/third_party/fiat/p256_field_64.br.c.inc
+++ b/third_party/fiat/p256_field_64.br.c.inc
@@ -30,7 +30,6 @@
   _br_store(p_out+8, r1);
   _br_store((p_out+8)+8, r2);
   _br_store(((p_out+8)+8)+8, r3);
-  return;
 }
 
 static inline void p256_coord_sub(br_word_t out, br_word_t x, br_word_t y) {
@@ -48,7 +47,6 @@
   _br_store(out+8, r1);
   _br_store((out+8)+8, r2);
   _br_store(((out+8)+8)+8, r3);
-  return;
 }
 
 static inline br_word_t p256_coord_nonzero(br_word_t p_x) {
@@ -71,7 +69,6 @@
   _br_store(p_out+8, y1);
   _br_store((p_out+8)+8, y2);
   _br_store(((p_out+8)+8)+8, y3);
-  return;
 }
 
 static inline void u256_set_p256_minushalf_conditional(br_word_t p_out, br_word_t mask) {
@@ -84,5 +81,4 @@
   _br_store(p_out+8, mask&mh1);
   _br_store((p_out+8)+8, mask&mh2);
   _br_store(((p_out+8)+8)+8, mask&mh3);
-  return;
 }
diff --git a/third_party/fiat/p256_point.br.c.inc b/third_party/fiat/p256_point.br.c.inc
index 84c873a..117547b 100644
--- a/third_party/fiat/p256_point.br.c.inc
+++ b/third_party/fiat/p256_point.br.c.inc
@@ -14,7 +14,6 @@
   u256_set_p256_minushalf_conditional(mmh, m);
   u256_shr(y, x, (br_word_t)1);
   p256_coord_sub(y, y, mmh);
-  return;
 }
 
 static inline br_word_t p256_point_iszero(br_word_t p_P) {
@@ -49,7 +48,6 @@
   p256_coord_mul(D, D, A);
   p256_coord_halve(out+32, out+32);
   p256_coord_sub(out+32, D, out+32);
-  return;
 }
 
 static inline br_word_t p256_point_add_nz_nz_neq(br_word_t p_out, br_word_t p_P, br_word_t p_Q) {
@@ -111,5 +109,4 @@
     p256_point_double(p_sel, p_P);
   }
   br_memcpy(p_out, p_sel, (br_word_t)96);
-  return;
 }
