data MOD_sysStructs = MOD_sysStructs { inst_a__sysStructs :: MOD_RegN #9 , inst_b__sysStructs :: MOD_RegN #9 , inst_c__sysStructs :: MOD_RegN #9 , inst_s__sysStructs :: MOD_RegN #1 , inst_s1__sysStructs :: MOD_RegN #1 , inst_s2__sysStructs :: MOD_RegN #1 , inst_s3__sysStructs :: MOD_RegN #1 , inst_t0__sysStructs :: MOD_RegUN #12 , inst_t1__sysStructs :: MOD_RegUN #12 , inst_t2__sysStructs :: MOD_RegUN #12 }; ctor_sysStructs :: MOD_sysStructs; ctor_sysStructs = MOD_sysStructs { inst_a__sysStructs = ctor_RegN (9 :: Bit #32) (0 :: Bit #9) , inst_b__sysStructs = ctor_RegN (9 :: Bit #32) (8 :: Bit #9) , inst_c__sysStructs = ctor_RegN (9 :: Bit #32) (8 :: Bit #9) , inst_s__sysStructs = ctor_RegN (1 :: Bit #32) (0 :: Bit #1) , inst_s1__sysStructs = ctor_RegN (1 :: Bit #32) (0 :: Bit #1) , inst_s2__sysStructs = ctor_RegN (1 :: Bit #32) (0 :: Bit #1) , inst_s3__sysStructs = ctor_RegN (1 :: Bit #32) (0 :: Bit #1) , inst_t0__sysStructs = ctor_RegUN (12 :: Bit #32) , inst_t1__sysStructs = ctor_RegUN (12 :: Bit #32) , inst_t2__sysStructs = ctor_RegUN (12 :: Bit #32) }; dim_sysStructs :: MOD_sysStructs -> MOD_sysStructs -> Bool; dim_sysStructs = (\ (mod1 :: MOD_sysStructs) -> (\ (mod2 :: MOD_sysStructs) -> (dim_RegN (inst_a__sysStructs mod1) (inst_a__sysStructs mod2)) && (dim_RegN (inst_b__sysStructs mod1) (inst_b__sysStructs mod2)) && (dim_RegN (inst_c__sysStructs mod1) (inst_c__sysStructs mod2)) && (dim_RegN (inst_s__sysStructs mod1) (inst_s__sysStructs mod2)) && (dim_RegN (inst_s1__sysStructs mod1) (inst_s1__sysStructs mod2)) && (dim_RegN (inst_s2__sysStructs mod1) (inst_s2__sysStructs mod2)) && (dim_RegN (inst_s3__sysStructs mod1) (inst_s3__sysStructs mod2)) && (dim_RegUN (inst_t0__sysStructs mod1) (inst_t0__sysStructs mod2)) && (dim_RegUN (inst_t1__sysStructs mod1) (inst_t1__sysStructs mod2)) && (dim_RegUN (inst_t2__sysStructs mod1) (inst_t2__sysStructs mod2)))); rule_RL_add_em_sysStructs :: MOD_sysStructs -> (Bool, MOD_sysStructs, ()); rule_RL_add_em_sysStructs = (\ (state0 :: MOD_sysStructs) -> let { (def_x__h549 :: Bit #9) = meth_read_RegN (inst_a__sysStructs state0) ; (def_x__h557 :: Bit #9) = meth_read_RegN (inst_b__sysStructs state0) ; (def_x__h541 :: Bit #9) = primAdd def_x__h549 def_x__h557 ; (def_x__h529 :: Bit #9) = primAdd def_x__h541 (4 :: Bit #9) ; (def_s__h482 :: Bit #1) = meth_read_RegN (inst_s__sysStructs state0) ; (act1 :: (Bool, MOD_RegN #9, ())) = meth_write_RegN def_x__h529 (inst_a__sysStructs state0) ; (guard1 :: Bool) = fst3 act1 ; (state1 :: MOD_sysStructs) = state0 { inst_a__sysStructs = snd3 act1 } ; (act2 :: (Bool, MOD_RegN #1, ())) = meth_write_RegN (0 :: Bit #1) (inst_s__sysStructs state1) ; (guard2 :: Bool) = guard1 && (fst3 act2) ; (state2 :: MOD_sysStructs) = state1 { inst_s__sysStructs = snd3 act2 } } in mktuple ((bitToBool def_s__h482) && guard2) state2 ()); rule_RL_tss_sysStructs :: MOD_sysStructs -> (Bool, MOD_sysStructs, ()); rule_RL_tss_sysStructs = (\ (state0 :: MOD_sysStructs) -> let { (def_t1___d8 :: Bit #12) = meth_read_RegUN (inst_t1__sysStructs state0) ; (def_t2___d6 :: Bit #12) = meth_read_RegUN (inst_t2__sysStructs state0) ; (act1 :: (Bool, MOD_RegUN #12, ())) = meth_write_RegUN (primConcat ((primExtract def_t2___d6 (11 :: Bit #32) (4 :: Bit #32)) :: Bit #8) ((primExtract def_t1___d8 (3 :: Bit #32) (0 :: Bit #32)) :: Bit #4)) (inst_t2__sysStructs state0) ; (guard1 :: Bool) = fst3 act1 ; (state1 :: MOD_sysStructs) = state0 { inst_t2__sysStructs = snd3 act1 } } in mktuple guard1 state1 ());