data MOD_sysTb = MOD_sysTb { inst_gcd__sysTb :: MOD_sysMethods , inst_c1__sysTb :: MOD_RegN #51 , inst_c2__sysTb :: MOD_RegN #51 , inst_rg__sysTb :: MOD_RegN #51 , inst_state__sysTb :: MOD_RegN #2 }; ctor_sysTb :: MOD_sysTb; ctor_sysTb = MOD_sysTb { inst_gcd__sysTb = ctor_sysMethods , inst_c1__sysTb = ctor_RegN (51 :: Bit #32) (19 :: Bit #51) , inst_c2__sysTb = ctor_RegN (51 :: Bit #32) (5 :: Bit #51) , inst_rg__sysTb = ctor_RegN (51 :: Bit #32) (0 :: Bit #51) , inst_state__sysTb = ctor_RegN (2 :: Bit #32) (0 :: Bit #2) }; dim_sysTb :: MOD_sysTb -> MOD_sysTb -> Bool; dim_sysTb = (\ (mod1 :: MOD_sysTb) -> (\ (mod2 :: MOD_sysTb) -> (dim_sysMethods (inst_gcd__sysTb mod1) (inst_gcd__sysTb mod2)) && (dim_RegN (inst_c1__sysTb mod1) (inst_c1__sysTb mod2)) && (dim_RegN (inst_c2__sysTb mod1) (inst_c2__sysTb mod2)) && (dim_RegN (inst_rg__sysTb mod1) (inst_rg__sysTb mod2)) && (dim_RegN (inst_state__sysTb mod1) (inst_state__sysTb mod2)))); rule_RL_r0_sysTb :: MOD_sysTb -> (Bool, MOD_sysTb, ()); rule_RL_r0_sysTb = (\ (state0 :: MOD_sysTb) -> let { (def_b__h284 :: Bit #51) = meth_read_RegN (inst_c1__sysTb state0) ; (def_b__h285 :: Bit #51) = meth_read_RegN (inst_c2__sysTb state0) ; (def_state__h244 :: Bit #2) = meth_read_RegN (inst_state__sysTb state0) ; (def_b__h322 :: Bit #51) = noinline_add def_b__h284 (3 :: Bit #51) ; (def_b__h345 :: Bit #51) = noinline_add def_b__h285 (2 :: Bit #51) ; (def_gcd_RDY_start____d1 :: Bool) = meth_RDY_start_sysMethods (inst_gcd__sysTb state0) ; (def_state_EQ_0___d3 :: Bool) = primEQ def_state__h244 (0 :: Bit #2) ; (def_gcd_RDY_start_AND_state_EQ_0___d4 :: Bool) = def_gcd_RDY_start____d1 && def_state_EQ_0___d3 ; (act1 :: (Bool, MOD_sysMethods, ())) = meth_start_sysMethods def_b__h284 def_b__h285 (inst_gcd__sysTb state0) ; (guard1 :: Bool) = fst3 act1 ; (state1 :: MOD_sysTb) = state0 { inst_gcd__sysTb = snd3 act1 } ; (act2 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN def_b__h322 (inst_c1__sysTb state1) ; (guard2 :: Bool) = guard1 && (fst3 act2) ; (state2 :: MOD_sysTb) = state1 { inst_c1__sysTb = snd3 act2 } ; (act3 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN def_b__h345 (inst_c2__sysTb state2) ; (guard3 :: Bool) = guard2 && (fst3 act3) ; (state3 :: MOD_sysTb) = state2 { inst_c2__sysTb = snd3 act3 } ; (act4 :: (Bool, MOD_RegN #2, ())) = meth_write_RegN (1 :: Bit #2) (inst_state__sysTb state3) ; (guard4 :: Bool) = guard3 && (fst3 act4) ; (state4 :: MOD_sysTb) = state3 { inst_state__sysTb = snd3 act4 } } in mktuple (def_gcd_RDY_start_AND_state_EQ_0___d4 && guard4) state4 ()); rule_RL_r1_sysTb :: MOD_sysTb -> (Bool, MOD_sysTb, ()); rule_RL_r1_sysTb = (\ (state0 :: MOD_sysTb) -> let { (def_b__h284 :: Bit #51) = meth_read_RegN (inst_c1__sysTb state0) ; (def_b__h285 :: Bit #51) = meth_read_RegN (inst_c2__sysTb state0) ; (def_state__h244 :: Bit #2) = meth_read_RegN (inst_state__sysTb state0) ; (def_b__h322 :: Bit #51) = noinline_add def_b__h284 (3 :: Bit #51) ; (def_b__h345 :: Bit #51) = noinline_add def_b__h285 (2 :: Bit #51) ; (def_state_EQ_1___d9 :: Bool) = primEQ def_state__h244 (1 :: Bit #2) ; (act1 :: (Bool, MOD_sysMethods, Bit #51)) = meth_start_and_result_sysMethods def_b__h284 def_b__h285 (inst_gcd__sysTb state0) ; (guard1 :: Bool) = fst3 act1 ; (state1 :: MOD_sysTb) = state0 { inst_gcd__sysTb = snd3 act1 } ; (def_b__h381 :: Bit #51) = thd act1 ; (def_gcd_start_and_result_0_PLUS_1___d11 :: Bit #51) = primAdd def_b__h381 (1 :: Bit #51) ; (act2 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN (primConcat ((primExtract def_gcd_start_and_result_0_PLUS_1___d11 (49 :: Bit #32) (0 :: Bit #32)) :: Bit #50) (0 :: Bit #1)) (inst_rg__sysTb state1) ; (guard2 :: Bool) = guard1 && (fst3 act2) ; (state2 :: MOD_sysTb) = state1 { inst_rg__sysTb = snd3 act2 } ; (act3 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN def_b__h322 (inst_c1__sysTb state2) ; (guard3 :: Bool) = guard2 && (fst3 act3) ; (state3 :: MOD_sysTb) = state2 { inst_c1__sysTb = snd3 act3 } ; (act4 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN def_b__h345 (inst_c2__sysTb state3) ; (guard4 :: Bool) = guard3 && (fst3 act4) ; (state4 :: MOD_sysTb) = state3 { inst_c2__sysTb = snd3 act4 } ; (act5 :: (Bool, MOD_RegN #2, ())) = meth_write_RegN (2 :: Bit #2) (inst_state__sysTb state4) ; (guard5 :: Bool) = guard4 && (fst3 act5) ; (state5 :: MOD_sysTb) = state4 { inst_state__sysTb = snd3 act5 } } in mktuple (def_state_EQ_1___d9 && guard5) state5 ()); rule_RL_r2_sysTb :: MOD_sysTb -> (Bool, MOD_sysTb, ()); rule_RL_r2_sysTb = (\ (state0 :: MOD_sysTb) -> let { (def_state__h244 :: Bit #2) = meth_read_RegN (inst_state__sysTb state0) ; (def_gcd_RDY_result____d14 :: Bool) = meth_RDY_result_sysMethods (inst_gcd__sysTb state0) ; (def_gcd_result____d17 :: Bit #51) = meth_result_sysMethods (inst_gcd__sysTb state0) ; (def_gcd_result__7_PLUS_1___d18 :: Bit #51) = primAdd def_gcd_result____d17 (1 :: Bit #51) ; (def_state_EQ_2___d15 :: Bool) = primEQ def_state__h244 (2 :: Bit #2) ; (def_gcd_RDY_result__4_AND_state_EQ_2_5___d16 :: Bool) = def_gcd_RDY_result____d14 && def_state_EQ_2___d15 ; (act1 :: (Bool, MOD_RegN #51, ())) = meth_write_RegN (primConcat ((primExtract def_gcd_result__7_PLUS_1___d18 (49 :: Bit #32) (0 :: Bit #32)) :: Bit #50) (0 :: Bit #1)) (inst_rg__sysTb state0) ; (guard1 :: Bool) = fst3 act1 ; (state1 :: MOD_sysTb) = state0 { inst_rg__sysTb = snd3 act1 } ; (act2 :: (Bool, MOD_RegN #2, ())) = meth_write_RegN (0 :: Bit #2) (inst_state__sysTb state1) ; (guard2 :: Bool) = guard1 && (fst3 act2) ; (state2 :: MOD_sysTb) = state1 { inst_state__sysTb = snd3 act2 } } in mktuple (def_gcd_RDY_result__4_AND_state_EQ_2_5___d16 && guard2) state2 ()); rule_RL_exit_sysTb :: MOD_sysTb -> (Bool, MOD_sysTb, ()); rule_RL_exit_sysTb = (\ (state0 :: MOD_sysTb) -> let { (def_b__h284 :: Bit #51) = meth_read_RegN (inst_c1__sysTb state0) ; (def_c1_ULE_100___d21 :: Bool) = primULE def_b__h284 (100 :: Bit #51) ; (def_v__h538 :: Bit #64) = (primAny :: Bit #64) } in mktuple (not def_c1_ULE_100___d21) state0 ());