NO.47681のはa=0も必要条件なのを見落としてたんだろう
#include "winmm.as"
wait 10
repeat 3 : f = cnt
timeGetTime
t1 = stat
if f = 0{ //パターン[1]
	repeat 1000000
		b = cnt\2
		a=0
		if b=1 : a=2
	loop
}
if f = 1{ //パターン[2]
	repeat 1000000
		b = cnt\2
		a=(b=1)*2
	loop
}
if f = 2{ //パターン[3]
	repeat 1000000
		b = cnt\2
		if b {a = 2}else{a = 0}
	loop
}
timeGetTime
t2 = stat
mes "パターン["+(f+1)+"] "+(t2-t1)+"ms
wait 10
loop
で実際は if b {a = 2}else{a = 0} が一番処理は軽くなる
単純にbの内容に関係なく比較1回代入1回で済むからだが・・・