diff --git a/samples/branch_mul/CMakeLists.txt b/samples/branch_mul/CMakeLists.txt
index 5f7b9f8..e45a432 100644
--- a/samples/branch_mul/CMakeLists.txt
+++ b/samples/branch_mul/CMakeLists.txt
@@ -1,25 +1,20 @@
-sparrow_static_module(
-  NAME
-    branch_mul
-  SRC
-    "branch_mul.mlir"
-  FLAGS
-    "-iree-input-type=tosa"
-    # NB: iree seems to step on the input tensors
-    # without this.
-    "-iree-flow-trace-dispatch-tensors"
-  EMITC
-  RVV_OFF
+add_library(samples_branch_mul_branch_mul_lib
+  STATIC
+  branch_mul_c.o
 )
 
+set_target_properties(
+  samples_branch_mul_branch_mul_lib
+  PROPERTIES
+  LINKER_LANGUAGE C)
+
 sparrow_test(
   NAME
     branch_mul_emitc_static
   SRCS
     "branch_mul.c"
   DEPS
-    ::branch_mul_emitc
-    ::branch_mul_lib
+    samples_branch_mul_branch_mul_lib
     iree::base
     iree::vm::bytecode::module
     iree::hal::local::executable_environment
diff --git a/samples/branch_mul/branch_mul.c b/samples/branch_mul/branch_mul.c
index 910d655..d25e364 100644
--- a/samples/branch_mul/branch_mul.c
+++ b/samples/branch_mul/branch_mul.c
@@ -17,7 +17,6 @@
 #include "samples/branch_mul/branch_mul_arg1.h"
 #include "samples/branch_mul/branch_mul_arg2.h"
 #include "samples/branch_mul/branch_mul_c.h"
-#include "samples/branch_mul/branch_mul_emitc.h"
 #include "samples/branch_mul/branch_mul_expected.h"
 
 static int8_t ret0[3][2][256] = { 0 };
diff --git a/samples/branch_mul/branch_mul.run b/samples/branch_mul/branch_mul.run
index 198809c..5f8c701 100644
--- a/samples/branch_mul/branch_mul.run
+++ b/samples/branch_mul/branch_mul.run
@@ -1,3 +1 @@
-// TODO(b/294402411): Fix the test
-// XFAIL: *
 // RUN: ${TEST_RUNNER_CMD} %S/branch_mul_emitc_static
diff --git a/samples/branch_mul/branch_mul_arg0.h b/samples/branch_mul/branch_mul_arg0.h
index 59aeca6..6e9bdeb 100644
--- a/samples/branch_mul/branch_mul_arg0.h
+++ b/samples/branch_mul/branch_mul_arg0.h
@@ -1,5 +1,21 @@
-#ifndef DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG0_H_
-#define DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG0_H_
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG0_H_
+#define SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG0_H_
 
 int32_t arg0[3][2][256] = {
     {{49163, 39296, 47490, 46186, 48142, 35193, 34298, 38115, 40865, 31744,
@@ -159,4 +175,4 @@
       53209, 42418, 29080, 30075, 32590, 37886, 45749, 35820, 33766, 41844,
       47480, 22113, 40931, 31528, 28850, 52826}}};
 
-#endif  // DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG0_H_
+#endif  // SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG0_H_
diff --git a/samples/branch_mul/branch_mul_arg1.h b/samples/branch_mul/branch_mul_arg1.h
index 05ec099..8a45d8a 100644
--- a/samples/branch_mul/branch_mul_arg1.h
+++ b/samples/branch_mul/branch_mul_arg1.h
@@ -1,5 +1,21 @@
-#ifndef DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG1_H_
-#define DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG1_H_
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG1_H_
+#define SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG1_H_
 
 int32_t arg1[256] = {
     -386, -307, -400, -368, -387, -361, -274, -309, -467, -312, -318, -301,
@@ -25,4 +41,4 @@
     -416, -359, -288, -250, -273, -323, -384, -284, -372, -359, -384, -206,
     -385, -284, -247, -503};
 
-#endif  // DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG1_H_
+#endif  // SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG1_H_
diff --git a/samples/branch_mul/branch_mul_arg2.h b/samples/branch_mul/branch_mul_arg2.h
index 19e34e8..795cd73 100644
--- a/samples/branch_mul/branch_mul_arg2.h
+++ b/samples/branch_mul/branch_mul_arg2.h
@@ -1,5 +1,21 @@
-#ifndef DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG2_H_
-#define DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG2_H_
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG2_H_
+#define SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG2_H_
 
 int32_t arg2[3][2][256] = {
     {{-1147, -1152, -1059, -1130, -1113, -887,  -1130, -1109, -736,  -910,
@@ -160,4 +176,4 @@
       -1108, -1037, -935,  -1009, -1066, -917}},
 };
 
-#endif  // DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_ARG2_H_
+#endif  // SAMPLES_BRANCH_MUL_BRANCH_MUL_ARG2_H_
diff --git a/samples/branch_mul/branch_mul_c.h b/samples/branch_mul/branch_mul_c.h
new file mode 100644
index 0000000..0018fb9
--- /dev/null
+++ b/samples/branch_mul/branch_mul_c.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// === [llvm_module_linked_llvm_cpu] static library ===
+//
+// To use:
+//  - Include this header and generated object into your program
+//  - At runtime: retrieve library name from host binary
+//  - Query library from llvm_module_linked_llvm_cpu_library_query()<<
+//  - Feed library into static_library_loader
+//
+// === Automatically generated file. DO NOT EDIT! ===
+
+#ifndef SAMPLES_BRANCH_MUL_BRANCH_MUL_C_H_
+#define SAMPLES_BRANCH_MUL_BRANCH_MUL_C_H_
+
+#include "iree/hal/local/executable_library.h"
+
+#if __cplusplus
+extern "C" {
+#endif  // __cplusplus
+
+const iree_hal_executable_library_header_t**
+llvm_module_linked_llvm_cpu_library_query(
+    iree_hal_executable_library_version_t max_version,
+    const iree_hal_executable_environment_v0_t* environment);
+
+#if __cplusplus
+}
+#endif  // __cplusplus
+
+#endif  // SAMPLES_BRANCH_MUL_BRANCH_MUL_C_H_
diff --git a/samples/branch_mul/branch_mul_c.o b/samples/branch_mul/branch_mul_c.o
new file mode 100644
index 0000000..595940f
--- /dev/null
+++ b/samples/branch_mul/branch_mul_c.o
Binary files differ
diff --git a/samples/branch_mul/branch_mul_expected.h b/samples/branch_mul/branch_mul_expected.h
index c75b61a..4ef0a17 100644
--- a/samples/branch_mul/branch_mul_expected.h
+++ b/samples/branch_mul/branch_mul_expected.h
@@ -1,5 +1,21 @@
-#ifndef DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_EXPECTED_H_
-#define DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_EXPECTED_H_
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SAMPLES_BRANCH_MUL_BRANCH_MUL_EXPECTED_H_
+#define SAMPLES_BRANCH_MUL_BRANCH_MUL_EXPECTED_H_
 
 const int8_t expected[3][2][256] = {
     {{0x38, 0x38, 0x37, 0x37, 0x38, 0x32, 0x38, 0x39, 0x26, 0x3c, 0x38, 0x37,
@@ -135,4 +151,4 @@
       0x38, 0x38, 0x41, 0x39, 0x39, 0x38, 0x36, 0x38, 0x23, 0x39, 0x38, 0x38,
       0x36, 0x3a, 0x3a, 0x29}}};
 
-#endif  // DAREDEVIL_BRANCH_MUL_DAREDEVIL_BRANCH_MUL_EXPECTED_H_
+#endif  // SAMPLES_BRANCH_MUL_BRANCH_MUL_EXPECTED_H_
