diff --git a/hercules_samples/matmul/src/main.rs b/hercules_samples/matmul/src/main.rs
index 762644f1ec6a94d26e41c48201a536271650a07b..9421c77315f7a992c1f5c14b0d4feb473e70830e 100644
--- a/hercules_samples/matmul/src/main.rs
+++ b/hercules_samples/matmul/src/main.rs
@@ -10,11 +10,13 @@ juno_build::juno!("matmul");
 
 fn main() {
     async_std::task::block_on(async {
-        const I: usize = 256;
-        const J: usize = 64;
-        const K: usize = 128;
-        let mut a: Box<[i32]> = (0..I * J).map(|_| random::<i32>() % 100).collect();
-        let mut b: Box<[i32]> = (0..J * K).map(|_| random::<i32>() % 100).collect();
+        const I: usize = 4;
+        const J: usize = 2;
+        const K: usize = 8;
+        // let mut a: Box<[i32]> = (0..I * J).map(|_| random::<i32>() % 100).collect();
+        // let mut b: Box<[i32]> = (0..J * K).map(|_| random::<i32>() % 100).collect();
+        let mut a: Box<[i32]> = (0..I * J).map(|i| (i as i32) % 100).collect();
+        let mut b: Box<[i32]> = (0..J * K).map(|i| (i as i32) % 100).collect();
         let mut correct_c: Box<[i32]> = (0..I * K).map(|_| 0).collect();
         for i in 0..I {
             for k in 0..K {
@@ -41,7 +43,7 @@ fn main() {
             let c = r.run(I as u64, J as u64, K as u64, a, b).await;
             let mut c_cpu: Box<[i32]> = vec![0; correct_c.len()].into_boxed_slice();
             c.to_cpu_ref(&mut c_cpu);
-            assert_eq!(c_cpu.as_ref(), correct_c.as_ref());
+            assert_eq!(c_cpu.as_ref(), &*correct_c);
         }
     });
 }