$stable is getting set at the very first clock event in the simulation even though the signal is stable .This is creating an unwanted attempt when I am trying to capture the actual changes in the data. I checked it with the following assertion
Rationale - with $stable/$past etc. you infer a memory/FF. As a good designer you want to take care of initial values and in this case you are delaying the checking by 3 clocks as per the user scenario. Also some formal tools require this style to formally verify assertions.