@@ -287,7 +287,7 @@ TEST(acir_formal_proofs, uint_terms_shl8)
287287 */
288288TEST (acir_formal_proofs, uint_terms_shl32)
289289{
290- std::string TESTNAME = " Binary::Shl_Unsigned_32_Unsigned_8 " ;
290+ std::string TESTNAME = " Binary::Shl_Unsigned_32_Unsigned_32 " ;
291291 AcirToSmtLoader loader = AcirToSmtLoader (ARTIFACTS_PATH + TESTNAME + " .acir" );
292292 smt_solver::Solver solver = loader.get_smt_solver ();
293293 smt_circuit::UltraCircuit circuit = loader.get_bitvec_smt_circuit (&solver);
@@ -306,7 +306,7 @@ TEST(acir_formal_proofs, uint_terms_shl32)
306306 */
307307TEST (acir_formal_proofs, uint_terms_shr)
308308{
309- std::string TESTNAME = " Binary::Shr_Unsigned_64_Unsigned_8 " ;
309+ std::string TESTNAME = " Binary::Shr_Unsigned_64_Unsigned_64 " ;
310310 AcirToSmtLoader loader = AcirToSmtLoader (ARTIFACTS_PATH + TESTNAME + " .acir" );
311311 smt_solver::Solver solver = loader.get_smt_solver ();
312312 smt_circuit::UltraCircuit circuit = loader.get_bitvec_smt_circuit (&solver);
@@ -652,6 +652,23 @@ TEST(AcirFormalProofs, SignedShl)
652652 }
653653}
654654
655+ /* *
656+ * @brief Test for i64 << i64
657+ *
658+ */
659+ TEST (AcirFormalProofs, SignedShl64)
660+ {
661+ std::string TESTNAME = " Binary::Shl_Signed_64_Signed_64" ;
662+ AcirToSmtLoader loader = AcirToSmtLoader (ARTIFACTS_PATH + TESTNAME + " .acir" );
663+ smt_solver::Solver solver = loader.get_smt_solver ();
664+ smt_circuit::UltraCircuit circuit = loader.get_bitvec_smt_circuit (&solver);
665+ bool res = verify_shl64 (&solver, circuit);
666+ EXPECT_FALSE (res);
667+ if (res) {
668+ save_buggy_witness (TESTNAME , circuit);
669+ }
670+ }
671+
655672/* *
656673 * @brief Test for i8 >> i8
657674 *
@@ -669,6 +686,23 @@ TEST(AcirFormalProofs, SignedShr)
669686 }
670687}
671688
689+ /* *
690+ * @brief Test for i64 >> i64
691+ *
692+ */
693+ TEST (AcirFormalProofs, SignedShr64)
694+ {
695+ std::string TESTNAME = " Binary::Shr_Signed_64_Signed_64" ;
696+ AcirToSmtLoader loader = AcirToSmtLoader (ARTIFACTS_PATH + TESTNAME + " .acir" );
697+ smt_solver::Solver solver = loader.get_smt_solver ();
698+ smt_circuit::UltraCircuit circuit = loader.get_bitvec_smt_circuit (&solver);
699+ bool res = verify_shr (&solver, circuit);
700+ EXPECT_FALSE (res);
701+ if (res) {
702+ save_buggy_witness (TESTNAME , circuit);
703+ }
704+ }
705+
672706/* *
673707 * @brief Test for i64 - i64
674708 *
0 commit comments