```
 if (mode_is_64bit) then M <- 0
 else M <- 32
+testbit = CR[BI+32]
+if ¬predicate_bit then testbit = SVRMmode.SNZ
 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3])
-cond_ok <- BO[0] | ¬(CR[BI+32] ^ BO[1])
+cond_ok <- BO[0] | ¬(testbit ^ BO[1])
 if ¬predicate_bit & ¬SVRMmode.sz then
-  if ¬BO[2] & CTRtest & ¬CTI then
+  if ¬BO[2] & CTRtest & ¬CTi then
     CTR = CTR - 1
   stop # instruction finishes here
-if ¬predicate_bit then cond_ok = ctr_ok = SVRMmode.SNZ
 if ¬BO[2] & ¬(CTRtest & (cond_ok ^ CTi)) then CTR <- CTR - 1
 lr_ok <- SVRMmode.LRu
 if ctr_ok & cond_ok then