diff --git a/samples/float_model_embedding/CMakeLists.txt b/samples/float_model/CMakeLists.txt
similarity index 91%
rename from samples/float_model_embedding/CMakeLists.txt
rename to samples/float_model/CMakeLists.txt
index 7ad8100..d14eb97 100644
--- a/samples/float_model_embedding/CMakeLists.txt
+++ b/samples/float_model/CMakeLists.txt
@@ -9,7 +9,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models-public/float_models/mobilenet_v1_0.25_224_float.tflite"
   C_IDENTIFIER
-    "samples_float_model_embedding_mobilenet_v1_bytecode_module_dylib"
+    "samples_float_model_mobilenet_v1_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -24,7 +24,7 @@
   SRC
     "$ENV{ROOTDIR}/toolchain/iree/iree/samples/models/mnist.mlir"
   C_IDENTIFIER
-    "samples_float_model_embedding_mnist_bytecode_module_dylib"
+    "samples_float_model_mnist_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=mhlo"
     "-riscv-v-vector-bits-min=512"
@@ -71,8 +71,6 @@
 #
 # to increase it.
 
-# Currently only the person_detection model can run with springbok (b/196910893)
-
 iree_cc_binary(
   NAME
     mobilenet_v1_embedded_sync
diff --git a/samples/float_model_embedding/mnist.c b/samples/float_model/mnist.c
similarity index 91%
rename from samples/float_model_embedding/mnist.c
rename to samples/float_model/mnist.c
index 5c753a3..975dbea 100644
--- a/samples/float_model_embedding/mnist.c
+++ b/samples/float_model/mnist.c
@@ -9,8 +9,8 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/float_model_embedding/mnist_bytecode_module_dylib_c.h"
-#include "samples/float_model_embedding/mnist_input_c.h"
+#include "samples/float_model/mnist_bytecode_module_dylib_c.h"
+#include "samples/float_model/mnist_input_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -28,7 +28,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_float_model_embedding_mnist_bytecode_module_dylib_create();
+      samples_float_model_mnist_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/float_model_embedding/mobilenet_v1.c b/samples/float_model/mobilenet_v1.c
similarity index 90%
rename from samples/float_model_embedding/mobilenet_v1.c
rename to samples/float_model/mobilenet_v1.c
index 7535395..d354dfc 100644
--- a/samples/float_model_embedding/mobilenet_v1.c
+++ b/samples/float_model/mobilenet_v1.c
@@ -9,8 +9,8 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/float_model_embedding/mobilenet_input_c.h"
-#include "samples/float_model_embedding/mobilenet_v1_bytecode_module_dylib_c.h"
+#include "samples/float_model/mobilenet_input_c.h"
+#include "samples/float_model/mobilenet_v1_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -28,7 +28,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_float_model_embedding_mobilenet_v1_bytecode_module_dylib_create();
+      samples_float_model_mobilenet_v1_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/CMakeLists.txt b/samples/quant_model/CMakeLists.txt
similarity index 89%
rename from samples/quant_model_embedding/CMakeLists.txt
rename to samples/quant_model/CMakeLists.txt
index f728e9e..cc88e7c 100644
--- a/samples/quant_model_embedding/CMakeLists.txt
+++ b/samples/quant_model/CMakeLists.txt
@@ -10,7 +10,7 @@
     SRC
       "$ENV{ROOTDIR}/ml/ml-models-public/quant_models/mobilenet_v2_1.0_224_quant.tflite"
     C_IDENTIFIER
-      "samples_quant_model_embedding_mobilenet_v2_bytecode_module_dylib"
+      "samples_quant_model_mobilenet_v2_bytecode_module_dylib"
     FLAGS
       "-iree-input-type=tosa"
       "-riscv-v-vector-bits-min=512"
@@ -26,7 +26,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models-public/quant_models/mobilenet_v1_0.25_224_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_mobilenet_v1_bytecode_module_dylib"
+    "samples_quant_model_mobilenet_v1_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -41,7 +41,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models-public/quant_models/person_detection.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_person_detection_bytecode_module_dylib"
+    "samples_quant_model_person_detection_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -59,7 +59,7 @@
     SRC
       "$ENV{ROOTDIR}/ml/ml-models/quant_models/scenenet_v2_quant.tflite"
     C_IDENTIFIER
-      "samples_quant_model_embedding_scenenet_v2_bytecode_module_dylib"
+      "samples_quant_model_scenenet_v2_bytecode_module_dylib"
     FLAGS
       "-iree-input-type=tosa"
       "-riscv-v-vector-bits-min=512"
@@ -75,7 +75,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models/quant_models/barcode_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_barcode_bytecode_module_dylib"
+    "samples_quant_model_barcode_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -90,7 +90,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models/quant_models/daredevil_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_daredevil_bytecode_module_dylib"
+    "samples_quant_model_daredevil_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -105,7 +105,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models/quant_models/fssd_25_8bit_v2_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_fssd_25_8bit_v2_bytecode_module_dylib"
+    "samples_quant_model_fssd_25_8bit_v2_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -120,7 +120,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models/quant_models/semantic_lift_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_semantic_lift_bytecode_module_dylib"
+    "samples_quant_model_semantic_lift_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -135,7 +135,7 @@
   SRC
     "$ENV{ROOTDIR}/ml/ml-models/quant_models/voice_commands_quant.tflite"
   C_IDENTIFIER
-    "samples_quant_model_embedding_voice_commands_bytecode_module_dylib"
+    "samples_quant_model_voice_commands_bytecode_module_dylib"
   FLAGS
     "-iree-input-type=tosa"
     "-riscv-v-vector-bits-min=512"
@@ -184,8 +184,6 @@
 #
 # to increase it.
 
-# Currently only daredevil and semantic_lift can run with springbok (b/196910893)
-
 if(NOT ${BUILD_WITH_SPRINGBOK})
   iree_cc_binary(
     NAME
diff --git a/samples/quant_model_embedding/barcode.c b/samples/quant_model/barcode.c
similarity index 92%
rename from samples/quant_model_embedding/barcode.c
rename to samples/quant_model/barcode.c
index 618317a..d29ce8a 100644
--- a/samples/quant_model_embedding/barcode.c
+++ b/samples/quant_model/barcode.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/barcode_bytecode_module_dylib_c.h"
+#include "samples/quant_model/barcode_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -29,7 +29,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_barcode_bytecode_module_dylib_create();
+      samples_quant_model_barcode_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/daredevil.c b/samples/quant_model/daredevil.c
similarity index 92%
rename from samples/quant_model_embedding/daredevil.c
rename to samples/quant_model/daredevil.c
index ee3325e..5b8754f 100644
--- a/samples/quant_model_embedding/daredevil.c
+++ b/samples/quant_model/daredevil.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/daredevil_bytecode_module_dylib_c.h"
+#include "samples/quant_model/daredevil_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -27,7 +27,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_daredevil_bytecode_module_dylib_create();
+      samples_quant_model_daredevil_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/fssd_25_8bit_v2.c b/samples/quant_model/fssd_25_8bit_v2.c
similarity index 92%
rename from samples/quant_model_embedding/fssd_25_8bit_v2.c
rename to samples/quant_model/fssd_25_8bit_v2.c
index 39d072b..ab71d4b 100644
--- a/samples/quant_model_embedding/fssd_25_8bit_v2.c
+++ b/samples/quant_model/fssd_25_8bit_v2.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/fssd_25_8bit_v2_bytecode_module_dylib_c.h"
+#include "samples/quant_model/fssd_25_8bit_v2_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -28,7 +28,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_fssd_25_8bit_v2_bytecode_module_dylib_create();
+      samples_quant_model_fssd_25_8bit_v2_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/mobilenet_v1.c b/samples/quant_model/mobilenet_v1.c
similarity index 90%
rename from samples/quant_model_embedding/mobilenet_v1.c
rename to samples/quant_model/mobilenet_v1.c
index 2fe8509..3ece6b3 100644
--- a/samples/quant_model_embedding/mobilenet_v1.c
+++ b/samples/quant_model/mobilenet_v1.c
@@ -9,8 +9,8 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/mobilenet_quant_input_c.h"
-#include "samples/quant_model_embedding/mobilenet_v1_bytecode_module_dylib_c.h"
+#include "samples/quant_model/mobilenet_quant_input_c.h"
+#include "samples/quant_model/mobilenet_v1_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -28,7 +28,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_mobilenet_v1_bytecode_module_dylib_create();
+      samples_quant_model_mobilenet_v1_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/mobilenet_v2.c b/samples/quant_model/mobilenet_v2.c
similarity index 91%
rename from samples/quant_model_embedding/mobilenet_v2.c
rename to samples/quant_model/mobilenet_v2.c
index cb5a9fc..7451a58 100644
--- a/samples/quant_model_embedding/mobilenet_v2.c
+++ b/samples/quant_model/mobilenet_v2.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/mobilenet_v2_bytecode_module_dylib_c.h"
+#include "samples/quant_model/mobilenet_v2_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -27,7 +27,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_mobilenet_v2_bytecode_module_dylib_create();
+      samples_quant_model_mobilenet_v2_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/person_detection.c b/samples/quant_model/person_detection.c
similarity index 88%
rename from samples/quant_model_embedding/person_detection.c
rename to samples/quant_model/person_detection.c
index 819fc1e..22575dc 100644
--- a/samples/quant_model_embedding/person_detection.c
+++ b/samples/quant_model/person_detection.c
@@ -9,8 +9,8 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/person_detection_bytecode_module_dylib_c.h"
-#include "samples/quant_model_embedding/person_detection_quant_input_c.h"
+#include "samples/quant_model/person_detection_bytecode_module_dylib_c.h"
+#include "samples/quant_model/person_detection_quant_input_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -28,7 +28,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_person_detection_bytecode_module_dylib_create();
+      samples_quant_model_person_detection_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/scenenet_v2.c b/samples/quant_model/scenenet_v2.c
similarity index 92%
rename from samples/quant_model_embedding/scenenet_v2.c
rename to samples/quant_model/scenenet_v2.c
index b197496..dbbf7fc 100644
--- a/samples/quant_model_embedding/scenenet_v2.c
+++ b/samples/quant_model/scenenet_v2.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/scenenet_v2_bytecode_module_dylib_c.h"
+#include "samples/quant_model/scenenet_v2_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -27,7 +27,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_scenenet_v2_bytecode_module_dylib_create();
+      samples_quant_model_scenenet_v2_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/semantic_lift.c b/samples/quant_model/semantic_lift.c
similarity index 91%
rename from samples/quant_model_embedding/semantic_lift.c
rename to samples/quant_model/semantic_lift.c
index 0f0888d..02f6cb6 100644
--- a/samples/quant_model_embedding/semantic_lift.c
+++ b/samples/quant_model/semantic_lift.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/semantic_lift_bytecode_module_dylib_c.h"
+#include "samples/quant_model/semantic_lift_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -27,7 +27,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_semantic_lift_bytecode_module_dylib_create();
+      samples_quant_model_semantic_lift_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
diff --git a/samples/quant_model_embedding/voice_commands.c b/samples/quant_model/voice_commands.c
similarity index 91%
rename from samples/quant_model_embedding/voice_commands.c
rename to samples/quant_model/voice_commands.c
index 2818338..3444af0 100644
--- a/samples/quant_model_embedding/voice_commands.c
+++ b/samples/quant_model/voice_commands.c
@@ -9,7 +9,7 @@
 #include "samples/util/util.h"
 
 // Compiled module embedded here to avoid file IO:
-#include "samples/quant_model_embedding/voice_commands_bytecode_module_dylib_c.h"
+#include "samples/quant_model/voice_commands_bytecode_module_dylib_c.h"
 
 const MlModel kModel = {
     .num_input = 1,
@@ -27,7 +27,7 @@
 
 const iree_const_byte_span_t load_bytecode_module_data() {
   const struct iree_file_toc_t *module_file_toc =
-      samples_quant_model_embedding_voice_commands_bytecode_module_dylib_create();
+      samples_quant_model_voice_commands_bytecode_module_dylib_create();
   return iree_make_const_byte_span(module_file_toc->data,
                                    module_file_toc->size);
 }
