Mon Jan 17 10:04:50 CET 2011 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X000.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000 "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV [a],$1 | MOV EAX,[x] ; MOV EAX,[y] | MOV [b],$1 ; MOV ECX,[a] | MOV ECX,[b] ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r13),%esi _litmus_P1_5_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: movl (%r12),%esi Test X000+X000 Required Histogram (12 states) 298172:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 121234:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 33731 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 99613867:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 89667 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 3360 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 4973 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 36633 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 99745338:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 9682 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 12086 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 31257 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; No Witnesses Positive: 199448863, Negative: 551137 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is NOT validated Hash=950465c94389554ca80f697e1b33cd12 Time X000+X000 32.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X001.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001 "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [a],$1 | MOV [c],$1 | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MOV EBX,[c] ; MOV ECX,[a] | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl (%r11),%edx _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r13),%esi Test X000+X001 Required Histogram (32 states) 71022 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 45109 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 5236895:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 13134018:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 6228 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 87 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 246628:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 63630 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 5101 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 719 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 359545:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 262545:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 22026381:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2026 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 14082717:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 356025:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 169808:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 8185433:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 17085 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 24493595:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 9130 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 905 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 65 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 354 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 12384 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 198098:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 190 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 22143 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 10969740:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 12548 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 4969 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 4877 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 93820004, Negative: 6179996 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is NOT validated Hash=e44c186b312becf180a8e22766b08f2a Time X000+X001 76.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X002.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002 "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV EAX,[x] | MOV EAX,[y] ; MOV EDX,[d] | MOV [b],$1 | MOV EBX,[z] ; MOV EAX,[z] | MOV ECX,[b] | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r12),%esi _litmus_P0_4_: movl (%r11),%eax _litmus_P0_5_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx Test X001+X002 Required Histogram (64 states) 19650 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 24060 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 15160 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 44894 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 76626 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 55702 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 2555420:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 14405290:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 11588 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1959 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 130 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 85 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 633538:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 16394 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 10371269:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 4354087:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 4355 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 60 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 46 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2415 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 6 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3447 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 367342:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3594 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 10843312:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 4794 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 97224 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 71 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 92391 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 8248195:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 833 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 12962105:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 14470 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 35008 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 7228 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1632526:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 17045 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 9399 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 333 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 23970 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 38570 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 9490 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 123779:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 128615:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10741555:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 97 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 43235 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4101 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1602 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3590 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2223 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 9660929:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1455949:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 13 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10738391:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 80708 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 8222 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2900 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; No Witnesses Positive: 87540007, Negative: 12459993 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is NOT validated Hash=9be207a0ef13bf1b52aa17af0a863df1 Time X001+X002 91.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X003.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003 "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV EAX,[y] | MOV [c],$1 ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r13),%ecx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%rbx),%ecx _litmus_P1_4_: movl (%r9),%edx Test X002+X003 Required Histogram (64 states) 37062 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 31267 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 43015 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 218622:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 39467 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 5944 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 4773539:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 13631313:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 22126 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1110 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 179 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 200 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 277871:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 632 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 12626246:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 793314:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 66651 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 351 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 4222 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 406 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 34412 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 7 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 10034 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 751 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 981655:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 816 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 11886 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 644 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 10132363:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 95 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1539122:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 20261 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 24079 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2832898:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 6374 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 17551306:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 4875 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1536 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 46084 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1607818:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 13749 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 839 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 8 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 41 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 14113 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 267 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 11799 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 13685 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 184188:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 9889857:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 954 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2346298:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2588 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 586 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1313 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 6331 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10586773:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 338549:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4632 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4958 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 9165915:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1926 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 15686 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 14392 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; No Witnesses Positive: 90303266, Negative: 9696734 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is NOT validated Hash=3b3875e6f06daafca3abb59768f39e97 Time X002+X003 91.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X004.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004 "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | MOV EAX,[c] ; MOV EBX,[c] | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X003+X004 Required Histogram (128 states) 9084 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 4020 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 503380:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 935308:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 4627 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 2286 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 434386:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 2944394:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 6841 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 396 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 110047:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 167240:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 87636 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1102 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1841286:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1437353:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 8210 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1421 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 321067:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 174255:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 600 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 154 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 28701 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 437863:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1269547:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1884 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 434808:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 127559:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 4072280:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 528 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3481257:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 319322:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 11992 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 827486:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 225510:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2668321:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1459 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 17780 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 46818 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 224472:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 357 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2852 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 8425 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 21710 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 197 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 270597:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 18565 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 147421:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 6895519:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 491590:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 10439872:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2219 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 5459 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 12544 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 521829:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 6532248:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 110180:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 751551:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 555221:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2296995:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1490 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2051633:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 136572:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 31550 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 52333 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 5120 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 65157 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1653695:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3964579:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1023915:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 7857567:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 13730 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1359 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 451 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1471 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 5491332:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 302276:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1478292:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2030578:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 13014 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 4845 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1014 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2201 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 31896 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3271 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3915 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 44421 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 462036:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 4307 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 187 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 483 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 8247493:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 7360 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 26561 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 44957 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 10908 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3482562:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3067 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2635628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 4794 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 359966:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1950 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 321628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 188 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 18545 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 271 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 60 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 98 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 68052 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2945485:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 865 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 306950:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 4293 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 9583 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 415 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3173 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1431061:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 59259 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 65 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 168 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 987554:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3033 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 760 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 451 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; No Witnesses Positive: 90088260, Negative: 9911740 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is NOT validated Hash=f338a6a3cd4f0acfc7291fb1b5f455c1 Time X003+X004 100.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X005.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005 "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: movl (%rbx),%esi _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%r11),%edx Test X004+X005 Required Histogram (243 states) 48091 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 11805 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 4607 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 59363 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 182420:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 16739 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 36178 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 131457:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 41907 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2731 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2099042:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1537736:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 42024 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1202 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2920590:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 5419248:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1376 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 18975 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 122 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 10370 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 73 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 109 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 115 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 91989 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 39401 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 3181459:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2243053:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2085 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 958 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 16952 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 174129:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1598591:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 12497 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 984 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 10953 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1508531:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 11374 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 4158 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2474 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2134779:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2635 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 158246:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 22019 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1930915:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 305 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 150028:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 7527 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 351253:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 106401:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 3148 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 4447 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 107 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 7870203:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 301325:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 373025:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 96356 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 159012:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 655 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1209 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 776 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1073 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 585 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 22 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 745 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 848936:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 549844:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 487124:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 5160592:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 36 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 464 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 4585 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1115 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 28431 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 204342:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 245 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 89 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 29 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 42 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 63 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 474 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 342 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 514 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 770076:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 37451 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 141 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3498 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 11986381:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2100289:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 304978:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 904392:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 52193 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 311 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 123 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1280 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 169494:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 881 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2005 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 14027 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1000818:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 256409:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 9662 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 18540 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3520 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 276 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1736816:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 115343:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 195 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 5260 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 55370 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2932 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 58 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1045 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 142 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 7338 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 67 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 39696 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 78 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 1943 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 1331 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 42616 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 170 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 2700 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 11091 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 876936:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 25014 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 895762:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 136 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 1440569:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 19 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 464379:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 56 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 129 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 1071 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 1329009:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 18825 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 10051137:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 62 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 192 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 40814 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 57 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1772 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 630 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 24 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 731 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 10 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 117 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 21 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 5406 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 15 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 28 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 580 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 198 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1046969:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 52321 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1908 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 4601753:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 227 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 518948:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 25 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 122 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 6133 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 9521 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 8605 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 220024:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 28211 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 1608460:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 204 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 1126 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 28 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 3092 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 34506 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 170833:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 296031:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 580 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 1139 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 15245 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 140110:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 110 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 672 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 625 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 82456 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 47 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 16274 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 68702 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 4269330:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 17572 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1032537:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 150 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 218 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 124 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 162 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 800 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 5234169:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 19 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1002126:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 30 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 16556 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 2719 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 918 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1964164:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 38 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 255979:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 38 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1486 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 725 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; No Witnesses Positive: 81386685, Negative: 18613315 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is NOT validated Hash=abd9f7b9a430d7818e10be29e442ee02 Time X004+X005 112.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X006.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006 "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[b] | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r12),%esi Test X005+X006 Required Histogram (137 states) 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 9483 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 59 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 30786 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 47240 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 4916 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 4918616:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 82 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 556867:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 230 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 283972:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 752352:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2812 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 3112924:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 14439 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 115 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 54240 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2500 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 78 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 84476 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 284 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2079357:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 4206 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 297740:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 316259:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1808 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 204608:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 42873 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 83 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 20240 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 263241:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1214 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 3294541:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 5497 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 427 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 3602 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 338 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 83 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 326984:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1175 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 86199 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 61480 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 78514 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 177 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 655413:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 39 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1852 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 16826 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4094 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 14115 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 136131:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 4602 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 5781822:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 378025:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 398297:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 26503 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 676015:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 1711828:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 5334513:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 485 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 416626:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 9765844:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4557815:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 90298 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 305231:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 12195 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 46791 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 3937 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1125762:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 2120 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 180 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 10 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 11 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 4443043:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1788718:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 965 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 140324:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 3626924:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 77202 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 324 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 134 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 6067 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1897 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 69566 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 2823571:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 660497:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 19467 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1362640:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 90 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1950445:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 731 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 284 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 656 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 5269 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 3555106:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1206 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 67407 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 883779:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 644 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 108448:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1654409:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 5415 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 4812234:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 70 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 5941116:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1084885:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 583 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1133322:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 5743 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 97 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 4119625:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 23 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 3570 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 311700:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 13563 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 94 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 9730160:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 7433 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1137207:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 8741 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; No Witnesses Positive: 92745514, Negative: 7254486 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is NOT validated Hash=1d17628fe9db083eeb885e2d926156ba Time X005+X006 105.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X007.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007 "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [c],$1 | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV [x],$1 | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,(%r10) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X006+X007 Required Histogram (216 states) 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; 501 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 4 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 20 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 15 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 1361720:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 12145 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 2771260:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 3 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 62771 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 388197:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 486626:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 495950:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 1395 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 422622:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 33 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 109422:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 530579:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 94066 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 3118745:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 891 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 197105:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1970 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 114172:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 25470 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 493 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 13269285:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 7543 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 246607:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 6508 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 234506:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 518628:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 36245 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 65 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1545 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 661 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 503 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 16 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 35 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 34 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 197 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 260 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1803 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 162 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 7 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 11747 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 3 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 57 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 24 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 27 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 18 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 114405:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 20169 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 9956828:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 807 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 258968:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 744234:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 8136 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 113 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 68150 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 11786 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 28248 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 41525 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 3876048:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 156 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 676816:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 3 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 59 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 83 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1107693:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 61 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 7921 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1497 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2652 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2623 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 727 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 12 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 1226 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 113 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 26548 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 18035 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 7 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 1409 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 13 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 73 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 23 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 8725 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 290843:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 15970 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 264792:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 8 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 7314 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 170 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 11468 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 4198 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 52481 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 4742568:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 3927 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 14361 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 9259 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 40137 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 273710:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 7293 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 38810 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 5672 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2425058:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 560 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 101006:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 283384:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2656 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 64 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 3982 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 9528 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 45590 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 15953 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2026848:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 74 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 333218:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 28 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1494 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 904 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 8666 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1804283:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1533 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 8478 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 207 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 4596 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 25822 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 2468 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 14 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 40 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 144 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 46 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 53731 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 228062:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 173728:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 2942269:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 72806 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 56141 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 621918:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 4362316:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 1553 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 106 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 2378 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 20026 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 87426 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 6050 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 1072595:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 1389135:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 3 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 126 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 2615 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 24 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 74 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 887 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 14 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 6 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 345 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 111 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 1772 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 436920:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 3002 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 4564581:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 755 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 8054 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 12513 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 433792:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 17 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 14 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 19 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 420 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 225 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 14905 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 7078 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 327 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 81 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 959 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 53544 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 652 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 40 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 669238:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 5244383:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 8 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 46 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 4430 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 19893 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 113 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 7000701:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 2024088:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 5476 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 176126:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 4281 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 4505644:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 2030 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 7729 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 149604:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 7933793:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 8 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 523 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 2787 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 751 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 1040580:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 165424:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; No Witnesses Positive: 94572420, Negative: 5427580 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is NOT validated Hash=613d971321e2458750c654f47e10976c Time X006+X007 106.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X008.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008 "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: movl (%rbx),%esi _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%r11),%edx Test X007+X008 Required Histogram (307 states) 13 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 396 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 26 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 293882:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 122852:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 9287661:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1410067:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 23 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 131 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 39477 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 2762 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 14944 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 367271:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 564307:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 150646:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 19331 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 463708:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 33627 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 94 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 8718 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 658 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 846 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 56047 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 75032 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 7335 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2210 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 541 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 23 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 32 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 182 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 106 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 4445566:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1098894:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 226148:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 14207 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 14 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3032 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 773 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 2722 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3348442:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 778114:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 93051 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 2850 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 72 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 12083 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 65 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 6388 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 7754 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 9126 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 80687 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 299780:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 2571042:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 66 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 16 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 22537 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 129 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 2933 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 19666 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 651569:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 37 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 393 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 46 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 2101 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 691 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 29 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 23 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 18164 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 232 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 7670 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 52 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 116 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 308462:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 3013485:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 18203 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 113897:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 15 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 19 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 18226 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 182 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 32234 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 77809 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 2514404:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 30 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 496 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 90 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 19 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 27060 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 38 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 84 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 14330 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 15924 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 1595 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 9324 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 17 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 43 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 1999 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 24 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 34 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 726 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 410 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 3127518:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4450 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4706428:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 280 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 88 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 409 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 73523 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4856 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 9192 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 119 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 750258:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4719 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 37017 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 6776 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 36 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 245 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 48 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 24 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 11086124:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 673866:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 409967:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 120 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 61 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 125 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 84529 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 29843 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 47 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 211426:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 2492 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 150 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 28 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 43 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 43 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 998 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 66 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 177 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 1450 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 214 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 15796 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 452 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 288 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 52606 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2469236:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 19 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 201 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 66 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 27610 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 13 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 4387 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 71 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 24 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 484 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 149 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 1231 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 10918 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 608201:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 153299:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 416 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 94991 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 3220310:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 1648080:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 824 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 3030 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 47478 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 7528 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 423 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 28564 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 435740:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 204365:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 11 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 14 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 345 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 444 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 436 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 108 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 29 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 196 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 429 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 36 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 52 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 111 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 20543 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 6359 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 7006 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 24 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 428 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 151 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 16729 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 26909 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 227776:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 116 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 731866:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 100622:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 10590111:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 11 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 535 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 12 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 2717 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 88 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 89402 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 814 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 1288732:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 10426 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 11343 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 1730 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 11 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 532073:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 59416 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 5815 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 67 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 37 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 3282903:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 213 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 546822:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 565 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 340 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 1724 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 482 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 9991 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 11408 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 3350 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 166835:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 1664 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 571693:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 128 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 387693:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 95307 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 6624272:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 72203 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 58510 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1820 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1669 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 641830:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 76483 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 928420:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 11419 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 76 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 9 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 28117 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 48 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 102188:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 14 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 621 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 203 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 420668:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 832 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 3680773:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 20 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 14032 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 56 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 29 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 7109 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 516 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 4168340:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 290 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 1260076:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; No Witnesses Positive: 91118835, Negative: 8881165 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is NOT validated Hash=5f4c7b395accd8bf21b471b043b41611 Time X007+X008 118.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X009.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009 "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | MOV [d],$1 | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,[c] | MOV [b],$1 | | ; MOV EBX,[d] | MOV EAX,[b] | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r11),%eax _litmus_P1_5_: movl (%r10),%edx _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X008+X009 Required Histogram (83 states) 35 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 295 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6082364:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6653505:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1866269:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 65327 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4726 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 4720 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 653 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 5523699:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 2445168:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1404637:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 67019 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 119 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 191 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 708942:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 923615:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 710417:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 9303 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 139 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 78 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1543 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 7429 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 930 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 32556 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 79 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 422542:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 616 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 3712476:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1912 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 101 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 1718 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 464335:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 771 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 7126090:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 19252 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 42 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 95357 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 243 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 11729552:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 2447 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 9056 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 676 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 6415175:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 138 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 190895:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 8677738:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 6096 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 18763 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 2294996:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 11533425:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 413359:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 72574 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 497890:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 5249552:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 77083 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 69409 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 91155 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2191157:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 306904:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 29086 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 448 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; 35022 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 53 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 1407583:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3905 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 4533 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 4925393:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 319 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 3035 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 5383000:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 193 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; No Witnesses Positive: 83569754, Negative: 16430246 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is NOT validated Hash=f6486b1f1dda38483f35b2c728f8d17d Time X008+X009 101.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X010.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010 "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [a],$1 | MOV EAX,[d] ; MOV [x],$1 | MOV ECX,[b] | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [c],$1 | MOV EBX,[z] | ; MOV ECX,[c] | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r14),%ecx _litmus_P0_6_: movl (%r13),%esi _litmus_P0_7_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx Test X009+X010 Required Histogram (32 states) 135723:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 165189:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2121043:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 16619042:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 14823 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 5419 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 63507 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1246526:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 13074 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2006 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 87709 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 195009:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 19534374:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 99591 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 10312643:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3514964:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 106376:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 14163678:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 78 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 18521825:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 20711 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 26342 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 12 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 21073 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 19889 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9113 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 632 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 12311576:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 646839:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 121 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 21092 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 97244440, Negative: 2755560 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is NOT validated Hash=0968aa0a48b4d86b85fd8d53921cc22b Time X009+X010 85.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X011.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011 "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: movl (%rdi),%edx Test X010+X011 Required Histogram (56 states) 190306:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 16082 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 37882 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 153912:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 1059790:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 5398 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 16345474:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 3726077:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 1885139:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 251 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 28580 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 17325 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 9960190:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 44 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 754874:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 6592 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 219787:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 59331 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 6142 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 813866:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 37463 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 1669 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 113393:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 314512:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 15217841:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 783041:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 6380 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 340645:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 4393619:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 2021 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 12378 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 7689 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 1726 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 55395 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 791 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 205376:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 3926 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 43834 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 395812:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 10964049:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 9266 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 4799443:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 5224 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 14888324:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 449 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 18452 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 21515 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 1266063:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 7964 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 8791433:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 13 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 1983060:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 39 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 18804 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 8 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 1341 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; No Witnesses Positive: 90711710, Negative: 9288290 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is NOT validated Hash=af3996ffa3a18b981f9a98c25ba9f785 Time X010+X011 98.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X012.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012 "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[b] | MOV [c],$1 | MOV EBX,[a] ; MOV [x],$1 | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X011+X012 Required Histogram (32 states) 630334:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 20268088:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 8351147:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 11419610:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 2800 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 790 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2359527:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 163239:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 836207:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 10683769:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 5579 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 4804 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 377717:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5002 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 631391:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 837 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6727 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 589977:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 108 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 36351 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 11406079:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1801 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 44851 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 100 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1997 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 9645325:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 244 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 22525446:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 147 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 89493816, Negative: 10506184 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is NOT validated Hash=55e7047b2dae0f590a8a9c6b06334f33 Time X011+X012 83.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X013.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013 "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[d] | MOV EAX,[d] ; MOV [b],$1 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EBX,[b] | MOV [a],$1 | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl (%r10),%eax _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%edx _litmus_P0_4_: movl (%r11),%ecx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,(%rbx) _litmus_P1_4_: movl (%r11),%ecx _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx Test X012+X013 Required Histogram (64 states) 14947 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 8216 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4912442:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4348580:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 7020 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 133 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 763073:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 158482:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1368 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 48 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 181619:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 14822 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9081623:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 331 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9615581:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 36604 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 81458 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5820494:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 943192:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 13018863:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 18399 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 677 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 103871:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 19643 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3795 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 602 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 41443 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7661 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6743877:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 649 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 473741:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 924 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1092463:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 392480:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 4285831:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8972870:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 144151:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 16707 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 889677:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 178141:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 65156 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3805 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 182825:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 39233 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 12575618:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8933 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3883988:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 40734 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 19437 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2484699:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 506 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6949954:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4370 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 204 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 50 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 24 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 941 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 132 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 14 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1342111:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 158 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 600 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; No Witnesses Positive: 88157199, Negative: 11842801 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is NOT validated Hash=15d7efb6801a19266d45ff70eed0dcc8 Time X012+X013 88.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X014.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014 "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | MOV [b],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EBX,[c] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; MOV ECX,[d] | MOV EBX,[y] | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X013+X014 Required Histogram (356 states) 7007 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4829 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 81 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2651 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1349 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1087 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 57354 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2072 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 883 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4543 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 61939 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3641 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 25443 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1092 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 597 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 30430 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 853863:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 73037 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 35758 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 204 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5762 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 14949 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4338244:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 175326:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2039 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2212 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 107 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 17189 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1387 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1900 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1330 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 131 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 51 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1603 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 754 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 209 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 139247:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 10130 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 191091:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 411067:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5580826:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 125167:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 30229 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 150 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 32567 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 50322 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1257342:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 17357 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 706983:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 936 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 168 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 676 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5846 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 74 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 675558:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 515 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 464 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1277 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 20642 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 240 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 432370:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 143 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 8 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 51 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14016 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 16 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 492923:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 12 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 18 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 73618 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1856 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 25876 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 645420:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3471 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 299 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 28218 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7465 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 565 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 93821 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 50 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 75 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1435 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 918 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 66 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 11784 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3663 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5893340:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 11018 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2876 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 40070 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 694025:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 659 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 999831:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 10 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 278 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 77 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 221336:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 22 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3105 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 642 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 24 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2501 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 759 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 164 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 64 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1930773:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 183879:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 20163 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 515224:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3204090:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 160704:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 625 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 117 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 54 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 264 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 70 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 12259 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 506 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 143 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 68 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 29616 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1213 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 885 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 199 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 25387 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 131 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 627 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4032 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 393 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 80 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 20575 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1348 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 539 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 26 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 190 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 187 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 438 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 30 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 129 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 90 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 21 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 312 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2471 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1081334:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5070 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 285 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3459 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 994 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 36 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1072 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4520 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 13257496:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 196754:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 15922 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 511036:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 163197:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6916 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 87 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 8 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 194108:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 185 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 68 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 103 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 246929:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 21 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 16 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 155 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 69021 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 69346 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4441145:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 36634 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2580 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 65769 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4376 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 177 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1420 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 464 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 377472:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1569 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 94 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 35309 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 681 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 172 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 23391 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 448 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1333346:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10417 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1627 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 259 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2624 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 264 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 34757 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 26 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1023 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 7098 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 377 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 18697 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3249 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3776 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 9199 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 67383 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2041 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2395 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 146033:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 527439:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1094 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1051 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 540440:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2600043:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 809 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 879240:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 250 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1433745:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 311 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 586 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 148 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 13693 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 10611 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 652752:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 306372:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 12918449:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 522 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 731 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 38540 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 336375:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 450 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 573 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 49 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 503 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 146 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 150 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 36 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1177 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 51 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 28 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 9 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 14 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1344 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 812531:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 96 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 400264:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 152 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 427 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 11 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 4643 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 4975 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1050885:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 254 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 554094:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 65 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 19 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 19 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 43 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 665 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 8592 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 173 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 37030 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 220561:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 711399:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 433461:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6081851:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 137 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1607 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 62 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1858 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 3189 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 7949 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6408 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 54312 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 320 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 597103:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 55 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 3081382:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1391 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 12995 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 648 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 162947:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 63 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 76022 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 19 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 67093 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 36 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 233 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 437 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2251 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 29993 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 22 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 14102 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 139978:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1008441:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1983 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1812288:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 108 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1893 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 125 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 19 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 65 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 12 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 26536 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 6120988:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 23 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1307421:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1979 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 51220 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 26 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 109181:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 5268 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1406562:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 6 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 11851 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 23 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 87 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 17 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; No Witnesses Positive: 93917277, Negative: 6082723 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is NOT validated Hash=7cbaae53d2b868a859ea5f50389a02bd Time X013+X014 114.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X015.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015 "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[x] | MOV EBX,[e] | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl (%r11),%edx _litmus_P2_3_: movl (%rbx),%ecx _litmus_P2_4_: movl (%r9),%eax Test X014+X015 Required Histogram (144 states) 9934 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 66590 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 35102 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 8773750:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 7 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 70 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 4532 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 2820 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 352846:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 843255:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 430593:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 875667:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 2741876:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 6 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 3463 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 13 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 7390 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 4025 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 487593:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 162095:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 594416:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 5027650:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 11411 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 457809:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 7 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2340 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 22507 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 12199408:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 3476900:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 442365:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 360656:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 206 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 53531 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 15 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 8875 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 181 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 323630:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 15777 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 8763 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 14010 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 33653 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 2077850:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 196 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 243 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1578 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 27786 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 108287:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 3898 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 344 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 4364 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1005 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 158 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 275 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 5 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 26109 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 188 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1090259:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1312431:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 7365 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 130193:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 642 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 6411 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 199 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 26343 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 11140 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 6701874:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 117872:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 4086 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 8838 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 39836 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 251371:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 8791 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 28 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 73182 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 584 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 985 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 335 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 9377 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 787747:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 162 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 82789 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 4471195:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 215781:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 15261 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 327531:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 524174:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 193460:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 39 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 5421417:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 3248020:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 151 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 45 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 23 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 11 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 2 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 393 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 94 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 145588:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 1410 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 9275 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 4424 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 601532:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 49 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 1437737:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 33443 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 6276 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 497 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 60409 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 838568:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 367941:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 19 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 6094469:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 6913620:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 3662 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 74 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 10985 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 1805 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 863553:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 5 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 5889485:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 23684 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 6649 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 38 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 214 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 49 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 213692:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 411924:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 189 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 87757 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 87 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 1116 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 1942 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 8030623:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 7 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 2735790:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 2939 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; No Witnesses Positive: 91938910, Negative: 8061090 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is NOT validated Hash=8e94a8666c7bc00a55ef0fa47bf0d04e Time X014+X015 108.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X016.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016 "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%r11),%ecx _litmus_P0_4_: movl (%r10),%eax _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl (%r10),%edx Test X015+X016 Required Histogram (64 states) 40324 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 116674:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 11355 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 509993:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 22941 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 19493 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 463779:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 11924921:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 74350 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 19122 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 7692 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 12337 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 561036:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 53912 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 9099122:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 9845015:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 51613 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2470 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 132 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 156 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 327 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 106 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 14 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2211679:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 8929 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 326 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 309 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 9439200:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 8770 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 159102:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 6122 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 35344 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 6453166:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 118 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 12808692:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2774 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3029 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3722 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1114092:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 73352 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 21050 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 15 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2480 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 12995 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 4539 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3055 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 62951 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 154923:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 13338129:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 68080 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 119 :>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 19 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 67 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 333 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 16219243:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2670238:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 11 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 463 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2189107:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 81518 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 780 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4264 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; No Witnesses Positive: 89045696, Negative: 10954304 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is NOT validated Hash=2a764f0f297a9cbca480f3d4bc3848ef Time X015+X016 88.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X017.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017 "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X016+X017 Required Histogram (126 states) 8563 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 16404 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 293721:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1827626:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3872 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2631 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 499941:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3167820:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 6710 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 688 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 72826 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 172889:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 88155 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 840 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1725085:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1238391:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 18191 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 15259 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 274798:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 899587:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 554 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 230 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 19687 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 484207:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2134730:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 4812 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 454158:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 259298:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 4526915:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1445 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3423819:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 354735:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 4363 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 754538:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 204510:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2486265:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 400 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2403 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 40539 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 164961:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 183 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 420 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 5014 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 132 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 126 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2007 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 15602 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 102963:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7759362:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 278764:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 10548416:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 411 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 577 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 19694 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 134289:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 6967732:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 83498 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 654783:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 580091:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2292639:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 893 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1998919:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 106858:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 19331 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 137617:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1712 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 97487 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1180621:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4110282:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 600869:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 8799087:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 12751 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2251 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 188 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1601 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5197374:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 490441:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1188627:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2249754:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 11052 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 19159 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 212 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3101 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 22123 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 13143 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2757 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 45526 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 482674:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5243 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 46 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 403 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 7624838:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 55938 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 20367 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 44728 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1461 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3544340:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 409 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3038327:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1604 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 133716:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 721 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 144276:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 16 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 123 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 67 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 13841 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1847055:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 49 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 286746:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 334 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1179 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 101 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1003 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 663580:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 29320 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 52 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 638569:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1336 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 154 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 315 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; No Witnesses Positive: 88892501, Negative: 11107499 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is NOT validated Hash=75e48dbd2230942ca491f6f4f5abe9f2 Time X016+X017 97.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X018.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018 "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X017+X018 Required Histogram (230 states) 6692 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 8854 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 290 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2115 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 47947 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 9974 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 12197 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 63628 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 32434 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 8196 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 418110:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 621060:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 65229 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3482 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1837885:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5142045:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2830 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 14091 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 156 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5626 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1169 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1383 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 729 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 314188:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 73405 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4880510:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1510384:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 51351 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2455 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1014968:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 339776:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 781055:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3461 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 35 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 625758:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4790 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 63 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 424837:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 377 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 702029:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 219 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 44 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 645707:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 48895 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 101 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 76339 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1110 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6852658:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 74762 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 119 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 502 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1133104:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 300 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2656 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6102 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 24 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2615 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2133461:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1403163:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 523358:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4740398:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 491 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 376 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 36 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 321 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10323 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 12023 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5186 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 56976 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 579 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 17891 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6632 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3234 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 24701 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 244 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9033 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 142 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 856 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 209 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 91 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 302 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 998649:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 25009 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 23 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 12301944:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1570104:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 472 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 13742 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 147502:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1391 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 187238:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 211 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4568300:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 346760:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 54 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 366375:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 35328 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 51 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1291883:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 56038 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 28981 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 155 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 624 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 15409 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 10789 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1877 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 7365 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 516 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 25333 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1817 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 6646 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 22864 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 574988:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 184 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 222 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 32445 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 820539:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 512 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1571818:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 731589:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 155 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3357 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3364 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 9468 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2191235:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 63588 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 11353196:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 275 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1026 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 7898 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 291147:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 298 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1159 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 108 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 665 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 33 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 25 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 863 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1163073:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 7830 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 85 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2082 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1770 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1633574:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 20975 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 53 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 301 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 27984 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 19492 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 119444:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2450025:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 24776 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2733524:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 52 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1503 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1116 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 54 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1227 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 196 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 19188 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 140 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2111633:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1611464:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 379 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 103157:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 71006 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 25 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 60566 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 41024 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 50 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 182 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 819 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 43570 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 68 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 61156 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 2283561:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 2458 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 22 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 840 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 7017 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 7407932:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3744 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 675 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 145875:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 129 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1328 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1286866:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 965 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; No Witnesses Positive: 95429978, Negative: 4570022 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is NOT validated Hash=7b517fc5625d66c2b54c68faedaa0d79 Time X017+X018 110.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X019.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019 "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV EAX,[c] | MOV EAX,[y] | MOV EBX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%rbx),%edx _litmus_P2_3_: movl (%r11),%ecx _litmus_P2_4_: movl (%r9),%eax Test X018+X019 Required Histogram (93 states) 8961 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 24627 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 47849 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 7394228:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1686283:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 455041:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1223006:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 4611353:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 6870 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 36169 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 20 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1111 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1817218:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 162917:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 47596 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 43053 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 48378 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 17507 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 293083:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 3637177:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 36340 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 732 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 54230 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 8715 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 185695:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 27907 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 802 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 2963 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 986683:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 6049 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 5136 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 7966 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 11274 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 122379:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 4698 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 6164206:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 939065:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 1012327:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 101739:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 783072:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 887790:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4008572:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 37 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 15774 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 11515731:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4101762:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 27174 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 44335 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 11032 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 51521 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1853 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1225398:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 4528 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 498 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 313 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 206 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1464551:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 998083:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 70 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 18572 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 6816936:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 171396:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 179 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 3444 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2268 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 420 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 50486 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1022728:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1896341:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 31644 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1976873:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 517642:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 21 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 2233892:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 6323 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 12918 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 711 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1510263:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 494 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 4224718:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 4875618:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 3822440:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 65 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2496221:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 22787 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 452772:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2527 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 11303937:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 14 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 141573:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 122 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; No Witnesses Positive: 87197558, Negative: 12802442 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is NOT validated Hash=b36f026f3fb116ed1e440cec050bac25 Time X018+X019 103.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X020.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020 "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [c],$1 | MOV EBX,[b] | MOV ECX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X019+X020 Required Histogram (112 states) 2027995:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 2971101:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 93795 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 1075915:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 1321669:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 486996:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 308401:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 857453:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 3094320:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 142598:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 2032 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 70445 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 13193264:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 176567:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 298442:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 627782:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 138440:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 10617182:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1174 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1537181:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 8547 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 71120 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 15978 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 192044:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 4294422:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 216044:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 6 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 74 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 1033493:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 2753 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 811 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 4154 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 2337 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 2896 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 443 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 46802 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 3942 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 106 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 38617 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 317633:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 300401:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 1789 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 186 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 10560 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 4791142:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 351 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 140708:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 320053:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 72480 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 2489169:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 2010 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 873865:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 8355 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 6714 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 38069 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 606609:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 2059090:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 87366 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 18 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1677 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1471265:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1414 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 10816 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 30353 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 49315 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 169233:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 186403:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 2398809:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 66937 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 42008 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 897259:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 3617993:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 23644 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 99 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 631917:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 1394746:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 512 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 245371:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 3817 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 3608831:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 284 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 3958 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 15284 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 242282:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 4 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 1 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 306 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 256 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 87 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 32 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 946 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 49663 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 2519 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 31 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 1531266:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 4664176:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 6208 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 3 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 6483895:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 2308994:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 1055 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 75552 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 4669 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 3958630:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 964 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 3110 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 333489:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 7460859:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 612 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 27 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 777416:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 117094:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; No Witnesses Positive: 91840646, Negative: 8159354 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is NOT validated Hash=4bd94aa8c2de09660b17e7ab1077a93c Time X019+X020 103.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X021.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021 "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$2 ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $2,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X020+X021 Required Histogram (243 states) 110728:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 23898 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 7612358:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 545655:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 1274 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 11749 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 3187575:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 735793:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 26036 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 361 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 4767 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 56 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 3863 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 371 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 6816 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 1261 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 6131264:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 932387:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 74688 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 3427 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 4883 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 13146 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 224 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 3134 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 171563:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 27446 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 500 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 4122 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 645 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 236 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 66 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 11272 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 38911 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 650017:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 1426244:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 203 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 46904 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 73951 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 1317958:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 9 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 25 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 6 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 3 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 497 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 962 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 688495:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 3512341:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 12139 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 36036 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 1293 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 111047:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 53 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 7819 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 33663 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 51723 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 14 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 249 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 214 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 19252 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 21 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 5776 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 14388 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 9348 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 7587 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 1502 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 472 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 11997 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 30424 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 24427 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 1290450:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1751 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1049987:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 141 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 259395:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 4030 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 3133643:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 3803 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 671512:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 212514:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 3161 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 233 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 2250 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 8995 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 92 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 633 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 15415063:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 738403:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 555144:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 165 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1004627:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 68029 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 152261:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1719 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 253 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 999 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 27 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 3216 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 33 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 449 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 52 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 639 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 99 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 3361 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 63 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 701 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 37527 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 667934:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 44 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 209 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 226 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 38319 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 10 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 54 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 119595:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 2551066:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 135 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 1277 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 258929:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 58 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 12586 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 185 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 554 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 45117 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 5082 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 856 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 22811 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 4326864:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 522534:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 65 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 36 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 45 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 103 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 735 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 14039 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 1722 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 4 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 46 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 38 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 70 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 6464 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 81 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 465 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 11 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 574 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 83 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 188 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 18 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 42 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 4520 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 15029 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 19361 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 283 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 884792:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 238576:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 11726778:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 8 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 87 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 35 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 53295 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 166 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 43464 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 4 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 2862 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 61 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 33 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 2368024:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 51 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 43282 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 121 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 78 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 53948 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 24 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 15265 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 147 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 558 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 102 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 41 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 653 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 17314 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 46907 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 32287 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 61587 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 570 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 20831 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 646379:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 69528 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 5310173:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 27170 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 43 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 58 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 3752 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 66 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 180 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 97671 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 760 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 19800 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 8 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 3215328:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 76511 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 722540:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 5649 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 237 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 8 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 98 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 190978:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 167 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 113966:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 16 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 438 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 356 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 676174:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 861 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 1263155:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 773 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 15 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 830334:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 3550 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 48 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 5486 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 97 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 2973 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 8598885:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 640 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 1451662:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; No Witnesses Positive: 97818499, Negative: 2181501 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is NOT validated Hash=b7f2ec30aa8b4c109136bd610aa1b07a Time X020+X021 115.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X022.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022 "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [b],$2 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[b] | MOV [y],$1 | | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X021+X022 Required Histogram (56 states) 4415274:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2623 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1208675:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 5155419:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 6712 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 972202:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1771518:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 362 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 182323:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 98909 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 3640 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1124789:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 7685128:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 1346812:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 4610031:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 106780:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 726169:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 271 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 7905 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 3749996:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 3865 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 7414655:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1150 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 13083896:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1438 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 6580292:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1823 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 42450 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 73 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 534362:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 839357:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 829 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 179337:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 76204 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 8350 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 177907:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 332481:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 2268 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 21984 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 15372 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 7034002:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 295864:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 10738751:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 12852 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 7014041:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 3704 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 1880454:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 735 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 11 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1517542:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 543 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 5556970:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 62 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 3450238:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 595 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; No Witnesses Positive: 97050360, Negative: 2949640 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is NOT validated Hash=b7483b2277f3260581789e2a27d7f52b Time X021+X022 94.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X023.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023 "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [b],$2 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,(%r10) _litmus_P0_3_: movl (%r10),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl $1,(%r9) _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx Test X022+X023 Required Histogram (128 states) 31 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 7 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 332326:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 340 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1192358:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4756 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 13781 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 900053:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 84 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 248231:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 25 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 32 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 75 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 9 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 22455 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 168 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 92 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 11304 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 24 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 206 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 4608936:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 8346424:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 221 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 96643 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 58186 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 5806 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 5040 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 5 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 10871143:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 4580207:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 1132 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 94 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 903 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 181 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1472036:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 90 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 15661 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 24512 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 235 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 818533:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 13483 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 74349 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 94 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 29 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 33509 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 18497 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 11070 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 7010598:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 253 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 7719 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 209773:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 4003675:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 11096332:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 3 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 7048 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 9796 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 42 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 386 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 206 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 304901:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 159 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 905620:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 17017501:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 163 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 2428505:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 20 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 12 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 2017 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 98 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 10532 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 74 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 561 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 4669569:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 177 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 590 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 6387 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 10498 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 4401 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 3045 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 172 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 6 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 291 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 21 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 1526 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 180 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1066235:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 5185794:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 646 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 7985847:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 7455 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 82448 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 360 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3900106:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 255250:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 42 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 12008 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 317 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 3985 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 109 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 2026 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 337 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 478 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; No Witnesses Positive: 97570392, Negative: 2429608 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is NOT validated Hash=ae1af1edfd5d509e027f3d21ff4f3f47 Time X022+X023 97.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X024.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024 "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; MOV [e],$1 | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r10),%edx _litmus_P2_4_: movl $1,(%rdi) Test X023+X024 Required Histogram (203 states) 100 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 4 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 21 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 1025970:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 4260073:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 724 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 7018 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 496210:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 4007 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 640 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 69 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 74 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 22578 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 9355579:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 784703:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 4 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 4214 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 3555 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 195689:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 59 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 368 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 60 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 4594 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 465 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 160 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 5686 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 29482 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 21 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 393 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 69273 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 1004 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 4 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 165 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 10130 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 632521:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 25399 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 2905 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 339 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 84870 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 384761:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 87071 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 6 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 2341 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 877 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 55576 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 7755181:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 138220:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 179 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 65796 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 5503 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 145998:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 189 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 361 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 8 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 57 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 10202 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 16758 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 576 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 107 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 15227 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 6903746:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 3025 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 50151 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 254707:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 13677 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 118930:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 12 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 79 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 55 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 66812 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 699940:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 15388 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 4822311:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 170 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 86 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 38 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 15767 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 14746 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 6867 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 3828 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 141574:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 87 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 35 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 1125 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 83 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 930 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 877 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 13341 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 2729 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 684264:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 48 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 64 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 15734 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 2367 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 1122 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 7592 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 130889:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 166884:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 101530:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 268179:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 3267634:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 147050:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 3686 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 607269:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 1038248:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 3 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 12 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 29 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 13087 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 90 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 427 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 11936 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 48398 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 521963:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 7038721:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 61855 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 1446 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 7978601:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 2623430:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 73655 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 10185459:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 3114 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 417812:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 4573867:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 360598:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 32622 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 14465 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1798844:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 9 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 730 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 93552 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 73 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1197632:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 93758 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 67 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 21 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 13994 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 570 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 87 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 20 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 1613 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 2364 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 848 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 34 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 9 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 759 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 218076:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 152 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 631 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 3015 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 71 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 2575 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 315 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 947446:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 4418805:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 22 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 4 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 48 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 5510 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 502 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 658452:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 898 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 5726932:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 87 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 248 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 31 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 91 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 7467 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 91 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 31 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 17 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 1685 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 2187 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 13825 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 38569 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 5267913:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 1433 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 156 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 156225:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 52055 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; No Witnesses Positive: 94475955, Negative: 5524045 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is NOT validated Hash=09864d0213ce39def62234ac3efd52e3 Time X023+X024 114.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X025.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025 "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [c],$1 | MOV EAX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl (%r8),%eax Test X024+X025 Required Histogram (101 states) 214 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 100329:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 2195 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 8258 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 931 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 274716:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 3589 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 4379212:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 13150022:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 12626059:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 557119:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 7286 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 138 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 131676:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 259 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 633 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 3274 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 5763 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 397 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 2161 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 579 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 10285 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 116313:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 777262:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 8097 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 1154 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 119767:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 3258685:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 44890 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 17514 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 20 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 624 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 24266 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 12755 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 314 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 8594 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=1; 8123 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=1; 138188:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=1; 814 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=1; 50506 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 763 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 12796459:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 18621 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 931 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 43300 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 6046 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 116 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 380 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 17478 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 12291 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 179 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 47935 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 315177:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 6650378:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 27283 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 1503 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=2; 61866 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=2; 1912 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=2; 137 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=2; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 23224 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 316 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 2071 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 206862:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 30530 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 211 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 19689 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 17754208:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 25383 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 681 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 378 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 340000:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 3625 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 92 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 2223 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=2; 4793 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=2; 6959 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=2; 134 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; z=2; 93 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=2; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=2; 45933 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=2; 72 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=2; 7800 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=2; 1458654:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=2; 67326 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=2; 772 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=2; 160348:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 12144322:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 11606217:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 231159:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; No Witnesses Positive: 92949139, Negative: 7050861 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is NOT validated Hash=6ace502c36f26dfd874ad53acbf797b1 Time X024+X025 96.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X026.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026 "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X025+X026 Required Histogram (217 states) 22 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 512 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 52 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 172 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 44 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 153 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 91 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 58 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 13 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 25179 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 31410 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 969555:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 3378741:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 616302:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 9988669:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 4806051:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 462314:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 1025494:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 2291766:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 250 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 1966 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 7031 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 5515 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 42 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 1451 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 41183 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 31416 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 7775 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 91979 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 10039792:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 136756:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 23700 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 73104 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 81 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 49 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1393 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 19770 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 100 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 126 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 13 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 355 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 53464 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 276 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 108440:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 949 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 63236 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 574 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 118654:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 532 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 88 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 174 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 159 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 5238 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 198303:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 320 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 104672:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 567829:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 5769 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 575 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1153 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 175 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 2077 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1260 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 352503:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 631 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 588 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 474 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 37 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 5302 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 2482 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1943 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 493333:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 4351354:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 51510 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 305 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1228932:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1536785:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 63 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 95 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1216 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 144354:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 18081 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 4312 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 63899 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 3504 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1015 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 128542:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 562059:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 4346237:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1028 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 3560110:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 388888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 169 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 2039 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 14390 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 211 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 866 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 33734 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 111846:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 599 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 64 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 17490 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 5602 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 1334 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 4471 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 9340 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 342816:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 614380:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 547 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 553972:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 105480:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 73 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1291 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1150 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 5736 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1445288:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 195 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1624397:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 26992 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 615 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 44576 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 192 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 25729 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 452 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 543 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=2; 1339 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 11040 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 9 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 3279 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 85649 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 1179 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 119 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=2; 361 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 16328 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 81 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 14142 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 50 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 52665 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 1650 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 863 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 3006728:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 511 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 4116578:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 31 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 19118 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 3864362:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 287 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 721418:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 1251754:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 24282 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 420 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 777 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 1849 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 36492 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 539667:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 1239 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 113 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 1356 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 6984 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=2; 2924 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 2305 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 25109 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 280506:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 478591:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 1312 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 49230 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 23356 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=2; 1707 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 550992:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 97748 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 2628329:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 56 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 140 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 1541 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 76817 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 5372292:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 175331:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 11289771:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 6484782:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 69925 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 738318:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 305189:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; No Witnesses Positive: 95054303, Negative: 4945697 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is NOT validated Hash=c14d40b594c39bd79369529a34bc2ea2 Time X025+X026 103.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X027.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027 "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$2 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r10),%edx _litmus_P3_3_: movl $1,(%r9) _litmus_P3_4_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx Test X026+X027 Required Histogram (308 states) 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 42 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2385 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 5204 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 400 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 729 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 19211 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 5896 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 7253 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 42956 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 374 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2543 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 219 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 948 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 190 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 255 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 208 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 5119 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 33 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 5212 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 30 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 11659 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 199 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 54 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 473135:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 4732 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1111408:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 14216 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 221 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 102 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 337901:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 46555 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 44840 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1043 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 152 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 7500 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 38 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 3222 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 460 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 2880 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 218 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 39606 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 80 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 43 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 103 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 235003:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 66011 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 184 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 535 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 71 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 4931 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 263 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 3034 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 273 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 575 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 78 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 886 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 941893:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 136 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 36 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 60 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 62120 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 19429 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 2161465:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1320424:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 103724:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 5376 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 4230242:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 5317833:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 70991 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 42699 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1734866:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1168038:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 2365 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 960 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 21862 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 211296:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 44 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 2955386:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 4880 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 66 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 104 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 2921161:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1740 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 144 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 126 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 5206888:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 189671:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 50 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 597 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 28917 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 122 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1916 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 36695 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 51473 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 2020741:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 714 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1221 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 50944 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1335193:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 3529 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 2692553:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 43983 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 10339592:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 58 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 211 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1672 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 90893 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 398 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 2047 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 36 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 90 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 314 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 3586 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 2980629:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 22557 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 17 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 473 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 2987 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 5232 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 6982 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 42 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 2178 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 2435528:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1552044:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 720395:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 4352957:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 25 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 34 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 52 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 48 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 45 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1033 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1451 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 20612 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 14482 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 4536 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 10725 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 413 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 14894 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1131084:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 32194 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 11796359:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1953442:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 741 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 20518 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 645 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 84 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 186 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4131596:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 335398:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 136719:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 31402 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 57 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 713 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 425 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 29271 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 26497 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 100334:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2526240:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 19654 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 3573645:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 603 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 704 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 452 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 306 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2831753:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2317634:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 165 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 39787 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 40252 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1417 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 43874 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 56 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 44784 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1670090:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1854 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 653 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 7015 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 6910266:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1642 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1123 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 80176 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 56 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 133 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 78 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 844 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 326 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 728 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 920 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 89 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 711 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 665 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 10 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 15 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 17680 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 48 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 17120 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 215 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 13992 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 930 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 135 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 15 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 44 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 254 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 79 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 424 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 1561 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 13860 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 15148 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 77 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 23 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 119 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 5434 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 252 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; No Witnesses Positive: 89275394, Negative: 10724606 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is NOT validated Hash=bc93b8ada94cb28d325b938e70fa5702 Time X026+X027 116.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X028.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028 "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl (%r10),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl $1,(%rdi) Test X027+X028 Required Histogram (141 states) 62 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1044054:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4413146:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2597 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 666 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 319534:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 35789 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 101 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 276 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 108 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 110 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 73 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 47538 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 118357:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 814 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 113 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 50730 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 8714 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 7 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 73 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 34 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1181616:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 874772:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2275 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 6455380:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 38292 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 42 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 151 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 2693 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1154 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 6078 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 9793 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1734 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 898826:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 14155 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1401859:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 480981:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1413017:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 25543 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 118 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 134 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 325 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 6 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 319929:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 520805:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 777474:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 13066 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 390525:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 9774 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 7041135:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 9503 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 2 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 444 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 5073 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 381 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 7860636:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 107 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 58 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 35 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 200074:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3533017:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 52 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 992 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3306 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 523 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 55 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 457 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1114 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 5757 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 134382:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 177 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 334 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 552 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 2072336:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1867302:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1490420:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 14670 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 430 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1277 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 199 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 3591818:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 4786516:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 8881088:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 54159 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 5507 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 6095429:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 15330 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 696 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 198 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 11260 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3223476:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 55030 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 4876 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 48373 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 5218848:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 4043134:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 18287 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 21410 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1231367:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2211382:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 31178 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 154 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 221 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 63 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 45110 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 300889:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 97891 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 3797 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 167 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 1361 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 2384 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 27 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 663893:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 270 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 3298190:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 4613 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2764 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 5196783:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 7 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 7 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 125 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 744 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 517344:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 4984852:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 199649:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 1034 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; No Witnesses Positive: 89061490, Negative: 10938510 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is NOT validated Hash=514217ba941d860b0e8fb22ba87088df Time X027+X028 109.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X029.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029 "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [c],$1 | MOV EAX,[b] | MOV ECX,[d] | ; MOV [x],$1 | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X028+X029 Required Histogram (179 states) 644 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 29 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 78 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 7 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 23177 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 12807640:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1293435:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 4259 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3720 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 163750:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 214344:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 114 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 835 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 241 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 3 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 11 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 114309:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 131346:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 441 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 159719:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3651 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2987 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2012 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 8660 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 2411033:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 789056:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1233 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 13880 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 13513 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 773282:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 3674 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 33169 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 43445 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 6815 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 136319:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 21715 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 662 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 177871:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 981 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 5275272:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 830417:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 119516:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4195 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 842114:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 599847:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 14263 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 207154:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 119593:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 344170:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 112835:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 9158 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 556326:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 5 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 2063 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 7 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 188 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 332 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 96911 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 619 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 700 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 9696 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 102 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 133366:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 64 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 96 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 14 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 136 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 573141:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1904565:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 285 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 13677 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 176591:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 82 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 11 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 610 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 187 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 105 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 91358 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3637089:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4266 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 9632 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 8913911:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4910 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 13 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 237 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 539930:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 16 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 132584:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 394215:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1408324:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 304 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 5067 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 152224:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 3281560:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4595 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 476695:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 314 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1230688:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 5 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 3504 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 17589 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 503 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 3679194:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 176 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 828907:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 3 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 1824935:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 32896 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 215 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 2363 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 5410 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 11913 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 38832 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 22 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 5298661:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2501948:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 866 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 21739 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 540 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 3810 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 33823 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 1020 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 323 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 2220577:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 20 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2639184:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 32767 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 500305:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 4802 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 301882:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 29691 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 2923615:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1167 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 12929500:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 197653:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 29 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 16 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 740 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 7188 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 1742 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 12 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 3172841:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 152486:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 2 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 77 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 11 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 288 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 14 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 80 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 87992 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 1068 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 608 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1496075:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1558 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 386 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 8591 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 42721 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 25739 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 685894:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 45 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 552 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 413942:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 3408 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; 6207060:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; No Witnesses Positive: 97220010, Negative: 2779990 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is NOT validated Hash=1bdf159260155cb3423d92c5f4cff42f Time X028+X029 108.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X030.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030 "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r10),%edx _litmus_P3_3_: movl $2,(%r9) _litmus_P3_4_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx Test X029+X030 Required Histogram (332 states) 49 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 9 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 53388 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 35014 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 288 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 19854 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 19090 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 375 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 17 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 669 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 243 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 13 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 39 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 11 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 4143 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 51293 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 24 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 72 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 53078 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 31 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 47 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1462 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 71 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 17336 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 7 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 4758 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 3509 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 101 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 6202 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 7945 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 66 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 244 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 118 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 2003152:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 3101 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 121 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 377295:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 4935 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 65 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 251 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 149 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 33 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 219 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 111 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 762 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 106 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 28761 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 9910462:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1172396:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 467861:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 223397:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 50772 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 826 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 2575 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 914 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 563675:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 2887536:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 53795 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 764876:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 30 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 442 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 1389 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 34470 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 2385 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 1142 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 3856 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 20 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 4930116:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 1111 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 306705:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 906 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 38 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 321 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 19 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 97 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 324 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 84 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 22 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 1491 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 12 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 1113 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 111 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 83 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 96730 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 66 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 46 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 7 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 13890 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 13 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 216 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 87 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 4836 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 346 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 8 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 8321 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 430 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 6016 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 398 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 33 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 10 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 175614:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 19998 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 144 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 67 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 52 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 38744 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 2297 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 36 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 812 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 320 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 634 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 591140:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 578548:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 98931 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 2816890:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 631303:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 894 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 147 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 18508 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 2840 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 58687 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 380024:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 218979:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 12425031:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 27 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 491 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 380 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 124350:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 3833 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 834 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 19921 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 36312 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 658735:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 842 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 5784161:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 89591 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 84 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 248 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 117882:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 47 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 512 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 2652 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 3330198:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 2753 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 101 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 5557053:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1423839:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 973 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 61 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 14755 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 14045 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 176929:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 37137 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 23 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 1053 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 593 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 441 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 1182 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 551603:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 4406938:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 182 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 916 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 3579 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 161082:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 61289 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 121446:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 143 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 16255 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 1023757:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 294462:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 15 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 1835 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 17636 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 8 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 15148121:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 689495:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 194 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 570525:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 46856 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 41087 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 759637:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 90 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 28695 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 103158:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 1989218:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 1004 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 249082:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 3047 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 918 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 25 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 687 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 5155 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 116 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 69 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 97 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 74 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 1548 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 7 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 3977 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 38 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 322 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 103 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 48 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 32847 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 192 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 1079 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 56 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 22 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 68 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 110 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 19 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 68 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 12908 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 67 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 61 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 5648 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 988 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 62 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 3001632:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 191 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 18 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 27626 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 23 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 164 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 370 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 8469 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 93733 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 1668 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 67 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 123 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 2288589:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 123204:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 1657 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 301 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 185 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 1279902:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 154 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 7603 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1655 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 3038 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 7078938:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 38 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 2362 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=2; 111 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 13924 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 1877 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=2; 25 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=2; 560 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=2; 2632 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 27 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 16310 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 1971 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 836 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; 2838 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; No Witnesses Positive: 96482303, Negative: 3517697 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is NOT validated Hash=eb7bbbb253d3342c102f8840925bf69e Time X029+X030 122.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X031.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031 "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [e],$1 | MOV [b],$1 | | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | | ; MOV [x],$1 | MOV EAX,[c] | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031 Required Histogram (81 states) 90 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 366 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 5090429:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3329219:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1995335:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 191215:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 496 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 268 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 439 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 25 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 15345 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 2481 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 104534:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 3425 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 61 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 363576:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 440 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 6583043:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 917 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 21407 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1418 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 8022525:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 144 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 814 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 2224302:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 13694222:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 506574:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 115428:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1321 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 10624 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 809 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 90 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 255664:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 3958577:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 529575:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 307636:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 14772 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1296365:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 420 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 5590 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2134 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 6529657:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 407 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4221957:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 7579800:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1763314:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 204366:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 636933:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1277945:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1002797:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 27612 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 277853:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 388 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 3057131:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 1018 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 54051 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 61 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 11533560:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 663 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 63338 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 5666110:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1940 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 13245 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 453362:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 4115266:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 175619:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 210566:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 76 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 1007 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 2477476:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 289 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 86320940, Negative: 13679060 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is NOT validated Hash=14e6c2e3ca3aec7bd73ec9e54ef465a4 Time X030+X031 108.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X032.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032 "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; MOV [a],$1 | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MOV EBX,[a] | MOV EBX,[c] ; MOV ECX,[e] | MOV [c],$1 | ; MOV EAX,[x] | MOV ECX,[d] | ; MOV EDX,[f] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%eax _litmus_P0_6_: movl (%r12),%esi _litmus_P0_7_: movl (%r11),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r9),%eax _litmus_P1_3_: movl (%r12),%edx _litmus_P1_4_: movl $1,(%rbx) _litmus_P1_5_: movl (%r11),%ecx Test X031+X032 Required Histogram (24 states) 79887 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 293387:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1452333:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 16099304:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1040861:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 38925 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3210315:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3770777:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 22030065:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 276654:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 7923536:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3166771:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 33310 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 13391109:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 69 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 17797017:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 569300:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 111038:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 62 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8160 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8046467:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 647224:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 50 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 13379 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 93320476, Negative: 6679524 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is NOT validated Hash=76462ae17b6760b1174e46d42166f5d3 Time X031+X032 96.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X033.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033 "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MOV EDX,[d] ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; MOV ECX,[g] | MOV EBX,[z] | MOV [a],$1 ; | | MOV EAX,[a] ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ecx _litmus_P2_3_: movl (%r12),%esi _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl $1,(%r15) _litmus_P2_6_: movl (%r15),%eax _litmus_P2_7_: movl (%r14),%edx _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: movl (%rdi),%edx Test X032+X033 Required Histogram (61 states) 146164:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 5201 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 322410:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 194530:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 142987:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 40 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 16033369:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 3902529:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 8814823:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 3300 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 525465:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 88960 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 9120218:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 20 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 1748360:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 65413 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 15590 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 18088 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 4115 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 280365:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 45 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 28 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 54 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 4164 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 14207015:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 602212:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 9894 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 575749:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 11703 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 71 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 235 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 650 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 1402 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 19828 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 9014 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 570372:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 528 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 48 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 505945:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 10113339:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 32 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 693 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 35 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 1605 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 16 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 524 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 3378 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 1887459:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 2809 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 10110305:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 3 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 316 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 73973 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 10132 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 11091313:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 371 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 8749211:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 3434 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 137 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; No Witnesses Positive: 96903258, Negative: 3096742 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is NOT validated Hash=45b4b4559df8d70ce8b725c5c898053e Time X032+X033 110.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X034.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034 "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [a],$1 ; MOV [x],$1 | MOV [e],$1 | MOV EAX,[a] ; MOV [d],$1 | MOV ECX,[c] | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X033+X034 Required Histogram (32 states) 713392:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 19108885:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 7827265:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 12048317:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 4255 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 1843 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2888404:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 305628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 596597:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 11440890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 9946 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 5938 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 320915:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13449 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 723064:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 10232 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 8631 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 975440:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 7670 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 37367 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 393 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 10883266:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 22676 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 29673 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 325 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 4529 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 10348331:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 230309:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 21413635:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 18700 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; No Witnesses Positive: 89784482, Negative: 10215518 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is NOT validated Hash=879169ff13a711665aaa8a01aa3e204c Time X033+X034 93.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X035.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035 "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%r12) _litmus_P1_5_: movl (%rbx),%ecx Test X034+X035 Required Histogram (32 states) 83909 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 110129:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 5428678:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 12002724:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 10159 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 527 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 387639:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 69619 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 5518 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1258 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 416211:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 244218:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 22727831:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 6532 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 16331501:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 355779:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 198613:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 10082542:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 18938 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 21125725:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 7479 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1095 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 44 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 13199 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 5447 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 84 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 522 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 10355111:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7142 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1687 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 108 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 93318873, Negative: 6681127 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is NOT validated Hash=5d201dbc9adb3539f8964518a5173bd4 Time X034+X035 83.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X036.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036 "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [b],$1 | ; MOV EBX,[e] | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X035+X036 Required Histogram (112 states) 8031 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 309 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 858728:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 545822:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 7876 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 48 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2251777:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2078068:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1229 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 51258 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 14323 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1967204:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 604 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 27798 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 80 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 871340:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 53300 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 14124 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 518679:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 107671:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1419129:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 366304:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3154784:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2634588:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 913 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 4141 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 111317:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 154582:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2540679:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1637 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 94771 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 207155:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 482 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 88 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 8642 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 288 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 353741:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 6610693:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3402130:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 11839974:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9695 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 259 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 330132:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 121292:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7882892:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 104 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1215527:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2654 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3450117:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2504143:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 6731 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 86490 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 9086 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 34121 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 83421 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2325187:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 467100:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4400327:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 8593220:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 7317 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 662 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4546760:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 134 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2943806:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2264 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 27622 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 638 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 6076 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 646 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 119460:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 425 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 47859 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5840 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 470763:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 344 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 6759703:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 43815 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 6460 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 514236:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3361 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5581709:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 8346 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 45440 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4108 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 550902:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 34 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 22 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 148030:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1525300:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 8464 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 851677:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 41688 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3903 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 34101 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 83027 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 755173:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 198 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1033498:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 9183 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 47 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; No Witnesses Positive: 94750971, Negative: 5249029 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is NOT validated Hash=ee21b3ea81cee653edb354ed77e43725 Time X035+X036 108.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X037.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037 "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MOV EBX,[f] | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$1 | MOV ECX,[g] ; MOV EAX,[x] | MOV EAX,[y] | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r10),%ecx _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%eax _litmus_P3_5_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl (%r8),%edx _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%rbx),%ecx Test X036+X037 Required Histogram (246 states) 66628 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 9461 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 13142 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 73817 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 20639 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 652 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 22221 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 40488 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 8535 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 195 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 764389:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 782648:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 14946 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 52 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1219837:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2350083:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 10652 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 38435 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2986 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 74624 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 392 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 52 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 179 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 301 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 186148:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 33833 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 4886732:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2777330:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 27675 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 152 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 990866:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 248749:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1480548:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 4969 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1221 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 4588 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 484856:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 542 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1074 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 215 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 234545:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 61 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 8639 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1008 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 562690:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 39463 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 184 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1810081:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 52278 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 619 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 4834 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 48447 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 41 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 19 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 7974977:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 85060 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 704067:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 33148 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1126040:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 93 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 120048:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 673 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 63066 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 29597 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 5218 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 49566 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1038888:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 431198:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 660912:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 3414510:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 203 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 73 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 875 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 435 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2826 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 11441 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1717 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 13380 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 5992 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 870 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 687 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1672 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 466 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 831 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 30 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2346 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 315 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 47 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 170 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1323 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2216476:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 90937 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2652 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 11786 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 11917575:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1256984:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 300727:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 272468:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 9901 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 41 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 62 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 28585 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 140 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3045241:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 379915:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 256 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 23390 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 185179:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 32449 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 485 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 5307 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 316713:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 5727 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 353 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1525 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 46117 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1561 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 499 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 704 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 271 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 4070 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 228 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 44592 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 66 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 500 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 974 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 61239 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 117 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 382 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 7149 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 568023:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 54 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 288 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 38868 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2930368:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 829 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1297181:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 127 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1190498:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 119 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 20 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1021 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2202 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 969195:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 23324 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 11132859:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 65 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 838 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2381 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 364746:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 44 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 647 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 537 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 464 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 9 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 155 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 256 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 69 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 2458 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 1505259:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 37 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 45417 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 60 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 5673 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 2556511:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 183 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 148629:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 75 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 9 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 325 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 1320 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 31371 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 64 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 118718:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 52199 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 578913:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 32649 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4505770:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1478 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 110 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 13978 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 740 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1026368:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1271452:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 61 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 5420 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 33642 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 117 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 46000 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 121910:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 152 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2521 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2109 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 167495:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 357 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 40356 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 66442 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 3476795:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 27580 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1174527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 7927 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 7132030:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 139 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1223530:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1158 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 186840:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 265 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 37162 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 522 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 305439:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 38 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 48852 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 38 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 565 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 800 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; No Witnesses Positive: 86089495, Negative: 13910505 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is NOT validated Hash=48d9bbdf6a733b2e0ef358881c4a6626 Time X036+X037 122.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X038.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038 "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | MOV [a],$1 ; MOV EAX,[e] | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx Test X037+X038 Required Histogram (96 states) 10920 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 28784 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 75964 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 7039579:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 818742:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 248125:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 957220:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 4346362:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 15311 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 58542 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 3775 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 114299:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 2627833:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 332417:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 299894:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 182151:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 52818 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 18926 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 355139:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 3894639:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 7499 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 407 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 3141 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 523 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 417665:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 67429 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 69653 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 88962 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 842917:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 1051 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 16914 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 236 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 14553 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 131153:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 5035 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 5572301:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 438486:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 281303:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 32320 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 650156:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 1637540:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 4936641:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 743 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 555275:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 10678525:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 3991047:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 78102 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 252435:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 10574 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 47211 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 3629 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 1153881:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 2216 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 143 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 16 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 21 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 4028182:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 1597325:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 1124 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 191647:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 4272509:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 55187 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 325 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 49 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 3667 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 547 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 80158 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 1035878:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 497849:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 13261 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 1324229:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 463489:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 682 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 13 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 1070 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 441 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 3518637:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 17569 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 777059:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 18813 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 1433264:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 580 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 4722416:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 4760334:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 1069049:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 22 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 1072439:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 361 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 3422389:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 27 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 216624:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 7642 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 10787583:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 4 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 1136351:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 62 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; No Witnesses Positive: 92996045, Negative: 7003955 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is NOT validated Hash=3cd3d9e0e6b3cc829082d6abe61d1920 Time X037+X038 114.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X039.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039 "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [b],$1 | ; MOV [e],$1 | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r8) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X038+X039 Required Histogram (113 states) 771093:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 2556614:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 1372 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 178685:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 289155:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 17 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 22484 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 2062340:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 297630:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 60 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 14686291:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 472245:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 4241 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 26244 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 79538 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 8896806:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 1499 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 1036 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 6835 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 21 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 4758543:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 543391:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 5 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 1277090:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 71951 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 1 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 46 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 410 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 2554 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 7 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 3844 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 12580 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 2 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 2635 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 122815:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 1849 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 5406641:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 28430 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 791 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 4389 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 25888 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 1914314:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 312 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 1014 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 4126 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 317 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 1573556:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 178976:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 828878:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 40416 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 20 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 300 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 508596:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 1197341:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 54818 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 2759127:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 931076:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 540005:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 452975:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 2720510:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 9208 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 11126 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 460 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 7350 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 2202748:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 217616:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 1264185:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 2205775:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 42672 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 3585266:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 554 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 4817517:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 68067 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 110289:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 19293 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 749298:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 85 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 97 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 15 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 10099 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 17852 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 9395 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 20414 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 164 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 734 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 302 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 1363 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 78821 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 136154:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 547738:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 3530250:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 51 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 48 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 4 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 534486:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 66007 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 7978009:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 3437331:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 6896 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 435751:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 1802 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 3987174:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 30732 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 57436 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 132262:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 6458154:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 40 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 61 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 5 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 50826 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 7952 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 599325:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 225996:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; No Witnesses Positive: 95771118, Negative: 4228882 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is NOT validated Hash=4941f29908138ab549461787dce6f90c Time X038+X039 114.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X040.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040 "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV ECX,[g] ; MOV EAX,[x] | MOV [y],$1 | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r10),%ecx _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%eax _litmus_P3_5_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%rbx),%ecx Test X039+X040 Required Histogram (236 states) 216318:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 107891:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 5653637:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 418242:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 3820 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 68122 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 3430165:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 669163:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 8204 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 7283 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 36077 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 1961 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 179 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 6086 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 176942:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 13709 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 5279780:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 762534:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 20855 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1139 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 5818 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 7554 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 5157 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 4458 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 771383:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 376919:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 2375 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 107 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 4496 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 7130 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 2703 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 6136 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 10422 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 99513 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 453623:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 2274722:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 310 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 75283 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 46496 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 866492:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 321 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 8 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 135 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 1481 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 1300 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 534279:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 5070327:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 1941 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 11871 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 591 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 159304:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 509 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 23820 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 5710 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 345998:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 163 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 22829 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 59 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 1778 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 93506 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 6759 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 90864 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 84 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 12063 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 17141 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 66620 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 2794 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 2207008:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 5724 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 1224320:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 92 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 398720:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 12978 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 3311021:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 2665 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 945125:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 92863 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 1011 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 9395 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 5246 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 1121 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 199 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 13014407:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 754503:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 53971 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 14 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 717798:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 72647 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 146637:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 9751 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 12 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 425 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 22 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 3808 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 46 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 6602 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 37 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 1073 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 22 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 2994 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 25 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 5393 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 18627 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 161692:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 169 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 36119 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 8 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 425 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 72980 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 2944919:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 1459 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 235461:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 159 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 1848 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 2737 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 14399 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 79984 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 15382 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 7302 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 104016:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 3995738:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 1416023:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 209 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 644 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 1408 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 116 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 831 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 6221 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 261453:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 39235 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 1393 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 262 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 20 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 670 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 4302 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 216 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 935 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 433 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 1030 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 5 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 362 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 63952 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 263 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 2535 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 627 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 38293 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 20546 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 55690 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 1374 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 1326863:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 179686:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 11387595:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 3 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 100 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 10 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 80 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 18 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 11261 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 153 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 32417 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 264 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 14336 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 48 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 338 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 2967786:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 90 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 64273 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 22 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 3309 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 62 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 574376:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 11 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 8470 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 3073 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 1221 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 1797 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 6 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 22986 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 38441 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 216682:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 21093 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 119652:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 682 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 24959 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 1321923:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 47869 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 5929677:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 49860 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 1635 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 122 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 10276 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 2653 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 571 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 193 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 116973:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 4105 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 316 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 2102279:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 250152:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 165733:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 5205 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 267 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 246 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 259530:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 693 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 647213:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 20 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 165 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 726 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 1058093:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 1552 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 2660117:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 67 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 1701 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 387 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 423740:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 10 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 14884 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 157 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 17071 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 2683 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 6733866:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 87 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 149359:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; No Witnesses Positive: 90545836, Negative: 9454164 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is NOT validated Hash=fe0d226103c665924ccceb82186713ba Time X039+X040 127.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X041.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041 "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [d],$1 | MOV [e],$1 | MOV EAX,[z] | MOV [a],$1 ; MOV [b],$1 | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV [c],$1 | | MOV EBX,[b] ; MOV [x],$1 | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X040+X041 Required Histogram (48 states) 6443377:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1760201:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 6360569:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2070483:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1414332:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 234187:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 134193:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 4288 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 809744:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 7557019:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 558640:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 3796068:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 25141 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 555744:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 64 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 417 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 3233511:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2618 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 7126301:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 817 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 12489526:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 2048 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 6009058:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 15 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 42988 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 507854:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 918255:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1174561:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 193188:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 250897:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 329292:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 31380 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 13234 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 7557058:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 151803:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 9689589:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 9093 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 7103914:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1345 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1318478:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1164 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 23 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 1481283:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 402 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 5832840:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 67 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 2802900:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 31 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; No Witnesses Positive: 98386761, Negative: 1613239 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is NOT validated Hash=b773e02b8eef2b399c4be3ea9db287aa Time X040+X041 106.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X042.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042 "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[d] ; MOV [c],$1 | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%r12) _litmus_P1_5_: movl (%rbx),%ecx Test X041+X042 Required Histogram (32 states) 18134046:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 188846:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 288809:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 5024852:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 19330700:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 449 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 883 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 4523 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 185447:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 4647 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 1608 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 1446538:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 11805891:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 3650 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 6758 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 67757 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 335509:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 14071 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 212242:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 13398978:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 994 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 32 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 244 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 28193 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 5829 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 278 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 1901 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 19592251:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 23829 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 867 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 6148 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; 9883230:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; No Witnesses Positive: 99207962, Negative: 792038 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is NOT validated Hash=45b97f52dc37744ef1549929cd05c338 Time X041+X042 90.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X043.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043 "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MOV EAX,[d] | MOV [b],$1 | ; MOV EBX,[e] | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X042+X043 Required Histogram (112 states) 2249009:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 447205:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 4854925:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 10045030:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 4529476:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 106 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 1806307:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 1580 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 143872:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 777 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 73738 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 7920 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 8423203:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 39966 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 4077 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 27662 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 3884 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 547583:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 39 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 92867 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 140062:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 104765:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 209351:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 2024635:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 10087 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 3325 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 3037482:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 2921702:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 2576 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 1162880:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 227 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 13343 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 825796:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 156688:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 2342048:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 2093436:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 356 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 1165 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 94045 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 327012:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 48 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 4342 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 109 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 10433 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1377 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 550661:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 201834:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 3430972:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 3031748:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 888 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1409 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 702 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 745 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 12358 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 364 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 27 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 2494 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 206 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 269 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 463 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 65636 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 13 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=2; 5918 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 402201:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 3593 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 6086504:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 145505:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 2651118:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 12484 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 1964850:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 1451306:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 251 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 909 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 66 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 66310 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 98408 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 396 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 1810 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 4170 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 39 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 92134 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 11428 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 251678:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 24494 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 1789 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 114376:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 98363 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 3541782:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 171504:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 4338740:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 2325408:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 11953338:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 7103573:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 29 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 987655:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 366 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; No Witnesses Positive: 99118913, Negative: 881087 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is NOT validated Hash=a1777700dcea51844fe5bcf25dd9438e Time X042+X043 114.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X044.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044 "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; MOV EBX,[f] | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$1 | MOV [g],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[c] | MOV [a],$1 ; | | MOV [z],$1 | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl (%r8),%edx _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r10),%edx Test X043+X044 Required Histogram (191 states) 134290:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 26743 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 48199 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 174219:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 68810 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 9147 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 410512:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 182268:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 24620 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 74253 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 51592 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 195406:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 405 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 255 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 473 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 2551 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1892792:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 12697 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 2244 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 3929 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 734250:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 13679 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 5764 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 692 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 1753309:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 125459:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 3972 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 2381 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 22646 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 692 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 53 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 301 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 16486 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 728 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 162488:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 268 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 10144 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 3419 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 310363:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1156 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1476463:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 635 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 2321556:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 16 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 423 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 49 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 7241 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 337 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 8949 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 1635 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 298 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 16361 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 592 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 1715 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 1276305:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 25 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 11320 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 56 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 863 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 76 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 55711 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 4088 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2799199:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1708022:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 28967 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 75 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1943279:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2216126:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 122998:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 56000 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2799413:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2153947:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 433 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 11242 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 84521 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2237666:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 750 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 64688 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 2877 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1296661:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 109 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 46128 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 3943 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 6474600:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 113006:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 162408:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 4244 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 16884 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 533 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 582 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 6725 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 19808 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 1494278:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 47 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 44748 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 3130504:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 3412 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 1365213:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 32549 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 10486747:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 531 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 126080:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 22 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 257 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2909 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 109 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 56 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 3616 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 6527 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2690088:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 12504 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 89883 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 44224 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2141 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 39706 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2122909:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 901286:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 999900:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 3752174:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 4922 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 43277 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 822 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 24096 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 1136 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2422 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 147 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2947 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2222566:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 87001 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 57 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 331 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 9896487:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 905482:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 12563 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 16751 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 2872329:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 339913:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 58 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 192 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 108996:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 17714 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1671 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 85707 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 430 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 164154:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 96309 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 1720235:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 59758 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 6223847:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 1138 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2166030:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 105 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2473545:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 88 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 14945 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 41 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 23191 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2897 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 124391:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1530 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 48606 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1946053:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 216 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 49829 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 7923 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 4722550:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 46462 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1051 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 59785 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 362 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; No Witnesses Positive: 85906409, Negative: 14093591 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is NOT validated Hash=604825c8f6edaed8c24db06f27f42631 Time X043+X044 127.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X045.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045 "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | MOV [a],$1 ; MOV [e],$1 | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV EBX,[b] ; | | MOV EAX,[f] | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl $1,(%rdi) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx Test X044+X045 Required Histogram (95 states) 900978:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 4426206:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 558429:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 52861 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 31580 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 121902:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 80874 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 2211 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1144491:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 927642:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 6921236:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 28096 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 6601 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 16437 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 703065:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 668 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1407665:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 368176:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1606013:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 22044 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 221651:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 429275:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 875755:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 8260 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 414136:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 8101 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 8080557:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 8338 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 3782 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 397 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 6481351:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 65 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 169272:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 2933931:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 6760 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 666 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 4418 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 151128:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 699 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 435 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1703335:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1515121:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1965629:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 22338 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 2946483:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 3793635:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 9137143:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 64763 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 6580 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 6291573:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 29221 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 28564 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 14230 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 2969583:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 53177 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 11201 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 58019 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 5827855:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 4392309:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 130701:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 29089 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1104158:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1696554:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 32417 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 255 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 573 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 264 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 30 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 26114 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 280079:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 120875:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 4083 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 556 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 63772 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 2063 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 27 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1520251:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 558 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 2944595:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 182 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 2670 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 4969797:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 67 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 983 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 346 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 1430 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 423437:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 5507919:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1168227:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 10971 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; No Witnesses Positive: 90399537, Negative: 9600463 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is NOT validated Hash=1fba952e68abd630a87a4eab9e5c415a Time X044+X045 119.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X046.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046 "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MOV EAX,[d] | MOV [b],$1 | ; MOV [e],$1 | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $2,(%rsi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X045+X046 Required Histogram (108 states) 8823316:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1380 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 11688 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 71 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 534920:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 216002:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 83 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2412617:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 724 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 17741 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1515 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 180017:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 179344:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 1770 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 3116963:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1275 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 360141:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 22144 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 299076:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 33 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 529949:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 19597 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 551 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 434 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 2449 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 4337520:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 3822282:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 260260:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 831007:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 325 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 28 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 70297 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 45725 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 483363:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 4173077:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 293696:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 7624044:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 156 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 110082:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 973961:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 2093010:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1980051:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1085687:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2652288:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 11556 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 2053 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 520913:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 2398828:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 80 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 13014 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 2563626:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 8343 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 3020624:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 10924 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 787 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 4825521:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 3355959:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 4190 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 683 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 1950659:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 2166318:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 56 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 102037:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 44276 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 2073195:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 14028247:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 3133 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 35 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 275 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 3495852:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1141 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 160 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 87 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 2807 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 4226 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 64 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 11141 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 16779 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 66 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 178 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 10353 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 38468 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 80 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 351569:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1422334:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 15543 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 4165 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 84400 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 36908 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 1681 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 14 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1649700:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1040574:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 16 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 3581 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 111442:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 306462:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 6714168:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; No Witnesses Positive: 99508871, Negative: 491129 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is NOT validated Hash=acc53aa3214359ca3ffcdf493691b03f Time X045+X046 119.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X047.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047 "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV [g],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[c] | MOV [a],$1 ; | | MOV [z],$1 | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r10),%edx Test X046+X047 Required Histogram (186 states) 767348:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 202559:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 7646 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 167326:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 14775 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 1995 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 254 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 994 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 21430 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 303642:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 582 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 262171:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 204 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 371 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 223256:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 7808 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 25633 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 11115 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 2377229:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 14831 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 282094:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 8101 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 319 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 21 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 2702 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 65 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 1405 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 130 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 5684 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 8952596:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 925988:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 372462:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 177481:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 62842 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 1475 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 2367 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 427 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 571425:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 2754582:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 32534 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 227136:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 220 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 1620 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 179 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 144424:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 350 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 17126 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 1076 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 3158460:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 176 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 193060:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 192 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 10 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 249 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 76 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=1; z=1; 5539 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 5291 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 32696 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 122789:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 465 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 46 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 2254 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 653 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 181 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 26973 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 1277 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 2462813:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 26 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 5010 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 5882 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 1100 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 46061 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 40863 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 180352:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 1701 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 1626451:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 100887:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 300 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 217 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 255710:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 26 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 245 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 966 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 1036251:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 533616:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 177028:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 3170099:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 1203684:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 10655 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 514 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 66765 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 2246 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 36744 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 322805:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 131972:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 10766968:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 53 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 363 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 54 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 14654 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 18095 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 431 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 221412:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 21693 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 643318:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 122 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 5297821:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 42673 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 143 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 866 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 668375:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 22 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 1663 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 2589040:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 5870919:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 1266039:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 1330 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 38031 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 52478 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 5234 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 70 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 289 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 692038:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 4730519:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 438 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 176577:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 404 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 3563 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 9 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 1824 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 2567576:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 314231:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 13351 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 22258 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 12894845:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 544599:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 470385:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 29114 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 44230 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 985877:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 178 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 42008 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 54850 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 2041299:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 396 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 82172 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 667 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 90 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 373 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 3339 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 25 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 69 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 33 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 195 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 9247 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 334 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 2545289:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 61 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 34 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 17241 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 2431 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 286 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 16657 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 12521 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 101044:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 1250 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 2098651:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 81008 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 77 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 4160 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 672 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 1854659:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 220 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; 11473 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; 3932 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; 6069636:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; No Witnesses Positive: 96316984, Negative: 3683016 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is NOT validated Hash=ec25fa2fa9621895f457346790d0c4c8 Time X046+X047 133.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X048.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048 "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV [a],$1 ; MOV [c],$1 | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048 Required Histogram (62 states) 4891203:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 3988636:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 13571 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1354 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 66275 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 15987 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1783 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 6 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 3982665:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3206 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5107800:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1098 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 428988:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 56 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 8250696:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 27 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 988140:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 13212703:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 5014 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 408 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 93813 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 5209570:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1394 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 50 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 589752:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 2635 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1494488:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 915 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 445955:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 88 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 6947050:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 92 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3652142:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 6862808:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 2459 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 365 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1227277:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1798376:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 34044 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 500 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2810612:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 7269 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2119457:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 422 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2001811:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1942 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 10908863:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 308 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2483 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 4824678:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 1 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 37774 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5103863:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 63 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 38 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 11 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 7 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 31 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 44964 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 45 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 2811914:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 55 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 78736097, Negative: 21263903 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is NOT validated Hash=a2b63dfdcab0e152f12b74285ddf82db Time X047+X048 100.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X049.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049 "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MOV EBX,[b] | MOV [c],$1 | MOV EAX,[c] ; MOV [y],$1 | MOV EBX,[a] | ; MOV EAX,[x] | MOV EAX,[y] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%r9),%edx _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r10),%edx _litmus_P1_3_: movl (%rdi),%eax Test X048+X049 Required Histogram (31 states) 72019 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 208190:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2283798:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 18042710:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 3595 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 462 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 66469 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 117009:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 106362:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 7655 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 424085:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2596670:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 19717770:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 4023 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 9933144:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 364665:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 126465:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 18275160:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 58 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 14196466:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 5068 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2682 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2596 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 292872:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 261875:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 838 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 12879449:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 7717 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 113 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; No Witnesses Positive: 96410552, Negative: 3589448 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is NOT validated Hash=96132c16bdd4829ba8665516fb09fb8e Time X048+X049 72.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X050.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050 "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r9),%edx _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X049+X050 Required Histogram (121 states) 11425 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3520 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 730166:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1637629:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 10590 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1180 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 976921:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2877437:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3236 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 75 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 132611:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 20267 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 20967 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1887607:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 58280 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 41733 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1390 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 731574:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 321706:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 24129 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 100 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 309834:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 157241:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1590791:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 977 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 514931:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 74463 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4632539:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 228 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3760034:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 42852 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9272 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 682012:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 121504:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3026903:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1423 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 176 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 151739:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 51911 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2355 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 154 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 68 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 8126 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 97 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 243725:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7550582:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1200854:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10716099:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2339 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 65 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 82268 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 26080 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7001094:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 40897 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1084105:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 201455:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1411848:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 23 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1266688:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3941 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 52826 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 73576 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 7944 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 101060:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3116709:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3428559:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1812472:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 8054747:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 12301 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 420 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 792 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 255 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5741218:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 21084 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2263107:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 254281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 35561 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1985 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 377 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1288 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 24619 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 232 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 822 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2738 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 766917:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1979 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 468 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 155 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7409934:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5916 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8262 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 950 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10316 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3506785:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2802 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2809286:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 10088 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 26252 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 5553 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 31419 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 25 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 136348:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2649210:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 527 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 319553:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1169 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 93 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 49 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1259113:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 22262 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 53 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 541137:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; No Witnesses Positive: 98093941, Negative: 1906059 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is NOT validated Hash=1269cbdaa76744e2c4bc2f711680e03a Time X049+X050 96.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X051.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051 "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MOV [c],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r8),%edx _litmus_P3_2_: movl $1,(%rdi) _litmus_P3_3_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X050+X051 Required Histogram (221 states) 61191 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 11469 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 15648 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 73856 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 19996 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 619 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 25905 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 57248 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 64244 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2357 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 3799676:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2357629:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 32434 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 152 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2308466:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2868217:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1165 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 22090 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 144 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 15952 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 60226 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 40917 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2388991:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1801440:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 25 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 8164 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2319414:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6270 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 10043 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 4959 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 806388:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 557 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7566 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 717 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2874849:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1291 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 34072 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2855 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1474190:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 74 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 15448 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 218 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 369501:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 59673 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2006 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 6407 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 48 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7093807:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 163225:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 57645 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 25198 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1694 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 39863 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 13593 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2178 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 19221 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1082692:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 368926:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 539128:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3720393:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2355 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 140 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 574 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 9389 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1810 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 15673 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 39137 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 44 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 961 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 624 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1139 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 746 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 463 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2669135:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 73879 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1907 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11472 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11139563:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1482612:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 392163:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 581665:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 64558 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 209 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 325 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 49110 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 176 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 198 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1019044:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 334467:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 134 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 20665 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 480 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1309930:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 49128 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 13 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2584 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 706 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 346 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 6428 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 317 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 55753 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 82 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 707 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1276 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 77214 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 382 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 2890 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 18257 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1784766:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 77 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 517 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 36152 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 2605368:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 130 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1049834:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 47 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 667967:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2514 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1314098:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 17193 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 10321519:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2735 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 71 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 653 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 355 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 318 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 79 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 38 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 379 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 662678:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 46 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 142023:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4838 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4524227:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 29 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 223069:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1768 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 21382 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 51 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 55249 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 60372 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 605151:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 30406 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4118692:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 44 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 328 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 239 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 9496 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 33 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 120 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1834 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 30097 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 35 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 720194:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 632222:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 490 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 199930:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 274258:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1605 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 91245 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 139 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 28722 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 81261 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3512442:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 17509 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1447793:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2947 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5412243:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 58 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1419235:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2050 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1202366:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 52508 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; No Witnesses Positive: 93947188, Negative: 6052812 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is NOT validated Hash=f4299b7f8458642d3b107e8ef2f97966 Time X050+X051 109.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X052.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052 "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MOV EAX,[a] ; MOV EAX,[c] | MOV [x],$2 | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%r10) _litmus_P2_2_: movl (%r9),%edx _litmus_P2_3_: movl (%rdi),%eax Test X051+X052 Required Histogram (128 states) 320 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1654 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 369 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 381777:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 29924 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 43007 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 9502 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 348498:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 222 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 581 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 3 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 12 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 115747:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 30751 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2541 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2548 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 733 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 1098 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 666 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 200258:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 487 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 29 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 226 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 167 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 5282 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1658 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 35 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 13 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 69704 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 334 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 261 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 35 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 12544 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 121070:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 39300 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 10032518:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 871924:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 866094:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 669121:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 3348477:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 963430:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 4489322:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 129 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1828 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 12130381:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 4556033:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 89540 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 86977 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6018 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 21677 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 18416 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 1964213:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 1767 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 74 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 790 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 358 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 1776011:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1111033:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 381 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 516 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6958819:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 126383:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 747 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 81 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 7468 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 6156 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 81293 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 4553266:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 2389113:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 173752:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2905686:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2737586:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1365 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 300 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 28 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 25 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 3051650:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 35841 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 47516 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 7026 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1445814:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 4893 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 4936023:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 7211824:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 2456044:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 160 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 2751490:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 23826 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 932399:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 769 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 37745 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 28 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 12203253:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 265 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 317449:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 44 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 191 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 134 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 454 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 24599 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 32513 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 4715 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 22565 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 6943 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 788 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 374 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 2 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 3 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 47907 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 2624 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 540 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 79 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 503 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 168 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 927 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 14615 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 112 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 2 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 144 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 27 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 892 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 260 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 63 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 4 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 3182 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 49 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 109 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; No Witnesses Positive: 89659433, Negative: 10340567 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is NOT validated Hash=553ee7ecccd0e72fb4e2e37007d1ae2a Time X051+X052 101.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X053.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053 "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV EAX,[d] ; MOV [c],$1 | MOV [x],$2 | MOV [y],$1 | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X052+X053 Required Histogram (121 states) 185581:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 19184 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 147779:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 4907 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1220 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 17 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 598745:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 115 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 9871 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 392557:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 8143 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2174 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 13 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1060 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1715265:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 2567548:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 434880:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 206723:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 3414833:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 3577 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 13783415:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 690 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 143303:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 10276538:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1715 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 3188 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 4001510:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 171 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1251181:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 27 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 25 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 6570 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 2645 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 8 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 19429 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 44 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 642 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 14063 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 2266 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 651 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 7 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 8193 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1116 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 1465 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 15616 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 6815 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 207521:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 5481103:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 21 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 51385 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 2406572:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1489 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 966 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1505214:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 55 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1994711:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1109361:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2482588:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 3569745:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1840280:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 13549 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 300 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3616254:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3835 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 46564 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 6002847:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 72621 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 110987:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 65 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 19078 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 36 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 1827 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 3437 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 64014 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 25169 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 646 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 49883 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 52 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 18 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2917 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 64 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 81 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 2192 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 2061 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 3731368:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 2108389:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 48 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 10110873:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 4733 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 64638 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 5454044:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 1242283:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 6200876:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 39 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 1116870:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 655 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 4 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 13 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 6558 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 2202 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 30 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 6833 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 72 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 3149 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 299 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 152 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 54 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 771 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; No Witnesses Positive: 98320066, Negative: 1679934 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is NOT validated Hash=0253b530b8c3457ade9714708a51aa54 Time X052+X053 103.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X054.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054 "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [b],$2 | MOV [y],$1 | | ; MOV EAX,[c] | MOV [b],$1 | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X053+X054 Required Histogram (64 states) 1565016:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 45636 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 1980803:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 68949 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 857443:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 56997 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 7245 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 1669 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 2754033:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 7758920:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 3122806:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 4954291:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 523056:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 1518963:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 1127 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 12058 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 4689989:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 4114 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 8694832:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 2775 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 14477164:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 3003 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 5990167:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 39 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 557 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 4743 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 337 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 1340 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 1953 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 1386 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 6 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 4 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 22679 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 16130 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 271672:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 17212 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 57757 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 25992 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 34268 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 4426 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 48087 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 6436773:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 737681:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 10839436:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 78967 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 7783660:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 22420 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2377512:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 1484 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 10 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 2185060:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1557 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 5587780:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 122 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 4345906:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 96 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 3 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 19 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 198 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 1317 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 192 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 34 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 90 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; 39 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; No Witnesses Positive: 92684295, Negative: 7315705 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is NOT validated Hash=8d811a4336c40a798f6108a9edd1cc07 Time X053+X054 93.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X055.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055 "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MOV EAX,[c] | MOV [b],$1 | MOV EAX,[a] | MOV [d],$1 ; MOV [y],$1 | MOV [x],$2 | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r8) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%rcx) _litmus_P2_1_: movl (%rsi),%eax Test X054+X055 Required Histogram (64 states) 811874:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1545588:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 17881 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 5533 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 107049:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 43241 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 5200 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 58 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 3850342:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7611089:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 2797 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 1358 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 10821524:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 4206927:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 97 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 26 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 10937 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1265995:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1296 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 12887 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 49844 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1044205:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 6186 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 9404 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 4770 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 5012524:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 51 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 5085 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 4505061:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 12424394:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 68 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1797 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 2754432:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 3013247:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 13825288:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 634977:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 157655:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 8882 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 5624885:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 595 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 831 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 402 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 2778 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 1027 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 202 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 94 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 65 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 4 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 29522 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 3961118:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 4088564:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 4800404:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 162989:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 460693:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 5896799:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 1180233:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 13 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 771 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 61 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 6141 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 127 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 216 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 46 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 1851 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; No Witnesses Positive: 89443924, Negative: 10556076 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is NOT validated Hash=f03fb9f5a8f1a0928e7f25acc0700be7 Time X054+X055 94.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X056.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056 "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MOV EAX,[a] ; MOV [c],$1 | MOV [x],$2 | MOV EAX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,(%r8) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl $1,(%rcx) Test X055+X056 Required Histogram (122 states) 166676:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 200591:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 65642 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1182 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 21761 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 18042 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 16994 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 181 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1533434:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 4252772:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 9389850:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 103932:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 4659 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 15965 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 831815:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 223 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 39129 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 9282 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 124029:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 857 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 14130 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 6308 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 65354 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 445 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 338785:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 31470 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 7402623:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 31126 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 3919 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 1304 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 7187691:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1501 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 596957:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 4407269:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 114191:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 20356 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 30823 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 201451:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 21982 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 3593 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 1837 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 4874 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 186 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 65 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 25 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 260 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 125 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 2618090:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 1995606:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 2217117:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 22115 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 3351143:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 4538234:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 10328979:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 72355 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 7268 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 2358 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 14079 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 166 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 223 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 253 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 2622 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 469 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 346 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 460705:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 297 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 1 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 2303 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 122181:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 3655 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 37 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 59294 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 9908879:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 4130672:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 1410 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 12927 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 2212057:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1818565:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 582 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 3 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 6 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 4 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=2; 290 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 198 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 2628 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 56 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1918 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 182 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 8936 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 3066 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 277 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 817753:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 547 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1164 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 5041837:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 136 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 6 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 5580 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 6502909:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 2963 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 242 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 14 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 25553 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 14 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 61 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 13326 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 165 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 5 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 323 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 1388 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 13 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 5 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 229443:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 5700638:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 440167:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 6846 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 38 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 48 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 339 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 253 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; No Witnesses Positive: 90768068, Negative: 9231932 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is NOT validated Hash=1e15e721067fcf25e92d7cdf96df7b08 Time X055+X056 106.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X057.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057 "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X056+X057 Required Histogram (121 states) 442682:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 13309 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 117 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 9451 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 9954171:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 6668 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 59987 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 108468:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 26029 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 8343 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 5 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1499 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 2767704:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 16916 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 3424 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 12431 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 124575:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 77282 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 125 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 68232 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 4103791:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 465889:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 73502 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 249508:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 2 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 223 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 46 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 1 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=1; y=1; 880 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=1; 637 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 6066022:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 270711:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 67 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 31877 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 3515 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 76 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 115 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 5723234:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 8386725:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 10 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 207259:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 4363 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 4245 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 535 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 3736145:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 4425279:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 1606 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 393029:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 4316 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 51536 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 10 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 949 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 481 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 3322194:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 205833:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 1158 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=1; 29 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 64 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 487 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 10 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 19149 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 14201 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 923 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 5152673:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 1445423:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 21 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 1508 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 19 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 15627 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 10722 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 2883 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 2490857:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 2427240:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 11561 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 17610 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 293 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 466190:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 257954:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 134463:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 2005494:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 13250561:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 2 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 189 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 3 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 10716 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 25 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 330 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 613 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 4514905:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 54 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 1680 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 63 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 35596 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 7 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 65 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 189 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 151 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 139686:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 133 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 2563638:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 6 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 683 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 326 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 6662 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 8914 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 640314:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 1629 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 3403954:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 129 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 14338 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 526 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 47991 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 56 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 796330:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 16 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 8636087:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 1 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 297 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 9 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; 10535 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; No Witnesses Positive: 99972162, Negative: 27838 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is NOT validated Hash=56a802160317bee059d52e32e9415f52 Time X056+X057 110.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X000-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-F "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV [a],$1 | MOV EAX,[x] ; MOV EAX,[y] | MOV [b],$1 ; MOV ECX,[a] | MOV ECX,[b] ; MFENCE | MFENCE ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: mfence _litmus_P1_5_: movl (%r13),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi Test X000+X000-F Required Histogram (6 states) 57977974:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 234531:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 61140104:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 6790 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 88303 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 80552298:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=a19341112d54204d1bbe4a1195f7d646 Time X000+X000-F 36.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X001-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-F "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [a],$1 | MOV [c],$1 | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MFENCE ; MOV ECX,[a] | MFENCE | MOV EBX,[c] ; MFENCE | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r11),%edx _litmus_P1_5_: movl (%r12),%ecx _litmus_P1_6_: movl (%r13),%esi Test X000+X001-F Required Histogram (17 states) 2998540:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 30127 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 89321 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3468734:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 25 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 9686922:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 21892468:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 1932468:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 25231746:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 495 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 96100 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 12359 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 815843:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 13605741:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 9551213:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 1505071:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 9082827:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=d8834f44395c3fd85433c620e8547f24 Time X000+X001-F 84.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X002-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-F "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV EAX,[x] | MOV EAX,[y] ; MFENCE | MOV [b],$1 | MFENCE ; MOV EDX,[d] | MOV ECX,[b] | MOV EBX,[z] ; MOV EAX,[z] | MFENCE | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl (%r11),%eax _litmus_P0_6_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx Test X001+X002-F Required Histogram (23 states) 1355906:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3357826:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 13571352:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1728666:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 187 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 6826457:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 186530:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1884250:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 9600551:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 220 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 58858 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 4490975:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2774144:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 11437624:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 25577 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1867366:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1005659:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 9116512:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 220583:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 16923069:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4562482:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1221958:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7783248:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=710a2e4a46ac96c0de70d74bc6392c08 Time X001+X002-F 99.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X003-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-F "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV EAX,[y] | MOV [c],$1 ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MFENCE ; MFENCE | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r11),%edx _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rbx),%ecx _litmus_P1_5_: movl (%r9),%edx Test X002+X003-F Required Histogram (24 states) 1951262:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1750084:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 16437956:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1571970:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 41 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 9479808:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1410754:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2714896:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 8227584:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 6 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 427 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3605021:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3346964:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 13604277:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 28147 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2030154:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1580955:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7478695:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 229 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 528651:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 12758938:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1603466:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2437737:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7451978:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=7cc2a4267e02cfaceed569b68484fcb7 Time X002+X003-F 98.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X004-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-F "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | MOV EAX,[c] ; MFENCE | MFENCE | MOV ECX,[d] | MFENCE ; MOV EBX,[c] | MOV ECX,[b] | MFENCE | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X003+X004-F Required Histogram (55 states) 25801 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 19066 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 676765:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 33 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 42813 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 974775:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 399435:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 380704:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1610829:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 752277:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 46560 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 5886216:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 633144:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 638142:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 293626:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 175097:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3637361:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3192017:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 233473:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 5007704:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 10549695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2006 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1802744:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 583101:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 138304:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 966438:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 12866168:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 767 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 4212216:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 381725:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1326181:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1854489:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2407 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2143505:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 10246 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 4951227:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 15907 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 796770:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1418440:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 6840686:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 57804 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2158397:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1355046:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2922705:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 21 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 494190:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 7595149:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 5011254:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 330685:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 4585857:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=a7466e6d5dcf4c884dd4c43f9ffc8d5f Time X003+X004-F 106.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X005-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-F "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MFENCE | MFENCE | MOV [e],$1 | MOV ECX,[d] ; MOV EBX,[d] | MOV EAX,[y] | MOV ECX,[e] | MFENCE ; MOV EAX,[x] | MOV [c],$1 | MFENCE | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: mfence _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X004+X005-F Required Histogram (74 states) 95685 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1970838:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 22239 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 2118463:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1264582:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 8252354:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 22241 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 154598:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 72640 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 365592:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 426384:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 159473:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2495513:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1875288:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 60540 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 3671378:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2568506:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2072 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1082557:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 15739 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 5579812:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 276 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 6057 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1024319:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 3755959:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1871236:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 507065:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 7598245:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1459252:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 144891:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 610173:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3388204:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 11752 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 269425:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 73614 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1098905:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1441316:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 396 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1308439:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1448379:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 4815607:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 508 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2074184:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 6116094:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2132184:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 340776:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3995863:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 4268 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 3506000:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 726430:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 17622 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1305353:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 68113 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 51232 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 39584 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 2706 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 35669 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 691429:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 211281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 22955 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1497222:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 45934 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 237077:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1189108:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 187015:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 5011812:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1380589:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 5046118:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 609 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 952249:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=5b5ad7da7652d83fd4fa0f8b6a13b2dc Time X004+X005-F 117.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X006-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-F "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EAX,[y] | MFENCE ; MOV EAX,[b] | MOV EAX,[y] | MFENCE | MOV EBX,[a] ; MFENCE | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%esi Test X005+X006-F Required Histogram (78 states) 160 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1664305:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 40 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2495204:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 36 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 98793 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 203 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1153985:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 314 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 760861:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 227367:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 866 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 8203759:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 5136905:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 147809:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 6777 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 100872:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1704 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 415 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3161281:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1371 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4342727:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 562 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1309610:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 228854:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 71 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1735908:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 265008:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 31516 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 70003 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 532809:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 369405:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 7914349:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3290887:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1341463:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1946 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 874213:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 5154241:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1980641:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4932317:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 495759:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1259620:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 9489 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 3647523:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 264 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 475567:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1474 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1830187:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 79 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1734814:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 345841:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 8903437:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 623857:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1235231:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 6712 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 35 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 87908 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 71 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1251897:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 4859855:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1879 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 13939480:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1749398:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=5dffe0b533fe15ab584c9720d6a89c81 Time X005+X006-F 109.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X007-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-F "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [c],$1 | MFENCE | MOV ECX,[d] | MFENCE ; MOV [x],$1 | MOV ECX,[b] | MFENCE | MOV EBX,[d] ; | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X006+X007-F Required Histogram (116 states) 20 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 25 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 12 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 18 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 5134 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 339150:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 4063 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 63 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 177548:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 1948 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 185667:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1326 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 301822:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 113238:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 98740 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 294 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 7284576:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 55650 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 283921:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 823783:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 736566:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 7214241:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 821131:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 21 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 8 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 98 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 66 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 93 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 644 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 541 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 43 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 12 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 1263 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 517 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 751 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 1264923:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 6014597:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 967829:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 379 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 670318:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 37326 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 1386437:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2847 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2674452:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 82139 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 185209:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 19 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 5790918:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 20581 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1500223:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 17457 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 70987 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1496141:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 515534:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 86 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 243223:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 163 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 23 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 163089:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 26125 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 450949:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 483 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 71 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 783627:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 961969:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 608041:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 78 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 129650:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 790 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1184351:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 729 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1961489:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 44857 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 163749:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 133 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 3641381:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 58484 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 237955:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 881445:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 135997:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 2390128:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 111548:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 58 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 168 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 597102:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 1349353:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 2648 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 731609:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 7696085:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 20 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 245 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 88 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 212 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 5700105:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 1370273:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 8428 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 1977 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 498248:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 156967:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 1056138:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 5960153:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 1200558:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 7178922:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 234 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 4066550:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 7091919:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=752abbfab6cc15c4377d1ef103935604 Time X006+X007-F 110.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X008-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-F "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MFENCE ; MFENCE | MOV [c],$1 | MOV ECX,[e] | MOV ECX,[d] ; MOV EAX,[x] | | MFENCE | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X007+X008-F Required Histogram (125 states) 10525 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 49 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 49 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 202 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 298299:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 95748 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 67528 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1525004:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 48 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 16837 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 920388:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 5482435:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 48770 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 85490 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 4604 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 349268:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1034569:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 297673:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 3042852:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 316487:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 542434:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 49 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 189269:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 14 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 90788 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 625890:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1397 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 574776:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 18482 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3273276:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 225964:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 7991 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1933326:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 130161:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1805055:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 17031 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 11042 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1040273:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=1; 41 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=1; 755869:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 290 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1317301:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 26 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 71898 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1113529:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 14325 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 129 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 670816:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 78 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 216267:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 1143750:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 3222031:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 20862 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 6 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 666788:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 241175:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 65042 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 86630 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 16 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 547219:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 38524 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 106 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 198 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 308 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 1509474:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 181903:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4665933:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 3737025:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 2139044:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 139291:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 17 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 670394:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 924539:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 46 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 5380278:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1226338:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 1092953:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 454 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 356 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 1190901:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 72 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 50996 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 597905:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 620567:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 729888:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 2786433:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 278365:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 1338325:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 6527 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 5617 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 467285:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 341 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 21 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 130452:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 403888:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 6296727:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 1151980:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 1512877:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 2292553:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 9079 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 675833:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 35090 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 3224759:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 3005035:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 1127032:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 219449:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 379537:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 3413990:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 2355236:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 359746:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 3696039:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 5692060:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=61d602676d239b5816171936f5c965c5 Time X007+X008-F 122.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X009-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-F "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | MOV [d],$1 | MFENCE | MFENCE ; MOV EAX,[c] | MOV [b],$1 | MOV EBX,[z] | MOV EBX,[a] ; MFENCE | MOV EAX,[b] | | ; MOV EBX,[d] | MFENCE | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r11),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r10),%edx _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X008+X009-F Required Histogram (51 states) 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1125972:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 12812 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 3075083:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 108 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1282 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1426619:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 164744:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 10813607:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 150 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 103 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2344628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 348414:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 6850656:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 45 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 490 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 4085 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 39139 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 337423:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 101953:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1090269:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 566 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 3042265:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 5854628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 9542342:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1673183:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 167 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 231 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 10306421:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 406136:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 305189:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 2729 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 7504723:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 1923 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3602295:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 4034476:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 341 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1753085:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 4797590:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 30297 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 8302897:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 375565:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 109622:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 89366 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 33765 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 5109668:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 5382904:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=0ff32b697bdcb52be85e40364e0dff10 Time X008+X009-F 106.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X010-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-F "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [a],$1 | MOV EAX,[d] ; MOV [x],$1 | MFENCE | MFENCE ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV [c],$1 | MOV EAX,[y] | ; MOV ECX,[c] | MOV EBX,[z] | ; MFENCE | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r14),%ecx _litmus_P0_6_: mfence _litmus_P0_7_: movl (%r13),%esi _litmus_P0_8_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X009+X010-F Required Histogram (17 states) 3088319:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 87351 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 32743 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2851903:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 406763:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 6699140:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 25113994:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1467635:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 26352820:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 10897 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 259603:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 5545 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 111233:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9641920:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 15485548:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 34668 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8349918:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=db4ebb4443db4f4848dbbd010a173a17 Time X009+X010-F 93.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X011-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-F "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MFENCE ; MFENCE | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[x] | MFENCE | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%rbx),%ecx _litmus_P2_6_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdi),%edx Test X010+X011-F Required Histogram (24 states) 2119489:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 11440793:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 2167408:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 9 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 6978765:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 860840:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 43 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 444 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 2767722:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 1679985:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 3472127:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 209 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 193833:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 14893245:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 1309892:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 2866461:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 7259197:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 5248657:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 2311052:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 11784579:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 6062277:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 12614245:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 161728:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 3807000:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=66a4c4040090a251694090ab4b8d8174 Time X010+X011-F 105.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X012-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-F "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[b] | MOV [c],$1 | MFENCE ; MOV [x],$1 | MFENCE | MOV EBX,[a] ; MFENCE | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X011+X012-F Required Histogram (17 states) 3104675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 9844818:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 22382 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 15872943:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 14943211:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1425260:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 36 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3464772:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 20047 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6871120:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4091579:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 5497879:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1912671:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 3542852:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 27537691:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1848046:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=6003be6c0e70227e631f2f4a931d567d Time X011+X012-F 90.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X013-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-F "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MFENCE | MOV EAX,[x] | MOV EAX,[d] | MFENCE ; MOV EAX,[x] | MFENCE | MFENCE | MOV EAX,[d] ; MOV [b],$1 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EBX,[b] | MOV [a],$1 | | ; MFENCE | MFENCE | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r10),%eax _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r11),%ecx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%rbx) _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r11),%ecx _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx Test X012+X013-F Required Histogram (42 states) 1655307:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 284 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 666240:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 129772:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 27779 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 12259758:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 6404824:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3231 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 8509188:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 227 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 68 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 312858:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10318 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 94168 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 37839 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 144528:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 358125:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2906686:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6160 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7978710:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 586 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 518 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 992589:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7989 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 554935:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5260235:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 175854:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11901317:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 13832903:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1030569:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11651756:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 10185 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 79 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 138459:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1426057:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 778218:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3594681:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6317183:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 218464:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 601343:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=114370a943de07eecdb2cba36e449003 Time X012+X013-F 96.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X014-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-F "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; MFENCE | MOV [b],$1 | MOV EAX,[z] | MFENCE ; MOV EAX,[x] | MOV [c],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EBX,[c] | MFENCE | MOV EBX,[e] | MOV [d],$1 ; MOV ECX,[d] | MOV EBX,[y] | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X013+X014-F Required Histogram (167 states) 5 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 87 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 77 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1004637:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 133140:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 11297 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 28 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1184 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 52 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 27 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 285638:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 9919 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3088 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 233 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1203 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 14073 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5993316:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2166186:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 381314:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 10367 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 82 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 9070 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 96 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 70 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 692 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 26 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 273 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 47 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 8 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 223 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 125376:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 244389:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 94044 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 964 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 374289:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 21515 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5224 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7243 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6466495:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 266130:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 63319 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1254553:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2371079:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 103175:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1637 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 117 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 11 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 822124:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 12873 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5494 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 605 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 799 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 7 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 77 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2739285:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 111244:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 26210 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2635 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 96945 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 19 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 74 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 35 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 39 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1805 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 272 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 25 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 944012:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 7046 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 21846 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 406 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 666126:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4323479:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1083238:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2392 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1284844:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 24712 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 56824 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 8 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 16920 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1024153:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6109 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1021 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 40452 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 23805 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10117 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 8 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 47602 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 20220 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1228 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 48 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2369 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1530485:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2916911:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 463563:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 844 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2839105:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2448 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4943 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 206 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1535791:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1771078:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 16082 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 24 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6934 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 43 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1156 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 590698:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6162713:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 480262:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4459 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 752313:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 17789 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 23144 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 616569:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 5 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 280 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1517 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 4933030:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 8 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 6264565:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 10 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 56 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 90 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 571 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 206600:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2436412:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2140 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 217558:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1163 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1279722:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 320 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2415707:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 22 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 11509 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 7778 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 718393:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6577 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 925165:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 3144 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2209599:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 290759:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 401963:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 4114 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 8443 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 747543:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1012035:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3361447:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 10331448:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 5908537:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 613537:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 635738:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 449315:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=edc75d5c9e80bb9964090a1071325063 Time X013+X014-F 119.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X015-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-F "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EBX,[e] | MFENCE ; MFENCE | MOV EAX,[x] | MFENCE | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl (%r11),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r9),%eax Test X014+X015-F Required Histogram (72 states) 280483:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 654289:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 64092 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 384724:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 2024088:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 507274:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 45968 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 295431:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 40 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 795 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 557340:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 6467977:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 325 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 5547845:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 510832:>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 38337 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 21247 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 17373 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 111004:>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 1967490:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 13286 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 3478387:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 1321296:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 962449:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 2301367:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 33401 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 172827:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 179445:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 2758 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 720962:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 22 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 4631352:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1661 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 24 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 403 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 367 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 655 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 108787:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 99 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 733801:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3404437:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 5594165:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 21944 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 2770855:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 2258513:>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 27461 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 161999:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 73760 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 221738:>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 971733:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 38801 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1373260:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 944535:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 26021 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 5709196:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 746212:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 2168 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 1717713:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 3296970:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 357595:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 9401736:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 1058120:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 2617088:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 3523 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 60908 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 742701:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 4111015:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 2001 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 15611553:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 2511974:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=7b4c08b6e27baeb407057a459e31cacd Time X014+X015-F 113.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X016-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-F "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[z] ; MFENCE | MOV EAX,[z] | MFENCE ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r11),%ecx _litmus_P0_5_: movl (%r10),%eax _litmus_P0_6_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r10),%edx Test X015+X016-F Required Histogram (23 states) 1465100:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1467166:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 16594357:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3065355:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 82759 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 5236563:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1337124:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3864112:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 6175871:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 60274 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 187 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 5144352:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2775517:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 12512088:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 155677:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1628102:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 8838757:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2290077:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 12949125:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4939053:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 380490:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 9037887:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=c96f7f706eca1b2f7e694f21ef338fad Time X015+X016-F 96.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X017-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-F "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MFENCE ; MFENCE | MFENCE | MOV ECX,[d] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MFENCE | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X016+X017-F Required Histogram (53 states) 16040 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 5514 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 690843:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 34 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 31813 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 768486:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 904433:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 301912:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1632956:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 541429:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 54670 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7759441:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 656138:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 605178:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 351604:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 47167 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 4310374:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3095799:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 136188:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 4797888:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 10273556:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2003 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2247286:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 522088:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 286386:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 245357:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 14344637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 694 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5854315:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 697060:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 563004:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3005093:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1997 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1855574:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5622 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5774233:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2942 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 680585:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1449939:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 6216238:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 33523 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1457327:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1373200:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4075530:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 546429:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5737527:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3542680:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 50825 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2446423:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=3ff52202ee51c81415a9192864e43bc0 Time X016+X017-F 103.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X018-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-F "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MFENCE | MOV EAX,[z] ; MFENCE | MFENCE | MOV EAX,[z] | MFENCE ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; | | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X017+X018-F Required Histogram (109 states) 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 31741 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1737318:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 65 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 78 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4256 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 30407 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1714568:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 666 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1768 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2383253:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 9983932:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7488 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6336 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 353 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 112 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 799 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1736 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 27 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 134 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 504022:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1372385:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 56532 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 358299:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5417407:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 551964:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1655003:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 688423:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 95 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3647 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2735 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1497635:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 507 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2856 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 17750 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6198505:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8620 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 281084:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2124 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 65904 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 233 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8500 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1222 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2755700:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3646496:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5058496:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 22344 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 450683:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 795043:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 117793:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2418 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 38708 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 22822 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 347057:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 73 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2900119:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 7040867:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1895 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 572665:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1381582:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5369903:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 14296 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4565593:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3216471:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1500 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 224487:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6604 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 339 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 6435975:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1312175:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 53 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 66 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 169 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 653 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 336823:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1026996:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 507 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 27883 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 38235 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 18324 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 8906 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 290201:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6890 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 993998:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 72 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 247642:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 17024 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 83069 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1236593:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 403083:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 4530207:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 5902094:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3590390:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 286941:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 15090 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 35291 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=badb246595333e510ff77788794607b7 Time X017+X018-F 116.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X019-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-F "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MFENCE | MFENCE | MOV EBX,[c] | MFENCE ; MOV EAX,[c] | MOV EAX,[y] | MFENCE | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%rbx),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%ecx _litmus_P2_5_: movl (%r9),%eax Test X018+X019-F Required Histogram (54 states) 1679466:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 828 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 7991769:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 373 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2052027:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 626270:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1137811:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 9046473:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 15018 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 8679872:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 80637 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 2095103:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 13617 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 49383 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 41926 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1022674:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 8979143:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 883454:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3867393:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4265499:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 162995:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 215746:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 21719 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 252802:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 415639:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 6778256:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 18 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 2872215:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1859327:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 42157 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 2262 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 782805:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4681773:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2486303:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4627658:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 8 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 860965:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 5019 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 21671 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 587497:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 31191 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 899686:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 15542 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 384846:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 4284064:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1631257:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1407851:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1339 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 20593 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1067 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1883218:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 10190558:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 43215 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=0a58ed247195cb5eca2fc047e3f42af3 Time X018+X019-F 106.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X020-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-F "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MFENCE ; MOV [c],$1 | MFENCE | MOV ECX,[d] | MOV EAX,[d] ; MOV [x],$1 | MOV EBX,[b] | MFENCE | ; | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X019+X020-F Required Histogram (55 states) 8496 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 416274:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 302 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 573195:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 210848:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 456328:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 1 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 235935:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 8052755:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 402457:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 2789933:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 7885657:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 1587302:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 8785367:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 823 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1788808:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1168307:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 3324238:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 3 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 320328:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 5424483:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 1460177:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 197570:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 1419894:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 250047:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 38 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 302978:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 413641:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 657502:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 1473194:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 45 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 633340:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 760290:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1836057:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 211605:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 3391667:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 216319:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1447340:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 2267862:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 552737:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 2069844:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 445959:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 5275686:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 4079825:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 1216337:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 682 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 83409 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 79376 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 1002361:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 6119972:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 856674:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 8674129:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 3589106:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 5582496:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=e33f564c87154c8406cf13aa3fb74ab2 Time X019+X020-F 107.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X021-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-F "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MFENCE | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV EAX,[z] | MFENCE ; MFENCE | MOV [c],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | | MOV EBX,[e] | MOV [d],$2 ; | | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $2,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X020+X021-F Required Histogram (114 states) 3 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 30613 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 1289448:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 114 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 1195557:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 6225064:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 601 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 290 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 9 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 1800 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 88496 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 2061 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 921615:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 14497 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 3877317:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 4 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 84852 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 2393 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 1230529:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 323 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 75711 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 552 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 10655 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 39545 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 5 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 44347 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 833469:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 394 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 2052530:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 4 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 2745 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 1066210:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 2844499:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 244131:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 1021999:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 152212:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 5805 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 69208 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 51733 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 236 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 29 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 23196 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 32752 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 11305 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 9253 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 3077 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 2767690:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 435254:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 787 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 40863 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 2869 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 15446 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 2 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 27952 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 1717 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 57780 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 4165553:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 4768013:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1012365:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 66354 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 2104997:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 4935060:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 4435562:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1461619:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 2 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 1244 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 798 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 9951 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 1289 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 144 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 15794 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 8551 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 217093:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 267 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 6172540:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 124347:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 1050448:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 2234717:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 292 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 27998 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 6240 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 344 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 8 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 7522294:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 313844:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 29325 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 538118:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 9829 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 101483:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 22272 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 46727 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 157 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 189 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 5701509:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 2352144:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 2279 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 430057:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 546211:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 2462962:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 2244812:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 25874 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 359 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 2550349:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 3016 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 31316 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 6614837:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 8716865:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=1fa9eed6011bdc09f3a0bd1310e8c011 Time X020+X021-F 121.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X022-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-F "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [b],$2 | MOV [c],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[b] | MOV [y],$1 | MOV EAX,[z] | MFENCE ; MOV [x],$1 | MOV [b],$1 | | MOV EBX,[a] ; MFENCE | | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X021+X022-F Required Histogram (43 states) 30 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 401 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1037722:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1487 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 733 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 6632317:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 7762 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 49 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 6632989:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1230 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 52 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 610052:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 3543987:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 9552609:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 5219136:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 90188 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 34381 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 583086:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1544156:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 3932689:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 8225502:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1408901:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 11863007:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 382374:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 3 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 193 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 46 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1021690:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1869 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 345458:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 174 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 239023:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1731862:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 469535:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 11083368:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 5149224:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 9782250:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 611549:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 60756 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 25494 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 31754 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 5777844:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 2363068:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=4e24cc82fbfac878138e28a275dec343 Time X021+X022-F 98.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X023-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-F "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [b],$2 | MFENCE | MFENCE | ; MOV EAX,[b] | MOV EBX,[y] | MOV EBX,[a] | ; MFENCE | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,(%r10) _litmus_P0_3_: movl (%r10),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl $1,(%r9) _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx Test X022+X023-F Required Histogram (84 states) 8 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 126 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 14911 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 175 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 330131:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 48 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3148 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 468883:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 501 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 7460097:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 28 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 12 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 271 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 68668 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 51 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 32052 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 154 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 28 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1614850:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 118230:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 22 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 24043 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 9407429:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2352 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 747303:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 2775 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 71 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 911696:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 9215741:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 2285 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 59553 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 9 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 141036:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 6674 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 291 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 114 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 5849973:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 55131 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 50 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 75011 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 111 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 195 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1417844:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 49 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1421637:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1668284:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 369915:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 919668:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 12336283:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 127 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 290392:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 43 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 507 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 9473993:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 10090242:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 220 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 136 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 148 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3894625:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 111 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 52107 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 12 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 1808323:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 13851033:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 103 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 4015424:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 131 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1774290:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 6 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=4439cbb244cf8ec7c035adafa998e0cf Time X022+X023-F 100.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X024-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-F "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EAX,[e] | MFENCE ; MOV [e],$1 | MOV EAX,[x] | MFENCE | MOV EBX,[a] ; | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r10),%edx _litmus_P2_5_: movl $1,(%rdi) Test X023+X024-F Required Histogram (111 states) 47 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 37 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 6 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 11 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 361132:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 2110439:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 612432:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 155 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 18 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 506 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 3264 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 3077293:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 3107817:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 5750 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 964 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1661360:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 2127209:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 59 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1329 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 42 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 59 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 619 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 76 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 116 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 88077 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 272853:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 378372:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 736 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 7 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 651 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3405 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3096061:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3153356:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3237 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3614 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 874373:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 899843:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3696221:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 512355:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 703741:>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 151982:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 501563:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 919699:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 22 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 6 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 952 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 110 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 5850668:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 267686:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 1908183:>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 252883:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 576146:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 571248:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 32 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 9 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 5781320:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 503 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 125 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 2358639:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 1194 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 197 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 2384 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 2195666:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 912 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 255 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 1243558:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 344913:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 778371:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 3844667:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 21 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 312 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 2910148:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 5825328:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 14284659:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 121282:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 854878:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 43970 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 21038 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 232939:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 13 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 251 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 1142925:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 915183:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1708781:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 8 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1088109:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 6554654:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 4 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 10 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 38371 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 564327:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 5702 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 358 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 1324 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 556 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 6528 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 3940 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 887353:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 12087 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 6087742:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 196 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 36643 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 2191198:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 4244 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 143360:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=2ee42593ffd520c9e5300555541c3319 Time X023+X024-F 116.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X025-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-F "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [x],$1 | MOV [z],$1 | MFENCE ; MOV [c],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[b] | MOV EBX,[a] ; MFENCE | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: mfence _litmus_P0_6_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%eax Test X024+X025-F Required Histogram (46 states) 318 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 491 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 2112704:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 595479:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 1800363:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 2303653:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 17105930:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 4181 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 27304 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 10018 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 5007 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 119 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 619414:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 218846:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 1287 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 1897306:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 148 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 232200:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 2760210:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 2265681:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 343844:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 1007576:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 155 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 3074391:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 2239 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 18196 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 54347 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 5678607:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 363976:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 4673259:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 2441392:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 3131381:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 1013716:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 5970 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 8356625:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 2108801:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 6477554:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 184558:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 112622:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 29170 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 6091514:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 5558805:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 17310565:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=cadd8e4dc6f6e7690179bb9970d4122c Time X024+X025-F 102.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X026-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-F "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MFENCE | MFENCE | MOV ECX,[d] | ; MOV EBX,[c] | MOV EAX,[b] | MFENCE | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X025+X026-F Required Histogram (110 states) 18 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 300 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 60 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 84 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 2099 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 2565604:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 672839:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 272492:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 278954:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 12457058:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 631 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 518 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 371 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 145 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 21592 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 193 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 5841808:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 621816:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 348438:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 2336444:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 130 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 429 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 159 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 662 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 71 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 232 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 253 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 2001 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1767703:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 309 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 3406 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 3966935:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 2547 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 585353:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 65511 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1449578:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 927044:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1058060:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1375 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 864051:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 3204 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 27133 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 2499096:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 1639329:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 16882 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 703649:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 176 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 83868 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 12420 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 2316036:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 550 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 133 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 267 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 25707 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 50 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 126510:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 435 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1099895:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1475332:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1098144:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 63 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 879118:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 534323:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 66 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1204685:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1965935:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 739672:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 212666:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 5445561:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 9994 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 2952433:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 172082:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 4571970:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 4761491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 588 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 52 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 110 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 2136 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 1595310:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 320067:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 2144690:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 203303:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 883472:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 96858 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 520811:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 870503:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 11480929:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 2742683:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 4736779:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 40691 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 3664672:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=f15fd3613855f21f22805d0f1f7d8fa9 Time X025+X026-F 108.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X027-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-F "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MFENCE | MFENCE | MOV [e],$2 | MFENCE ; MOV EBX,[d] | MOV EAX,[y] | MOV EAX,[e] | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MFENCE | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $1,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r10),%edx Test X026+X027-F Required Histogram (168 states) 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 182 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 79 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 685 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1213 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 9844 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 12730 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3707418:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 635 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1762 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 96653 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 236 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 6575 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1990 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1504726:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 30 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 15 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 372 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1395 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 193 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 727478:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 97639 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 4088 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 31503 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 32 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 34 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 30 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 660259:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 3242711:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 19389 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2887050:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2105163:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 5754 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 197908:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 10261 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 3363 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 711682:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 67 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 274390:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 54 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 1914570:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 407979:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 12802 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 26185 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 160 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 71301 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1191559:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 70 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 3341 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 14017 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1400650:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1161 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 3568 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1265086:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 7315138:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 22130 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 17867 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1621 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 431665:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1235085:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 66057 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 350132:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 6346501:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 507370:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3262769:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 851300:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3125 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 408 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 5805867:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1424734:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 275795:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 851661:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 49 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 10382 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 322 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 320 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 17773 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 11295 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 5704891:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 365 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 6563 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 594768:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 4878202:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 7029080:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 124942:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1251837:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 36 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 24 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 496141:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3267996:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1489 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3109977:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 6195939:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 567 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 276824:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 251126:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2239 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 261650:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 130 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 832962:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 236944:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 624942:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 30 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 3392587:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 667018:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 3943411:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 5385973:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 45 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 28 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 13 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 2205 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 20 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 8731 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 980 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 112 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 87 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 140 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 62 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 223 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 101 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 882 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=e3fa595c942d49b9ec694f338f959a9c Time X026+X027-F 118.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X028-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-F "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [c],$1 | MFENCE | MFENCE | MFENCE ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r10),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P2_5_: movl $1,(%rdi) Test X027+X028-F Required Histogram (100 states) 97 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 412440:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3520553:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 174927:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2141525:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 147543:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3688347:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3173 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 8 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 61 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 704 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 324377:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1598796:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 233316:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1464797:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 157844:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1737291:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 3 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 180199:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2116804:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 239992:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1036769:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1537526:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 41 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 78 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 503 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 85978 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1344743:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 119018:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1487840:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 971088:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 138902:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 2198851:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 3078019:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 86 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 76 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 191891:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 4621120:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2254593:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 3420649:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 89818 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 38 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 4817345:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 62328 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 13 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 321037:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3761816:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 232953:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 16659 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1637 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 978576:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 822170:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 438306:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 3741 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 495643:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 346161:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 3205877:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 35 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 168 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 4282540:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 4425666:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 12948270:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1129534:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 392 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 84623 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 4846294:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1470 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 42961 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 72302 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 807010:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 91512 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 14615 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 231975:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1518234:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 6354 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2400 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1214700:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 5618885:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 94512 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 21959 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 41316 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 9207 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 287 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 633396:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 768847:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2392783:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1010 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 53 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2360065:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 4342 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 107530:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=23885d7f9f679c9e50f7c360e4c0c9fa Time X027+X028-F 111.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X029-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-F "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [c],$1 | MFENCE | MOV ECX,[d] | ; MOV [x],$1 | MOV EAX,[b] | MFENCE | ; | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X028+X029-F Required Histogram (114 states) 18 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 189 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 63 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 32 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1942929:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 8192340:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 455 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 38968 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 287 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1455631:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 97 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 13 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 4 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 506 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 359 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 100 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1190312:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 231 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2225238:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 275072:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1612636:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 565407:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 37516 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 510877:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 671836:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1537512:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 8 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1469 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 99 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 668601:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 308 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 597797:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 84 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1009274:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 234421:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 341714:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 955151:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 7425 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1403229:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 20 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 13598 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1318028:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 129 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4240 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 231 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 862436:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 372892:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 89 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 165715:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 182009:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 871222:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3878492:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 7068 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3504001:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 13 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1545 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 313958:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 41 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 244916:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 76 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 145 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 2949952:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1344 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 761442:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 50 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 73 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 11394 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 15102 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 186 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 980099:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 2674 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 8130212:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1221 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 405 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 941687:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 1665521:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 1308077:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 14380 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 2513365:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1002401:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 4697606:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 104 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 319918:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2366719:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 5964805:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 36 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 510 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1181807:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2044385:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 49128 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 107 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 81 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 700926:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1511424:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 408243:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 308303:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 10838873:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 2540471:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1904737:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1480290:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 31 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 76 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 542078:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 349165:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 5271500:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=edb74fdd230b4ef74ad29075f8085535 Time X028+X029-F 111.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X030-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-F "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MFENCE ; MFENCE | MOV [c],$1 | MOV EAX,[e] | MOV EBX,[a] ; MOV EAX,[x] | | MFENCE | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $2,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r10),%edx Test X029+X030-F Required Histogram (160 states) 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 138 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 44 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 617 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 6047 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1712611:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 343 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 933 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 597358:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 511 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 8679 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 42251 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 106 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 70 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 383 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 1820073:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 366 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 824035:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 8 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 21 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1918 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 35998 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 3343 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 18835 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1168 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 67312 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 27 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 38 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 174 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 894 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 835221:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 48954 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 2845150:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 1428473:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 245 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 6829 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 433 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 660 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 76568 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 21610 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 798610:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 696194:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 3923283:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 714 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 465 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 1225 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 72959 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 615497:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 2303215:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 3485 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 688 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 24 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 38274 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 38943 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 22161 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3592302:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 420440:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 1259 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 1647 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 7277 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 1019 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 34 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 665815:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 117172:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 4732 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 218 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 522 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 21 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 48 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 1267632:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 1535161:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 35921 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 1873 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 255 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 4374947:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 897229:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 1948898:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 298 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 37471 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 10043501:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 318341:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 41600 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 57251 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 7125014:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 2131209:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 18865 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 1449024:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 111 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 7160 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 2924833:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 93 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 116072:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 598 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 196618:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 19588 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 108 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 3458763:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 154 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 693214:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 459168:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 109213:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 2390 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 114001:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 11 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 14604 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 5598872:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 7449905:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 2498779:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 2411245:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 6604 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 16869 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 1875261:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 4017572:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 30 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 116 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 29 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 4596 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 275 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 109 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 308261:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 8994 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 43 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 846362:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 1434104:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 23861 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 626 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 10356249:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 65 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 1530 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 869 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 775 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=9eb017c6e0c94b9b0cfbd9d932f3c77b Time X029+X030-F 125.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X031-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-F "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [e],$1 | MOV [b],$1 | | MFENCE ; MOV EAX,[e] | MOV [c],$1 | | MOV EBX,[a] ; MOV [x],$1 | MOV EAX,[c] | | ; MFENCE | MFENCE | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031-F Required Histogram (50 states) 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 190 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1240804:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 141236:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 10182321:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 172 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 415 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 27778 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 244845:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 2829596:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 2767104:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 2722 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 58 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 8707335:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 184559:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 7743887:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1376 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3753793:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 436 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 498 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2961402:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 29386 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 6269984:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 205863:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 154402:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 82 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4550224:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 2920282:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1756618:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 9104 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 6408755:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2781176:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 299814:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5885535:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 120514:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 1969627:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 10344334:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 978783:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 476382:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 4600 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 5432077:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 482 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 4981316:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1011976:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 2618026:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=67651d25ad4c924d2a9dc52674f1a96b Time X030+X031-F 112.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X032-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-F "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; MOV [a],$1 | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MFENCE | MFENCE ; MOV ECX,[e] | MOV EBX,[a] | MOV EBX,[c] ; MOV EAX,[x] | MOV [c],$1 | ; MFENCE | MFENCE | ; MOV EDX,[f] | MOV ECX,[d] | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%eax _litmus_P0_6_: mfence _litmus_P0_7_: movl (%r12),%esi _litmus_P0_8_: movl (%r11),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r9),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%edx _litmus_P1_5_: movl $1,(%rbx) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%r11),%ecx Test X031+X032-F Required Histogram (15 states) 3888901:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 76 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 10725880:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 9308639:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2611262:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 9064684:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 23892982:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 230278:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 12063572:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2471217:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8620040:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1511493:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 14134654:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 547 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1475775:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=5fb5ed2b902400da40bc7e822016cbd0 Time X031+X032-F 104.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X033-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-F "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MFENCE ; MFENCE | MOV EAX,[y] | MOV EDX,[d] ; MOV EAX,[x] | MFENCE | MOV [z],$1 ; MOV ECX,[g] | MOV EBX,[z] | MOV [a],$1 ; | | MOV EAX,[a] ; | | MFENCE ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r12),%esi _litmus_P2_5_: movl $1,(%r11) _litmus_P2_6_: movl $1,(%r15) _litmus_P2_7_: movl (%r15),%eax _litmus_P2_8_: mfence _litmus_P2_9_: movl (%r14),%edx _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdi),%edx Test X032+X033-F Required Histogram (30 states) 6 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 226401:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 6426209:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 1671 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 2216 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 12201 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 2041952:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 16 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 16089642:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 7723925:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 77 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 355869:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 6310068:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 3812886:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 310875:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 2131587:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 8457802:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 13059 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 935113:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 2712237:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 79 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 5278626:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 7751 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 424039:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 4884348:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 6886795:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 5434953:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 19176372:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 432 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 342793:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=980a02dab70e76bcf5895e5b9dae0e5d Time X032+X033-F 116.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X034-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-F "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [a],$1 ; MOV [x],$1 | MOV [e],$1 | MOV EAX,[a] ; MOV [d],$1 | MFENCE | MFENCE ; MOV EAX,[d] | MOV ECX,[c] | MOV EBX,[b] ; MFENCE | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X033+X034-F Required Histogram (17 states) 2994966:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 10123009:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 9532 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16264113:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 14692141:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1453738:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4134376:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 12756 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6699338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3689670:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 4626342:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1455682:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 4397874:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 27189850:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 2256582:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=9798442dc074ce2034b1c43281df72d6 Time X033+X034-F 100.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X035-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-F "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MFENCE | MOV EAX,[y] | MOV EAX,[d] ; MOV EAX,[x] | MFENCE | MFENCE ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MFENCE | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,(%r12) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%rbx),%ecx Test X034+X035-F Required Histogram (17 states) 7140791:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 553 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 103 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2795432:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 10840333:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 77526 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 12889045:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 25181161:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 134884:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 16857367:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 319 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 4030458:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2674147:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3405152:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 11739509:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 25072 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2208148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=cdc0e4561e33d6789a45e57d354aec96 Time X034+X035-F 92.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X036-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-F "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MFENCE | MOV [x],$1 | MOV [y],$1 | MFENCE ; MOV EAX,[x] | MFENCE | MOV [b],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [z],$1 | ; MFENCE | MOV EAX,[y] | MOV EAX,[z] | ; MOV EBX,[e] | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X035+X036-F Required Histogram (68 states) 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 454282:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 16170 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 183540:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 65 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 17104 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3559 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 811886:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 176199:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 158209:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1513101:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 225 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 125346:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3858 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 11819266:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 24681 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 6223789:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 212683:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 87349 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 489861:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 939502:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 233846:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 12564477:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1343174:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 39184 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 696 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 7991292:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 143958:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 41238 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1163548:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3063536:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 779 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3131 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 149292:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4253980:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 24895 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4381264:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 668520:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1545 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 963094:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 8101 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 7661584:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 83 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1184 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2176748:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 432 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 9430578:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 77 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 127272:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 10980 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4646408:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1869283:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1584296:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 166981:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 283600:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5120841:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 245281:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5782970:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 591102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=35c1157a8289aee8144d78af5c82cba0 Time X035+X036-F 114.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X037-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MFENCE | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV EBX,[f] | MOV [e],$1 | MOV [y],$1 | MFENCE ; MOV [b],$1 | MFENCE | MOV EBX,[c] | MOV ECX,[g] ; MFENCE | MOV EAX,[y] | MFENCE | MOV [a],$1 ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X036+X037-F Required Histogram (95 states) 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 47625 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 885861:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 616 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 9047 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 970936:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 562 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2061690:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 7823829:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 3793 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 8120 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 180 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 42266 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 171715:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 18479 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 131623:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1749868:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 213797:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 2823940:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 605254:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2841 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 4866 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1922108:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 43 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 962 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 40963 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 3604693:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 399 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 56564 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 869 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 34128 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2823 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2932 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1848201:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 4094727:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3345242:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 192982:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2890984:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 373705:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 76466 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 93431 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 105839:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1816 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 134041:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 967082:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2806612:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 10371 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 959322:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 217700:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 5378713:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 70141 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3378709:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 4435417:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 531126:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1511316:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 593131:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 215 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 6309236:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2633167:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 54037 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 604310:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 706 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 1652 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2453006:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 3468075:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 81071 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1140 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1048864:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 10091 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4252580:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1830 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2591306:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 158632:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1312180:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 430 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 882166:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1109781:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 745302:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 5630985:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 5667545:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 3017005:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 153656:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 550446:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=20188209d898ef6b10dadd20a525d214 Time X036+X037-F 127.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X038-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | MOV [a],$1 ; MFENCE | MFENCE | MOV [f],$1 | MOV EAX,[a] ; MOV EAX,[e] | MOV EAX,[y] | MFENCE | MFENCE ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%r12),%ecx Test X037+X038-F Required Histogram (54 states) 2462484:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 137 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 4537241:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 106517:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 2062418:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 659685:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 1251813:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 10872439:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 14177 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 9030290:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 2480 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 504394:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 24339 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 97436 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 69763 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 4661818:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 8893680:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 923636:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 4083584:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 3590527:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 138748:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 23469 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 16415 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 260225:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 427121:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 6344524:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 9 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 2660408:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 1303863:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 137 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 3339 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 888594:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 5042417:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 2444918:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 4673555:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 11 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 770940:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 7290 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 11077 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 487925:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 30267 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 924554:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 73486 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 440424:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 4510262:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 721766:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 781094:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 2117 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 56957 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 37825 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 1763473:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 11052098:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 251832:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=bbb5184c0793d0079988eef13e7bae61 Time X037+X038-F 117.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X039-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-F "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MFENCE ; MOV [d],$1 | MFENCE | MOV [b],$1 | MOV EAX,[f] ; MOV [e],$1 | MOV EBX,[d] | MOV [z],$1 | ; | MOV EAX,[y] | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X038+X039-F Required Histogram (69 states) 10436 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 259346:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 2234 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 51275 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 48322 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 225899:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 6897 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 10377261:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 2537590:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 1299469:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 1432313:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 2241682:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 3116831:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 29049 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 174292:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 630338:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 5295772:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 30273 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 6397368:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 2662644:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 127984:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 655359:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 186983:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 45 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 142639:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 9322 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 649229:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 73479 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 13010 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 14196 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 340166:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 2274290:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 2868 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 3291115:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 809332:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 1223987:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 358753:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 565678:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 12 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 1170000:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 2 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 2327 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 4534 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 5275 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 1600401:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 10830386:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 810 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 6088562:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 86 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 3238989:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 4993 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 336 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 3584 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 60547 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 2016303:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 69049 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 7 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 1083589:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 5343688:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 59 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 673372:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 11 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 7392206:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 194 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 30 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 381 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 5032780:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 7809756:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=b1f774c276588b2d27b3ceafd8fcc0f1 Time X038+X039-F 117.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X040-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-F "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MFENCE ; MFENCE | MOV [y],$1 | MOV EBX,[c] | MOV ECX,[g] ; MOV EAX,[x] | | MFENCE | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X039+X040-F Required Histogram (93 states) 31263 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 966749:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 682576:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 4417479:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 5245 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 713 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 511609:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 411982:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 2863 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1444351:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 27891 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 3676863:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 24063 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 323 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1214117:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 171585:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 2442629:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 96215 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 173883:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 23181 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 380920:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 170807:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 1158009:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 750701:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 1402168:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 10 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 42217 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 2107700:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 3082871:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 278443:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 1373779:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 870925:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 505 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 1045346:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 340455:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 19 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 11079 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 27 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 1122926:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 171651:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 9 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 3508 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 33 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 301 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 46 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 211 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 4704171:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 4115818:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1178620:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 29538 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1325312:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 2073526:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 5680856:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1370193:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 3092 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 430 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 848 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 1098325:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 2147851:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 63350 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 918847:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 2768454:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 1506529:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 1060572:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 33475 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 1 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 208 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 59355 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 293000:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 8000786:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 637611:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 18841 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 2558383:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 1298716:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 1976864:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 93 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 3047846:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 847029:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 157 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 143864:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 304154:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 4751122:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 2649983:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 114 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 412527:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 1627 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 4798973:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 7478685:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=a1859e663cd886e61093652e3c8c3f1c Time X039+X040-F 130.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X041-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [d],$1 | MOV [e],$1 | MFENCE | MOV [a],$1 ; MOV [b],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV EAX,[d] | MOV [c],$1 | | MFENCE ; MOV [x],$1 | | | MOV EBX,[b] ; MFENCE | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X040+X041-F Required Histogram (36 states) 103 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2499360:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1523 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 8889392:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 6855 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 6658774:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1534 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 626120:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 4091914:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 8086069:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 4809575:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 18040 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 35462 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 379618:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1278426:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2510905:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 7181751:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1043480:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 10451123:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 538317:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 16 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 269 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 2460515:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 461376:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 255 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1867305:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 590296:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 11500013:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 5182267:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 8258914:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 654255:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 74308 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 44667 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 75393 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 6345099:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 3376711:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=e7650fd2d09c1255f7629e84d614d35e Time X040+X041-F 109.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X042-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-F "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[d] ; MOV [c],$1 | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MFENCE | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,(%r12) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%rbx),%ecx Test X041+X042-F Required Histogram (18 states) 5325778:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2224 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 1415950:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 14340209:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 13720926:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 612 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 2301156:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 1051629:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 1604 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 892502:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 3444169:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 167 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 5390158:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 5213462:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 18491006:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 110190:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 17594021:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 10704237:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=15732a70bad9241b5da164775d7c8edc Time X041+X042-F 96.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X043-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-F "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MFENCE | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV EAX,[x] | MFENCE | MOV [b],$1 | ; MOV [d],$1 | MOV EAX,[d] | MOV [z],$1 | ; MFENCE | MOV [y],$1 | MOV EAX,[z] | ; MOV EBX,[e] | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X042+X043-F Required Histogram (67 states) 77496 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 371 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 8264941:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 168982:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 51200 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 1088503:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 2235075:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 914 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 2249 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 162465:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 4833508:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 27983 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 3623037:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 366063:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 7754 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 7844141:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 155 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 1379 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 65 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 150872:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 9008 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 4180177:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 3357518:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 224943:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 4021971:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 287793:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 1864221:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 19458 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 413854:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 97 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 113386:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 15092 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 972808:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 343826:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 1801122:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 254 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 136 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 7162 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 7806456:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 824717:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 8590 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 12916831:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1466405:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1121 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 971814:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 714486:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 180 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 3774490:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 165311:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 441614:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 8836 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 44267 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 343613:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 3161347:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 2393 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 14476104:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 2177833:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 2606461:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 517300:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 1029826:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=e17a5f0464b1cf7387177b1c3ac867b0 Time X042+X043-F 119.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X044-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044-F "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; MFENCE | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV EBX,[f] | MOV [e],$1 | MOV [y],$1 | MOV [g],$1 ; MOV [b],$1 | MFENCE | MOV EAX,[c] | MOV [a],$1 ; MFENCE | MOV EAX,[y] | MOV [z],$1 | MOV EAX,[a] ; MOV EAX,[x] | | MFENCE | MFENCE ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r10),%edx Test X043+X044-F Required Histogram (97 states) 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 57 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 45289 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 449902:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 66 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 4323 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 334 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 549 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 493105:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 110078:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 12765 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 147779:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 58957 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 23423 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 701950:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 32746 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 1929885:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 2077365:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 238829:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 1047890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 83743 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 954 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1569134:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 116 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1022550:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 818146:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 1752473:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 17166 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 297839:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 65 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 782 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 95716 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2330574:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2730 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 9285 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1037584:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 24 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 3235 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2095890:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 8275704:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 59515 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 6128 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 42902 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 2402 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 267784:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 3243408:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 33420 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 191190:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 2656420:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 910770:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 3612123:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 852203:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1874658:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 8943 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 7504086:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 120 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 3926698:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 116 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2518802:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 523858:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 3139 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 7320 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 16 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 4208 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 11422 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 3949355:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 112 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 1980 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 1684 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 273946:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 3985671:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 3168103:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 510767:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 3019137:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 35855 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 2067416:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 6966 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1179918:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 4470817:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 10522 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 884246:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1731 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 4037244:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2300 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 662200:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2795 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2145630:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 161142:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1094699:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 3290855:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1762279:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 981575:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 7240384:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=69d454290ad6f9da19a3a7879ce1f123 Time X043+X044-F 132.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X045-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | MOV [a],$1 ; MOV [e],$1 | MFENCE | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MFENCE ; | MOV [d],$1 | MOV EAX,[f] | MOV EBX,[b] ; | | MFENCE | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl $1,(%rdi) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r11),%edx Test X044+X045-F Required Histogram (56 states) 1670250:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 179482:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 5052893:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 49286 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 190747:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1045526:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 9464 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 2115935:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1140965:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 464 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1464316:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 418822:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 497 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1856399:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 3666439:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 315 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4288510:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 1859689:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4408900:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 167331:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 3782739:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 72006 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 3420645:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 221893:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 192752:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 120635:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 256308:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 357570:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3360006:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1089591:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 4191010:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 13186564:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2462808:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 14 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 274915:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 6487240:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 141074:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 2970674:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 88254 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 16592 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 235152:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 944763:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1470650:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 8989472:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 89980 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 1147055:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 443915:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 904701:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 4234 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 2142521:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 179 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 5080066:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 78170 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 3650296:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 845608:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1693718:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=f7deb252a2e5933e0f159811244b4976 Time X044+X045-F 122.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X046-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-F "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MFENCE | MOV [b],$1 | ; MOV [e],$1 | MOV EAX,[d] | MOV [z],$1 | ; | MOV [y],$1 | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $2,(%rsi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X045+X046-F Required Histogram (70 states) 2423731:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 3520085:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 30457 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 184429:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 5466954:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 21313 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 3087788:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 457542:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 579639:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 275356:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 33994 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 29370 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 2010736:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 7346 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 995731:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 331090:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 33125 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 869959:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 4542 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 249926:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 500043:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 27613 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 3149962:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 2073288:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1140 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 37680 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 880 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 3920137:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 204 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2399867:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 2990 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 3097 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1479007:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 100 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 854963:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 27 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 7250954:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 875 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 500 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 5387844:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1420469:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1918821:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 3518 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 3542 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 10084084:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 212283:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 7207845:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 666032:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 3008641:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 21235 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 187046:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 1591208:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 143307:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 123092:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 13194302:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1197343:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1784508:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1306034:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 300 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 7181 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 51 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 743349:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 3211 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1209464:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 6258801:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=41672086938f1a822089be4cd351b80b Time X045+X046-F 122.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X047-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-F "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV [g],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[c] | MOV [a],$1 ; MOV EAX,[x] | | MOV [z],$1 | MOV EAX,[a] ; | | MFENCE | MFENCE ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r10),%edx Test X046+X047-F Required Histogram (97 states) 19135 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 309312:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 93 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 227321:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 186153:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 60303 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 88515 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 601796:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 73181 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 485533:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 81 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 206175:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 8 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 17 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 137777:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 3559 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 2202513:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 795084:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 34 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 11564 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 67346 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 2571200:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 517276:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 5469340:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 49062 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 8676 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 1148847:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 380536:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 2138943:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 1996295:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 152 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 11963 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 15 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 114 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 301442:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 1163 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 3166391:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 272231:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 44 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 127 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=1; z=1; 3519 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 40022 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 169397:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 800925:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 1404066:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 27 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 1341548:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 815896:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 169 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 1258891:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 630202:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 2360806:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 2276455:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 913928:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 8752482:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 730473:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 225 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 6299847:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 1703781:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 1136 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 3272235:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 7945 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 3341480:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 164008:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 354449:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 2692345:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 3689 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 444565:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 3492966:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 745106:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 804819:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 1585058:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 17 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 4437 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 144 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 5610899:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 4049839:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 2308390:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 2187319:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 3128 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 925 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 838218:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 2420615:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 447 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 4293 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 381509:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 2123905:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 31 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 827272:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 1109155:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 280 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 8207376:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=4a033c28005401c7529408461555a5d1 Time X046+X047-F 136.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X048-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV [a],$1 ; MOV [c],$1 | MOV [y],$1 | | MOV EAX,[a] ; MFENCE | MFENCE | | MFENCE ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048-F Required Histogram (43 states) 3235668:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2103 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 6205430:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 45985 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 268 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 220553:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 106 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3164552:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 4930100:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 30 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 9751369:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 554619:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 8462668:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 87 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1154021:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 7521668:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 61 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2159682:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 238 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 408415:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 413859:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 80 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4410767:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2830530:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2204444:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 18 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 3176734:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 5632669:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1599 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 3458197:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 8 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 111032:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2904643:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 640 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 11052483:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2906867:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 285236:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 159 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 7693843:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 1797934:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 10 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1311355:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1989270:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=f24340f42451c957a79ee2df57f86a30 Time X047+X048-F 104.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X049-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-F "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MFENCE | MOV [c],$1 | MFENCE ; MOV EBX,[b] | MFENCE | MOV EAX,[c] ; MOV [y],$1 | MOV EBX,[a] | ; MFENCE | MOV EAX,[y] | ; MOV EAX,[x] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%edx _litmus_P1_4_: movl (%rdi),%eax Test X048+X049-F Required Histogram (18 states) 4278175:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 12050 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 183 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 9234500:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 3698914:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3701895:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 4056550:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 14948185:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1552500:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 21816840:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 512 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 38297 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 7901837:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2516894:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 5844970:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 17806208:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 496 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2590994:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=13a34ddecb3ea2d0f0d60f301597a4e8 Time X048+X049-F 80.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X050-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-F "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MFENCE | MFENCE | MFENCE ; MFENCE | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV EAX,[x] | MFENCE | MFENCE | ; | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X049+X050-F Required Histogram (82 states) 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 30738 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 33931 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 427568:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 130 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 11941 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 56 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 51061 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2363949:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 617406:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 198461:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 790479:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 65 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 77 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 71666 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 975 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10216117:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4926 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1899944:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 939299:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 187808:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1078483:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3786098:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2861847:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 134 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9230424:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 712800:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2615 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 254 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3192425:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 73950 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4238 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 840360:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6721256:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 242 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 33 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 970 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 13203 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 391892:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 576 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 38 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 276 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 493 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10873579:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7822 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5585107:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2746681:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3026 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1448313:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6263 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 227 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6667185:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 484 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 112 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 381 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2066445:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8481261:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 636 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 20538 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4781 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2388132:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4300304:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2190580:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 30915 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 486483:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5257558:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 22331 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 451880:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 199636:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=6eef6d4d5dc6b2dfa2b303d135075287 Time X049+X050-F 103.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X051-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MFENCE | MFENCE ; MFENCE | MOV [c],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MFENCE | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%edx _litmus_P3_3_: movl $1,(%rdi) _litmus_P3_4_: mfence _litmus_P3_5_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X050+X051-F Required Histogram (116 states) 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1107 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 35347 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1291338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 6366 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1857984:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 129261:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 780831:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 30 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 122 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 219 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 5633 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 27696 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 218283:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 504714:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 16 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 273 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 278 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 40 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 776 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 821 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 783643:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 304252:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 687255:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3666948:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1517093:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 9398 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 9484984:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2394584:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3985 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 611338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 460 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 10562 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2700887:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 7267 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 5132 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 326 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 593 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5478588:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2183559:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 388994:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 7940684:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6469 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 306 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 43 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2957 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1046694:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 79475 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 140301:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1969086:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 60739 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 494357:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 32 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 17553 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 697084:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 443320:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 16865 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 411084:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3377332:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3610713:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 467 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 692932:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 536473:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 61230 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 44578 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 270559:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 5027 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 814468:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6098943:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 123922:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 303 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1742 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 885 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 71 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 59758 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4696028:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 17468 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1786809:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4591 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4700977:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 6051 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 9125 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 911689:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 38739 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 713 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 903 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 101497:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3859158:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 979 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 232372:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 835013:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4540429:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 71496 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4151537:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3374417:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 6486475:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 326 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 45539 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=43550f3b91c197adb36b1d55912ecc72 Time X050+X051-F 115.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X052-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MFENCE ; MFENCE | MOV [x],$2 | MFENCE | MOV EAX,[a] ; MOV EAX,[c] | MFENCE | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%r10) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl (%rdi),%eax Test X051+X052-F Required Histogram (64 states) 926887:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 8 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 2780940:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 627089:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2327 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 624142:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2705427:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 5 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 2054711:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 83 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 485132:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 2707 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 13 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 9386 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 93363 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 3614954:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 2321 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1812423:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1306367:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1348967:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 2594469:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 22414 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 181081:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1387620:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6317643:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 190212:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 9947271:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 4345153:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 287544:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 5512 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 776950:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 372 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 5974727:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 7024364:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5796426:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 150555:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 4008802:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 15895 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 20232 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1610876:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 18141 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1494084:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1013166:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 536600:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 7861783:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 937870:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1701969:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1337 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 57020 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 104937:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1410321:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 14987747:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 816004:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 83 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 11 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 364 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 183 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1947 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 111 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 80 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 23 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 225 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 623 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=9a2d88b0a4a008e730cf4d54c3b5f018 Time X051+X052-F 105.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X053-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-F "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MFENCE | MFENCE ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | MOV EAX,[d] ; MOV [x],$1 | MFENCE | MOV [y],$1 | ; | MOV EAX,[y] | MFENCE | ; | | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X052+X053-F Required Histogram (84 states) 1315 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 15 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 42913 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 774626:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 166289:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 71174 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 486 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 574510:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 53460 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 45808 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 8 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 157635:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 533 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 202548:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 70683 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 72836 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 15303446:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 883316:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 116 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 7247335:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 3803 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1793436:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1345889:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2800154:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 7081836:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 569059:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 8221 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 103 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1212 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 14406 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 44415 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 25868 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 715907:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 110 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1036483:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 525 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 192740:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 655942:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1283908:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 6189947:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 353470:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 345936:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 141 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2280461:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 209 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 2669941:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 7014293:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3745619:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 618 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 4507716:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 28 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 43917 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 170474:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 207 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 18 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 29459 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 95580 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 716 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 3821 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 25 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 17 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1482 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 81363 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 2918833:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 5534620:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 140559:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 968 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 11457014:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 6066580:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 3082650:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 3021 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 45 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 279 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 2703 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 13 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 2591 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 11562 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=1fdf47ad853862e35a39678c0aecb761 Time X052+X053-F 108.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X054-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [c],$1 | MFENCE | MFENCE ; MOV [b],$2 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MFENCE | MOV [b],$1 | | ; MOV EAX,[c] | | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,(%rdi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X053+X054-F Required Histogram (43 states) 32 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 206908:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 1443 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 2331721:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 4558 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 2526931:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 815 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 328422:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 3703835:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 11573537:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 7940711:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 274873:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 42920 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 917701:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 1868679:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 5528183:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 8482059:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 2976424:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 12180690:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 678522:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 446 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 4478 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 18724 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 306 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 129 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 264132:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 5 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 22426 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 85 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 237341:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 356136:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 11480150:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 5611814:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 10589376:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 794351:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 299910:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 46218 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 116444:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 6754960:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1830509:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 2047 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 37 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 1012 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=9d748520f2b485a201191028215cfa36 Time X053+X054-F 96.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X055-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-F "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MFENCE | MOV [b],$1 | MFENCE | MOV [d],$1 ; MOV EAX,[c] | MOV [x],$2 | MOV EAX,[a] | ; MOV [y],$1 | MFENCE | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P0_4_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%rcx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rsi),%eax Test X054+X055-F Required Histogram (44 states) 72985 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 3249513:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 534500:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 3321128:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 929015:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 107512:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 2558892:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 173747:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 251434:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7886825:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 26405 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 345429:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 4092739:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 12723441:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 424747:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 46696 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 11 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1899526:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 49 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 1440927:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 769297:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1471913:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1818188:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 2543604:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 3190521:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 18804 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 2438238:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 14064043:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 192846:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 249472:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 8706334:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 4189774:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 4887769:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 78711 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 19 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 236 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 39 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 48 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 161413:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 3272363:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 5104340:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 6755906:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 9 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 592 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=23d83db2a0b909ab2a514070318c52d1 Time X054+X055-F 97.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X056-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MFENCE ; MOV [c],$1 | MOV [x],$2 | MFENCE | MOV EAX,[a] ; MOV [x],$1 | MFENCE | MOV EAX,[d] | ; | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,(%r8) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl $1,(%rcx) Test X055+X056-F Required Histogram (66 states) 66683 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 10 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 400593:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 97270 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 21 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 124991:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 2548139:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 3059207:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 6772834:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 442320:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 3612044:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 3499866:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 2 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 8355 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 121711:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 4 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 16501 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 85893 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 4426082:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 1800332:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 8526688:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1135300:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 5288763:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 2241914:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 2041812:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 968489:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 5437 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 3775 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 6418 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 9153 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 477583:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 466130:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 5216582:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2941120:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 5260147:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 14375760:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 576 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 28356 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 980 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 7841 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 4071 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 304235:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 13379 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 1139040:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 15252 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 182984:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 3067715:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1352516:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 7277373:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 4 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 112 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1197 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 15287 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 35008 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 893669:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 6046117:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 30898 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 465 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 27910 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 470 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 3309544:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 3965 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 193015:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 90 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=bffe5d576fa3b08a51938cccf539678e Time X055+X056-F 111.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X057-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-F "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MFENCE | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | ; MOV [x],$1 | MOV [y],$1 | MOV [y],$2 | ; | | MFENCE | ; | | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $2,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X056+X057-F Required Histogram (83 states) 56526 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 366689:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 33561 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 6194064:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 1141658:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 9109 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 129914:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 3073 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 34098 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 8695 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1887067:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 317475:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 2655 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 16207 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 2164 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 12293 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 33024 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 1054175:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 496852:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 3012 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 48499 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 1 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 7 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 3181961:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 3484662:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 123563:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 697 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 4811 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 94 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 210759:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 10731334:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 1016520:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 475 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 6309 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 865 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 991946:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 1817829:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 23 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 780208:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 19 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 736 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 62 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 170360:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 89826 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 1 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 953 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 56762 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 21663 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 39275 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 3310185:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 2855328:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 455 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 41451 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 9822 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 22674 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 1735827:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 3570855:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 91 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 694931:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 784 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 7860 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 236533:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 20462816:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 16255 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 5482486:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 4359 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 72468 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 39 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 251 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 24974 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 3040876:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 67 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 8569 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 15807 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 9217400:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 61 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 68475 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 10477 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 14496853:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 8435 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=954b5208b2f83191befca0b773a00abf Time X056+X057-F 113.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X000-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-A "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV ESI,$1 | MOV EAX,[x] ; XCHG [a],ESI | MOV ESI,$1 ; MOV EAX,[y] | XCHG [b],ESI ; MOV ECX,[a] | MOV ECX,[b] ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,%r14d _litmus_P1_3_: xchgl %r14d,(%r12) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r13),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: movl (%r11),%eax _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi Test X000+X000-A Required Histogram (6 states) 86876206:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 45325 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 88509090:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 44159 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 373209:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 24152011:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=58a08ed94dd0d2cfaeb8fb44f7c6a493 Time X000+X000-A 36.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X001-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-A "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV ECX,$1 ; MOV ESI,$1 | MOV ESI,$1 | XCHG [b],ECX ; XCHG [a],ESI | XCHG [c],ESI | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MOV EBX,[c] ; MOV ECX,[a] | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: movl (%r11),%eax _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r12) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl (%r11),%edx _litmus_P1_5_: movl (%r12),%ecx _litmus_P1_6_: movl (%r13),%esi Test X000+X001-A Required Histogram (17 states) 5205621:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 239641:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 67880 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 9551571:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 1078 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 5902952:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 27658483:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 4299695:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 16793421:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 42755 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 63759 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 99916 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2277402:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 8656566:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 4735293:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 184683:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 14219284:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=b69d08921031374022d43ec2f1266b41 Time X000+X001-A 87.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X002-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-A "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV ESI,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [x],ESI | XCHG [d],ESI ; XCHG [z],ESI | MOV EAX,[x] | MOV EAX,[y] ; MOV EDX,[d] | MOV [b],$1 | MOV EBX,[z] ; MOV EAX,[z] | MOV ECX,[b] | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%rbx),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,%r14d _litmus_P0_3_: xchgl %r14d,(%r11) _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl (%r11),%eax _litmus_P0_6_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx Test X001+X002-A Required Histogram (23 states) 2922700:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 11277863:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 8211442:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 6029225:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 21334 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1712688:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 150936:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 8853618:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2893315:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1210 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 783378:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 4697974:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 10307846:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2942286:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 8563 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 251829:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4475388:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3174424:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 56403 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 14638530:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 6105959:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2692448:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7790641:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=0ed7511457233341d72fa3ac4bfcf5f9 Time X001+X002-A 103.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X003-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-A "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV ESI,$1 | MOV EAX,[y] | MOV ESI,$1 ; XCHG [a],ESI | MOV EDX,$1 | XCHG [c],ESI ; MOV [x],$1 | XCHG [d],EDX | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%rbx),%eax _litmus_P0_5_: movl (%r11),%edx _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,%r12d _litmus_P1_3_: xchgl %r12d,(%r11) _litmus_P1_4_: movl (%rbx),%ecx _litmus_P1_5_: movl (%r9),%edx Test X002+X003-A Required Histogram (24 states) 5372622:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 5330879:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 12810259:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 8697659:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2592 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2589703:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 512933:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 10738032:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3902170:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 433 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 11416 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3314720:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 9419505:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3649504:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 20557 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 908454:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3464038:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2127244:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 60153 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 201021:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 11758312:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2808295:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1867894:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10431605:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=4960d6b7c9c82a9573def7d91860166e Time X002+X003-A 102.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X004-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-A "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV ECX,$1 ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | XCHG [c],ECX ; XCHG [z],ECX | XCHG [x],EDX | XCHG [y],ESI | MOV EAX,[c] ; MOV EBX,[c] | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%r8) _litmus_P3_2_: movl (%r8),%eax _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X003+X004-A Required Histogram (59 states) 72667 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 886281:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1563551:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1574 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 133510:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 694364:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 141473:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 2464050:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 381436:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 4438 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2961 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 506571:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 225835:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 4719597:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 9180 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 453485:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 2050255:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 215332:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1423523:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1487739:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3713911:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 52343 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 5112533:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 7563476:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 524471:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3293746:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2730309:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 525199:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2052360:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 9087383:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 10913 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 26577 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3210448:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 45242 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 645609:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 544849:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 583695:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3517162:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 212753:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2016308:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 36 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 434 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 852 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 163641:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1194 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 244677:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 4029900:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 5834860:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 278583:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1458754:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 5431325:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2256638:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 85988 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 920531:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 7339585:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1444090:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1121836:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 6479962:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=bb73ba4a123b696bf7d83644b8532fe9 Time X003+X004-A 110.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X005-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-A "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV EAX,[y] | MOV ESI,$1 ; XCHG [a],ECX | XCHG [b],EBX | MOV ESI,$1 | XCHG [z],ESI ; MOV EBX,[d] | MOV EAX,[y] | XCHG [e],ESI | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,%r14d _litmus_P2_3_: xchgl %r14d,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X004+X005-A Required Histogram (75 states) 1413845:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 5554561:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 153599:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1840508:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1963515:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 5780928:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 998327:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 137 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 647165:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 310071:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 2020185:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1049256:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 66596 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1523937:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 3531147:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 31740 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1038400:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 1822715:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 144440:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 4568060:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 125420:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1181241:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 10403 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 161312:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 3541 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 21431 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 499095:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 4254675:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1271920:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 348593:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 7925021:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1014583:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1477 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 820236:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1679710:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 624737:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 954226:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 187355:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 569663:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1067940:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 824094:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1255994:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1143679:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 425 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1665782:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 4802341:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 876612:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 307681:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 7898692:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 265400:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 3891271:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 336387:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 3622 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 845915:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1489055:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 2389 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1035516:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 124958:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 778641:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 258281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 293224:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 456540:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 151291:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 2290095:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 38426 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1184984:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 3584026:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 52732 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 680451:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 976539:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 4798747:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 445 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 504045:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=ca80902e627810ee7e2d863c3d38673a Time X004+X005-A 123.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X006-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-A "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV ECX,$2 | MOV EBX,$1 | MOV ESI,$1 | XCHG [z],ECX ; XCHG [b],ECX | XCHG [d],EBX | XCHG [c],ESI | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[b] | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r13) _litmus_P2_3_: movl (%rbx),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%esi Test X005+X006-A Required Histogram (88 states) 10101 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2544527:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 214020:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 55141 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2332600:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 6 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 9796 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 81282 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 26756 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 570462:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 43750 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 63421 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 196 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2055280:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 415337:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 6616937:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 132532:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 548402:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 4567907:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 150849:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 50488 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 570369:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 3972 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 390211:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 35413 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 7363 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 206127:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 165836:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1053169:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 94304 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4237853:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 183346:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 27132 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 109 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3773445:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 558411:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4328636:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1435078:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 882841:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 136502:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 57409 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3282111:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4281677:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1258 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1732714:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 5227434:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 25579 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 636386:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 3724623:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2328477:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4363968:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 6239053:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 330 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2306438:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 60122 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 916204:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 75 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 439672:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 501 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 96453 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 46 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 728 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1730851:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 21 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 252602:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1822854:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 169 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 3764127:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2325387:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 318 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 449093:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 409746:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 15 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 241508:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 141226:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 68 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 3328177:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 208 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1027 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 10310169:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 747 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 920483:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=9826dbfec1eb83327c0baff3f5a74c4b Time X005+X006-A 113.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X007-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-A "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV ECX,$2 ; MOV [z],$1 | MOV EDX,$2 | MOV ESI,$1 | XCHG [c],ECX ; MOV [c],$1 | XCHG [x],EDX | XCHG [y],ESI | MOV EAX,[c] ; MOV [x],$1 | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%r8) _litmus_P3_2_: movl (%r8),%eax _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X006+X007-A Required Histogram (125 states) 8 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 5928 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 6959 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 1570 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 1065 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 89 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 43373 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 456734:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 37008 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 1834 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 89456 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 18651 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 750810:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 572 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 66793 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 496 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 33000 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 46882 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 78 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 6803188:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 437 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 180490:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 317616:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 790664:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 4689546:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 376094:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 3382 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 51577 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1477 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 2570 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 23086 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 722 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 18135 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 1112 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 239 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 158 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 759721:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 43 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 13973 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 15141 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 4213 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 204401:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 14150 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 406 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 1441971:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 2133518:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 386039:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 10 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 35824 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 202097:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 17801 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 928746:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 93 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 393258:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 52 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 13695 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 26754 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2907160:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 511 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 669081:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 5608 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 51051 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2066972:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 332966:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 28 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 97 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 689202:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 69 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 12 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 298839:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 98121 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 259003:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 1952 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 641 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2756410:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1137294:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1115004:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 15521 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 109362:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 10048 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 3568720:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 97 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 778812:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 157 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 28610 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 66597 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 478 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 6000109:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 430 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 167022:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1450418:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 119779:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 2091368:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 97240 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1884 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 26686 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 12129 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 1851980:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 1857056:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 5426 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 2155562:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 8220594:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 61381 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 160184:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 11 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 46608 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 188867:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 5674871:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 865937:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 617 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 22160 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 1362447:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 368512:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 2601059:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 4665337:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 2454463:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 5107861:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 69 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 6902064:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 7077730:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=aa23c4b869be7e49bdc68760f4b08cae Time X006+X007-A 111.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X008-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-A "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV ESI,$1 ; MOV EBX,$1 | MOV [y],$1 | MOV ESI,$1 | XCHG [z],ESI ; XCHG [d],EBX | MOV [c],$1 | XCHG [e],ESI | MOV ECX,[d] ; MOV EAX,[x] | | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,%r14d _litmus_P2_3_: xchgl %r14d,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X007+X008-A Required Histogram (128 states) 20638 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 145 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 254 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 4054 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 608661:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 60145 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 149526:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 3653504:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 780 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 109047:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1808282:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 4772300:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 95854 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 75899 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 77 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 4934 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 148427:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1332017:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 473184:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 4133108:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 276949:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 131325:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 496 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 113590:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 3028 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 255440:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2020262:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 28576 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3491515:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 14662 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 786871:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 863 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 365 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 374781:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 13838 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1131572:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 29095 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 322798:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3893 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 4374 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 543149:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 19 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=1; 351 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=1; 1460446:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 3377 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1362829:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 119 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 878 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 115370:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 2234085:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 773 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 261 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 1135371:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 513 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 329787:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 2030837:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 378067:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 84941 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 17 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 507403:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 90027 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 3878 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 50101 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 70 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 338841:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 312810:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 415 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 13399 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 9852 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 3019577:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 173228:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 4048096:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 2394127:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 404176:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 24400 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 38 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1198 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 561921:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 565705:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 2413 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 2390 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 5174215:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1423478:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 137 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 386 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 784659:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 232 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 685711:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 162 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 57915 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 675069:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 821950:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 1579451:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 2987382:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 135181:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 780110:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 38132 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 14099 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 599909:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 31 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 39 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 675 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 24 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 54398 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 264746:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 6727443:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 2121864:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 3760360:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 3194495:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 275213:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 132990:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 134217:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 579619:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 4440520:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 1940565:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 767781:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 773584:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1873200:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 994998:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1998329:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 3342207:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 2204102:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=5a138a75139a6b7947f385f34f18bdcc Time X007+X008-A 124.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X009-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-A "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [x],$2 | MOV ECX,$2 | MOV ECX,$1 ; XCHG [c],ECX | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; MOV [a],$1 | MOV ECX,$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | XCHG [d],ECX | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,[c] | MOV [b],$1 | | ; MOV EBX,[d] | MOV EAX,[b] | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%ebx _litmus_P1_3_: xchgl %ebx,(%r9) _litmus_P1_4_: movl $1,(%r11) _litmus_P1_5_: movl (%r11),%eax _litmus_P1_6_: movl (%r10),%edx _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X008+X009-A Required Histogram (56 states) 57449 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1558 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4944616:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 2377232:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4567030:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 191416:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 112915:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 195065:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 2084750:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 4611083:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 6181675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 44837 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 42295 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 62352 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 730998:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 4203088:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 2436533:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 83758 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 238772:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 134764:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 7556 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 490604:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 217173:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 711131:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 25911 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 13211 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 175 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 2901212:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 79162 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 15764 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 117 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 8553615:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 316670:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 460973:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 959 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 5155003:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 37386 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 4397020:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 329 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 165597:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 11105419:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 1858857:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3720129:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 3791687:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 548240:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1234749:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 5272066:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1196289:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 2331326:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1492305:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 64870 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 2183348:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 8382 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 8167224:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 173335:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=2816b8749bde7afdf69db9a41eb8ae9a Time X008+X009-A 107.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X010-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-A "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,$1 ; MOV ESI,$1 | MOV EDX,$1 | XCHG [d],ECX ; XCHG [z],ESI | XCHG [a],EDX | MOV EAX,[d] ; MOV [x],$1 | MOV ECX,[b] | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [c],$1 | MOV EBX,[z] | ; MOV ECX,[c] | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%r11) _litmus_P0_3_: movl $1,(%r12) _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl $1,(%r14) _litmus_P0_6_: movl (%r14),%eax _litmus_P0_7_: movl (%r13),%edx _litmus_P0_8_: movl (%r15),%edi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X009+X010-A Required Histogram (17 states) 6006212:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 259886:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 305658:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 11701272:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1421840:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 6786157:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 22017339:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 5141280:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 21804327:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 293754:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1229390:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 145584:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 218542:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 10383431:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4923408:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 125501:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7236419:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=acb7a63abe5c6d21be54f3d1740ae6e6 Time X009+X010-A 95.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X011-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-A "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [b],ECX | XCHG [e],ESI ; XCHG [a],EDX | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%rbx),%ecx _litmus_P2_6_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,%r13d _litmus_P0_3_: xchgl %r13d,(%r12) _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r8),%eax _litmus_P1_6_: movl (%rdi),%edx Test X010+X011-A Required Histogram (24 states) 5563085:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 13422699:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 8577334:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 1763 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 1918899:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 537896:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 557316:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 29050 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 3264552:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 3880193:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 3827030:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 23 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 1669377:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 12227963:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 1748832:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 1009069:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 10092984:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 4159366:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 9827199:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 4741933:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 7670714:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 3529068:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 141470:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 1602185:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=2b6e00fd033659ec4cbc995ecb842453 Time X010+X011-A 110.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X012-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-A "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV ECX,$1 ; MOV ECX,$1 | MOV [y],$1 | XCHG [z],ECX ; XCHG [a],ECX | MOV EDX,$1 | MOV EAX,[z] ; MOV EAX,[b] | XCHG [c],EDX | MOV EBX,[a] ; MOV [x],$1 | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,%r13d _litmus_P1_3_: xchgl %r13d,(%rbx) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X011+X012-A Required Histogram (17 states) 10629047:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 7982237:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 5417 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 5459609:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16554313:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 11376396:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 465833:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1149230:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3448089:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4604726:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 11471954:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4236171:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 2171 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 4566994:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 416 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 18043013:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 4384 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=05de287283b5a24fcc7451f3a24f9cab Time X011+X012-A 92.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X013-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-A "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EDX,$1 | MOV EDX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [y],EDX | XCHG [x],EDX | XCHG [d],ECX | XCHG [c],EBX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[d] | MOV EAX,[d] ; MOV EDX,$1 | MOV EBX,[y] | MOV EBX,[a] | ; XCHG [b],EDX | MOV EDX,$1 | | ; MOV EBX,[b] | XCHG [a],EDX | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r12d _litmus_P0_1_: xchgl %r12d,(%r9) _litmus_P0_2_: movl (%r10),%eax _litmus_P0_3_: movl $1,%r12d _litmus_P0_4_: xchgl %r12d,(%rbx) _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r11),%ecx _litmus_P1_0_: movl $1,%r12d _litmus_P1_1_: xchgl %r12d,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,%r12d _litmus_P1_5_: xchgl %r12d,(%rbx) _litmus_P1_6_: movl (%r11),%ecx _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx Test X012+X013-A Required Histogram (45 states) 2942775:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 8283 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1242365:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 40 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 661285:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2828350:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 398 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 13677736:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4569099:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1160075:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9679073:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1611 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2329 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 12123 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 290596:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 389572:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 388720:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2066301:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2440 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1322428:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 583435:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 146593:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8286371:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1462 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3423 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 34132 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2163176:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9402 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1285531:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 6199482:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 60033 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 16647969:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7361031:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2472042:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7448763:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2370 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5382 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4219 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 85189 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 504210:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 224083:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3972682:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 17692 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 816047:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 419682:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=b3be5c00436a09941d5292a17b190469 Time X012+X013-A 101.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X014-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-A "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$1 | MOV EDX,$1 ; MOV EDX,$2 | MOV EAX,[x] | XCHG [y],EDX | XCHG [z],EDX ; XCHG [c],EDX | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,$1 | MOV EDX,$1 | MOV EBX,[a] ; MOV EBX,[c] | XCHG [c],ECX | XCHG [e],EDX | MOV EDX,$1 ; MOV ECX,[d] | MOV EBX,[y] | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,%r11d _litmus_P1_4_: xchgl %r11d,(%r9) _litmus_P1_5_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X013+X014-A Required Histogram (190 states) 232 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 60 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 43 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4429 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 370 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1668867:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 354449:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 71856 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 444 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 12 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 36 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 455 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4163 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1186 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 11369 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1748761:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 559081:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 66281 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1666 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 40092 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3603 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 13568 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5513326:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1731104:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 171685:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 937 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 59024 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 44 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 21 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 48 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1342 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 92 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1333 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6311 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 85 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 536 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 525 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 577943:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1442 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 69 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 13498 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 277 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1021847:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4800335:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 166575:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1098 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 815928:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7192 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3947 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 133 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 116255:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6129003:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 37675 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1426 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 833884:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 22143 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7694 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2919 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9451 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 17268 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 243 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1856848:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 160456:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 56913 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 49 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5524 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 183 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 23 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 196455:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 15220 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8558 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2191 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 778 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 738 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 97717 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 224 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1691 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 254 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 303 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3854 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2221 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 46235 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8417 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 42 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 618901:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8365 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 18653 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 141 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1244327:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5375998:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1018141:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 292 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 620989:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 7255 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 21196 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1427 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 159387:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2970 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 28 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6181 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 503 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 206 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 289 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 688716:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1503989:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 22606 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 25 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4973 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 340 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2701047:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3597357:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 510330:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 323 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1142537:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1728 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2138 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 104 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 178016:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 406142:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 17557 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 37 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 97002 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 145 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 686062:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2616001:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 96883 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 390 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 756321:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 407 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1436 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 558 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1217515:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 37 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2362 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 62 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3627 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 309022:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 6145234:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 36684 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 4363253:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 10650 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 4932 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 883 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1568 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 6466147:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1215472:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 446006:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 132744:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 34948 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 1809793:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 142 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 192270:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 60795 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 196808:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 68859 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 612231:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 169238:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 108129:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 29818 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 685837:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 962990:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 181732:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 835 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 97 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 6351910:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 93184 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 9355943:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 553974:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3834059:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 73740 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 969616:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 67776 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=fdfa59e56c2aca907a68074b7fe1ae1e Time X013+X014-A 125.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X015-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-A "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV ECX,$1 ; MOV [d],$1 | MOV ESI,$2 | MOV EDX,$1 | XCHG [z],ECX ; MOV EBX,$1 | XCHG [x],ESI | XCHG [e],EDX | MOV EAX,[z] ; XCHG [x],EBX | MOV EAX,[x] | MOV EBX,[e] | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rcx) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r9),%eax Test X014+X015-A Required Histogram (71 states) 444272:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 139557:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 1418567:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 278214:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 256796:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 1244225:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 53058 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 24313 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 32 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 121 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2814488:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 4284868:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 204325:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 1476767:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 23074 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 12 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 228481:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 1906 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 145827:>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 1151327:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 778983:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 3377164:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2476436:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 994945:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 2649966:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 19818 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 34017 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 91018 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 277068:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 2794132:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 6242 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1221899:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1530 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 67464 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 253 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 4583 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 45730 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 35304 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 369670:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 5397466:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 6066835:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 182356:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1212288:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 131873:>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 92 :>0:EAX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1802466:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 31823 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 62685 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 581139:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 517738:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3769857:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 2328270:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 441662:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 3015921:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 629022:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 326 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 3061177:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 3344482:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 1611303:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 7933022:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 1463780:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 1670673:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 291980:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 39 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 388626:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 233843:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 6415600:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 1974 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 13256159:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 4719070:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=797d0a2cdf42707d455e2e5c107f63a9 Time X014+X015-A 115.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X016-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-A "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [a],EDX | XCHG [d],ECX | XCHG [c],ESI ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%r12) _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: movl (%r11),%ecx _litmus_P0_5_: movl (%r10),%eax _litmus_P0_6_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r9) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r10),%edx Test X015+X016-A Required Histogram (23 states) 5129739:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 5775524:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 12178454:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 8547427:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 74059 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1464979:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 474741:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 11239813:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3540311:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 24235 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 54398 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 4430845:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 9869216:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3195023:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 150 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 288031:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3668956:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2964736:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 122634:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 13862415:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3657249:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 652823:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 8784242:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=d39d99a3361f8cbf0c5b09f1ef5d56fa Time X015+X016-A 100.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X017-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-A "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV EBX,$1 ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | XCHG [c],EBX ; XCHG [z],ECX | XCHG [a],ECX | XCHG [y],ESI | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X016+X017-A Required Histogram (56 states) 488080:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 390813:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2561378:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 602 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1645615:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2444 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2565595:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1532840:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3868715:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 123806:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7972 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 221527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 162307:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 5828174:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 127291:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3095795:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 256566:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1813168:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2665682:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1568241:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 22973 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1404286:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7077451:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 652989:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4653764:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2077522:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 926845:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 372852:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 10222319:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 9126 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 18537 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4725924:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 381681:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 402098:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2113416:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 550514:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3764080:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 75628 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1850014:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 84 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 788 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 45931 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 93320 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3041576:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5844452:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 30996 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 707695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4508639:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2499713:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1837 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2039952:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4215777:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1173628:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 118115:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5448860:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=411f88c3b4ea11ecd4e19efb02d1bfb6 Time X016+X017-A 108.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X018-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-A "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$1 | MOV EDX,$1 ; MOV ECX,$2 | MOV EBX,$1 | XCHG [y],EDX | XCHG [z],EDX ; XCHG [c],ECX | XCHG [b],EBX | MOV EAX,[z] | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV EDX,$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | XCHG [e],EDX | MOV EDX,$1 ; | | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X017+X018-A Required Histogram (128 states) 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 403 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1504 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 266 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 240483:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2955890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 99 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 744 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2434 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 20500 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 547459:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3451189:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 10206 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 33068 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1127057:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 8130134:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 10875 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 109265:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 286 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1128 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 269 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14418 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 7195 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 421924:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 14807 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 821 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4540517:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3133751:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 841 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 140224:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3695205:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 829587:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3074 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 158488:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6103 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 74687 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 21497 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2781169:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2037 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 473 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5809 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 410510:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 651 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 32142 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 199217:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 81 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 5597 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 14006 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9146 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 35165 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 84 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 737339:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4801534:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5059219:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 685 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 770561:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 90315 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 14777 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 165 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3923 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2010937:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1442667:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 299 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3748202:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5438952:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 174495:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 521350:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 693111:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 14254 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2329471:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1795704:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 79222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 287 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 823887:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 110 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2620 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1449 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 410779:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 6663084:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 12193 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1217771:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 8315 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 10826 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 233 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 124 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 4435047:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1484301:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 7375 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2759 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 31415 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 995351:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 110 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 205060:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 118240:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 254476:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 31803 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 291024:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 177461:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 119182:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 12356 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 240703:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 4151178:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 133015:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 216 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 7586084:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 93622 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3672577:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 221949:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3418098:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 71563 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 145896:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 17585 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=01414db8977ae73a072e8359a95ea792 Time X017+X018-A 123.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X019-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-A "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV EBX,$2 | MOV EBX,$1 | MOV EDX,$1 | XCHG [z],ECX ; XCHG [b],EBX | XCHG [d],EBX | XCHG [c],EDX | MOV EAX,[z] ; MOV EAX,[c] | MOV EAX,[y] | MOV EBX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%rbx) _litmus_P2_3_: movl (%rbx),%edx _litmus_P2_4_: movl (%r11),%ecx _litmus_P2_5_: movl (%r9),%eax Test X018+X019-A Required Histogram (55 states) 2351869:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 411742:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 4961469:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 7 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 4080 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 522645:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 44712 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2315436:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 5302500:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 161013:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 6426398:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 449122:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 2809793:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 236115:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 7514 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 197075:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 300366:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4313142:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 92442 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3865845:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 5042327:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1839848:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 1664411:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 75567 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 31722 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3086212:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4413200:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 8602 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1277640:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 4917493:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 148412:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 369544:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2755138:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 88 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1468709:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 5810092:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 6051754:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1590 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2231504:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 62371 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1236484:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 199395:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 69536 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1254908:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 17088 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1973639:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 3481443:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 3758595:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 570806:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 187206:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 110866:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 252 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 3116974:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 7926525:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 66774 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=ff5a01d2679f39beb9df9d520baebfca Time X018+X019-A 110.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X020-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-A "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV EBX,$2 ; MOV [z],$1 | MOV ECX,$1 | MOV ESI,$1 | XCHG [c],EBX ; MOV [c],$1 | XCHG [a],ECX | XCHG [y],ESI | MOV EAX,[d] ; MOV [x],$1 | MOV EBX,[b] | MOV ECX,[d] | ; | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X019+X020-A Required Histogram (56 states) 128529:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 1460499:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 929 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 960981:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 1009634:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 48930 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 593 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 19515 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 5929535:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 110289:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 2377909:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 7041491:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 2207435:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 5691346:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 15154 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1105944:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 1338579:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 646524:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 19 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 19581 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 4258828:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 686554:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 85191 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 4342223:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 91511 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 560997:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 32 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 629483:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 306812:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 2690959:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 2537016:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 4662 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 788776:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 2866982:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 898679:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 117 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 71386 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 5892352:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 211437:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1228709:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 2314795:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 872947:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 3532234:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 2384147:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 2336128:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 2487001:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 1225028:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 1831 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 357414:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 1797224:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 3952645:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 2027041:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 1799261:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 5925647:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 6591731:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 4128804:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=baf718da5ac5fa8be95c313cc45f0cf3 Time X019+X020-A 109.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X021-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-A "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$2 | MOV EDX,$1 ; MOV [c],$2 | MOV [b],$1 | XCHG [y],EDX | XCHG [z],EDX ; MOV EBX,$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; XCHG [d],EBX | MOV [c],$1 | MOV EDX,$1 | MOV EBX,[a] ; MOV EAX,[x] | | XCHG [e],EDX | MOV EDX,$2 ; | | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $2,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X020+X021-A Required Histogram (128 states) 22 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 590 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 102197:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 2334905:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 2 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 4162 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 931160:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 4413861:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 9 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 42 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 416 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 21 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 10 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 2309 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 1547 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 13002 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 20539 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 2350149:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 3020 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 325238:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 31 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 146532:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 187 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 416034:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 1267 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 58071 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 88 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 147 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 87514 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 3470 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 514 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 949804:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 6977 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 2295857:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 2176 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 13926 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 1251497:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 159348:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 554762:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 393836:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 82347 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 65 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 201866:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 27037 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 1 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 1165 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 194 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 1 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 25 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 17788 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 58042 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 234 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 4 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 55527 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 64 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 63356 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1626 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 3781097:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1080177:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 2613 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 101151:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 1087 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 1012 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 211 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 22360 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 4633 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 124990:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 3972799:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 4007372:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 103119:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 4624 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 2613776:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 5047185:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1500759:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 1030160:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 5 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 1769 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 605 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 22355 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 721 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 10 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 10830 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 3663 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 439029:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 162 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 6426228:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 188694:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 3151066:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 3467166:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 121 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 2025 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 46356 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 26 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 12013 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 1196 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 307 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 1757 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 9464999:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 7753 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 353553:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 207110:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 72908 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 30335 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 26000 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 44448 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 36614 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 28179 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 3954 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 9280737:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 3697593:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 109 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 973 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 1979741:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 891723:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 700948:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 607434:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 8 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 49536 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 18692 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 7663133:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 15277 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 51700 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 8248252:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 1988471:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=ee743eb62ce92bca3f336658103906ae Time X020+X021-A 122.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X022-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-A "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV ECX,$2 | MOV [c],$1 | XCHG [y],EBX | XCHG [z],ECX ; XCHG [b],ECX | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[b] | MOV [b],$1 | | MOV EBX,[a] ; MOV [x],$1 | | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X021+X022-A Required Histogram (45 states) 57865 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1210535:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 568784:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 817086:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2766823:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1809156:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1950926:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1568442:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2032407:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1440428:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 465501:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1135433:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 4601992:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 8411410:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 8691528:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 557332:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 23912 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 746 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1258760:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 24517 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 7008581:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 56324 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 5857240:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 310668:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 18 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 2 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 962264:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 468368:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 751246:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 216805:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 472037:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 212920:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1598823:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 818442:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1037786:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 377470:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 10431254:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 10021499:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 8234390:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 1543730:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 35802 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1773243:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 639 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 8274629:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 142237:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=535342671c7e9f34b3cfd5c5f88c286e Time X021+X022-A 98.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X023-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-A "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV ECX,$2 | MOV ECX,$2 | MOV [c],$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [d],ECX | MOV [d],$1 ; MOV ECX,$2 | MOV EAX,[x] | MOV EAX,[d] | ; XCHG [b],ECX | MOV EBX,[y] | MOV EBX,[a] | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,%r11d _litmus_P0_3_: xchgl %r11d,(%r10) _litmus_P0_4_: movl (%r10),%eax _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl $1,(%r9) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx Test X022+X023-A Required Histogram (126 states) 768 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1053 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 28 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1569 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 35944 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 43 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 52657 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 186787:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 126 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1875 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 97916 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 61751 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 221 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 54813 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 167555:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1487670:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 282 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 87427 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 608421:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2579111:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 38 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2544 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 5620 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2496 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1553 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 8605 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 4637 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 47586 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 94024 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 150 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 860 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 28361 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 5108 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 69 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 10953 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 605 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4393 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 156 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 43740 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 12628 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 17891 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 74822 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 40841 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 68520 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 7471975:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 8 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 880 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 5048 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 557954:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 14181 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1329785:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 3 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 88 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 74619 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1585942:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 6479668:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 29 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 7 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 5603 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 1222 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 97 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 14451 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 36082 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 754 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 5075 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1317811:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1363 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 150816:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2557015:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 354 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 879 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 47123 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 29634 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 34494 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2705 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 187982:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 181655:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 63734 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 736781:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1993392:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 814 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 125559:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 4159319:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 14555435:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 35 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 208 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 977 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 110825:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 86483 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 5376 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 516787:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 905 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 9921183:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 227040:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 10516774:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 35 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 424259:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 48902 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 273346:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 1782 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1805067:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 22863 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 84942 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 600 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 5502 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 546945:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 49 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 267 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 4614 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 1754 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 3170809:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 9561 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 11890333:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 93 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 6873018:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 46124 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3173765:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 474437:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 6191 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 115561:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=aa19adeef3d0e8ee22d9d8e1d1cb5766 Time X022+X023-A 101.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X024-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-A "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV ECX,$2 ; MOV [d],$1 | MOV ESI,$2 | MOV ECX,$2 | XCHG [z],ECX ; MOV [x],$1 | XCHG [x],ESI | XCHG [e],ECX | MOV EAX,[z] ; MOV [e],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx _litmus_P2_5_: movl $1,(%rdi) Test X023+X024-A Required Histogram (134 states) 21565 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 109661:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 15011 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 6083 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 2496 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 8 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 8 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 396407:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1125669:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 389963:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 133535:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 50662 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 165 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 669 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 222282:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 550006:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 2431230:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1075408:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 37 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 836 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1079561:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1093283:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 82267 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 141062:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 158242:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 52 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 19 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 2 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 452 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 180 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1513721:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 357761:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 31 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 17589 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 615782:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 31429 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 72286 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 71810 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 128646:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 7318 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 70 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 843 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 25052 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 122528:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 2627687:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 561570:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 17 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 708 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 595073:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 1338412:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 4474222:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 251521:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 264841:>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 88147 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 985116:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 916311:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 108115:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 1801 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 21385 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 5273 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 1482 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 17273 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 6937744:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 501778:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 982903:>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 374167:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 190645:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 757817:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 385073:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 7342 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 4812568:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 1834 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 733027:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 234 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 1841009:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 1747 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 426144:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 3372 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 12698 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 54315 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 1123617:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 359 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 217302:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 227 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 975656:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 770196:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 925980:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 5147533:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 75184 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 148073:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 165739:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 3108992:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 7308862:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 12415410:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 238526:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 740117:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 118477:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 48354 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 24565 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 17 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 63 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 2539328:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1339781:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1616611:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 304 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 64 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 987 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 536 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 2378017:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1370477:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 28 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 30247 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 210868:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 117286:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 10384 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 25143 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 6893 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 8095 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 41348 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 2342882:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 4 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 44023 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 7809450:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 10983 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 10 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 36489 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 3683993:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 155761:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 331685:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=7d8586ada47cddbb1badd660847727ca Time X023+X024-A 117.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X025-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-A "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV ESI,$2 ; MOV [x],$1 | MOV EBX,$1 | XCHG [c],ESI ; MOV ECX,$1 | XCHG [z],EBX | MOV EAX,[z] ; XCHG [c],ECX | MOV EAX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,%ebx _litmus_P0_4_: xchgl %ebx,(%r9) _litmus_P0_5_: movl (%r8),%eax _litmus_P0_6_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%r9d _litmus_P1_3_: xchgl %r9d,(%rcx) _litmus_P1_4_: movl (%r8),%eax Test X024+X025-A Required Histogram (48 states) 91 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 76 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 1296807:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 359127:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 4343947:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 5392859:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 16337912:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 178883:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 38555 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 158 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 2000 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 318163:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 3507 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 1380558:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 136169:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 1149185:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 2141137:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 774111:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 731022:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 872384:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 4084 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 25452 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 106 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 22 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 636838:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 9128847:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 311491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 2431 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 9359450:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 4306774:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 1370850:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 260486:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 1730 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 8404248:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 1152263:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 8807701:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 415343:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 407767:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 128864:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 7919653:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 4651446:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 7247293:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=7a4881b6f7d405d144dd28f16e07703a Time X024+X025-A 106.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X026-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-A "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$2 | MOV [d],$1 ; XCHG [z],ECX | XCHG [a],EBX | XCHG [y],ESI | ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X025+X026-A Required Histogram (118 states) 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 37929 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 33023 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 927347:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 77241 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 86782 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 404297:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 297 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 22283 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 6022795:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 2193651:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 272334:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 527612:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 11047575:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 137 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 32 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 238 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 99 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 6157887:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 238902:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 50369 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 918539:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 108049:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 41239 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 30528 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 1353 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 452558:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 2363893:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 220160:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 10745 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 803868:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 60 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 9413 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 121182:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 3906 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 7018 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 780291:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 500 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 122500:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 40696 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1463419:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 26290 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 104467:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 45254 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 405242:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 225609:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 94692 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 29 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 85809 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 4140 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 11011 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 72877 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 392590:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 286946:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 683607:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 357507:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 3799059:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 102 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 113 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 165 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 213 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1287749:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 904 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 2786878:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1754927:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 118852:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 73 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 241432:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 390466:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 542 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 459903:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1700878:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 29398 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 383809:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 2635459:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 82 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 9020 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 719056:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 10791 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 693611:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 5597433:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 213756:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 884452:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 2782905:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 750056:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 448769:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 209 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 50949 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 19224 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 4173488:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 36 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 160158:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 77873 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 147362:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 260713:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 794 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 4487932:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 3288 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 1890455:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 9906855:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 5857685:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 914589:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 2471585:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 3478962:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=d9f738e8bd5ae9851f5879920fb36627 Time X025+X026-A 109.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X027-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-A "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV ECX,$2 ; MOV ECX,$2 | MOV EBX,$1 | MOV [z],$1 | XCHG [z],ECX ; XCHG [c],ECX | XCHG [b],EBX | MOV ECX,$2 | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | XCHG [e],ECX | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r11d _litmus_P3_1_: xchgl %r11d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $1,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,%r11d _litmus_P2_3_: xchgl %r11d,(%r9) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r10),%edx Test X026+X027-A Required Histogram (267 states) 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 293 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 4900 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 120 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 188 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 591 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 20128 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 92 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1002 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 144 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1884 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 143 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2508 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 4966 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3350 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 528 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 6020 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 81880 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 333 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 358 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1721 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 554 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1731 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 56761 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 825 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 181 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1015 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1648 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 65 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 84764 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 592 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 169904:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 149338:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 78 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 5319 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 356 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 483 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 39048 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 120800:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 596 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 10913 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 42064 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 82 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 123002:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 344217:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 30183 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 6228 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 48 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 80 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 46 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 597801:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 134042:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 582 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 24668 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 9278 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 30052 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 676 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 265190:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 165838:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 40 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 49685 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 80894 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 300765:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 587 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 492974:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 446113:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 100588:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 3012 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 26 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 18193 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 57 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 152 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 4590 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 105 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 4314 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 70 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 26345 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1957 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 220 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 33767 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 60 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 36890 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 40780 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 974 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 138684:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 375 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 85801 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 12222 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 261 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 2033 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 198 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 187 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 312344:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 95898 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 14943 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 44742 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 677 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 764 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 62158 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 49476 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 57 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 2239 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 1319683:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 282950:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 13179 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 169229:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 576 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 15768 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 1082 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 3629 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 102 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1385100:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 5539753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 697 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 12193 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 71295 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 768214:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 20956 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 3560 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 2028322:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 5932121:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1033 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 45 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 734 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 383 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 5610 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 3058 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 146 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1560046:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 62771 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 7176 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 8267 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1674525:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1437009:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 316 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 88225 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3677243:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 624605:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3024 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 100360:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 6175 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 102 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 333 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 2073 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 1326538:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 111641:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 7079752:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 2439094:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 959 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 1310777:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 412185:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 104 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 3546 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 593 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 455 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 13096 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 74730 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 72423 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 5562431:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 68 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 7623 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 24 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 22368 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 90789 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 3373 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 583 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 295 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 7516970:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 6630355:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 13446 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 933773:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3058 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3448 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 415769:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 125054:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 66 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 14433 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1950632:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1249845:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 665 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3502175:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 3970266:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 222322:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 185 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 32740 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2212239:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 37 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1140 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 28579 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 38716 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 406522:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 5901 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 430518:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 3520588:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 253767:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 7264 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2326 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 641 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1431 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 9090523:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 466752:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2770862:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 291978:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 150 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 1359 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 54362 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 239 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 2907 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 20 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 49310 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 45897 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 37 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 229 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 602 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 741303:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 560538:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 168 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 619628:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 182645:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 7040 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 11300 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 60760 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 326753:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 40 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 15247 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 816689:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 5985 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 33 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=e9bc3fad852109561ec1544aaae68f5c Time X026+X027-A 123.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X028-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-A "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [b],$2 | MOV EBX,$1 | MOV ECX,$2 | XCHG [z],ECX ; MOV [c],$1 | XCHG [d],EBX | XCHG [c],ECX | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: movl (%r10),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P2_5_: movl $1,(%rdi) Test X027+X028-A Required Histogram (106 states) 110292:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 31 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 8180 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 4353 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4282162:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 43573 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1047048:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 92073 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1991551:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 122 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 490927:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 184 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 6731 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 34548 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 352427:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 7672 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 620692:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 19257 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 532872:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 60963 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1464205:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 9384 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 4877 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1392 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 386379:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 186414:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 10874 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2775979:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 336867:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 99897 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 170 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1127521:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 173241:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 43983 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 121016:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1207 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1871129:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 149392:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 705937:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1679085:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 3592082:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 9285 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 127333:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 63811 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 585790:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2653555:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2015208:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 5801236:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 17827 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 139549:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 123 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 6370415:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 7704 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 84948 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 29039 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2890240:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 117066:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 7265 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2109 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 159335:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 813 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 3069 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 97579 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 695234:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 173321:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 12762 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 2043126:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 264134:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 2749690:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 126631:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 137402:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 116153:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5932719:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 4705235:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 8810735:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 2466872:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 28 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 6935 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 2783 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 6374962:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1536 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 20810 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 103511:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 568693:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 207365:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 67734 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 17529 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 2988819:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1196 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 11 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2624862:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 741139:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 413507:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 180695:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 132512:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 205040:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 162 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1454276:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 66644 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 5106277:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1047 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 467 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4593059:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 134271:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 120120:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=75343a46eaf2b859c7dc3d8e520ca51a Time X027+X028-A 112.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X029-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-A "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV EBX,$1 | MOV ESI,$2 | MOV [d],$1 ; MOV [c],$1 | XCHG [a],EBX | XCHG [y],ESI | ; MOV [x],$1 | MOV EAX,[b] | MOV ECX,[d] | ; | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X028+X029-A Required Histogram (122 states) 16730 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 353506:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 26 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 93841 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 230 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3772405:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 7910223:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 31 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 260 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 201 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 122867:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 29668 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 28491 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 4141 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 573987:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 609710:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 25183 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 718101:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 41649 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 942388:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 33739 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 579255:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 34263 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 61905 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 242135:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 11 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 130 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1554205:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1466128:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 522 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 13 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 499163:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 6208 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 486373:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 204 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 8058 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 17215 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 380738:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 132225:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 166669:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 330559:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 47155 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 753375:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 206763:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1404664:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 39 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 901 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1567 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 889964:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 35950 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 81 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 114923:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 28335 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 548025:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2709451:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 26288 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 4479573:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 50159 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1192 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 198532:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 153 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 118406:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 274639:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 55 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 497174:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 3026658:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 179944:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 90739 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 30632 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 131 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 24 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 21 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 224916:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1806356:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 255 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 7931673:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1742945:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 144706:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 368047:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 227119:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 1679044:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 527 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4619765:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 851118:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1186461:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 163 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2349455:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 1594965:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 1762384:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 75665 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 4 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2611944:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 21414 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2628345:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 73570 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 260 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1057057:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 283936:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 1744843:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 14 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 704839:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 102569:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1398954:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 135 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 9910982:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1687084:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 2404058:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1144062:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 327 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 6 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 735736:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 192544:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 2701290:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 7071537:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=a7998efee980f91d822ddc6e86d30ac8 Time X028+X029-A 111.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X030-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-A "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 | MOV EAX,[z] ; XCHG [d],EBX | MOV [c],$1 | XCHG [e],ECX | MOV EBX,[a] ; MOV EAX,[x] | | MOV EAX,[e] | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r11d _litmus_P3_1_: xchgl %r11d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $2,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,%r11d _litmus_P2_3_: xchgl %r11d,(%r9) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r10),%edx Test X029+X030-A Required Histogram (260 states) 103 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 6593 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 245 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 12958 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 462 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1437 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 310 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2507 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2621 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 83148 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 5283 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 39690 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 473 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 59030 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 151 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 598 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 258 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2890 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 50 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 812 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2138 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 110 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2663 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 19084 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 4631 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 9894 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 3735 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 15787 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 2241 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 40140 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 45152 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 92420 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 460 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 176 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 6863 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1024 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 853 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 31176 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 33 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 372 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 159 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 79 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1630 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1472 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 887 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2105 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 364 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 5489 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 278 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 80149 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 24509 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 38060 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 49476 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 181888:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 212970:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 857 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 440400:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 14699 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 617527:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 188138:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 761595:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 414127:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 127 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 30 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 19 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 676 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 873 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 970 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 70349 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 347 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 4529 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 104353:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 196 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 11884 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1345 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 118138:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 3292370:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 2370580:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 4369278:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 5 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 96 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 1902 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 207 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 8197 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 46015 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 7767 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 2645 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 1963659:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 2273391:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 404 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 17317 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 8 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 809 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 55 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 10096 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 8675 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 745 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3976 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 1548 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 171803:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 325 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 4169730:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 536338:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 96 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 364 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 3345 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 694 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 783 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 278 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 287 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 2206 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 1422 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 9518 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 30261 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 70010 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 227 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 37677 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 6291 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 191138:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 216 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 30 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 478 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 1864 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 2082 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 37548 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 82445 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 22494 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 50362 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 51768 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 235071:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 177 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 518 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 7047 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 273733:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 130364:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 1305625:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 2183307:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 2023208:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 4623 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 51045 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 382 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 9708689:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 301 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 536710:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 1638 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 13677 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 599 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 697 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 4810710:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 2748559:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 10456 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 2754 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 2791226:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 210 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 327 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 43931 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 4734845:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 696 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 6488 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 8 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 67434 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 37 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 19688 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 213537:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 952 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 2743 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 49 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 41778 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 197 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 3121786:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 38740 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 630030:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 320951:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 289 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 153689:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 3427 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 91855 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 36 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 5138 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 251 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 6227739:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 7784636:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 376922:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 51971 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 2622139:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 1798388:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 426 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 1592 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 2448155:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 1847 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 2490936:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 881 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 40540 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 19421 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 66 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 21 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 2136 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 29306 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 39376 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 3006 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 15 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 64 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 975 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 18665 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 46 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 214989:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 4723 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 49 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 1706 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 201 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 4528 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 2158 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 302349:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 2154 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 232890:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 20617 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 7049 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 1576496:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 1381876:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 2868 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 12513 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 10125761:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 67 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=2; 91814 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 4305 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 390885:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 395183:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 1812 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 1212288:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=d8d9262c7396ee79004175d1ebb9856f Time X029+X030-A 126.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X031-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-A "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; XCHG [d],ECX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV [a],$1 | MOV ECX,$1 | | MOV EAX,[z] ; MOV [e],$1 | XCHG [b],ECX | | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | | ; MOV [x],$1 | MOV EAX,[c] | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%ebx _litmus_P0_1_: xchgl %ebx,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r8) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: movl $1,(%rdi) _litmus_P0_6_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%ebx _litmus_P1_3_: xchgl %ebx,(%r11) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031-A Required Histogram (56 states) 139758:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 62287 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 49336 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2264459:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 9236594:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3230285:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 2676 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 344710:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 102509:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 365 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 645301:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 27020 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 40568 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3675521:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 146 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 797987:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 168 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 4204571:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 365 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 123761:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 22458 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 10297815:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1124172:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3212690:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 218754:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 92792 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 397871:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1180475:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1521524:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 421901:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 451024:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 110 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 126604:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2955464:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 240 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 6520744:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 5088700:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2575355:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 763832:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5577835:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1195126:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 863791:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 104 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 10609432:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2975 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 4846503:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 929 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 321531:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 6437995:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2462498:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2903457:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2856455:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 213 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=d72b41eea7a0921c9e3559f515bf429f Time X030+X031-A 111.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X032-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-A "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV EDX,$1 | MOV ECX,$1 ; MOV [e],$1 | XCHG [y],EDX | XCHG [f],ECX ; MOV ESI,$1 | MOV [z],$1 | MOV [b],$1 ; XCHG [a],ESI | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MOV EBX,[a] | MOV EBX,[c] ; MOV ECX,[e] | MOV EDX,$1 | ; MOV EAX,[x] | XCHG [c],EDX | ; MOV EDX,[f] | MOV ECX,[d] | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,%ecx _litmus_P0_3_: xchgl %ecx,(%rbx) _litmus_P0_4_: movl $1,(%r15) _litmus_P0_5_: movl (%r13),%eax _litmus_P0_6_: movl (%r15),%esi _litmus_P0_7_: movl (%r12),%edx _litmus_P0_8_: movl (%r11),%edi _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%r10) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl (%r9),%eax _litmus_P1_4_: movl (%r12),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%rbx) _litmus_P1_7_: movl (%r11),%ecx Test X031+X032-A Required Histogram (15 states) 6692052:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 12030 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 14502103:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 13206156:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2773627:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 9340613:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 18210960:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2339080:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9865869:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3076634:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9571636:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8860301:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1452493:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1874 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 94572 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=077b08c1d3196098d35b2d28b20682b6 Time X031+X032-A 107.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X033-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-A "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV ECX,$1 | MOV ESI,$1 ; MOV [f],$1 | XCHG [x],ECX | XCHG [g],ESI ; MOV EDX,$1 | MOV [d],$1 | MOV [c],$1 ; XCHG [b],EDX | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MOV EDX,[d] ; MOV EAX,[x] | MOV EAX,[y] | MOV ESI,$1 ; MOV ECX,[g] | MOV EBX,[z] | XCHG [z],ESI ; | | MOV [a],$1 ; | | MOV EAX,[a] ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,%ecx _litmus_P2_1_: xchgl %ecx,(%r15) _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r13),%eax _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl $1,%ecx _litmus_P2_6_: xchgl %ecx,(%r11) _litmus_P2_7_: movl $1,(%rbx) _litmus_P2_8_: movl (%rbx),%esi _litmus_P2_9_: movl (%r14),%edi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,%r13d _litmus_P0_3_: xchgl %r13d,(%r12) _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,%ebx _litmus_P1_1_: xchgl %ebx,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r8),%eax _litmus_P1_6_: movl (%rdi),%edx Test X032+X033-A Required Histogram (31 states) 1052838:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 6330912:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 13944453:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 4660827:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 77147 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 721086:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 2487379:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 6406720:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 3700 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 3406061:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 2954332:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 163258:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 2216 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 14503392:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 5313924:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 84298 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 5267232:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 35324 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 1923 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 1106 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 20315 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 1133711:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 3873045:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 173635:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 5779 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 5430154:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 8174 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 9578980:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 12351794:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 1185 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 5100 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=8c1e14d08a6ade7927510fa055886053 Time X032+X033-A 119.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X034-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-A "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV ECX,$1 ; MOV ECX,$1 | MOV [y],$1 | XCHG [z],ECX ; XCHG [b],ECX | MOV EDX,$1 | MOV [a],$1 ; MOV [x],$1 | XCHG [e],EDX | MOV EAX,[a] ; MOV [d],$1 | MOV ECX,[c] | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl $1,(%r9) _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,%r13d _litmus_P1_3_: xchgl %r13d,(%rbx) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X033+X034-A Required Histogram (17 states) 13320330:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 9592193:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 2998 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 6330821:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16974956:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 10616575:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 130874:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1037582:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1824100:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3711173:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3669637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4862326:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 136758:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 5230521:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 16174 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 22231755:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 311227:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=45078241528255190bc4e5a9ea261d4e Time X033+X034-A 101.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X035-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-A "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EDX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [x],EDX | XCHG [c],ECX ; XCHG [b],ECX | MOV [y],$1 | MOV [d],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV EDX,$1 | ; | XCHG [a],EDX | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%r11) _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%r12) _litmus_P1_7_: movl (%rbx),%ecx Test X034+X035-A Required Histogram (18 states) 9787752:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 162013:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 5549 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3834813:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 15982039:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 803484:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 15559464:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 19708878:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 6996295:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9550118:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2315 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9850 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1096612:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3997096:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9905225:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1597682:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 140954:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 859861:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=116b6760bd43d75d34c5f12d2732bde1 Time X034+X035-A 93.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X036-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-A "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [c],$1 | MOV [f],$1 | MOV EBX,$1 ; XCHG [a],ECX | MOV ECX,$1 | MOV ESI,$1 | XCHG [e],EBX ; MOV EAX,[x] | XCHG [x],ECX | XCHG [y],ESI | MOV EAX,[f] ; MOV ECX,$1 | MOV EBX,[d] | MOV [b],$1 | ; XCHG [d],ECX | MOV EAX,[y] | MOV [z],$1 | ; MOV EBX,[e] | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r9) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X035+X036-A Required Histogram (72 states) 317631:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1208591:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 780871:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 506 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 53435 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 11997 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 78846 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 785710:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 463 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2706590:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 6684 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 536914:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 13851 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 402 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9246 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 178931:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 938665:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 11837217:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 477348:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 3580254:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1479024:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 326 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2716637:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 46300 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1610220:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7686770:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 34175 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 36356 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 250518:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 931675:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 10310735:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1844827:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 2753 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4954359:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 54934 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 19661 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 167 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 119260:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 36255 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3380275:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1410666:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 213 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 192253:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4007606:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 107 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 99274 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2343 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2497686:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1395 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 225 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 15486 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 8319 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 197033:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3792540:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 160225:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 8970901:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 24804 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 168522:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 247044:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3754779:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4508018:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 318 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 163604:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 775 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5923071:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3216 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4703783:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 106343:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=7420d84568704d58855effccc644a0cd Time X035+X036-A 120.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X037-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; XCHG [e],ECX | MOV EBX,$1 | MOV [c],$1 | MOV EDX,$1 ; MOV EBX,[f] | XCHG [d],EBX | MOV EDX,$1 | XCHG [z],EDX ; MOV ECX,$1 | MOV [e],$1 | XCHG [y],EDX | MOV ECX,[g] ; XCHG [b],ECX | MOV EAX,[y] | MOV EBX,[c] | MOV [a],$1 ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,%r13d _litmus_P3_2_: xchgl %r13d,(%r9) _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r10) _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,%r13d _litmus_P2_3_: xchgl %r13d,(%r10) _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X036+X037-A Required Histogram (101 states) 2028 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1037 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1261041:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 3674905:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2361 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 50624 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1540575:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 4827734:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 2434 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 14938 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 507675:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 3534317:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 574620:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1212 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 12993 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1036 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 1545663:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 508589:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 25085 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 57536 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 471544:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 68156 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 7534 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 2487 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 3621 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 736756:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 62711 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 7284982:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 547 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 644 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 51417 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1670354:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 7057 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 62302 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 34604 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 341337:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 56122 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 28 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 356146:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 107 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 8318 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1789 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1522059:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 4261509:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3270453:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 27258 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1692146:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 681966:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 23521 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 181546:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 336470:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 297313:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1849087:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 56 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 48716 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 741681:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1692829:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 37 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 197526:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1424431:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 4457578:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 9330 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 996773:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2431514:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3534240:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 20634 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 839889:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1332374:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 20024 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 7508760:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1185527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 245881:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 12577 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 50 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 32043 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 7023690:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 579967:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 33137 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4669387:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 25946 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2013176:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 99608 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4462752:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 93 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1432334:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 338973:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 196781:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 6762 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1804571:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1173716:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 202125:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 117360:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 3727724:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1796426:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 2387 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 42282 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=72c5396e1960d30ef9ca7f58d993c211 Time X036+X037-A 132.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X038-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV EBX,$2 | MOV EBX,$1 | MOV EDX,$1 | XCHG [z],ECX ; XCHG [d],EBX | XCHG [c],EBX | XCHG [e],EDX | MOV [a],$1 ; MOV EAX,[e] | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rbx) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%r12),%ecx Test X037+X038-A Required Histogram (56 states) 2890086:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 408637:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 5860872:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 14 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 24755 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 713065:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 67708 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 2492974:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 5035556:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 239589:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 7486900:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 182581:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 881736:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 494677:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 23496 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 518370:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 1054671:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 4554697:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 96573 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 3703570:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 3137061:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 2092992:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 1711425:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 140935:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 162785:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 3785011:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 4767392:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 10062 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 1404784:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 5699408:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 44195 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 671854:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 3317707:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 253 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 1852402:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 4859255:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 5072421:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 1360 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 909898:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 80952 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 1141438:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 277065:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 92493 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 1462629:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 1573 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 2281895:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 3236269:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 2583458:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 267227:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 355940:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 344001:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 592 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 3055432:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 8350149:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 97159 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=edf197101f3368a67e023885dfefcd0c Time X037+X038-A 121.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X039-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-A "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV EBX,$2 ; MOV [x],$1 | MOV ECX,$2 | MOV ESI,$1 | XCHG [e],EBX ; MOV [d],$1 | XCHG [x],ECX | XCHG [y],ESI | MOV EAX,[f] ; MOV [e],$1 | MOV EBX,[d] | MOV [b],$1 | ; | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X038+X039-A Required Histogram (72 states) 396700:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 78133 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 21176 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 1032 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 416171:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 95463 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 937 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 10390646:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 691862:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 67532 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 302800:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 3861180:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 185363:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 13486 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 797 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 1260065:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 878885:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 2332 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 4629816:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 1470370:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 16053 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 495169:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 534417:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 39 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 70205 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 1948 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 3156060:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 3957 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 22748 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 666 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 1931085:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 1129814:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 380 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 7509227:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 820312:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 358441:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 49398 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 1320 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 1827731:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 328 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 1531293:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 32 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 12899 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 127569:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 10240 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 3929832:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 9482784:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 24637 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 7774145:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 620 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 1898018:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 356 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 3706 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 2282 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 7031 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 115584:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 2500244:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 219037:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 865 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 1 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 3912507:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 3166946:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 35027 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 2733515:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 795 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 6890398:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 678 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 4181 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 9054 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 1348 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 7867966:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 5042366:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=5b75e1c2aab0a7ca31e2b45acc4ca4de Time X038+X039-A 119.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X040-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-A "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV EDX,$1 ; MOV EBX,$1 | MOV [e],$1 | MOV EDX,$2 | XCHG [z],EDX ; XCHG [b],EBX | MOV [y],$1 | XCHG [y],EDX | MOV ECX,[g] ; MOV EAX,[x] | | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,%r13d _litmus_P3_2_: xchgl %r13d,(%r9) _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%r8) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,%r13d _litmus_P2_3_: xchgl %r13d,(%r10) _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X039+X040-A Required Histogram (99 states) 207881:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 2512132:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 932536:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 3092980:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 12528 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 388 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 105021:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 8817 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 120337:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 4924937:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 18146 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1113698:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 9 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 36445 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 16926 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 802790:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 61823 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 1613583:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 38493 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 77283 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 54 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 22316 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 57454 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 606229:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 1241869:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 1160638:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 14 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 154 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 3925003:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 528166:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 710288:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 901272:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 600660:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 652 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 121126:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 89274 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 103 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 88 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 80 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 1283 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 153274:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 586 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 1106128:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 102385:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 734 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 173355:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 29 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 88 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 1890 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 30 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 3759 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 5757052:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 4577061:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 269473:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 2415 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 712553:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 681289:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 4039117:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1049981:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 44432 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 13988 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 132 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 2049244:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 977536:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 7351 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 3017778:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 4677102:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 573639:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 197507:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 8755 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 109 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 139287:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 3 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 8101 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 12418 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 532374:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 9655701:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 24888 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 1693170:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 2567674:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 888238:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 1758453:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 57 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 15090 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 3814330:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 1298534:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 170 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 2245 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 1250949:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 866755:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 5659328:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 1956694:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 8635 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 614493:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 6032 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 7479 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 6112179:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 5244473:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=e0cb350c7ea08527f940c89abab2202e Time X039+X040-A 132.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X041-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [d],$1 | MOV [e],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV ECX,$1 | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; XCHG [b],ECX | MOV [c],$1 | | MOV EAX,[a] ; MOV EAX,[d] | | | MOV EBX,[b] ; MOV [x],$1 | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,%ebx _litmus_P0_3_: xchgl %ebx,(%r11) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl $1,(%rdi) _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X040+X041-A Required Histogram (37 states) 323276:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 6226367:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 937362:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 9442854:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2004842:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 4214723:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1631206:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1087358:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 6548234:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 5064735:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 2028611:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 31134 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 150345:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 57 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1196792:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 321 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 6271520:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 516 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 5226006:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 258 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 194330:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1363784:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 3802844:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 261024:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1328857:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1765306:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 2782878:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 4326238:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 12892545:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 4628557:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 4237213:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1578739:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 632 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 1305575:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 158 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 7144329:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 474 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=4bd8807aa2bfbcad89bc12fdca03f500 Time X040+X041-A 109.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X042-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-A "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EDX,$2 | MOV ECX,$2 ; MOV [b],$1 | XCHG [x],EDX | XCHG [c],ECX ; MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[d] ; | MOV EBX,[z] | MOV EBX,[a] ; | MOV EDX,$1 | ; | XCHG [a],EDX | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,%r13d _litmus_P1_1_: xchgl %r13d,(%r11) _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%r12) _litmus_P1_7_: movl (%rbx),%ecx Test X041+X042-A Required Histogram (18 states) 7560303:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 9073 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2775828:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 10188309:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 6155331:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 676 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 1022053:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 189745:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 5393 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 1488294:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 6191075:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 507 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 10927765:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 1232168:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 22058615:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 150414:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 19393323:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 10651128:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=fda1dc55b1a4df414c280a4931b75f77 Time X041+X042-A 96.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X043-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-A "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV EBX,$1 | MOV [f],$2 | MOV [e],$1 ; XCHG [a],ECX | XCHG [c],EBX | MOV ESI,$2 | MOV [f],$1 ; MOV EAX,[x] | MOV [x],$1 | XCHG [y],ESI | ; MOV ECX,$1 | MOV EAX,[d] | MOV [b],$1 | ; XCHG [d],ECX | MOV [y],$1 | MOV [z],$1 | ; MOV EBX,[e] | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r9) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl $1,(%rsi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X042+X043-A Required Histogram (72 states) 10057 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 8326 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 4134984:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 11128503:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 865503:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 2964885:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 3727 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 2833 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 64 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 432075:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 30757 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 3826813:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 1239010:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 24 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 118 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 3048 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 22130 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 2551676:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 84 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 823 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 627 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 140195:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 46463 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1459550:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1815011:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 3528717:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 139 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1703602:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 7203 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1425640:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 2828924:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 734648:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 143 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 593270:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 19969 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 126142:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 1740736:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 86 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 4403 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 1594234:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 564 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 971 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 5467 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1750 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 2182368:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 2914739:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 1695066:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 6867813:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 19112 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 7095 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 6143051:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 270741:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 458187:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 935570:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 2466282:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 296297:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 19066 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 4684255:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 866083:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 1496446:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 4384140:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 15391808:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 2037720:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 1852800:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 7401 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=7a40714ffdb01a03dec69fe0331facb7 Time X042+X043-A 120.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X044-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044-A "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; XCHG [e],ECX | MOV EBX,$1 | MOV [c],$1 | MOV ECX,$2 ; MOV EBX,[f] | XCHG [d],EBX | MOV [y],$1 | XCHG [z],ECX ; MOV ECX,$1 | MOV [e],$1 | MOV EAX,[c] | MOV [g],$1 ; XCHG [b],ECX | MOV EAX,[y] | MOV ECX,$1 | MOV [a],$1 ; MOV EAX,[x] | | XCHG [z],ECX | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl $2,%ebx _litmus_P3_2_: xchgl %ebx,(%rdi) _litmus_P3_3_: movl $1,(%r8) _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r10) _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,%ebx _litmus_P2_5_: xchgl %ebx,(%rdi) _litmus_P2_6_: movl (%r10),%edx Test X043+X044-A Required Histogram (102 states) 5500 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 18347 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 319327:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1826577:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 35 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 242458:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 2778 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 616838:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 5511 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 114609:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 162844:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 2580246:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1079313:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 139459:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 9399 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 12089 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 557001:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 2875948:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 466 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 38780 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 2790091:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 3014587:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 7954 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 98771 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 707380:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 380965:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 5260643:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1469 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1641491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 184 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 2496540:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 32780 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 2277 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 7466 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 3744 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2322 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 623715:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 3318858:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1413 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 83129 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 190066:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2641298:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 12161 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 39243 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 2281285:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 5467995:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 354466:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1339 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 7879 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1024 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 385290:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 623693:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 4381 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 40627 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1842326:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 204078:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 35631 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 19736 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 1234753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 24017 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 6365234:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 1966982:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 35 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 281464:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 8472 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 108 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 9352 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 571713:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 174216:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 9622190:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 12322 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 95228 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 28252 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 70 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 927521:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 3889795:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 2900233:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 24315 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1223904:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 196212:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1804559:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 10377 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1178844:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 3334997:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 184 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 261633:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 27364 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 6114342:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 69022 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 5798991:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 32007 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 3272325:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 208978:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 92264 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 2410305:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 264799:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 210362:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 116427:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=d36f36ccf4d4e587f68f0b1867a0d258 Time X043+X044-A 135.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X045-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [d],$2 | MOV EBX,$1 | MOV ECX,$2 | XCHG [z],ECX ; MOV [e],$1 | XCHG [c],EBX | XCHG [e],ECX | MOV [a],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; | MOV [d],$1 | MOV [z],$1 | MOV EBX,[b] ; | | MOV EAX,[f] | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: movl $1,(%r9) _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%r11),%edx Test X044+X045-A Required Histogram (56 states) 3456718:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 104800:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2283791:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 870154:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 87406 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 899804:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 293851:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 2083548:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 232659:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 126336:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2414043:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 129733:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 678814:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1490064:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 3792666:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 466510:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3401938:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 2312257:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 5694343:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 22992 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 5495689:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 4877 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 3019798:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 10957 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 399982:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 6712 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1808446:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 314954:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3042114:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 4822298:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 4433073:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 8702640:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2699225:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 289 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 79760 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 6360963:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 144205:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1285114:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 163190:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 69049 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 19443 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 3211608:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 3663612:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 747293:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 487387:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 647135:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 665735:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 839583:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 188 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 2316498:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 6165190:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 39932 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 5715020:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 776526:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 999076:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=8f95daf4af1e2a00cfba13dd83443262 Time X044+X045-A 122.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X046-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-A "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | XCHG [c],EBX | MOV ESI,$2 | MOV [f],$1 ; MOV [d],$1 | MOV [x],$2 | XCHG [y],ESI | ; MOV [e],$1 | MOV EAX,[d] | MOV [b],$1 | ; | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X045+X046-A Required Histogram (72 states) 4764878:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 8481 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 13579 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 276 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1167416:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 152 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1027913:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 23782 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1539075:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 2248 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 30510 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 409 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 299724:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 213080:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 3268 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 245427:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1185 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 5336 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 131 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 260868:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 81 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1183553:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 145000:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1386 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 746 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 1206448:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 9168414:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 71848 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1615101:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 22513 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1299 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 684263:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1580159:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 166729:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1526603:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 80851 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 6457342:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 14723 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 487 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 227807:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 4016296:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 43573 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2858471:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 121766:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2695967:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 936 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 4084 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 898424:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 8185643:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1354916:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 2246 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 5243195:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 3744514:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 2886198:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1247581:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 1818195:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 80 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 698042:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 13777343:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 24666 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 2633381:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 780 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 273510:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 19979 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 457741:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 938231:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 2134420:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 2415072:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 173256:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 7568383:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=968e875fe788489b9ed6710ce9ae9965 Time X045+X046-A 120.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X047-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-A "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV ECX,$2 ; MOV EBX,$1 | MOV [e],$1 | MOV [y],$2 | XCHG [z],ECX ; XCHG [b],EBX | MOV [y],$1 | MOV EAX,[c] | MOV [g],$1 ; MOV EAX,[x] | | MOV ECX,$1 | MOV [a],$1 ; | | XCHG [z],ECX | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,%ebx _litmus_P3_2_: xchgl %ebx,(%rdi) _litmus_P3_3_: movl $1,(%r8) _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%r8) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,%ebx _litmus_P2_5_: xchgl %ebx,(%rdi) _litmus_P2_6_: movl (%r10),%edx Test X046+X047-A Required Histogram (100 states) 86785 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 1133659:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 178335:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 1846457:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 12997 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 3969 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 23693 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 180957:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 656327:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 1118801:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 177 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 31281 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 642 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 1577 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 106 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 29181 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 655362:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 18664 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 4164424:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 853598:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 3801 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=1; 30287 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 137131:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 2546903:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 2041283:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 3614019:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 7609 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 590 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 355122:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 70376 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 1230805:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 986107:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 22 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 1316 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 108 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 121 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 149 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 1868 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 82127 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 112 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 2202970:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 94137 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=1; z=1; 68007 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 314929:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 1924 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 75801 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 3140637:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 79297 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 11743 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 3667606:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 1417741:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 68043 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=1; 3907657:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 1898051:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 3244900:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 426822:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 203318:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 9502045:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 32943 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 53 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 23476 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 2465749:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 924544:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 10525 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 606863:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 349549:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 6107581:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 167 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 242897:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 24393 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 1551273:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 82 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 110902:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 4010673:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 1159931:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 336934:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 192444:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 1130 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 179109:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 4597 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 6602779:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 4102641:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 2126214:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 1560069:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 46504 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 10920 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 1553062:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 1287131:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 3440 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 2279 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 1865451:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 625491:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 276 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=2; 1421250:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 816558:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 15847 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=2; z=2; 7191788:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=034f9efd53f354968d925a397e16026e Time X046+X047-A 136.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X048-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV EBX,$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EBX,$1 | XCHG [d],EBX | | MOV [a],$1 ; XCHG [c],EBX | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rdi) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl $1,(%rcx) _litmus_P1_4_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048-A Required Histogram (44 states) 8860367:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 20601 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1198514:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 661401:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 3185 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 127533:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2935 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 8440500:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1862522:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 353 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10317092:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 873320:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 6142537:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 26 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 11985 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 6205421:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 109 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 138258:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 20 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 85586 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 12908 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 90 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 1154810:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 354522:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4687636:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 128 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 145864:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 9245823:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 120747:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1949803:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 302 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 3107654:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 651611:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 51714 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 16259698:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2785456:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 350747:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 13 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 10390106:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 22 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 126431:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 71 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 3279096:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 372483:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=2f63d6997ea318baee6b4ea4ffc430c2 Time X047+X048-A 104.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X049-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-A "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV [x],$1 | MOV EBX,$1 ; XCHG [a],ECX | MOV ECX,$1 | XCHG [b],EBX ; MOV EBX,[b] | XCHG [c],ECX | MOV EAX,[c] ; MOV ECX,$1 | MOV EBX,[a] | ; XCHG [y],ECX | MOV EAX,[y] | ; MOV EAX,[x] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%rdi) _litmus_P0_5_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r9) _litmus_P1_3_: movl (%r10),%edx _litmus_P1_4_: movl (%rdi),%eax Test X048+X049-A Required Histogram (18 states) 9197281:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 1645 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 89625 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 3542161:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 8940249:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2122496:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3900012:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 17162202:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 8610491:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 19259496:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 735 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 895 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2564569:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2812105:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 1425910:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 18076747:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 910 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2292471:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=7ba72f7605a0430c6878b577b9f870ab Time X048+X049-A 83.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X050-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-A "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; MOV ECX,$1 | XCHG [a],ECX | XCHG [d],ECX | XCHG [c],EBX ; XCHG [b],ECX | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV ECX,$1 | MOV ECX,$1 | ; MOV EAX,[x] | XCHG [x],ECX | XCHG [y],ECX | ; | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r11d _litmus_P1_1_: xchgl %r11d,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,%r11d _litmus_P1_4_: xchgl %r11d,(%r8) _litmus_P1_5_: movl (%rdi),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X049+X050-A Required Histogram (89 states) 17941 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 326621:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1061949:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 724231:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1840 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2919 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 36486 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 189431:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 456373:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 321044:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 279507:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3142 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2699888:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 62 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5232054:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 10072 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 276776:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 465 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 52972 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 59 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 148686:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1452766:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 789216:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 15469335:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1087 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 26 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 170574:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 241879:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7254865:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7175 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4980117:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 920889:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 358366:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2978088:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 22584 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 43388 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 202061:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15507 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 413372:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 602788:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6063770:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 481364:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 104 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2994449:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 645633:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 420 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9779 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2865 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 117572:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 14158 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 61376 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 157764:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1339771:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 383943:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 73 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 36255 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10393 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9146570:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 844 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8472129:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 836268:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 268799:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2439457:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 109 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 59927 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 176 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 684396:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 38 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 269 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 85044 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1938956:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 31387 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7866079:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 27313 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 28423 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 26156 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1094767:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4230809:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8397 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 205370:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 260394:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1596471:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1451 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 557289:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 46393 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=e621f8698d29acda303a0d1ac5971e6a Time X049+X050-A 108.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X051-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [x],EBX | XCHG [e],ECX | XCHG [d],ECX ; XCHG [a],ECX | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MOV [c],$1 | MOV ECX,$1 | MOV ECX,$1 ; MOV EAX,[x] | MOV EAX,[y] | XCHG [y],ECX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%edx _litmus_P3_3_: movl $1,%r11d _litmus_P3_4_: xchgl %r11d,(%rdi) _litmus_P3_5_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%rsi) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X050+X051-A Required Histogram (131 states) 15505 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 44661 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 262348:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2021040:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1858787:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1304883:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1482958:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 301 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2175983:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5690672:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2535 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 7388 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 80865 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 956 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6710 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 42259 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 57170 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 36 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 24361 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 45683 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2778426:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 5572 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 989435:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 660712:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 702741:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 296 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 656435:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 168137:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 171349:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 36899 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 137 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 46091 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 62 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4523597:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1299829:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1247729:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5514352:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 259 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 46 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2858 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 872 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 36834 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 348571:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2562650:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1148 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 262569:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 106708:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 426897:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 44 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 11304 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1768341:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1219086:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 61421 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1691874:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5960234:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2008861:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 763999:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 9316684:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 272683:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 68988 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 36383 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 936497:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 112801:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1907 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 91886 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 459593:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2830858:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1845896:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 251 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 415080:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6123 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5261 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1737 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1572058:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 874735:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 677 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1207915:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 70 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 151 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 242 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 12755 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 48075 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 333703:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 198679:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 12960 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 5441143:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1103 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 18655 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 4702 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 14002 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 160 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 220046:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 572980:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1693764:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3652027:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 142381:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 882004:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 122680:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 68002 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 124450:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 214697:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 44 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 393654:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1194298:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 537064:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1896626:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 5493 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 182133:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 195 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1791 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4382486:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4364772:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2110 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1903 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 305803:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1732075:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 101 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=9118dc4527e26714ad03f645d8582d18 Time X050+X051-A 120.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X052-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV EBX,$1 ; MOV EBX,$2 | MOV [b],$1 | MOV ECX,$1 | XCHG [z],EBX ; XCHG [b],EBX | MOV EBX,$2 | XCHG [c],ECX | MOV EAX,[a] ; MOV EAX,[c] | XCHG [x],EBX | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl (%rdi),%eax Test X051+X052-A Required Histogram (66 states) 168884:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 297085:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 12929 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 551 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 187362:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1016221:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 38 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 212964:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 38 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 44373 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 31689 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 64 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 21982 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 48510 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1133155:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 890 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 535261:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1045833:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 3267035:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 2547552:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 59797 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 35687 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 3810904:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 4419702:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1272311:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6536840:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6582968:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 200343:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 667828:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2090758:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 346263:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2357319:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6829927:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5630064:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 778393:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5049201:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 743193:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 460824:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1530342:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 367868:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 3397924:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 361035:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 2598527:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 6915869:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1148137:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 743660:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 389222:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 785945:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 190585:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 4351360:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 14191567:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 793955:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 1004731:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 1149016:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 293446:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 149323:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 262255:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 445743:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 74649 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 10416 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 4468 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 13016 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 201972:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 22352 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 157878:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=fc513bcf3b3fae90e05b197bb1b7a486 Time X051+X052-A 108.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X053-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-A "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV ECX,$1 | MOV EBX,$2 ; MOV [b],$2 | MOV [b],$1 | XCHG [d],ECX | XCHG [c],EBX ; MOV [c],$1 | MOV EBX,$2 | MOV EBX,[a] | MOV EAX,[d] ; MOV [x],$1 | XCHG [x],EBX | MOV ECX,$1 | ; | MOV EAX,[y] | XCHG [y],ECX | ; | | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X052+X053-A Required Histogram (89 states) 1007 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 400 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 19125 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 673575:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 11103 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 35937 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 1037 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 439052:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 34814 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 6148 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 6059 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 769932:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 133809:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 467117:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 126782:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 11821 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 13860599:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 48257 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 8849 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 5839561:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 334841:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1711436:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1265925:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 15940 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 5039180:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 157928:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 14946 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 8894 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 386 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 81150 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 12 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 33445 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 7368 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 3787115:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1772 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1883 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 3491226:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 15072 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 215980:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1587372:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 10830 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 7899870:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 220324:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 652014:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 38056 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2564203:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 63 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 8867288:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 1108213:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 2255851:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 8904 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 4138769:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 91365 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 117456:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 389 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 501 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 25 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 641557:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 114705:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 4955 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 15793 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 3 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1414 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1035 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 43872 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 494156:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 12210863:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 324047:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 484861:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 146964:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 11371603:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 41 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 4569649:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 1227946:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 29929 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 881 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 3045 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 43 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 25304 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 42110 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 4224 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=5dbac7472335d2d3ed552b048579c2af Time X052+X053-A 109.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X054-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | MOV [c],$1 | XCHG [y],EBX | XCHG [z],EBX ; MOV EBX,$2 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; XCHG [b],EBX | MOV [b],$1 | | ; MOV EAX,[c] | | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,%r9d _litmus_P0_3_: xchgl %r9d,(%rdi) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X053+X054-A Required Histogram (43 states) 720 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 343627:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 27848 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 1657235:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 56398 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1880232:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 2767 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 169663:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 3869893:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 7161348:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 8322350:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 309171:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 61796 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 2427036:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 2464835:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 4716167:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 8579606:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 2145291:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 6613472:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1112526:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1115 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 3042 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 293911:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 1155 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 46713 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 623630:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 264 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 70209 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 2259 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 165746:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 421399:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 11999409:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 10258046:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 7417795:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2551623:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 516678:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 2502994:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 339889:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 9666786:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1151684:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1391 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 11025 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 31256 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=bc583992bc01a99c1f603a9208ccc084 Time X053+X054-A 97.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X055-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-A "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV EBX,$2 | MOV [a],$1 | MOV EBX,$2 | MOV [c],$1 ; XCHG [b],EBX | MOV [b],$1 | XCHG [d],EBX | MOV [d],$1 ; MOV EAX,[c] | MOV EBX,$2 | MOV EAX,[a] | ; MOV [y],$1 | XCHG [x],EBX | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,%r9d _litmus_P0_1_: xchgl %r9d,(%r8) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P0_4_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rcx) _litmus_P2_2_: movl (%rsi),%eax Test X054+X055-A Required Histogram (45 states) 19706 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 947064:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 228828:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 1687103:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 78648 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 433798:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 442237:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 391268:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 67528 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 10525661:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 4514 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 293787:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3199426:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 10280127:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 173133:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 58952 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 32 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 47879 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 44 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 271920:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 105102:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 625959:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 425986:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 1473311:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 2660698:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 68974 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 4882798:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 16752318:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 2914 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 901134:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 9231949:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 2849477:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 5049989:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 23098 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 77762 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 2381542:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 35299 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 2932 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 758871:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 2901186:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 10647468:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 5372375:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 3021072:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 45399 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 550732:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=f751942efd0f43471bfacf70aba38554 Time X054+X055-A 97.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X056-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV EBX,$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,$2 | XCHG [z],EBX ; MOV [c],$1 | MOV EBX,$2 | XCHG [c],EBX | MOV EAX,[a] ; MOV [x],$1 | XCHG [x],EBX | MOV EAX,[d] | ; | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl $1,(%rcx) Test X055+X056-A Required Histogram (67 states) 42717 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 74 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 111181:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 80683 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 34 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 28795 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 2503292:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 2254581:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 3691386:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 239688:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 2647508:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 3861209:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 12558 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 186981:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 7 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 9975 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 70877 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 5733812:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 2158642:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 8845349:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 2375434:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 4052640:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 1125373:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 1190597:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 806866:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 9640 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 23473 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 884 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 2230 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 808324:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 594416:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 6477112:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2448416:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 5446396:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 13467416:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 1632 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 93487 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 37889 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 15648 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 3861 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 562458:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 4 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 2045 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 2080918:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 38950 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 28201 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 5353961:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 2102256:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 1692697:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 5 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 333 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1188 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 623579:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 377723:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1820288:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 4 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 7370568:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 106418:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 1637 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 2 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 130321:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 359 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 4997323:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 415948:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 828868:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 1565 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 1298 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=ad8e061732a92ee402e282621e233139 Time X055+X056-A 109.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X057-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-A "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV ECX,$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | XCHG [d],ECX | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | ; MOV [x],$1 | MOV [y],$1 | MOV ECX,$2 | ; | | XCHG [y],ECX | ; | | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $2,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X056+X057-A Required Histogram (87 states) 82096 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 334187:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 16 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 11840 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 4739986:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 584544:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 21579 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 103371:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 5476 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 18923 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1255 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 800915:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 54268 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 1341 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 12453 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 4310 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 12354 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 28293 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 1364407:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 552767:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 4745 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 88346 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 357 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 3811879:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2669554:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 20 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 69441 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 1209 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 288 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 4 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 64 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 532629:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 10409061:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 9 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 946234:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 969 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 2927 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 525 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 1203623:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 2157119:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 101 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 778922:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 56 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 80 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 140 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 237274:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 254184:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 4 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 5171 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 37697 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 1247394:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 1397663:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 3107958:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 2562387:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 9112 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 25663 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 678023:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 1166823:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 1503440:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 3656471:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 285 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 723223:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 3297 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 42001 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 406278:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 20136669:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 15790 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 4830605:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 41847 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 73347 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 561 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 112 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 217620:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 3368430:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 2593 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 13237 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 281094:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 8334441:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 230 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 117050:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 190626:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 13881199:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 17510 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=056dfafab09dc26b5df7b2444b8b2707 Time X056+X057-A 111.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X000-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-L "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock12: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_y],ESI | XCHG [L_x],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 ; Lock01: | Lock13: ; MOV ESI,[L_y] | MOV ESI,[L_x] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 ; JMP Lock01 | JMP Lock13 ; Lock02: | Lock14: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | MOV EAX,[x] ; MOV ESI,$1 | Lock15: ; XCHG [L_a],ESI | MOV ESI,$1 ; CMP ESI,$0 | XCHG [L_b],ESI ; JE Lock05 | CMP ESI,$0 ; Lock04: | JE Lock17 ; MOV ESI,[L_a] | Lock16: ; CMP ESI,$0 | MOV ESI,[L_b] ; JE Lock03 | CMP ESI,$0 ; JMP Lock04 | JE Lock15 ; Lock05: | JMP Lock16 ; MOV [a],$1 | Lock17: ; MOV [L_a],$0 | MOV [b],$1 ; MOV EAX,[y] | MOV [L_b],$0 ; MOV ECX,[a] | MOV ECX,[b] ; Lock06: | Lock18: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_x],ESI | XCHG [L_a],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock08 | JE Lock20 ; Lock07: | Lock19: ; MOV ESI,[L_x] | MOV ESI,[L_a] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock06 | JE Lock18 ; JMP Lock07 | JMP Lock19 ; Lock08: | Lock20: ; MOV EBX,[x] | MOV EDX,[a] ; MOV [L_x],$0 | MOV [L_a],$0 ; Lock09: | Lock21: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_b],ESI | XCHG [L_y],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock11 | JE Lock23 ; Lock10: | Lock22: ; MOV ESI,[L_b] | MOV ESI,[L_y] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock09 | JE Lock21 ; JMP Lock10 | JMP Lock22 ; Lock11: | Lock23: ; MOV EDX,[b] | MOV EBX,[y] ; MOV [L_b],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rbx) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: movl (%rbx),%esi _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%rcx) _litmus_P1_26_: movl $0,(%r12) _litmus_P1_27_: movl (%rcx),%r8d _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%r15d _litmus_P1_30_: xchgl %r15d,(%rax) _litmus_P1_31_: cmpl $0,%r15d _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%r15d _litmus_P1_35_: cmpl $0,%r15d _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl (%r13),%r9d _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r14) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r11),%edi _litmus_P1_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r14),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r14) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rax) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rax) _litmus_P0_26_: movl (%r11),%esi _litmus_P0_27_: movl (%r13),%r8d _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rdx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rdx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%rbx),%edi _litmus_P0_40_: movl $0,(%rdx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%rcx),%r9d _litmus_P0_53_: movl $0,(%r12) Test X000+X000-L Required Histogram (6 states) 2682161:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 82192552:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 14717957:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 826944:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 1261 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 99579125:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=039dd1dfcdafb33f8bcd264f58f1a557 Time X000+X000-L 64.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X001-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-L "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_y],ESI | XCHG [L_x],ESI | XCHG [L_b],ECX ; CMP ESI,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_y] | MOV ESI,[L_x] | MOV ECX,[L_b] ; CMP ESI,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_b],$0 ; Lock03: | Lock15: | MOV EAX,[b] ; MOV ESI,$1 | MOV ESI,$1 | Lock27: ; XCHG [L_a],ESI | XCHG [L_c],ESI | MOV ECX,$1 ; CMP ESI,$0 | CMP ESI,$0 | XCHG [L_c],ECX ; JE Lock05 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock16: | JE Lock29 ; MOV ESI,[L_a] | MOV ESI,[L_c] | Lock28: ; CMP ESI,$0 | CMP ESI,$0 | MOV ECX,[L_c] ; JE Lock03 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JE Lock27 ; Lock05: | Lock17: | JMP Lock28 ; MOV [a],$1 | MOV [c],$1 | Lock29: ; MOV [L_a],$0 | MOV [L_c],$0 | MOV EBX,[c] ; MOV EAX,[y] | MOV EAX,[x] | MOV [L_c],$0 ; MOV ECX,[a] | Lock18: | ; Lock06: | MOV ESI,$1 | ; MOV ESI,$1 | XCHG [L_y],ESI | ; XCHG [L_x],ESI | CMP ESI,$0 | ; CMP ESI,$0 | JE Lock20 | ; JE Lock08 | Lock19: | ; Lock07: | MOV ESI,[L_y] | ; MOV ESI,[L_x] | CMP ESI,$0 | ; CMP ESI,$0 | JE Lock18 | ; JE Lock06 | JMP Lock19 | ; JMP Lock07 | Lock20: | ; Lock08: | MOV EBX,[y] | ; MOV EBX,[x] | MOV [L_y],$0 | ; MOV [L_x],$0 | MOV ECX,[c] | ; Lock09: | Lock21: | ; MOV ESI,$1 | MOV ESI,$1 | ; XCHG [L_b],ESI | XCHG [L_a],ESI | ; CMP ESI,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ESI,[L_b] | MOV ESI,[L_a] | ; CMP ESI,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EDX,[b] | MOV EDX,[a] | ; MOV [L_b],$0 | MOV [L_a],$0 | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r14) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r14),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r14) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r8) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%r8) _litmus_P0_26_: movl (%r11),%edx _litmus_P0_27_: movl (%r13),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%rax) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rax),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r15),%ecx _litmus_P0_40_: movl $0,(%rax) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r12) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r9),%esi _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rax) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r12) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: movl (%r15),%edx _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%r14) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r14),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r11),%ecx _litmus_P1_39_: movl $0,(%r14) _litmus_P1_40_: movl (%r9),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r8) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r8),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r13),%esi _litmus_P1_53_: movl $0,(%r8) Test X000+X001-L Required Histogram (16 states) 4021437:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 23625 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 398 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 269585:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 9415083:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 42611960:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 311001:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 7285088:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 18 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 6309 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 203 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 91945 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2934865:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3969061:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 188530:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 28870892:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=10aef269b73de8399adcbbfb30e37759 Time X000+X001-L 155.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X002-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-L "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],ESI | XCHG [L_a],ESI | XCHG [L_y],ESI ; CMP ESI,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_c] | MOV ESI,[L_a] | MOV ESI,[L_y] ; CMP ESI,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV [L_c],$0 | MOV [L_a],$0 | MOV [L_y],$0 ; MOV ECX,[c] | Lock15: | Lock27: ; Lock03: | MOV ESI,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [L_x],ESI | XCHG [L_d],ESI ; XCHG [L_z],ESI | CMP ESI,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock17 | JE Lock29 ; JE Lock05 | Lock16: | Lock28: ; Lock04: | MOV ESI,[L_x] | MOV ESI,[L_d] ; MOV ESI,[L_z] | CMP ESI,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock15 | JE Lock27 ; JE Lock03 | JMP Lock16 | JMP Lock28 ; JMP Lock04 | Lock17: | Lock29: ; Lock05: | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [L_x],$0 | MOV [L_d],$0 ; MOV [L_z],$0 | MOV EAX,[x] | MOV EAX,[y] ; Lock06: | MOV [b],$1 | Lock30: ; MOV ESI,$1 | MOV ECX,[b] | MOV ESI,$1 ; XCHG [L_d],ESI | Lock18: | XCHG [L_z],ESI ; CMP ESI,$0 | MOV ESI,$1 | CMP ESI,$0 ; JE Lock08 | XCHG [L_c],ESI | JE Lock32 ; Lock07: | CMP ESI,$0 | Lock31: ; MOV ESI,[L_d] | JE Lock20 | MOV ESI,[L_z] ; CMP ESI,$0 | Lock19: | CMP ESI,$0 ; JE Lock06 | MOV ESI,[L_c] | JE Lock30 ; JMP Lock07 | CMP ESI,$0 | JMP Lock31 ; Lock08: | JE Lock18 | Lock32: ; MOV EDX,[d] | JMP Lock19 | MOV EBX,[z] ; MOV [L_d],$0 | Lock20: | MOV [L_z],$0 ; MOV EAX,[z] | MOV EDX,[c] | MOV ECX,[d] ; Lock09: | MOV [L_c],$0 | Lock33: ; MOV ESI,$1 | Lock21: | MOV ESI,$1 ; XCHG [L_x],ESI | MOV ESI,$1 | XCHG [L_a],ESI ; CMP ESI,$0 | XCHG [L_y],ESI | CMP ESI,$0 ; JE Lock11 | CMP ESI,$0 | JE Lock35 ; Lock10: | JE Lock23 | Lock34: ; MOV ESI,[L_x] | Lock22: | MOV ESI,[L_a] ; CMP ESI,$0 | MOV ESI,[L_y] | CMP ESI,$0 ; JE Lock09 | CMP ESI,$0 | JE Lock33 ; JMP Lock10 | JE Lock21 | JMP Lock34 ; Lock11: | JMP Lock22 | Lock35: ; MOV EBX,[x] | Lock23: | MOV EDX,[a] ; MOV [L_x],$0 | MOV EBX,[y] | MOV [L_a],$0 ; | MOV [L_y],$0 | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r15),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r14) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r14),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r11),%ecx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r8) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r8),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r13),%esi _litmus_P2_53_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r8) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: movl (%r13),%ebx _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%r14) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r14),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r11) _litmus_P0_26_: movl $0,(%r14) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%edi _litmus_P0_29_: xchgl %edi,(%r12) _litmus_P0_30_: cmpl $0,%edi _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r12),%edi _litmus_P0_34_: cmpl $0,%edi _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r9),%esi _litmus_P0_39_: movl $0,(%r12) _litmus_P0_40_: movl (%r11),%edx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%rax) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rax),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r15),%ecx _litmus_P0_53_: movl $0,(%rax) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r12) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r15) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: movl (%r15),%edx _litmus_P1_27_: movl $1,(%r13) _litmus_P1_28_: movl (%r13),%ebx _litmus_P1_29_: LitLock18: _litmus_P1_30_: movl $1,%edi _litmus_P1_31_: xchgl %edi,(%r9) _litmus_P1_32_: cmpl $0,%edi _litmus_P1_33_: je LitLock20 _litmus_P1_34_: LitLock19: _litmus_P1_35_: movl (%r9),%edi _litmus_P1_36_: cmpl $0,%edi _litmus_P1_37_: je LitLock18 _litmus_P1_38_: jmp LitLock19 _litmus_P1_39_: LitLock20: _litmus_P1_40_: movl (%r10),%esi _litmus_P1_41_: movl $0,(%r9) _litmus_P1_42_: LitLock21: _litmus_P1_43_: movl $1,%edi _litmus_P1_44_: xchgl %edi,(%rax) _litmus_P1_45_: cmpl $0,%edi _litmus_P1_46_: je LitLock23 _litmus_P1_47_: LitLock22: _litmus_P1_48_: movl (%rax),%edi _litmus_P1_49_: cmpl $0,%edi _litmus_P1_50_: je LitLock21 _litmus_P1_51_: jmp LitLock22 _litmus_P1_52_: LitLock23: _litmus_P1_53_: movl (%r11),%ecx _litmus_P1_54_: movl $0,(%rax) Test X001+X002-L Required Histogram (23 states) 100982:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 2215596:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1251182:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1041748:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 291729:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2100 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 365808:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 8206227:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 14 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 594360:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 20937701:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 888401:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 588719:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 7694 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1431243:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1151702:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3171117:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2974 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10150563:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 18797936:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 821213:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 27980988:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=ccfa86576b74365c7791b27f09da718f Time X001+X002-L 185.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X003-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-L "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ESI,$1 ; XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_z],ESI ; CMP ESI,$0 | CMP EDX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ESI,[L_z] ; CMP ESI,$0 | CMP EDX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[y] | Lock27: ; MOV ESI,$1 | Lock15: | MOV ESI,$1 ; XCHG [L_a],ESI | MOV EDX,$1 | XCHG [L_c],ESI ; CMP ESI,$0 | XCHG [L_d],EDX | CMP ESI,$0 ; JE Lock05 | CMP EDX,$0 | JE Lock29 ; Lock04: | JE Lock17 | Lock28: ; MOV ESI,[L_a] | Lock16: | MOV ESI,[L_c] ; CMP ESI,$0 | MOV EDX,[L_d] | CMP ESI,$0 ; JE Lock03 | CMP EDX,$0 | JE Lock27 ; JMP Lock04 | JE Lock15 | JMP Lock28 ; Lock05: | JMP Lock16 | Lock29: ; MOV [a],$1 | Lock17: | MOV [c],$1 ; MOV [L_a],$0 | MOV [d],$1 | MOV [L_c],$0 ; MOV [x],$1 | MOV [L_d],$0 | MOV EAX,[z] ; MOV EAX,[x] | Lock18: | Lock30: ; Lock06: | MOV EDX,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [L_b],EDX | XCHG [L_a],ESI ; XCHG [L_y],ESI | CMP EDX,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV EDX,[L_b] | MOV ESI,[L_a] ; MOV ESI,[L_y] | CMP EDX,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV [L_b],$0 | MOV [L_a],$0 ; MOV [L_y],$0 | Lock21: | MOV ECX,[c] ; MOV ECX,[b] | MOV EDX,$1 | Lock33: ; Lock09: | XCHG [L_z],EDX | MOV ESI,$1 ; MOV ESI,$1 | CMP EDX,$0 | XCHG [L_d],ESI ; XCHG [L_c],ESI | JE Lock23 | CMP ESI,$0 ; CMP ESI,$0 | Lock22: | JE Lock35 ; JE Lock11 | MOV EDX,[L_z] | Lock34: ; Lock10: | CMP EDX,$0 | MOV ESI,[L_d] ; MOV ESI,[L_c] | JE Lock21 | CMP ESI,$0 ; CMP ESI,$0 | JMP Lock22 | JE Lock33 ; JE Lock09 | Lock23: | JMP Lock34 ; JMP Lock10 | MOV EBX,[z] | Lock35: ; Lock11: | MOV [L_z],$0 | MOV EDX,[d] ; MOV EDX,[c] | | MOV [L_d],$0 ; MOV [L_c],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r9) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r8) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r14) _litmus_P0_25_: movl $0,(%r8) _litmus_P0_26_: movl $1,(%r15) _litmus_P0_27_: movl (%r15),%edx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%rax) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rax),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r11),%ecx _litmus_P0_40_: movl $0,(%rax) _litmus_P0_41_: movl (%r13),%ebx _litmus_P0_42_: LitLock09: _litmus_P0_43_: movl $1,%edi _litmus_P0_44_: xchgl %edi,(%r12) _litmus_P0_45_: cmpl $0,%edi _litmus_P0_46_: je LitLock11 _litmus_P0_47_: LitLock10: _litmus_P0_48_: movl (%r12),%edi _litmus_P0_49_: cmpl $0,%edi _litmus_P0_50_: je LitLock09 _litmus_P0_51_: jmp LitLock10 _litmus_P0_52_: LitLock11: _litmus_P0_53_: movl (%r10),%esi _litmus_P0_54_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl (%r10),%edx _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%esi _litmus_P1_16_: xchgl %esi,(%r14) _litmus_P1_17_: cmpl $0,%esi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r14),%esi _litmus_P1_21_: cmpl $0,%esi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r11) _litmus_P1_26_: movl $0,(%r14) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%esi _litmus_P1_29_: xchgl %esi,(%rax) _litmus_P1_30_: cmpl $0,%esi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%esi _litmus_P1_34_: cmpl $0,%esi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r15),%ebx _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) Test X002+X003-L Required Histogram (24 states) 971107:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1318628:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 9209619:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 1038543:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 244 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 2736408:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 852253:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 759030:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 7594393:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 12089223:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 703073:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1647668:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1861 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1549967:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 177749:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 4563641:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 39199 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2277348:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 5777068:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 601273:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 46091701:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=da1f4b5bea5a7a7b9f9dcce3c9332960 Time X002+X003-L 185.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X004-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-L "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_a],EDX | XCHG [L_d],ESI | XCHG [L_c],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_b] | MOV EDX,[L_a] | MOV ESI,[L_d] | MOV ECX,[L_c] ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[c] ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | Lock39: ; XCHG [L_z],ECX | XCHG [L_x],EDX | XCHG [L_y],ESI | MOV ECX,$1 ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | XCHG [L_d],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV ECX,[L_z] | MOV EDX,[L_x] | MOV ESI,[L_y] | Lock40: ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | MOV ECX,[L_d] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | Lock41: ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[d] ; Lock06: | Lock18: | MOV ECX,[d] | MOV [L_d],$0 ; MOV ECX,$1 | MOV EDX,$1 | Lock30: | ; XCHG [L_c],ECX | XCHG [L_b],EDX | MOV ESI,$1 | ; CMP ECX,$0 | CMP EDX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV ECX,[L_c] | MOV EDX,[L_b] | Lock31: | ; CMP ECX,$0 | CMP EDX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EBX,[c] | MOV ECX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | MOV EAX,[x] | MOV [L_a],$0 | ; MOV ECX,$1 | Lock21: | MOV EAX,[y] | ; XCHG [L_x],ECX | MOV EDX,$1 | Lock33: | ; CMP ECX,$0 | XCHG [L_y],EDX | MOV ESI,$1 | ; JE Lock11 | CMP EDX,$0 | XCHG [L_z],ESI | ; Lock10: | JE Lock23 | CMP ESI,$0 | ; MOV ECX,[L_x] | Lock22: | JE Lock35 | ; CMP ECX,$0 | MOV EDX,[L_y] | Lock34: | ; JE Lock09 | CMP EDX,$0 | MOV ESI,[L_z] | ; JMP Lock10 | JE Lock21 | CMP ESI,$0 | ; Lock11: | JMP Lock22 | JE Lock33 | ; MOV EAX,[x] | Lock23: | JMP Lock34 | ; MOV [L_x],$0 | MOV EBX,[y] | Lock35: | ; | MOV [L_y],$0 | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r10) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r8) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl (%r8),%eax _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r9) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r9),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%rdi),%edx _litmus_P3_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rax) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r13) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl (%r10),%edx _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r9),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X003+X004-L Required Histogram (53 states) 6987 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 17994 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 188675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 1043 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 420370:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 68773 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 753473:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 459065:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 407289:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 4953 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1459338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 28939 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 172870:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 69223 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 300874:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 5824598:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 99556 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 195 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3714872:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 20012888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 239 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 309736:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 32525 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 5448 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 486502:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 2760864:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 432018:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1991 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1550804:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 891294:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 1136 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 903959:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3001 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3096351:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2972 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2424422:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 20305 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1598313:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1930 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 401747:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 384517:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 369631:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 501 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 882426:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 2686335:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1035656:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 1556286:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 44147093:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=477546787b396f64b01a56f9a0dae4f9 Time X003+X004-L 200.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X005-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-L "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_d],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_c] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV ESI,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | MOV EAX,[y] | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV ESI,$1 ; XCHG [L_a],ECX | XCHG [L_b],EBX | MOV ESI,$1 | XCHG [L_z],ESI ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_e],ESI | CMP ESI,$0 ; JE Lock05 | JE Lock17 | CMP ESI,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_b] | Lock28: | MOV ESI,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,[L_e] | CMP ESI,$0 ; JE Lock03 | JE Lock15 | CMP ESI,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [a],$1 | MOV [b],$1 | Lock29: | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [e],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_e],$0 | MOV ECX,[d] ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,[e] | Lock42: ; XCHG [L_d],ECX | XCHG [L_y],EBX | Lock30: | MOV ESI,$1 ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | XCHG [L_e],ESI ; JE Lock08 | JE Lock20 | XCHG [L_b],ESI | CMP ESI,$0 ; Lock07: | Lock19: | CMP ESI,$0 | JE Lock44 ; MOV ECX,[L_d] | MOV EBX,[L_y] | JE Lock32 | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | MOV ESI,[L_e] ; JE Lock06 | JE Lock18 | MOV ESI,[L_b] | CMP ESI,$0 ; JMP Lock07 | JMP Lock19 | CMP ESI,$0 | JE Lock42 ; Lock08: | Lock20: | JE Lock30 | JMP Lock43 ; MOV EBX,[d] | MOV EAX,[y] | JMP Lock31 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | Lock32: | MOV EDX,[e] ; Lock09: | Lock21: | MOV EDX,[b] | MOV [L_e],$0 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_b],$0 | MOV EAX,[z] ; XCHG [L_x],ECX | XCHG [L_c],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | MOV ESI,$1 ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | XCHG [L_a],ESI ; Lock10: | Lock22: | CMP ESI,$0 | CMP ESI,$0 ; MOV ECX,[L_x] | MOV EBX,[L_c] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | MOV ESI,[L_a] ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | CMP ESI,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [c],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_c],$0 | Lock35: | Lock47: ; | | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%r9) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r12) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r14) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r14),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: movl (%r12),%ebx _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%edi _litmus_P3_29_: xchgl %edi,(%rax) _litmus_P3_30_: cmpl $0,%edi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%rax),%edi _litmus_P3_34_: cmpl $0,%edi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl (%r15),%esi _litmus_P3_39_: movl $0,(%rax) _litmus_P3_40_: movl (%r11),%edx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%r8) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r8),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r13),%ecx _litmus_P3_53_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: movl (%r15),%edx _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r9) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r9),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r12) _litmus_P2_26_: movl $0,(%r9) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r8) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r8),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r13),%esi _litmus_P2_40_: movl $0,(%r8) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X004+X005-L Required Histogram (72 states) 171891:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 752917:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 1773 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 442924:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 56745 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 5435563:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=1; 24078 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 253353:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 205026:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 52071 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 663750:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 5400 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 3828302:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 242598:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 115816:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 213562:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 11365643:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; 997 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 277290:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 2708 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 540732:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 1061 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 243 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 257060:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=1; 371202:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 762735:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 27891 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 6097368:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 571967:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 47152 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 374797:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 10650723:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 897 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 187271:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 30090 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 18190 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2673377:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1283877:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 14287 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1208233:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 2781474:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 817578:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3520221:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 5490 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 40585270:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 3153 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 304316:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 29992 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 4920 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 345364:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 88 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 57222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 53284 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 4049 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 28462 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 48081 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 150439:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 3929 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 168816:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 5429 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 45126 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 170266:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 6369 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 219256:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 52266 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1170551:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 186947:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=d91bb763523aaa434a6330cd4640b7fb Time X004+X005-L 224.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X006-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-L "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock01: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock18: | Lock30: | MOV EAX,[z] ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | Lock42: ; XCHG [L_b],ECX | XCHG [L_d],EBX | XCHG [L_c],ESI | MOV ECX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock20 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock19: | Lock31: | JE Lock44 ; MOV ECX,[L_b] | MOV EBX,[L_d] | MOV ESI,[L_c] | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock18 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock05: | Lock20: | Lock32: | JMP Lock43 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | Lock44: ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV EBX,[a] ; Lock06: | Lock21: | MOV EAX,[y] | MOV [L_a],$0 ; MOV ECX,$1 | MOV EBX,$1 | Lock33: | ; XCHG [L_x],ECX | XCHG [L_y],EBX | MOV ESI,$1 | ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_z],ESI | ; JE Lock08 | JE Lock23 | CMP ESI,$0 | ; Lock07: | Lock22: | JE Lock35 | ; MOV ECX,[L_x] | MOV EBX,[L_y] | Lock34: | ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,[L_z] | ; JE Lock06 | JE Lock21 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock22 | JE Lock33 | ; Lock08: | Lock23: | JMP Lock34 | ; MOV [x],$1 | MOV EAX,[y] | Lock35: | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | ; Lock09: | Lock24: | MOV [L_z],$0 | ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,[c] | ; XCHG [L_b],ECX | XCHG [L_b],EBX | Lock36: | ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock26 | XCHG [L_d],ESI | ; Lock10: | Lock25: | CMP ESI,$0 | ; MOV ECX,[L_b] | MOV EBX,[L_b] | JE Lock38 | ; CMP ECX,$0 | CMP EBX,$0 | Lock37: | ; JE Lock09 | JE Lock24 | MOV ESI,[L_d] | ; JMP Lock10 | JMP Lock25 | CMP ESI,$0 | ; Lock11: | Lock26: | JE Lock36 | ; MOV EAX,[b] | MOV [b],$1 | JMP Lock37 | ; MOV [L_b],$0 | MOV [L_b],$0 | Lock38: | ; Lock12: | | MOV EDX,[d] | ; MOV ECX,$1 | | MOV [L_d],$0 | ; XCHG [L_c],ECX | | | ; CMP ECX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV ECX,[L_c] | | | ; CMP ECX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV EBX,[c] | | | ; MOV [L_c],$0 | | | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r12) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r9),%eax _litmus_P0_51_: movl $0,(%r12) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%rbx) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%rbx),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r8),%edx _litmus_P0_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r8) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r8),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r13) _litmus_P2_25_: movl $0,(%r8) _litmus_P2_26_: movl (%r15),%edx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r14) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%r14),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r11),%ecx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: movl (%r13),%ebx _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r9) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%r9),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%r9) Test X005+X006-L Required Histogram (70 states) 63552 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 16840 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 946524:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 1594581:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 216 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 24 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 257754:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 329238:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 137525:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 5232 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 557661:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 9224217:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 7019553:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 561842:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1321363:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 14 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 55529 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 888202:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1031 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1653 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 7277 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 98 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3047 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 433504:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 286553:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 1136426:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 2293812:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 770074:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 53699 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 30 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 3738772:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 15442373:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 20989637:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 294138:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 378616:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 17535 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 134660:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 825659:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3157015:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 9048234:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 226062:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 423 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 978 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 50612 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 349740:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1149777:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2469136:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 703686:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2106 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 30378 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 612587:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 19356 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 385145:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 390226:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 74618 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 760890:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 764594:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2599473:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 289 :>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 7797 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 6213 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 486040:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 13 :>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 4681582:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2234561:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=f48bed2c7ee6e7d122b69551ef8b2323 Time X005+X006-L 204.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X007-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-L "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_a],EDX | XCHG [L_d],ESI | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock41 ; Lock01: | Lock13: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EDX,[L_a] | MOV ESI,[L_d] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock14: | Lock29: | Lock41: ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock30: | Lock42: ; MOV EAX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EDX | XCHG [L_y],ESI | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock32 | JE Lock44 ; Lock04: | Lock16: | Lock31: | Lock43: ; MOV EAX,[L_z] | MOV EDX,[L_x] | MOV ESI,[L_y] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock30 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JMP Lock43 ; Lock05: | Lock17: | Lock32: | Lock44: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_c],$0 ; Lock06: | Lock18: | MOV ECX,[d] | Lock45: ; MOV EAX,$1 | MOV EDX,$1 | Lock33: | MOV ECX,$1 ; XCHG [L_c],EAX | XCHG [L_b],EDX | MOV ESI,$1 | XCHG [L_d],ECX ; CMP EAX,$0 | CMP EDX,$0 | XCHG [L_a],ESI | CMP ECX,$0 ; JE Lock08 | JE Lock20 | CMP ESI,$0 | JE Lock47 ; Lock07: | Lock19: | JE Lock35 | Lock46: ; MOV EAX,[L_c] | MOV EDX,[L_b] | Lock34: | MOV ECX,[L_d] ; CMP EAX,$0 | CMP EDX,$0 | MOV ESI,[L_a] | CMP ECX,$0 ; JE Lock06 | JE Lock18 | CMP ESI,$0 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JE Lock33 | JMP Lock46 ; Lock08: | Lock20: | JMP Lock34 | Lock47: ; MOV [c],$1 | MOV ECX,[b] | Lock35: | MOV EBX,[d] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | MOV [L_d],$0 ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV EAX,$1 | MOV EDX,$1 | MOV EAX,[y] | ; XCHG [L_x],EAX | XCHG [L_x],EDX | Lock36: | ; CMP EAX,$0 | CMP EDX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV EAX,[L_x] | MOV EDX,[L_x] | JE Lock38 | ; CMP EAX,$0 | CMP EDX,$0 | Lock37: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock36 | ; MOV [x],$1 | MOV EAX,[x] | JMP Lock37 | ; MOV [L_x],$0 | MOV [L_x],$0 | Lock38: | ; | Lock24: | MOV EBX,[z] | ; | MOV EDX,$1 | MOV [L_z],$0 | ; | XCHG [L_y],EDX | | ; | CMP EDX,$0 | | ; | JE Lock26 | | ; | Lock25: | | ; | MOV EDX,[L_y] | | ; | CMP EDX,$0 | | ; | JE Lock24 | | ; | JMP Lock25 | | ; | Lock26: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r10) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r10),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r8) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r10) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r10),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%r8),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r9) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r9),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%rdi),%edx _litmus_P3_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rax) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r13) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%esi _litmus_P1_41_: xchgl %esi,(%r13) _litmus_P1_42_: cmpl $0,%esi _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%esi _litmus_P1_46_: cmpl $0,%esi _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r10),%edx _litmus_P1_51_: movl $0,(%r13) _litmus_P1_52_: LitLock24: _litmus_P1_53_: movl $1,%esi _litmus_P1_54_: xchgl %esi,(%r12) _litmus_P1_55_: cmpl $0,%esi _litmus_P1_56_: je LitLock26 _litmus_P1_57_: LitLock25: _litmus_P1_58_: movl (%r12),%esi _litmus_P1_59_: cmpl $0,%esi _litmus_P1_60_: je LitLock24 _litmus_P1_61_: jmp LitLock25 _litmus_P1_62_: LitLock26: _litmus_P1_63_: movl (%r9),%ecx _litmus_P1_64_: movl $0,(%r12) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r12),%ebx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X006+X007-L Required Histogram (99 states) 274 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 2635 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 2934 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 1931 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 28 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 13856 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 68986 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 163096:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 58857 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 75619 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 805341:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 841721:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 2 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 29873 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 285446:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1744246:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 113679:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 105169:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1805697:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 7204353:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 8708614:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 11 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 41826 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 12063 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 33029 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 13193 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 83 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 190 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 185 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 227 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 83631 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 9642 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 5271 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 446014:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 2240929:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 2155182:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 490057:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 954033:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 2619803:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 601502:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 615708:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=1; 1395928:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 5231748:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 137685:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1502173:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2172750:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 1059309:>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 852 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 856263:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 9173403:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 28716236:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2442 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 16804 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 19479 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 1396 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 32 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=1; 404 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 2236 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 3499 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 3357 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 890 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1347 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 4306 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 255 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1776 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 33359 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 2981 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 117885:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 298815:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 650377:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 465630:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1729 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 4867 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 41550 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; 40342 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 959075:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=2; 97620 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 5260892:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=2; 49164 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 260508:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 5537 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 1036080:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 373663:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 1936161:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=1; x=2; 5 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 294 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 1056122:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=2; 1664 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=2; 71134 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 93751 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 31892 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 687932:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=2; 213289:>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 3548162:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=1cca36492419137e29c0f69fd68c09db Time X006+X007-L 211.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X008-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-L "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],EBX | XCHG [L_x],EAX | XCHG [L_y],ESI | XCHG [L_d],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EBX,[L_c] | MOV EAX,[L_x] | MOV ESI,[L_y] | MOV ESI,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_a],EBX | XCHG [L_b],EAX | XCHG [L_y],ESI | XCHG [L_z],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EBX,[L_a] | MOV EAX,[L_b] | MOV ESI,[L_y] | MOV ESI,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],ESI | XCHG [L_d],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV ESI,[L_e] | MOV ESI,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV ECX,[d] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; Lock09: | Lock21: | MOV ECX,[e] | Lock48: ; MOV EBX,$1 | MOV EAX,$1 | Lock33: | MOV ESI,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | MOV ESI,$1 | XCHG [L_e],ESI ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_b],ESI | CMP ESI,$0 ; JE Lock11 | JE Lock23 | CMP ESI,$0 | JE Lock50 ; Lock10: | Lock22: | JE Lock35 | Lock49: ; MOV EBX,[L_x] | MOV EAX,[L_c] | Lock34: | MOV ESI,[L_e] ; CMP EBX,$0 | CMP EAX,$0 | MOV ESI,[L_b] | CMP ESI,$0 ; JE Lock09 | JE Lock21 | CMP ESI,$0 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JMP Lock49 ; Lock11: | Lock23: | JMP Lock34 | Lock50: ; MOV EAX,[x] | MOV [c],$1 | Lock35: | MOV EDX,[e] ; MOV [L_x],$0 | MOV [L_c],$0 | MOV EDX,[b] | MOV [L_e],$0 ; | | MOV [L_b],$0 | MOV EAX,[z] ; | | Lock36: | Lock51: ; | | MOV ESI,$1 | MOV ESI,$1 ; | | XCHG [L_z],ESI | XCHG [L_a],ESI ; | | CMP ESI,$0 | CMP ESI,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ESI,[L_z] | MOV ESI,[L_a] ; | | CMP ESI,$0 | CMP ESI,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%r9) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r12) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r14) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r14),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r9) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r9),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r12),%ebx _litmus_P3_38_: movl $0,(%r9) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%edi _litmus_P3_41_: xchgl %edi,(%rax) _litmus_P3_42_: cmpl $0,%edi _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%rax),%edi _litmus_P3_46_: cmpl $0,%edi _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl (%r15),%esi _litmus_P3_51_: movl $0,(%rax) _litmus_P3_52_: movl (%r11),%edx _litmus_P3_53_: LitLock51: _litmus_P3_54_: movl $1,%edi _litmus_P3_55_: xchgl %edi,(%r8) _litmus_P3_56_: cmpl $0,%edi _litmus_P3_57_: je LitLock53 _litmus_P3_58_: LitLock52: _litmus_P3_59_: movl (%r8),%edi _litmus_P3_60_: cmpl $0,%edi _litmus_P3_61_: je LitLock51 _litmus_P3_62_: jmp LitLock52 _litmus_P3_63_: LitLock53: _litmus_P3_64_: movl (%r13),%ecx _litmus_P3_65_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%rbx) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r8) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r15),%edx _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r12) _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: movl (%r12),%ebx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%edi _litmus_P2_42_: xchgl %edi,(%r8) _litmus_P2_43_: cmpl $0,%edi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r8),%edi _litmus_P2_47_: cmpl $0,%edi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r13),%esi _litmus_P2_52_: movl $0,(%r8) _litmus_P2_53_: LitLock36: _litmus_P2_54_: movl $1,%edi _litmus_P2_55_: xchgl %edi,(%r14) _litmus_P2_56_: cmpl $0,%edi _litmus_P2_57_: je LitLock38 _litmus_P2_58_: LitLock37: _litmus_P2_59_: movl (%r14),%edi _litmus_P2_60_: cmpl $0,%edi _litmus_P2_61_: je LitLock36 _litmus_P2_62_: jmp LitLock37 _litmus_P2_63_: LitLock38: _litmus_P2_64_: movl (%r11),%ecx _litmus_P2_65_: movl $0,(%r14) Test X007+X008-L Required Histogram (123 states) 220141:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 112 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 6926 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 758337:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 132371:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 526347:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 82413 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 810958:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 1994 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 413809:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 35454 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 5963993:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 68977 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 119303:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 3857 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 2188557:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 44119 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 9125398:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=1; 24998 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 2711795:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 468912:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 3028874:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 4224 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 771349:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1508503:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 15674 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 22012146:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 417 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 241928:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1598 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 567289:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 946 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 44 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 132512:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 2976 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1384020:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 43648 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 4987075:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 131 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 156511:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 124815:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 17 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 15378273:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=1; 2057 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 38818 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 23385 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 9248 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 48587 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 22600 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 267978:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 13999 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 2917 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 21607 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 27867 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 416 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 21356 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 7837 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 176391:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 67224 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 11340 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 6327 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 114038:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 76196 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 337000:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=1; 21051 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 61 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 48687 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 654764:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 214419:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 133635:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 456567:>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 895738:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 670204:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 60870 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 132 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 25523 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 17582 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1652400:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1532 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 350475:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 781715:>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 5380300:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 3712 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 5632 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 15100 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 65 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 31376 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 721877:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 8008 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 572498:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 11896 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 2422337:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 39304 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 3691997:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 11 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 267 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 515 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 786341:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 5687 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 367016:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 402845:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 136170:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 484668:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 1249 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 26632 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 18681 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 577282:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 54362 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 997060:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=2; y=2; 669 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 244343:>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 12742 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1508125:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 4350 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 70313 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 42263 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=c25ea788514f9cc3110ecd6d65b77916 Time X007+X008-L 236.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X009-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-L "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock33: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock35 ; Lock01: | Lock13: | Lock25: | Lock34: ; MOV ECX,[L_c] | MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock33 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock34 ; Lock02: | Lock14: | Lock26: | Lock35: ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | Lock36: ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock38 ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV ECX,[L_y] | Lock37: ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock36 ; Lock05: | Lock17: | Lock29: | JMP Lock37 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | Lock38: ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_z],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_x] | MOV ECX,[L_d] | MOV ECX,[L_z] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [x],$1 | MOV [d],$1 | MOV EBX,[z] | ; MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_z],$0 | ; MOV EAX,[c] | MOV [b],$1 | | ; Lock09: | MOV EAX,[b] | | ; MOV ECX,$1 | Lock21: | | ; XCHG [L_d],ECX | MOV ECX,$1 | | ; CMP ECX,$0 | XCHG [L_c],ECX | | ; JE Lock11 | CMP ECX,$0 | | ; Lock10: | JE Lock23 | | ; MOV ECX,[L_d] | Lock22: | | ; CMP ECX,$0 | MOV ECX,[L_c] | | ; JE Lock09 | CMP ECX,$0 | | ; JMP Lock10 | JE Lock21 | | ; Lock11: | JMP Lock22 | | ; MOV EBX,[d] | Lock23: | | ; MOV [L_d],$0 | MOV EBX,[c] | | ; | MOV [L_c],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: LitLock33: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: movl (%r9),%eax _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%r14d _litmus_P0_42_: xchgl %r14d,(%rbx) _litmus_P0_43_: cmpl $0,%r14d _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%rbx),%r14d _litmus_P0_47_: cmpl $0,%r14d _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r8),%edx _litmus_P0_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%rbx) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r13) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r9) _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: movl $1,(%r11) _litmus_P1_40_: movl (%r11),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r14) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r10),%edx _litmus_P1_53_: movl $0,(%r14) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X008+X009-L Required Histogram (51 states) 19391 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 718 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 1501033:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 228782:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 6002590:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 159280:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 112712:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 3537847:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 1102173:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 7397703:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 26984057:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; 6008 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 225 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 40843 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 75495 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 1258885:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 4724768:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; 222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 716506:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 1637852:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 167 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 7113899:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 6434763:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 554213:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; 1329 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 3604215:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 3282 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 68 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1967485:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 3596 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 417652:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 5364424:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 25036 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 79934 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 2054 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; 1414151:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 58529 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 5067103:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; 54882 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 1592 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 91624 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; 454092:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 1678829:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 9390237:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; 3248 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; 658 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; 705787:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; 34 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=8d12467513e07950a5dae10561d00a30 Time X008+X009-L 187.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X010-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-L "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_d],ECX ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ECX,[L_d] ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | MOV EAX,[d] ; MOV ESI,$1 | MOV EDX,$1 | Lock27: ; XCHG [L_z],ESI | XCHG [L_a],EDX | MOV ECX,$1 ; CMP ESI,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock16: | JE Lock29 ; MOV ESI,[L_z] | MOV EDX,[L_a] | Lock28: ; CMP ESI,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JE Lock27 ; Lock05: | Lock17: | JMP Lock28 ; MOV [z],$1 | MOV [a],$1 | Lock29: ; MOV [L_z],$0 | MOV [L_a],$0 | MOV EBX,[a] ; MOV [x],$1 | Lock18: | MOV [L_a],$0 ; MOV EAX,[x] | MOV EDX,$1 | ; MOV [c],$1 | XCHG [L_b],EDX | ; MOV ECX,[c] | CMP EDX,$0 | ; Lock06: | JE Lock20 | ; MOV ESI,$1 | Lock19: | ; XCHG [L_d],ESI | MOV EDX,[L_b] | ; CMP ESI,$0 | CMP EDX,$0 | ; JE Lock08 | JE Lock18 | ; Lock07: | JMP Lock19 | ; MOV ESI,[L_d] | Lock20: | ; CMP ESI,$0 | MOV ECX,[b] | ; JE Lock06 | MOV [L_b],$0 | ; JMP Lock07 | MOV EAX,[y] | ; Lock08: | Lock21: | ; MOV EDX,[d] | MOV EDX,$1 | ; MOV [L_d],$0 | XCHG [L_z],EDX | ; Lock09: | CMP EDX,$0 | ; MOV ESI,$1 | JE Lock23 | ; XCHG [L_y],ESI | Lock22: | ; CMP ESI,$0 | MOV EDX,[L_z] | ; JE Lock11 | CMP EDX,$0 | ; Lock10: | JE Lock21 | ; MOV ESI,[L_y] | JMP Lock22 | ; CMP ESI,$0 | Lock23: | ; JE Lock09 | MOV EBX,[z] | ; JMP Lock10 | MOV [L_z],$0 | ; Lock11: | | ; MOV EBX,[y] | | ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rbp) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdi) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: movl $1,(%r10) _litmus_P0_27_: movl (%r10),%esi _litmus_P0_28_: movl $1,(%r8) _litmus_P0_29_: movl (%r8),%r13d _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%r15d _litmus_P0_32_: xchgl %r15d,(%rcx) _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rcx),%r15d _litmus_P0_37_: cmpl $0,%r15d _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r9),%r14d _litmus_P0_42_: movl $0,(%rcx) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%r15d _litmus_P0_45_: xchgl %r15d,(%rbx) _litmus_P0_46_: cmpl $0,%r15d _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%rbx),%r15d _litmus_P0_50_: cmpl $0,%r15d _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%r11),%r12d _litmus_P0_55_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%rax) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rax),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r15) _litmus_P1_25_: movl $0,(%rax) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl (%r10),%edx _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) Test X009+X010-L Required Histogram (17 states) 3420079:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1068 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 25292 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 332357:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 8483 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 4984276:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 47079302:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 580375:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9481695:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 26 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 11254 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 56 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 5650 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1360599:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7243128:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 486 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 25465874:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=26d8b1505861069a9e77f7ffad445f48 Time X009+X010-L 164.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X011-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-L "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_c],EDX | XCHG [L_x],ECX | XCHG [L_z],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_c] | MOV ECX,[L_x] | MOV ESI,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; MOV [d],$1 | Lock15: | Lock27: ; Lock03: | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [L_b],ECX | XCHG [L_e],ESI ; XCHG [L_a],EDX | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock17 | JE Lock29 ; JE Lock05 | Lock16: | Lock28: ; Lock04: | MOV ECX,[L_b] | MOV ESI,[L_e] ; MOV EDX,[L_a] | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock15 | JE Lock27 ; JE Lock03 | JMP Lock16 | JMP Lock28 ; JMP Lock04 | Lock17: | Lock29: ; Lock05: | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [L_b],$0 | MOV [L_e],$0 ; MOV [L_a],$0 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | Lock18: | Lock30: ; Lock06: | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [L_c],ECX | XCHG [L_a],ESI ; XCHG [L_x],EDX | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV ECX,[L_c] | MOV ESI,[L_a] ; MOV EDX,[L_x] | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [L_c],$0 | MOV [L_a],$0 ; MOV [L_x],$0 | MOV EAX,[y] | MOV ECX,[e] ; Lock09: | Lock21: | Lock33: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_e],EDX | XCHG [L_z],ECX | XCHG [L_b],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock11 | JE Lock23 | JE Lock35 ; Lock10: | Lock22: | Lock34: ; MOV EDX,[L_e] | MOV ECX,[L_z] | MOV ESI,[L_b] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock09 | JE Lock21 | JE Lock33 ; JMP Lock10 | JMP Lock22 | JMP Lock34 ; Lock11: | Lock23: | Lock35: ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; MOV [L_e],$0 | MOV [L_z],$0 | MOV [L_b],$0 ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r9) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r9),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rdx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r15) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: movl $1,(%r11) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%rax) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rax),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r12) _litmus_P0_26_: movl $0,(%rax) _litmus_P0_27_: movl (%r11),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%r13) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r13),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r9),%ecx _litmus_P0_40_: movl $0,(%r13) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r14) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r14),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%esi _litmus_P0_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r14) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: movl $1,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%r15d _litmus_P1_29_: xchgl %r15d,(%r13) _litmus_P1_30_: cmpl $0,%r15d _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r13),%r15d _litmus_P1_34_: cmpl $0,%r15d _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r10) _litmus_P1_39_: movl $0,(%r13) _litmus_P1_40_: movl (%r8),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%rbx) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%rdi),%edx _litmus_P1_53_: movl $0,(%rbx) Test X010+X011-L Required Histogram (23 states) 1570902:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 9163290:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; 1666807:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 21 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 3293406:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 683320:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 36 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 11447267:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; 252262:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 6008996:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 15456 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 2508482:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 6628287:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 518426:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 43999560:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 916063:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=2; 636944:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 6794696:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=2; 699509:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 1380875:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 2244 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; 1813149:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=712751f172794cc04f32ba1eed174eec Time X010+X011-L 190.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X012-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-L "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_x],EDX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_b] | MOV EDX,[L_x] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV EAX,[z] ; MOV ECX,$1 | Lock15: | Lock27: ; XCHG [L_a],ECX | MOV EDX,$1 | MOV ECX,$1 ; CMP ECX,$0 | XCHG [L_c],EDX | XCHG [L_a],ECX ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 ; Lock04: | JE Lock17 | JE Lock29 ; MOV ECX,[L_a] | Lock16: | Lock28: ; CMP ECX,$0 | MOV EDX,[L_c] | MOV ECX,[L_a] ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock15 | JE Lock27 ; Lock05: | JMP Lock16 | JMP Lock28 ; MOV [a],$1 | Lock17: | Lock29: ; MOV [L_a],$0 | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[b] | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | ; MOV ECX,$1 | MOV EDX,$1 | ; XCHG [L_x],ECX | XCHG [L_b],EDX | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock08 | JE Lock20 | ; Lock07: | Lock19: | ; MOV ECX,[L_x] | MOV EDX,[L_b] | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock06 | JE Lock18 | ; JMP Lock07 | JMP Lock19 | ; Lock08: | Lock20: | ; MOV [x],$1 | MOV ECX,[b] | ; MOV [L_x],$0 | MOV [L_b],$0 | ; Lock09: | MOV EAX,[y] | ; MOV ECX,$1 | Lock21: | ; XCHG [L_c],ECX | MOV EDX,$1 | ; CMP ECX,$0 | XCHG [L_z],EDX | ; JE Lock11 | CMP EDX,$0 | ; Lock10: | JE Lock23 | ; MOV ECX,[L_c] | Lock22: | ; CMP ECX,$0 | MOV EDX,[L_z] | ; JE Lock09 | CMP EDX,$0 | ; JMP Lock10 | JE Lock21 | ; Lock11: | JMP Lock22 | ; MOV EBX,[c] | Lock23: | ; MOV [L_c],$0 | MOV EBX,[z] | ; | MOV [L_z],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: movl (%r9),%eax _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%r14d _litmus_P0_29_: xchgl %r14d,(%r11) _litmus_P0_30_: cmpl $0,%r14d _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r11),%r14d _litmus_P0_34_: cmpl $0,%r14d _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%rdi) _litmus_P0_39_: movl $0,(%r11) _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%r14d _litmus_P0_42_: xchgl %r14d,(%rbx) _litmus_P0_43_: cmpl $0,%r14d _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%rbx),%r14d _litmus_P0_47_: cmpl $0,%r14d _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r8),%edx _litmus_P0_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edi _litmus_P1_16_: xchgl %edi,(%rdx) _litmus_P1_17_: cmpl $0,%edi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%rdx),%edi _litmus_P1_21_: cmpl $0,%edi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r15) _litmus_P1_26_: movl $0,(%rdx) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%rax) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r12),%esi _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r10),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r13) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%ebx _litmus_P1_53_: movl $0,(%r13) Test X011+X012-L Required Histogram (17 states) 265855:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 10243944:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 48706 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 39190348:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2943719:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 176799:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 20623 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4292108:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 142873:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 29830695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3009345:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 448 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 520596:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 65 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 9310442:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 3432 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=d4e7e75f9170570016d275a79674030c Time X011+X012-L 161.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X013-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-L "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EDX,$1 | MOV EDX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_y],EDX | XCHG [L_x],EDX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP EDX,$0 | CMP EDX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EDX,[L_y] | MOV EDX,[L_x] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP EDX,$0 | CMP EDX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | MOV EAX,[x] | MOV EAX,[d] | Lock33: ; MOV EDX,$1 | Lock15: | Lock27: | MOV EBX,$1 ; XCHG [L_x],EDX | MOV EDX,$1 | MOV ECX,$1 | XCHG [L_d],EBX ; CMP EDX,$0 | XCHG [L_y],EDX | XCHG [L_a],ECX | CMP EBX,$0 ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 | JE Lock35 ; Lock04: | JE Lock17 | JE Lock29 | Lock34: ; MOV EDX,[L_x] | Lock16: | Lock28: | MOV EBX,[L_d] ; CMP EDX,$0 | MOV EDX,[L_y] | MOV ECX,[L_a] | CMP EBX,$0 ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 | JE Lock33 ; JMP Lock04 | JE Lock15 | JE Lock27 | JMP Lock34 ; Lock05: | JMP Lock16 | JMP Lock28 | Lock35: ; MOV EAX,[x] | Lock17: | Lock29: | MOV EAX,[d] ; MOV [L_x],$0 | MOV EBX,[y] | MOV EBX,[a] | MOV [L_d],$0 ; Lock06: | MOV [L_y],$0 | MOV [L_a],$0 | ; MOV EDX,$1 | Lock18: | | ; XCHG [L_b],EDX | MOV EDX,$1 | | ; CMP EDX,$0 | XCHG [L_a],EDX | | ; JE Lock08 | CMP EDX,$0 | | ; Lock07: | JE Lock20 | | ; MOV EDX,[L_b] | Lock19: | | ; CMP EDX,$0 | MOV EDX,[L_a] | | ; JE Lock06 | CMP EDX,$0 | | ; JMP Lock07 | JE Lock18 | | ; Lock08: | JMP Lock19 | | ; MOV [b],$1 | Lock20: | | ; MOV [L_b],$0 | MOV [a],$1 | | ; MOV EBX,[b] | MOV [L_a],$0 | | ; Lock09: | Lock21: | | ; MOV EDX,$1 | MOV EDX,$1 | | ; XCHG [L_c],EDX | XCHG [L_b],EDX | | ; CMP EDX,$0 | CMP EDX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EDX,[L_c] | MOV EDX,[L_b] | | ; CMP EDX,$0 | CMP EDX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV ECX,[c] | MOV ECX,[b] | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%esi _litmus_P0_2_: xchgl %esi,(%r12) _litmus_P0_3_: cmpl $0,%esi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%esi _litmus_P0_7_: cmpl $0,%esi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%esi _litmus_P0_15_: xchgl %esi,(%r13) _litmus_P0_16_: cmpl $0,%esi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%esi _litmus_P0_20_: cmpl $0,%esi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r10),%edx _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%esi _litmus_P0_28_: xchgl %esi,(%rax) _litmus_P0_29_: cmpl $0,%esi _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rax),%esi _litmus_P0_33_: cmpl $0,%esi _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r15) _litmus_P0_38_: movl $0,(%rax) _litmus_P0_39_: movl (%r15),%ecx _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%esi _litmus_P0_42_: xchgl %esi,(%r14) _litmus_P0_43_: cmpl $0,%esi _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%r14),%esi _litmus_P0_47_: cmpl $0,%esi _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r11),%ebx _litmus_P0_52_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl (%r10),%edx _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%esi _litmus_P1_16_: xchgl %esi,(%r12) _litmus_P1_17_: cmpl $0,%esi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r12),%esi _litmus_P1_21_: cmpl $0,%esi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl (%r9),%ecx _litmus_P1_26_: movl $0,(%r12) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%esi _litmus_P1_29_: xchgl %esi,(%rax) _litmus_P1_30_: cmpl $0,%esi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%esi _litmus_P1_34_: cmpl $0,%esi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r15) _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r14) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r14),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r11),%ebx _litmus_P1_52_: movl $0,(%r14) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) Test X012+X013-L Required Histogram (40 states) 1374699:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 734982:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 168846:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9917 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9542602:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4013814:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1620 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4226191:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 110 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 13 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 433104:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 553 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 153266:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10940 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1366 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1086871:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1010455:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6796 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8809869:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1802 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3031517:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 13765 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1657419:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1660977:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 81926 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 20877892:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 20087224:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 886711:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 9094251:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 16715 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 133011:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 736595:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2055655:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4036908:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 979094:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 135268:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2927234:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=0343dc2d7df6617573add98033400706 Time X012+X013-L 171.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X014-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-L "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock39: ; MOV EDX,$1 | MOV ECX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],EDX | XCHG [L_x],ECX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP EDX,$0 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock01: | Lock16: | Lock28: | Lock40: ; MOV EDX,[L_a] | MOV ECX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[x] | Lock30: | MOV EAX,[z] ; MOV EDX,$1 | Lock18: | MOV EDX,$1 | Lock42: ; XCHG [L_c],EDX | MOV ECX,$1 | XCHG [L_z],EDX | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_b],ECX | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | CMP ECX,$0 | JE Lock32 | CMP EDX,$0 ; Lock04: | JE Lock20 | Lock31: | JE Lock44 ; MOV EDX,[L_c] | Lock19: | MOV EDX,[L_z] | Lock43: ; CMP EDX,$0 | MOV ECX,[L_b] | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | CMP ECX,$0 | JE Lock30 | CMP EDX,$0 ; JMP Lock04 | JE Lock18 | JMP Lock31 | JE Lock42 ; Lock05: | JMP Lock19 | Lock32: | JMP Lock43 ; MOV [c],$2 | Lock20: | MOV EAX,[z] | Lock44: ; MOV [L_c],$0 | MOV [b],$1 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | MOV [L_b],$0 | Lock33: | MOV [L_a],$0 ; MOV EDX,$1 | Lock21: | MOV EDX,$1 | Lock45: ; XCHG [L_x],EDX | MOV ECX,$1 | XCHG [L_e],EDX | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_c],ECX | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | CMP ECX,$0 | JE Lock35 | CMP EDX,$0 ; Lock07: | JE Lock23 | Lock34: | JE Lock47 ; MOV EDX,[L_x] | Lock22: | MOV EDX,[L_e] | Lock46: ; CMP EDX,$0 | MOV ECX,[L_c] | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | CMP ECX,$0 | JE Lock33 | CMP EDX,$0 ; JMP Lock07 | JE Lock21 | JMP Lock34 | JE Lock45 ; Lock08: | JMP Lock22 | Lock35: | JMP Lock46 ; MOV EAX,[x] | Lock23: | MOV [e],$1 | Lock47: ; MOV [L_x],$0 | MOV [c],$1 | MOV [L_e],$0 | MOV [d],$1 ; Lock09: | MOV [L_c],$0 | MOV EBX,[e] | MOV [L_d],$0 ; MOV EDX,$1 | Lock24: | Lock36: | Lock48: ; XCHG [L_c],EDX | MOV ECX,$1 | MOV EDX,$1 | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_y],ECX | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | JE Lock26 | JE Lock38 | JE Lock50 ; MOV EDX,[L_c] | Lock25: | Lock37: | Lock49: ; CMP EDX,$0 | MOV ECX,[L_y] | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JE Lock24 | JE Lock36 | JE Lock48 ; Lock11: | JMP Lock25 | JMP Lock37 | JMP Lock49 ; MOV EBX,[c] | Lock26: | Lock38: | Lock50: ; MOV [L_c],$0 | MOV EBX,[y] | MOV ECX,[b] | MOV ECX,[e] ; Lock12: | MOV [L_y],$0 | MOV [L_b],$0 | MOV [L_e],$0 ; MOV EDX,$1 | | | ; XCHG [L_d],EDX | | | ; CMP EDX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV EDX,[L_d] | | | ; CMP EDX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV ECX,[d] | | | ; MOV [L_d],$0 | | | ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock45: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock47 _litmus_P3_32_: LitLock46: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock45 _litmus_P3_36_: jmp LitLock46 _litmus_P3_37_: LitLock47: _litmus_P3_38_: movl $1,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock48: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock50 _litmus_P3_45_: LitLock49: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock48 _litmus_P3_49_: jmp LitLock49 _litmus_P3_50_: LitLock50: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%esi _litmus_P0_2_: xchgl %esi,(%rax) _litmus_P0_3_: cmpl $0,%esi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%esi _litmus_P0_7_: cmpl $0,%esi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r15) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%esi _litmus_P0_15_: xchgl %esi,(%r14) _litmus_P0_16_: cmpl $0,%esi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%esi _litmus_P0_20_: cmpl $0,%esi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%esi _litmus_P0_28_: xchgl %esi,(%r12) _litmus_P0_29_: cmpl $0,%esi _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%esi _litmus_P0_33_: cmpl $0,%esi _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%esi _litmus_P0_41_: xchgl %esi,(%r14) _litmus_P0_42_: cmpl $0,%esi _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r14),%esi _litmus_P0_46_: cmpl $0,%esi _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r11),%ecx _litmus_P0_51_: movl $0,(%r14) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%esi _litmus_P0_54_: xchgl %esi,(%r13) _litmus_P0_55_: cmpl $0,%esi _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r13),%esi _litmus_P0_59_: cmpl $0,%esi _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r10),%ebx _litmus_P0_64_: movl $0,(%r13) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock18: _litmus_P1_15_: movl $1,%r14d _litmus_P1_16_: xchgl %r14d,(%r13) _litmus_P1_17_: cmpl $0,%r14d _litmus_P1_18_: je LitLock20 _litmus_P1_19_: LitLock19: _litmus_P1_20_: movl (%r13),%r14d _litmus_P1_21_: cmpl $0,%r14d _litmus_P1_22_: je LitLock18 _litmus_P1_23_: jmp LitLock19 _litmus_P1_24_: LitLock20: _litmus_P1_25_: movl $1,(%r10) _litmus_P1_26_: movl $0,(%r13) _litmus_P1_27_: LitLock21: _litmus_P1_28_: movl $1,%r14d _litmus_P1_29_: xchgl %r14d,(%r12) _litmus_P1_30_: cmpl $0,%r14d _litmus_P1_31_: je LitLock23 _litmus_P1_32_: LitLock22: _litmus_P1_33_: movl (%r12),%r14d _litmus_P1_34_: cmpl $0,%r14d _litmus_P1_35_: je LitLock21 _litmus_P1_36_: jmp LitLock22 _litmus_P1_37_: LitLock23: _litmus_P1_38_: movl $1,(%r9) _litmus_P1_39_: movl $0,(%r12) _litmus_P1_40_: LitLock24: _litmus_P1_41_: movl $1,%r14d _litmus_P1_42_: xchgl %r14d,(%r11) _litmus_P1_43_: cmpl $0,%r14d _litmus_P1_44_: je LitLock26 _litmus_P1_45_: LitLock25: _litmus_P1_46_: movl (%r11),%r14d _litmus_P1_47_: cmpl $0,%r14d _litmus_P1_48_: je LitLock24 _litmus_P1_49_: jmp LitLock25 _litmus_P1_50_: LitLock26: _litmus_P1_51_: movl (%rdi),%edx _litmus_P1_52_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X013+X014-L Required Histogram (143 states) 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 198709:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 357434:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 926108:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 115 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 15 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 22688 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1056 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5278 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5527819:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 521463:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2577713:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 12 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 134461:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1320 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 675168:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 954 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 213 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 9 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 203 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 9 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 31 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 202611:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 110724:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 185174:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 124938:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3693 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 12704 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 10333 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2405232:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 158678:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 41 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 6108618:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2468835:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1282776:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 138952:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10740 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 156600:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 10 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 206908:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 90044 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1531363:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 11017 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1960 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 6 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 14 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 19 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 889215:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 588 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 391008:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 113646:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1552957:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1407215:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2306557:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 127186:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 750589:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 141 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 435308:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 91386 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 50103 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 333647:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 209518:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10094 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3075 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6296 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 44 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1046835:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 335864:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1102624:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 4230761:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 82 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 344228:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 314102:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 98909 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 261593:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6296 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1718315:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3170156:>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 6929923:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 7 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10273457:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 110804:>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2562690:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 128465:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 111 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 3 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 752884:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 7124574:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 23 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 357046:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 349525:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 8888 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1214996:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 606742:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 3 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 231808:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 3081 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 768087:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 120 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 102527:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 82 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 6018931:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 53349 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1021084:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 50 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 85 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 56672 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 56291 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1138421:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 5581535:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1001223:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 183976:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 2499909:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3381469:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=44e93a8101a7245e0ce689d57b002cc1 Time X013+X014-L 225.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X015-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-L "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock39: ; MOV EBX,$1 | MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock41 ; Lock01: | Lock13: | Lock28: | Lock40: ; MOV EBX,[L_a] | MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock14: | Lock29: | Lock41: ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock30: | MOV EAX,[z] ; MOV EBX,$1 | MOV ESI,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],EBX | XCHG [L_x],ESI | XCHG [L_e],EDX | MOV ECX,$1 ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock16: | Lock31: | JE Lock44 ; MOV EBX,[L_d] | MOV ESI,[L_x] | MOV EDX,[L_e] | Lock43: ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JE Lock42 ; Lock05: | Lock17: | Lock32: | JMP Lock43 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV EBX,[a] ; Lock06: | Lock18: | MOV EBX,[e] | MOV [L_a],$0 ; MOV EBX,$1 | MOV ESI,$1 | Lock33: | ; XCHG [L_x],EBX | XCHG [L_x],ESI | MOV EDX,$1 | ; CMP EBX,$0 | CMP ESI,$0 | XCHG [L_b],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock35 | ; MOV EBX,[L_x] | MOV ESI,[L_x] | Lock34: | ; CMP EBX,$0 | CMP ESI,$0 | MOV EDX,[L_b] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock33 | ; Lock08: | Lock20: | JMP Lock34 | ; MOV [x],$1 | MOV EAX,[x] | Lock35: | ; MOV [L_x],$0 | MOV [L_x],$0 | MOV ECX,[b] | ; Lock09: | MOV [c],$1 | MOV [L_b],$0 | ; MOV EBX,$1 | MOV ECX,[c] | Lock36: | ; XCHG [L_e],EBX | Lock21: | MOV EDX,$1 | ; CMP EBX,$0 | MOV ESI,$1 | XCHG [L_z],EDX | ; JE Lock11 | XCHG [L_d],ESI | CMP EDX,$0 | ; Lock10: | CMP ESI,$0 | JE Lock38 | ; MOV EBX,[L_e] | JE Lock23 | Lock37: | ; CMP EBX,$0 | Lock22: | MOV EDX,[L_z] | ; JE Lock09 | MOV ESI,[L_d] | CMP EDX,$0 | ; JMP Lock10 | CMP ESI,$0 | JE Lock36 | ; Lock11: | JE Lock21 | JMP Lock37 | ; MOV EAX,[e] | JMP Lock22 | Lock38: | ; MOV [L_e],$0 | Lock23: | MOV EAX,[z] | ; | MOV EDX,[d] | MOV [L_z],$0 | ; | MOV [L_d],$0 | | ; | Lock24: | | ; | MOV ESI,$1 | | ; | XCHG [L_y],ESI | | ; | CMP ESI,$0 | | ; | JE Lock26 | | ; | Lock25: | | ; | MOV ESI,[L_y] | | ; | CMP ESI,$0 | | ; | JE Lock24 | | ; | JMP Lock25 | | ; | Lock26: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r9) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r10) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r15) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%edi _litmus_P1_28_: xchgl %edi,(%r10) _litmus_P1_29_: cmpl $0,%edi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%edi _litmus_P1_33_: cmpl $0,%edi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r15),%edx _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: movl $1,(%r13) _litmus_P1_40_: movl (%r13),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r9) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r9),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%esi _litmus_P1_53_: movl $0,(%r9) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%edi _litmus_P1_56_: xchgl %edi,(%rax) _litmus_P1_57_: cmpl $0,%edi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%rax),%edi _litmus_P1_61_: cmpl $0,%edi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r11),%ecx _litmus_P1_66_: movl $0,(%rax) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r14) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r14),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r14) _litmus_P2_26_: movl (%r11),%ecx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%esi _litmus_P2_29_: xchgl %esi,(%rax) _litmus_P2_30_: cmpl $0,%esi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%rax),%esi _litmus_P2_34_: cmpl $0,%esi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r15),%ebx _litmus_P2_39_: movl $0,(%rax) _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%r12) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%r12),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%r9),%edx _litmus_P2_52_: movl $0,(%r12) Test X014+X015-L Required Histogram (64 states) 46827 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 722 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 15993 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 819579:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 112768:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 1340996:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 1716 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 66954 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 9 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 491627:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 700824:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 234291:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 12309861:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 10679 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 36920 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 404 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 64121 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 778078:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 67351 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 7341649:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 136501:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 34031 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 532904:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 66855 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 115896:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1575629:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 872 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 8012 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 313 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 377832:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 80 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 679 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 354 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3380 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 824 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 170256:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 852468:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 492714:>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 512826:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 7421901:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 75409 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 347866:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3773 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 605703:>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 3343064:>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 722727:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 21342946:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 6364 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 24276 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 2924277:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 83731 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 1009376:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 2590944:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 14347 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 512728:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 673145:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 7350977:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=2; 752 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 10547 :>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 13194 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 923575:>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 10265759:>0:EAX=0; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; 10408823:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=152d979e6eab98f0b9933db14521b68c Time X014+X015-L 208.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X016-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-L "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_b],EDX | XCHG [L_y],ECX | XCHG [L_z],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_b] | MOV ECX,[L_y] | MOV ESI,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_a],EDX | XCHG [L_d],ECX | XCHG [L_c],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV EDX,[L_a] | MOV ECX,[L_d] | MOV ESI,[L_c] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; MOV [x],$1 | Lock18: | MOV EAX,[z] ; Lock06: | MOV ECX,$1 | Lock30: ; MOV EDX,$1 | XCHG [L_z],ECX | MOV ESI,$1 ; XCHG [L_c],EDX | CMP ECX,$0 | XCHG [L_a],ESI ; CMP EDX,$0 | JE Lock20 | CMP ESI,$0 ; JE Lock08 | Lock19: | JE Lock32 ; Lock07: | MOV ECX,[L_z] | Lock31: ; MOV EDX,[L_c] | CMP ECX,$0 | MOV ESI,[L_a] ; CMP EDX,$0 | JE Lock18 | CMP ESI,$0 ; JE Lock06 | JMP Lock19 | JE Lock30 ; JMP Lock07 | Lock20: | JMP Lock31 ; Lock08: | MOV EAX,[z] | Lock32: ; MOV ECX,[c] | MOV [L_z],$0 | MOV EBX,[a] ; MOV [L_c],$0 | Lock21: | MOV [L_a],$0 ; MOV EAX,[x] | MOV ECX,$1 | MOV ECX,[c] ; Lock09: | XCHG [L_b],ECX | Lock33: ; MOV EDX,$1 | CMP ECX,$0 | MOV ESI,$1 ; XCHG [L_y],EDX | JE Lock23 | XCHG [L_d],ESI ; CMP EDX,$0 | Lock22: | CMP ESI,$0 ; JE Lock11 | MOV ECX,[L_b] | JE Lock35 ; Lock10: | CMP ECX,$0 | Lock34: ; MOV EDX,[L_y] | JE Lock21 | MOV ESI,[L_d] ; CMP EDX,$0 | JMP Lock22 | CMP ESI,$0 ; JE Lock09 | Lock23: | JE Lock33 ; JMP Lock10 | MOV EBX,[b] | JMP Lock34 ; Lock11: | MOV [L_b],$0 | Lock35: ; MOV EBX,[y] | | MOV EDX,[d] ; MOV [L_y],$0 | | MOV [L_d],$0 ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rax) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r15) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r12) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: movl $1,(%r10) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%edi _litmus_P0_29_: xchgl %edi,(%r14) _litmus_P0_30_: cmpl $0,%edi _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r14),%edi _litmus_P0_34_: cmpl $0,%edi _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r11),%esi _litmus_P0_39_: movl $0,(%r14) _litmus_P0_40_: movl (%r10),%ecx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r13) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r13),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r9),%ebx _litmus_P0_53_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r11) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r13) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r10),%edx _litmus_P1_51_: movl $0,(%r13) Test X015+X016-L Required Histogram (22 states) 874524:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 998550:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 8501692:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 2468321:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 386588:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 384380:>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 611832:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 1486534:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3066687:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 15938 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 14895626:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 712625:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1019324:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 10228 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 128582:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 12081161:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2179418:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1436752:>0:EAX=1; 0:EBX=0; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 20759981:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 2012 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 27979244:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=c3974eb1946903c8dbe74b7b61ff7a52 Time X015+X016-L 182.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X017-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-L "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_x],ECX | XCHG [L_d],ESI | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_b] | MOV ECX,[L_x] | MOV ESI,[L_d] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_z],ECX | XCHG [L_a],ECX | XCHG [L_y],ESI | XCHG [L_d],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_z] | MOV ECX,[L_a] | MOV ESI,[L_y] | MOV EBX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | MOV ECX,[d] | ; MOV ECX,$1 | MOV ECX,$1 | Lock30: | ; XCHG [L_c],ECX | XCHG [L_b],ECX | MOV ESI,$1 | ; CMP ECX,$0 | CMP ECX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV ECX,[L_c] | MOV ECX,[L_b] | Lock31: | ; CMP ECX,$0 | CMP ECX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EBX,[c] | MOV EBX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,[y] | ; XCHG [L_x],ECX | XCHG [L_y],ECX | Lock33: | ; CMP ECX,$0 | CMP ECX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV ECX,[L_x] | MOV ECX,[L_y] | JE Lock35 | ; CMP ECX,$0 | CMP ECX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r13) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r9),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X016+X017-L Required Histogram (52 states) 87690 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 3982 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 514397:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 7345 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 824380:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1196193:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 576316:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 581085:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 301894:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7500 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1798673:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 26917 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 100958:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 290727:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 61057 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 10347862:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 75255 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9172 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 624241:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 20495935:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 906 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1070453:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 24502 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 39361 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 97503 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 6422886:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1063019:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 380330:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 474589:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 8409829:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 716 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 511524:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2191 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2008990:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 918 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 887193:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 24774 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1427880:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1183 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 328837:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 38386 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 905386:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1498253:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 779748:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2335635:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 6789 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 33326512:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=f87c99f3a0eb9f891c7719fffb290ad1 Time X016+X017-L 196.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X018-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-L "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_z],EDX | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP EDX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV EDX,[L_z] | Lock40: ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP EDX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | Lock41: ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],ECX | XCHG [L_y],EBX | XCHG [L_e],EDX | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | JE Lock20 | JE Lock32 | CMP EDX,$0 ; Lock07: | Lock19: | Lock31: | JE Lock44 ; MOV ECX,[L_d] | MOV EBX,[L_y] | MOV EDX,[L_e] | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | JE Lock18 | JE Lock30 | CMP EDX,$0 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock08: | Lock20: | Lock32: | JMP Lock43 ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [d],$1 ; Lock09: | Lock21: | MOV EBX,[e] | MOV [L_d],$0 ; MOV ECX,$1 | MOV EBX,$1 | Lock33: | Lock45: ; XCHG [L_x],ECX | XCHG [L_c],EBX | MOV EDX,$1 | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | JE Lock23 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | Lock22: | JE Lock35 | JE Lock47 ; MOV ECX,[L_x] | MOV EBX,[L_c] | Lock34: | Lock46: ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | JE Lock21 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JE Lock45 ; Lock11: | Lock23: | JMP Lock34 | JMP Lock46 ; MOV EAX,[x] | MOV [c],$1 | Lock35: | Lock47: ; MOV [L_x],$0 | MOV [L_c],$0 | MOV ECX,[b] | MOV ECX,[e] ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $1,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X017+X018-L Required Histogram (110 states) 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 142995:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1291187:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 73 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 4118 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 218415:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 100 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 183825:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 9926949:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 203697:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 716 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 87280 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4270 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 462 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 436 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 138 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 121580:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2127067:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2940 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 402151:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1497929:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5133062:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 169644:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 5645617:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2421 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 428916:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 45 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 55 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 25982 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2043290:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 30571 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 23 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 2379 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3207946:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 747547:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5529958:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3814 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 855187:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 225379:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 344506:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 5030 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 88325 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 3597 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 189417:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 302822:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 12446717:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 839131:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 92221 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2502498:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 9627 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1244279:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 26355529:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2649908:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 29732 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 39 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 32 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1146134:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1620019:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 256500:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 950835:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1071 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 127179:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 148724:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 64799 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 4156 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 220421:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 740 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 128014:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 58 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 2361566:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 193863:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 352395:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 73 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 36 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 351421:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 117058:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1126165:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1106040:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1802204:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 307214:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 54537 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 187031:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=c367076c2246b1cc39b649d0773b6a74 Time X017+X018-L 220.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X019-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-L "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_b],EBX | XCHG [L_d],EBX | XCHG [L_c],EDX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV EBX,[L_b] | MOV EBX,[L_d] | MOV EDX,[L_c] | Lock40: ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | Lock41: ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV EBX,[a] ; Lock06: | Lock18: | MOV EBX,[c] | MOV [L_a],$0 ; MOV EBX,$1 | MOV EBX,$1 | Lock30: | ; XCHG [L_c],EBX | XCHG [L_y],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_d],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EBX,[L_c] | MOV EBX,[L_y] | Lock31: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_d] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EAX,[c] | MOV EAX,[y] | Lock32: | ; MOV [L_c],$0 | MOV [L_y],$0 | MOV ECX,[d] | ; Lock09: | Lock21: | MOV [L_d],$0 | ; MOV EBX,$1 | MOV EBX,$1 | Lock33: | ; XCHG [L_x],EBX | XCHG [L_b],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],EDX | ; JE Lock11 | JE Lock23 | CMP EDX,$0 | ; Lock10: | Lock22: | JE Lock35 | ; MOV EBX,[L_x] | MOV EBX,[L_b] | Lock34: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_z] | ; JE Lock09 | JE Lock21 | CMP EDX,$0 | ; JMP Lock10 | JMP Lock22 | JE Lock33 | ; Lock11: | Lock23: | JMP Lock34 | ; MOV [x],$1 | MOV [b],$1 | Lock35: | ; MOV [L_x],$0 | MOV [L_b],$0 | MOV EAX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%rax) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%esi _litmus_P2_29_: xchgl %esi,(%r14) _litmus_P2_30_: cmpl $0,%esi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r14),%esi _litmus_P2_34_: cmpl $0,%esi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r11),%ebx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%r12) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r12),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r9),%edx _litmus_P2_52_: movl $0,(%r12) Test X018+X019-L Required Histogram (51 states) 32559 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 12891 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 8015528:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 719885:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 13663 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 2006285:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 10676236:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1562 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1392098:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1001491:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 16702604:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 4343 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 715 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 13041 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 60412 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 4968868:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 295684:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 15018982:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 21514678:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; 74856 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 784361:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; 5642 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 17353 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1057803:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 1260277:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 6 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 3998095:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; 497219:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 112434:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; 1610 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 22810 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 87305 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1420083:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 2042027:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 4 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 1031832:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; 389 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 148572:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 113266:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 4165 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 110180:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 29294 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 132299:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2013391:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 851122:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 148 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2223 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 310705:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 1418927:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 75 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=f41b5be6159a17f5c56978b58a2c6d37 Time X018+X019-L 199.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X020-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-L "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_x],ECX | XCHG [L_d],ESI | XCHG [L_c],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_b] | MOV ECX,[L_x] | MOV ESI,[L_d] | MOV EBX,[L_c] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_a],ECX | XCHG [L_y],ESI | XCHG [L_d],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_z] | MOV ECX,[L_a] | MOV ESI,[L_y] | MOV EBX,[L_d] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | MOV ECX,[d] | ; MOV EAX,$1 | MOV ECX,$1 | Lock30: | ; XCHG [L_c],EAX | XCHG [L_b],ECX | MOV ESI,$1 | ; CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EAX,[L_c] | MOV ECX,[L_b] | Lock31: | ; CMP EAX,$0 | CMP ECX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV [c],$1 | MOV EBX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,[y] | ; XCHG [L_x],EAX | XCHG [L_y],ECX | Lock33: | ; CMP EAX,$0 | CMP ECX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV EAX,[L_x] | MOV ECX,[L_y] | JE Lock35 | ; CMP EAX,$0 | CMP ECX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV EAX,[y] | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r13) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r12),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X019+X020-L Required Histogram (52 states) 123246:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 643889:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 1516287:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=1; 611252:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 771233:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 9 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 226800:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 1948596:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 46854 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 7887719:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 21440444:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=1; 1330520:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 6751033:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 8 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 8382262:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=1; 484705:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 2294792:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 7 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 855641:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 1353272:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 320870:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 1763804:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 31634221:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=1; 32 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 8390 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 383535:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 8300 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=1; 1066 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 40553 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 273722:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=1; 715 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 2488 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 827 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 23031 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 930 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 1232179:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 2385032:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=1; 3150 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 1318180:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=1; x=2; 48165 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 716923:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=1; x=2; 70035 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 591650:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=1; x=2; 71 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 7931 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=1; x=2; 9234 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=2; 83548 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 104970:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; c=2; x=2; 23838 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 1394282:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; c=2; x=2; 38526 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; 841233:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=cbfd4de0d398e2ac2c2f985477e6c058 Time X019+X020-L 199.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X021-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-L "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_c],EBX | XCHG [L_b],EAX | XCHG [L_z],EDX | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP EDX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV EBX,[L_c] | MOV EAX,[L_b] | MOV EDX,[L_z] | Lock40: ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP EDX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | Lock41: ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],EDX | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | JE Lock20 | JE Lock32 | CMP EDX,$0 ; Lock07: | Lock19: | Lock31: | JE Lock44 ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV EDX,[L_e] | Lock43: ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | JE Lock18 | JE Lock30 | CMP EDX,$0 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock08: | Lock20: | Lock32: | JMP Lock43 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [d],$2 ; Lock09: | Lock21: | MOV EBX,[e] | MOV [L_d],$0 ; MOV EBX,$1 | MOV EAX,$1 | Lock33: | Lock45: ; XCHG [L_x],EBX | XCHG [L_c],EAX | MOV EDX,$1 | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | JE Lock23 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | Lock22: | JE Lock35 | JE Lock47 ; MOV EBX,[L_x] | MOV EAX,[L_c] | Lock34: | Lock46: ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | JE Lock21 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JE Lock45 ; Lock11: | Lock23: | JMP Lock34 | JMP Lock46 ; MOV EAX,[x] | MOV [c],$1 | Lock35: | Lock47: ; MOV [L_x],$0 | MOV [L_c],$0 | MOV ECX,[b] | MOV ECX,[e] ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $2,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X020+X021-L Required Histogram (105 states) 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 7 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 118937:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 1602949:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 37 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 231243:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 10490775:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 7 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 99610 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 9137 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 119 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 238255:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 5665381:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 1155 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 444778:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 7126 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 1931927:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 30080 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 2668969:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 4524 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 794507:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 4673 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 70630 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 4 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 838759:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 2115688:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=1; 17767 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 25 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 1785202:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 22 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 145812:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 167602:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 56736 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 365660:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 2069308:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=1; 393451:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 43 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 1559561:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 197108:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 81 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 17 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 227779:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 803 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 588 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 360 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 1658546:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 6026019:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=1; 8 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 29 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 42 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 17 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 20 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 2423 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 741718:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 5565988:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 198218:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 301403:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 244112:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 11450722:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 899521:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 25834177:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 2 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 1720 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 15 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 63 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 206990:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 69 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 1209158:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 74315 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=1; 5025 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 222680:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=2; 5147 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 408859:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 17 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 7 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 11666 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 1154664:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 3 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 979935:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 8933 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 118955:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=1; y=2; 120964:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 293759:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 27 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=2; 106337:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 2327478:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 2227 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 183466:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 56357 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 2756202:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=2; 21 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 283976:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 2 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 778 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 353360:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; 1826623:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=0df3b3558e348c28550a42bd68ac70b9 Time X020+X021-L 222.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X022-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-L "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock33: ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock01: | Lock16: | Lock28: | Lock34: ; MOV ECX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock02: | Lock17: | Lock29: | Lock35: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock18: | Lock30: | MOV EAX,[z] ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock36: ; XCHG [L_b],ECX | XCHG [L_c],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock20 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock19: | Lock31: | JE Lock38 ; MOV ECX,[L_b] | MOV EAX,[L_c] | MOV EBX,[L_z] | Lock37: ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock18 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock19 | JMP Lock31 | JE Lock36 ; Lock05: | Lock20: | Lock32: | JMP Lock37 ; MOV [b],$2 | MOV [c],$1 | MOV EAX,[z] | Lock38: ; MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock21: | | MOV [L_a],$0 ; MOV ECX,$1 | MOV EAX,$1 | | ; XCHG [L_b],ECX | XCHG [L_y],EAX | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock08 | JE Lock23 | | ; Lock07: | Lock22: | | ; MOV ECX,[L_b] | MOV EAX,[L_y] | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock06 | JE Lock21 | | ; JMP Lock07 | JMP Lock22 | | ; Lock08: | Lock23: | | ; MOV EAX,[b] | MOV [y],$1 | | ; MOV [L_b],$0 | MOV [L_y],$0 | | ; Lock09: | Lock24: | | ; MOV ECX,$1 | MOV EAX,$1 | | ; XCHG [L_x],ECX | XCHG [L_b],EAX | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock11 | JE Lock26 | | ; Lock10: | Lock25: | | ; MOV ECX,[L_x] | MOV EAX,[L_b] | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock09 | JE Lock24 | | ; JMP Lock10 | JMP Lock25 | | ; Lock11: | Lock26: | | ; MOV [x],$1 | MOV [b],$1 | | ; MOV [L_x],$0 | MOV [L_b],$0 | | ; Lock12: | | | ; MOV ECX,$1 | | | ; XCHG [L_c],ECX | | | ; CMP ECX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV ECX,[L_c] | | | ; CMP ECX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV EBX,[c] | | | ; MOV [L_c],$0 | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock33: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%eax _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdi) _litmus_P0_51_: movl $0,(%r11) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%rbx) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%rbx),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r8),%edx _litmus_P0_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X021+X022-L Required Histogram (41 states) 17 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 109342:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 3747227:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1568 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 734341:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 19717780:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 13341 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 481931:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 13307732:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 117207:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1096079:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 31928009:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2284270:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 7458450:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 1153130:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 217155:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 47385 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 5 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 834420:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 373 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1308307:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 803 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 4165918:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 6567 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 46199 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 78046 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 2214 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 6868 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 327 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1353172:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 4107731:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1965 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 1191625:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 18170 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 4290081:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 944 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 326 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 170919:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 54 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=c50cc5eae4d43591febe6ac2dd6aee21 Time X021+X022-L 178.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X023-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-L "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock30: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_y],ECX | XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_c],EAX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock17 | JE Lock32 | JE Lock41 ; Lock01: | Lock16: | Lock31: | Lock40: ; MOV ECX,[L_y] | MOV ECX,[L_x] | MOV ECX,[L_d] | MOV EAX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock15 | JE Lock30 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock31 | JMP Lock40 ; Lock02: | Lock17: | Lock32: | Lock41: ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock18: | Lock33: | Lock42: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_x],ECX | XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_d],EAX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock20 | JE Lock35 | JE Lock44 ; Lock04: | Lock19: | Lock34: | Lock43: ; MOV ECX,[L_x] | MOV ECX,[L_x] | MOV ECX,[L_d] | MOV EAX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock18 | JE Lock33 | JE Lock42 ; JMP Lock04 | JMP Lock19 | JMP Lock34 | JMP Lock43 ; Lock05: | Lock20: | Lock35: | Lock44: ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_d],$0 ; Lock06: | Lock21: | Lock36: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_b],ECX | XCHG [L_y],ECX | XCHG [L_a],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock23 | JE Lock38 | ; Lock07: | Lock22: | Lock37: | ; MOV ECX,[L_b] | MOV ECX,[L_y] | MOV ECX,[L_a] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock21 | JE Lock36 | ; JMP Lock07 | JMP Lock22 | JMP Lock37 | ; Lock08: | Lock23: | Lock38: | ; MOV [b],$2 | MOV EBX,[y] | MOV EBX,[a] | ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; Lock09: | Lock24: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_b],ECX | XCHG [L_a],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock11 | JE Lock26 | | ; Lock10: | Lock25: | | ; MOV ECX,[L_b] | MOV ECX,[L_a] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock09 | JE Lock24 | | ; JMP Lock10 | JMP Lock25 | | ; Lock11: | Lock26: | | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV [L_b],$0 | MOV [L_a],$0 | | ; Lock12: | Lock27: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_c],ECX | XCHG [L_b],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock14 | JE Lock29 | | ; Lock13: | Lock28: | | ; MOV ECX,[L_c] | MOV ECX,[L_b] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock12 | JE Lock27 | | ; JMP Lock13 | JMP Lock28 | | ; Lock14: | Lock29: | | ; MOV EBX,[c] | MOV [b],$1 | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r8) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r13) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r10),%eax _litmus_P0_51_: movl $0,(%r13) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%r12) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r12),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r9),%edx _litmus_P0_64_: movl $0,(%r12) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r11) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r11),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r13) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%r13),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r10) _litmus_P1_51_: movl $0,(%r13) _litmus_P1_52_: LitLock27: _litmus_P1_53_: movl $1,%r14d _litmus_P1_54_: xchgl %r14d,(%r12) _litmus_P1_55_: cmpl $0,%r14d _litmus_P1_56_: je LitLock29 _litmus_P1_57_: LitLock28: _litmus_P1_58_: movl (%r12),%r14d _litmus_P1_59_: cmpl $0,%r14d _litmus_P1_60_: je LitLock27 _litmus_P1_61_: jmp LitLock28 _litmus_P1_62_: LitLock29: _litmus_P1_63_: movl $1,(%r9) _litmus_P1_64_: movl $0,(%r12) _litmus_P2_0_: LitLock30: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock32 _litmus_P2_5_: LitLock31: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock30 _litmus_P2_9_: jmp LitLock31 _litmus_P2_10_: LitLock32: _litmus_P2_11_: movl $2,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock33: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r9) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock35 _litmus_P2_18_: LitLock34: _litmus_P2_19_: movl (%r9),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock33 _litmus_P2_22_: jmp LitLock34 _litmus_P2_23_: LitLock35: _litmus_P2_24_: movl (%rdi),%eax _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock36: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r10) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock38 _litmus_P2_31_: LitLock37: _litmus_P2_32_: movl (%r10),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock36 _litmus_P2_35_: jmp LitLock37 _litmus_P2_36_: LitLock38: _litmus_P2_37_: movl (%r8),%edx _litmus_P2_38_: movl $0,(%r10) Test X022+X023-L Required Histogram (110 states) 13631 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 19166 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 59 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 579742:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 83107 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1074381:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 298 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2184 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 322728:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 551642:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 46943 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 98 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4638979:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 943 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 17927 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 902601:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 14023611:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 216 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 948 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 92660 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 130735:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 3247 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1220 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 200121:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1026 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 4082 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 220058:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1786097:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 44852 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 248455:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 876802:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 985808:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 80 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 389922:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1269 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 400176:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 25633 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 608929:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 519405:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 3595091:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 42035 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 94895 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 4969 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 6318923:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1741 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2544502:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2011 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 2209700:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 308 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 531291:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 326872:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 7403064:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 15800 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 313283:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 23693 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 39916 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 865666:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 207511:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2975020:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 469 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 875 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 55202 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 56542 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2566 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 343 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 126200:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1597 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 5623 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 100513:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 907308:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1536287:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 929649:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2053 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 3928022:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 667 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 522856:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1640 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1584689:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 1033990:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 2086 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 18293164:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 27895 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 3090 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 769651:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 223 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3026985:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 2116 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 498618:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 10 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 4 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 2857 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 110 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 8735892:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 16183 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 2337 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1485520:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 4 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=9e10e88a1dff85093d147c01b73a9ede Time X022+X023-L 191.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X024-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-L "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock42: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_b],ESI | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock44 ; Lock01: | Lock13: | Lock28: | Lock43: ; MOV EAX,[L_a] | MOV ESI,[L_b] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock43 ; Lock02: | Lock14: | Lock29: | Lock44: ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock30: | Lock45: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],EAX | XCHG [L_x],ESI | XCHG [L_e],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock32 | JE Lock47 ; Lock04: | Lock16: | Lock31: | Lock46: ; MOV EAX,[L_d] | MOV ESI,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock30 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JMP Lock46 ; Lock05: | Lock17: | Lock32: | Lock47: ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock33: | Lock48: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ESI | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock35 | JE Lock50 ; Lock07: | Lock19: | Lock34: | Lock49: ; MOV EAX,[L_x] | MOV ESI,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock33 | JE Lock48 ; JMP Lock07 | JMP Lock19 | JMP Lock34 | JMP Lock49 ; Lock08: | Lock20: | Lock35: | Lock50: ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | MOV [c],$1 | Lock36: | ; MOV EAX,$1 | MOV ECX,[c] | MOV ECX,$1 | ; XCHG [L_e],EAX | Lock21: | XCHG [L_b],ECX | ; CMP EAX,$0 | MOV ESI,$1 | CMP ECX,$0 | ; JE Lock11 | XCHG [L_d],ESI | JE Lock38 | ; Lock10: | CMP ESI,$0 | Lock37: | ; MOV EAX,[L_e] | JE Lock23 | MOV ECX,[L_b] | ; CMP EAX,$0 | Lock22: | CMP ECX,$0 | ; JE Lock09 | MOV ESI,[L_d] | JE Lock36 | ; JMP Lock10 | CMP ESI,$0 | JMP Lock37 | ; Lock11: | JE Lock21 | Lock38: | ; MOV [e],$1 | JMP Lock22 | MOV EBX,[b] | ; MOV [L_e],$0 | Lock23: | MOV [L_b],$0 | ; | MOV EDX,[d] | Lock39: | ; | MOV [L_d],$0 | MOV ECX,$1 | ; | Lock24: | XCHG [L_z],ECX | ; | MOV ESI,$1 | CMP ECX,$0 | ; | XCHG [L_y],ESI | JE Lock41 | ; | CMP ESI,$0 | Lock40: | ; | JE Lock26 | MOV ECX,[L_z] | ; | Lock25: | CMP ECX,$0 | ; | MOV ESI,[L_y] | JE Lock39 | ; | CMP ESI,$0 | JMP Lock40 | ; | JE Lock24 | Lock41: | ; | JMP Lock25 | MOV [z],$1 | ; | Lock26: | MOV [L_z],$0 | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock48: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock50 _litmus_P3_31_: LitLock49: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock48 _litmus_P3_35_: jmp LitLock49 _litmus_P3_36_: LitLock50: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%rdi) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rax) _litmus_P0_38_: movl $0,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r10) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r15) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%edi _litmus_P1_28_: xchgl %edi,(%r10) _litmus_P1_29_: cmpl $0,%edi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%edi _litmus_P1_33_: cmpl $0,%edi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r15),%edx _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: movl $1,(%r13) _litmus_P1_40_: movl (%r13),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r9) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r9),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%esi _litmus_P1_53_: movl $0,(%r9) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%edi _litmus_P1_56_: xchgl %edi,(%rax) _litmus_P1_57_: cmpl $0,%edi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%rax),%edi _litmus_P1_61_: cmpl $0,%edi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r11),%ecx _litmus_P1_66_: movl $0,(%rax) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r12) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $2,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl (%r9),%eax _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock36: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r13) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock38 _litmus_P2_44_: LitLock37: _litmus_P2_45_: movl (%r13),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock36 _litmus_P2_48_: jmp LitLock37 _litmus_P2_49_: LitLock38: _litmus_P2_50_: movl (%r10),%edx _litmus_P2_51_: movl $0,(%r13) _litmus_P2_52_: LitLock39: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r11) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock41 _litmus_P2_57_: LitLock40: _litmus_P2_58_: movl (%r11),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock39 _litmus_P2_61_: jmp LitLock40 _litmus_P2_62_: LitLock41: _litmus_P2_63_: movl $1,(%rdi) _litmus_P2_64_: movl $0,(%r11) Test X023+X024-L Required Histogram (114 states) 3006 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 115 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 490 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 186 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 2300 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 398483:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 101888:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 648451:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 16625 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 41579 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 121 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 17064 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 24118 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 803706:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 9540055:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 1134 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 692511:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 6238080:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=1; 44059 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 36771 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 627659:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 2 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 3 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 13 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 34012 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1229661:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 24 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 73989 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1000379:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 74185 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 285742:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 1758878:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 5421 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 228684:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 835 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 112254:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 241962:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 802967:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 7608176:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 9285 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 3363314:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 22258402:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 396817:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 138278:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 12398 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 38717 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 90966 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 62326 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 38 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 17 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 5 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 27 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 13 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 35 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 1082584:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 533074:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 76057 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 415209:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 539446:>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 764402:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=1; 378 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 2339 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 2222216:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 215405:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 2727937:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 8679 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 727683:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 2658 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 157027:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 127342:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 4248420:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 2175778:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 9414871:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 8391 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 94804 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 1140249:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=1; 30012 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 30 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 10413 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 404733:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 981742:>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 10973238:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=1; 21833 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 382 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 5875 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 1001 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 39048 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 131113:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 29957 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 483668:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 59 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 60 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 64 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 220 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 10501 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 349928:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 7 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 3863 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 107385:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 731 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 269 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 111 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 965 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 323 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 688 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=1; z=2; 1850 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 5441 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 608466:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 1335 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 14008 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 17846 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 974 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; 10683 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=7ad60f4d10e291e7164bdda8c3c9157d Time X023+X024-L 214.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X025-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-L "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 ; XCHG [L_b],ECX | XCHG [L_y],EBX | XCHG [L_z],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_b] | MOV EBX,[L_y] | MOV ESI,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 ; XCHG [L_a],ECX | XCHG [L_d],EBX | XCHG [L_c],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV ECX,[L_a] | MOV EBX,[L_d] | MOV ESI,[L_c] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; MOV [x],$1 | Lock18: | Lock30: ; Lock06: | MOV EBX,$1 | MOV ESI,$1 ; MOV ECX,$1 | XCHG [L_z],EBX | XCHG [L_z],ESI ; XCHG [L_c],ECX | CMP EBX,$0 | CMP ESI,$0 ; CMP ECX,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV EBX,[L_z] | MOV ESI,[L_z] ; MOV ECX,[L_c] | CMP EBX,$0 | CMP ESI,$0 ; CMP ECX,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV [z],$1 | MOV EAX,[z] ; MOV [c],$1 | MOV [L_z],$0 | MOV [L_z],$0 ; MOV [L_c],$0 | Lock21: | Lock33: ; MOV EAX,[x] | MOV EBX,$1 | MOV ESI,$1 ; Lock09: | XCHG [L_b],EBX | XCHG [L_a],ESI ; MOV ECX,$1 | CMP EBX,$0 | CMP ESI,$0 ; XCHG [L_y],ECX | JE Lock23 | JE Lock35 ; CMP ECX,$0 | Lock22: | Lock34: ; JE Lock11 | MOV EBX,[L_b] | MOV ESI,[L_a] ; Lock10: | CMP EBX,$0 | CMP ESI,$0 ; MOV ECX,[L_y] | JE Lock21 | JE Lock33 ; CMP ECX,$0 | JMP Lock22 | JMP Lock34 ; JE Lock09 | Lock23: | Lock35: ; JMP Lock10 | MOV EAX,[b] | MOV EBX,[a] ; Lock11: | MOV [L_b],$0 | MOV [L_a],$0 ; MOV EBX,[y] | | Lock36: ; MOV [L_y],$0 | | MOV ESI,$1 ; | | XCHG [L_c],ESI ; | | CMP ESI,$0 ; | | JE Lock38 ; | | Lock37: ; | | MOV ESI,[L_c] ; | | CMP ESI,$0 ; | | JE Lock36 ; | | JMP Lock37 ; | | Lock38: ; | | MOV ECX,[c] ; | | MOV [L_c],$0 ; | | Lock39: ; | | MOV ESI,$1 ; | | XCHG [L_d],ESI ; | | CMP ESI,$0 ; | | JE Lock41 ; | | Lock40: ; | | MOV ESI,[L_d] ; | | CMP ESI,$0 ; | | JE Lock39 ; | | JMP Lock40 ; | | Lock41: ; | | MOV EDX,[d] ; | | MOV [L_d],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r9) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r12) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r14) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r11),%edx _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%ecx _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%r9) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r9),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r12),%ebx _litmus_P2_64_: movl $0,(%r9) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%rax) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%rax),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r15),%esi _litmus_P2_77_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: movl $1,(%r8) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%r15d _litmus_P0_29_: xchgl %r15d,(%r12) _litmus_P0_30_: cmpl $0,%r15d _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r12),%r15d _litmus_P0_34_: cmpl $0,%r15d _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%r9) _litmus_P0_39_: movl $0,(%r12) _litmus_P0_40_: movl (%r8),%eax _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%rbx) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rbx),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%rdi),%edx _litmus_P0_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r8),%eax _litmus_P1_51_: movl $0,(%rbx) Test X024+X025-L Required Histogram (42 states) 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; z=1; 798206:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 278931:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; z=1; 674051:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 1230227:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 10764308:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; z=1; 1004 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 2328 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 13 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 495 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 32146 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 10301173:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 12412 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 14609427:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=1; 2713171:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 771483:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 1386265:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 12321171:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=1; 60 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 70801 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 202025:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=1; 2788817:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 240049:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; z=1; 525074:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 12182712:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 997352:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 4447000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=2; 856400:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 3366298:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; z=2; 1908441:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 110140:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; z=2; 15901 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 134531:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; z=2; 512315:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 140845:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; 15604400:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=53e02400537bf73b81288ce902312ff6 Time X024+X025-L 190.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X026-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-L "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_b],ECX | XCHG [L_x],EBX | XCHG [L_d],ESI | XCHG [L_c],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock44 ; Lock01: | Lock13: | Lock25: | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_x] | MOV ESI,[L_d] | MOV EAX,[L_c] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock43 ; Lock02: | Lock14: | Lock26: | Lock44: ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_z],ECX | XCHG [L_a],EBX | XCHG [L_y],ESI | XCHG [L_d],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock47 ; Lock04: | Lock16: | Lock28: | Lock46: ; MOV ECX,[L_z] | MOV EBX,[L_a] | MOV ESI,[L_y] | MOV EAX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock46 ; Lock05: | Lock17: | Lock29: | Lock47: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_d],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV ESI,[L_d] | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ESI,[L_a] | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; | | Lock36: | ; | | MOV ESI,$1 | ; | | XCHG [L_y],ESI | ; | | CMP ESI,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ESI,[L_y] | ; | | CMP ESI,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV EAX,[y] | ; | | MOV [L_y],$0 | ; | | Lock39: | ; | | MOV ESI,$1 | ; | | XCHG [L_z],ESI | ; | | CMP ESI,$0 | ; | | JE Lock41 | ; | | Lock40: | ; | | MOV ESI,[L_z] | ; | | CMP ESI,$0 | ; | | JE Lock39 | ; | | JMP Lock40 | ; | | Lock41: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r12),%ebx _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%esi _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%rax) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rax),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r15),%edx _litmus_P2_64_: movl $0,(%rax) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%r14) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%r14),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r11),%ecx _litmus_P2_77_: movl $0,(%r14) Test X025+X026-L Required Histogram (97 states) 3329 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 1639 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 305255:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 16235 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 157 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 238763:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 1011210:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 964 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 947161:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 35054 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 107014:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 87787 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 6531310:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 1296831:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 425580:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 176432:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 6366245:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=1; y=1; 162037:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 2296 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 23826 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 521230:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 250569:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 365288:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 46862 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 17187303:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 7073 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 38529 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 6297 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 22045 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 2753492:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1551 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 793591:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 26 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 249 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 102206:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 537 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 152138:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 1417 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 241231:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 86693 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 918721:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 722 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 4884763:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 39 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 8380 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 39267 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 298127:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 590 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 3064713:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=1; 77201 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 4314 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 532863:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 10289 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 698428:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 1517631:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; d=2; y=1; 361896:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 20853 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 96159 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=1; 46171 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 107643:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 28694 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 400358:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 13305294:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 1973 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 14433 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 2968 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 76053 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 4730757:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 17608 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 12424 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 1262408:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 15871 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 785648:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 48 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 745081:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 885 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 332180:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 12485 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 116537:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 514 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 281567:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 9914 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=1; y=2; 521758:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; y=2; 12015 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 3368711:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 358177:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 775972:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 124036:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; 19679205:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=b3d6ccf61f4524975f73f59275b0e818 Time X025+X026-L 204.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X027-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-L "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_z],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV ECX,[L_z] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_y],EBX | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV ECX,[L_d] | MOV EBX,[L_y] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$2 | MOV EBX,[a] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | Lock48: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_c],EBX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock50 ; Lock10: | Lock22: | Lock34: | Lock49: ; MOV ECX,[L_x] | MOV EBX,[L_c] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock49 ; Lock11: | Lock23: | Lock35: | Lock50: ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; | | Lock36: | Lock51: ; | | MOV ECX,$1 | MOV ECX,$1 ; | | XCHG [L_b],ECX | XCHG [L_e],ECX ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ECX,[L_b] | MOV ECX,[L_e] ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[b] | MOV [e],$1 ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r11),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r11) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r11),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r13) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r13),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r10),%edx _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r12) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%r12),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $1,(%r9) _litmus_P3_51_: movl $0,(%r12) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%r14d _litmus_P3_54_: xchgl %r14d,(%rbx) _litmus_P3_55_: cmpl $0,%r14d _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%rbx),%r14d _litmus_P3_59_: cmpl $0,%r14d _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%r8) _litmus_P3_64_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r11) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r9) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%eax _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r13) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r13),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r10),%edx _litmus_P2_64_: movl $0,(%r13) Test X026+X027-L Required Histogram (193 states) 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 118 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 530 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 89498 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 110 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 41015 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 2966 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 174650:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 29 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 12358 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1614450:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 46 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 243 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 941302:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 30 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 15 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2077 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 2227494:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 13 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 29430 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 118342:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 107 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 11766 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 690 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 2173 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 56577 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 368 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 3596 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 246436:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 144350:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 4655716:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 69376 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1200 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 77 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 295 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 524 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 82274 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 256025:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2750 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 42764 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 9741 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 269846:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 55285 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1064594:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 282310:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 60593 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2196088:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1240 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1053253:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 21095244:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1964123:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 8639 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 212 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 264 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 54435 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 4183 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 75963 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 20226 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 185561:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 465 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 59518 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 940000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 83 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 361 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 119 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 53 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 201 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 495891:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 26587 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 90975 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 77392 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 53 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 86747 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 16153 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 3010 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 12207 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 1441522:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 167107:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 49425 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 130347:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 86433 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1078437:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 25 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 5679 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 291422:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 83 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 174335:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 10651000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=1; 72 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 50298 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 793 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 31400 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1651 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 161277:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 2975119:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3986 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 530215:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1304756:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 5703621:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 109844:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 3825747:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 26115 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1087083:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1234675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 661152:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 961226:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 39356 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 99590 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 139 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1401 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 290027:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 944 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 25018 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 62 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 22 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 578474:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4668896:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1932 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 418468:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 190 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 20022 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 68202 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 21 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 19712 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4307 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 251648:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 407682:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 15218909:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 526209:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 92708 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1146 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2268 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 166075:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 190656:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 178641:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 25 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 69 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2299 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 466175:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 51632 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1456030:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 961980:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 60 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 158 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 34 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=0651e31e65120b44f3c5f76cc4d8f72d Time X026+X027-L 226.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X028-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-L "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_d],EBX | XCHG [L_c],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EAX,[L_b] | MOV EBX,[L_d] | MOV ECX,[L_c] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],EAX | XCHG [L_y],EBX | XCHG [L_c],ECX | XCHG [L_a],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EAX,[L_c] | MOV EBX,[L_y] | MOV ECX,[L_c] | MOV ECX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; MOV [L_c],$0 | MOV [L_y],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_b],EBX | XCHG [L_d],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_b] | MOV ECX,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [b],$1 | MOV EBX,[d] | ; MOV [L_x],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; | | Lock36: | ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV [z],$1 | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r13) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r13),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r10),%eax _litmus_P2_38_: movl $0,(%r13) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%edx _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r11) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r11),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl $1,(%rdi) _litmus_P2_64_: movl $0,(%r11) Test X027+X028-L Required Histogram (93 states) 2163 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 1471 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 5036954:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 5409 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 637696:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 84365 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 8958545:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 5221 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3198147:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 720 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 24697 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 244056:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 53356 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 13238463:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 35135 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 3392692:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 476171:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 18256208:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 5103 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 704 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1873 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 416148:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 69606 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1105 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1744833:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 3480439:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 96496 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 160856:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 498481:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 113403:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 93865 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1607 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 3056954:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1429431:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 2356 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1062622:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1974225:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 57880 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 426 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 2829 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 352077:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 5967050:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 16032772:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 969669:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 3 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 38 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 1568467:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 8 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 3143 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 35609 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 111 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 6315 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 67961 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 73478 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 415709:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 641 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 47386 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 7664 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 88281 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 86520 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 6 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 72 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1544064:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 226938:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1422303:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 12191 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 555 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1972869:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 18 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2190 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 942 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 33157 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 51526 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 5288 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 30312 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 647340:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 190 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 31177 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 132230:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1513 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 4162 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 11988 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 1462 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 218 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 3604 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 179744:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 36548 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 149 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 1610 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=f36dc129883763b8ffdc28160ec00fab Time X027+X028-L 206.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X029-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-L "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock42: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_d],ESI | XCHG [L_c],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock44 ; Lock01: | Lock13: | Lock25: | Lock43: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV ESI,[L_d] | MOV EAX,[L_c] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock43 ; Lock02: | Lock14: | Lock26: | Lock44: ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock45: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EBX | XCHG [L_y],ESI | XCHG [L_d],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock47 ; Lock04: | Lock16: | Lock28: | Lock46: ; MOV EAX,[L_z] | MOV EBX,[L_a] | MOV ESI,[L_y] | MOV EAX,[L_d] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock46 ; Lock05: | Lock17: | Lock29: | Lock47: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_c],EAX | XCHG [L_b],EBX | XCHG [L_d],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_b] | MOV ESI,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV EAX,[b] | MOV ECX,[d] | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ESI,[L_a] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [y],$1 | MOV EDX,[a] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; | | Lock36: | ; | | MOV ESI,$1 | ; | | XCHG [L_y],ESI | ; | | CMP ESI,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ESI,[L_y] | ; | | CMP ESI,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV EAX,[y] | ; | | MOV [L_y],$0 | ; | | Lock39: | ; | | MOV ESI,$1 | ; | | XCHG [L_z],ESI | ; | | CMP ESI,$0 | ; | | JE Lock41 | ; | | Lock40: | ; | | MOV ESI,[L_z] | ; | | CMP ESI,$0 | ; | | JE Lock39 | ; | | JMP Lock40 | ; | | Lock41: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r12),%ebx _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%esi _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%rax) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rax),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r15),%edx _litmus_P2_64_: movl $0,(%rax) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%r14) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%r14),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r11),%ecx _litmus_P2_77_: movl $0,(%r14) Test X028+X029-L Required Histogram (101 states) 3820 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 367740:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 886393:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1092197:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 7234669:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 19 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6704771:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 211984:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 15 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2441 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 15811 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 519212:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 17888909:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 5451 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2259836:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 786729:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 14 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 114945:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 139936:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 206491:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3956957:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 6615 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2666024:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 164 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 1139 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 94990 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 580683:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 519681:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 8574 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 1691 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 311 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 430 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1108 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 964556:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 36 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 380483:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 110849:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 600770:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1573781:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 448932:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 29268 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 73481 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 56501 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 13076443:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3072 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 4309229:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 103 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 20071 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 2152 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 1245 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 188268:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 78941 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 169699:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 68941 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 35578 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 2142 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1636 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 12702 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 36853 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1428351:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 277011:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 32655 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 82922 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 45395 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2304 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 656652:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 464395:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 65464 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 7306 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 102642:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 13244 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 24028 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1195667:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 875420:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 268854:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 97625 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 10194 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 8925 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 1005921:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 823 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 11467 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 192168:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 552392:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 8 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 3723676:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 18839316:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 9564 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1076266:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 26 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 23 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 16025 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 392 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 118499:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 268876:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=2316d383b9e5f2f18ab86d6733b64310 Time X028+X029-L 206.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X030-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-L "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],EBX | XCHG [L_b],EAX | XCHG [L_z],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EBX,[L_c] | MOV EAX,[L_b] | MOV ECX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MOV EBX,[a] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | Lock48: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock50 ; Lock10: | Lock22: | Lock34: | Lock49: ; MOV EBX,[L_x] | MOV EAX,[L_c] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock49 ; Lock11: | Lock23: | Lock35: | Lock50: ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$2 ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; | | Lock36: | Lock51: ; | | MOV ECX,$1 | MOV ECX,$1 ; | | XCHG [L_b],ECX | XCHG [L_e],ECX ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ECX,[L_b] | MOV ECX,[L_e] ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[b] | MOV [e],$1 ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r11),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r11) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r11),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r13) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r13),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r10),%edx _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r12) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%r12),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $2,(%r9) _litmus_P3_51_: movl $0,(%r12) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%r14d _litmus_P3_54_: xchgl %r14d,(%rbx) _litmus_P3_55_: cmpl $0,%r14d _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%rbx),%r14d _litmus_P3_59_: cmpl $0,%r14d _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%r8) _litmus_P3_64_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r11) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r9) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%eax _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r13) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r13),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r10),%edx _litmus_P2_64_: movl $0,(%r13) Test X029+X030-L Required Histogram (188 states) 104 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 259 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 81962 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 149 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 35100 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1286 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 163157:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 3854 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1276808:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 73 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1031919:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1691969:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 92 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 9661 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 544 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 57046 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 379 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 776 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2034 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 29327 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 21 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 383998:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1418663:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 6166 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 250 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 58535 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 1987 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 68517 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 151525:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 656783:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 362 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 246 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 74001 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 21520 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 140389:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 13 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 36 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 45 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 15 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1926 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 27539 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 102596:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 2876 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 60380 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 111271:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 5244169:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 1054 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 65 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 79959 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 217184:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 47438 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 953845:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 773833:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 20987534:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 37 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 23 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 88 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 114412:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 46 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 2845 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 66202 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 58264 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1164492:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 179835:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 11434280:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 30156 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 2255 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 147501:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 4345185:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 12358 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 1214005:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 127908:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 42 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 119 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 53477 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 770 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 1428218:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 5996905:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 47993 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 16 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 168 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 1115 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 323 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 18655 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 48265 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 75 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 32228 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 13327 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 109203:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 10 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 665 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 2080 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 270077:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 5666 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 265284:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 31498 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 2273813:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 33 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 449 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 168 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 552629:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 84316 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 1476809:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 7119 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 259653:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 7128 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 500957:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 1027367:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 1026823:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=1; 16 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 133406:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 3015117:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=1; 663908:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 111 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 766 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 275801:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1325 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 25816 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 2342 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 350220:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 31222 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 9 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 403371:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=2; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 64534 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 1117 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 156426:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 185656:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 2696 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 1077672:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 63 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 533771:>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 4464472:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 27053 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 77876 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 343547:>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 15051017:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 215811:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 38 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 1613797:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 9 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 23 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 72 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 174 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 2175 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 102 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 52237 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 211 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 3198 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 261281:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 536770:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=d942c66eb8627bc37842b77c402a7dc4 Time X029+X030-L 231.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X031-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-L "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_x],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV ECX,[L_d] | MOV ECX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; MOV [e],$1 | Lock18: | | Lock36: ; MOV EAX,[e] | MOV ECX,$1 | | MOV ECX,$1 ; Lock06: | XCHG [L_b],ECX | | XCHG [L_a],ECX ; MOV ECX,$1 | CMP ECX,$0 | | CMP ECX,$0 ; XCHG [L_x],ECX | JE Lock20 | | JE Lock38 ; CMP ECX,$0 | Lock19: | | Lock37: ; JE Lock08 | MOV ECX,[L_b] | | MOV ECX,[L_a] ; Lock07: | CMP ECX,$0 | | CMP ECX,$0 ; MOV ECX,[L_x] | JE Lock18 | | JE Lock36 ; CMP ECX,$0 | JMP Lock19 | | JMP Lock37 ; JE Lock06 | Lock20: | | Lock38: ; JMP Lock07 | MOV [b],$1 | | MOV EBX,[a] ; Lock08: | MOV [L_b],$0 | | MOV [L_a],$0 ; MOV [x],$1 | MOV [c],$1 | | ; MOV [L_x],$0 | MOV EAX,[c] | | ; Lock09: | Lock21: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_b],ECX | XCHG [L_d],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV ECX,[L_b] | MOV ECX,[L_d] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EBX,[b] | MOV EBX,[d] | | ; MOV [L_b],$0 | MOV [L_d],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock36: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock38 _litmus_P3_31_: LitLock37: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock36 _litmus_P3_35_: jmp LitLock37 _litmus_P3_36_: LitLock38: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: movl $1,(%r8) _litmus_P0_27_: movl (%r8),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rbx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rbx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%rdi) _litmus_P0_40_: movl $0,(%rbx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r13) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r13),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%edx _litmus_P0_53_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%rbx) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r14) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r11) _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl $1,(%r10) _litmus_P1_40_: movl (%r10),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r13) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%edx _litmus_P1_53_: movl $0,(%r13) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X030+X031-L Required Histogram (51 states) 139090:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 240501:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 970338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 871534:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 4748685:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 25937214:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 6621 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1974713:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4724985:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 269 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 6325563:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 6782553:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 10727 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1962566:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1089 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 613805:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 204 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 3479844:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1189 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 5681 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 274 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1031280:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 15775 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 2879803:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 29780 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 6692 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 365025:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 675663:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1687182:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 10274282:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 2331 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2850 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 524918:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1286127:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 711993:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 8734375:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 191615:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1994025:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 8248432:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 420469:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 1829068:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 359 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 56980 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 869 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 60887 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 5281 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 164246:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2240 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=3fe1dd0f43637bdb2371a488e711d5de Time X030+X031-L 192.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X032-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-L "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_d],ESI | XCHG [L_y],EDX | XCHG [L_f],ECX ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_d] | MOV EDX,[L_y] | MOV ECX,[L_f] ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; Lock03: | MOV EAX,[z] | MOV EAX,[b] ; MOV ESI,$1 | Lock15: | Lock27: ; XCHG [L_a],ESI | MOV EDX,$1 | MOV ECX,$1 ; CMP ESI,$0 | XCHG [L_a],EDX | XCHG [L_c],ECX ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 ; Lock04: | JE Lock17 | JE Lock29 ; MOV ESI,[L_a] | Lock16: | Lock28: ; CMP ESI,$0 | MOV EDX,[L_a] | MOV ECX,[L_c] ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock15 | JE Lock27 ; Lock05: | JMP Lock16 | JMP Lock28 ; MOV [a],$1 | Lock17: | Lock29: ; MOV [L_a],$0 | MOV EBX,[a] | MOV EBX,[c] ; MOV [x],$1 | MOV [L_a],$0 | MOV [L_c],$0 ; MOV ECX,[e] | Lock18: | ; MOV EAX,[x] | MOV EDX,$1 | ; Lock06: | XCHG [L_c],EDX | ; MOV ESI,$1 | CMP EDX,$0 | ; XCHG [L_f],ESI | JE Lock20 | ; CMP ESI,$0 | Lock19: | ; JE Lock08 | MOV EDX,[L_c] | ; Lock07: | CMP EDX,$0 | ; MOV ESI,[L_f] | JE Lock18 | ; CMP ESI,$0 | JMP Lock19 | ; JE Lock06 | Lock20: | ; JMP Lock07 | MOV [c],$1 | ; Lock08: | MOV [L_c],$0 | ; MOV EDX,[f] | Lock21: | ; MOV [L_f],$0 | MOV EDX,$1 | ; Lock09: | XCHG [L_d],EDX | ; MOV ESI,$1 | CMP EDX,$0 | ; XCHG [L_y],ESI | JE Lock23 | ; CMP ESI,$0 | Lock22: | ; JE Lock11 | MOV EDX,[L_d] | ; Lock10: | CMP EDX,$0 | ; MOV ESI,[L_y] | JE Lock21 | ; CMP ESI,$0 | JMP Lock22 | ; JE Lock09 | Lock23: | ; JMP Lock10 | MOV ECX,[d] | ; Lock11: | MOV [L_d],$0 | ; MOV EBX,[y] | | ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rcx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%rdx) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rdx),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%rbp) _litmus_P0_26_: movl $0,(%rdx) _litmus_P0_27_: movl $1,(%r11) _litmus_P0_28_: movl (%r9),%r13d _litmus_P0_29_: movl (%r11),%esi _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%r15d _litmus_P0_32_: xchgl %r15d,(%rbx) _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rbx),%r15d _litmus_P0_37_: cmpl $0,%r15d _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r10),%r14d _litmus_P0_42_: movl $0,(%rbx) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%r15d _litmus_P0_45_: xchgl %r15d,(%rdi) _litmus_P0_46_: cmpl $0,%r15d _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%rdi),%r15d _litmus_P0_50_: cmpl $0,%r15d _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%rax),%r12d _litmus_P0_55_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r13) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl $1,(%r9) _litmus_P1_14_: movl (%r9),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r12) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r12),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%rdx),%ebx _litmus_P1_27_: movl $0,(%r12) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%rax) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r15) _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r14) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r11),%esi _litmus_P1_53_: movl $0,(%r14) Test X031+X032-L Required Histogram (15 states) 3586114:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 25485979:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1003872:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 555504:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 4825808:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 31675127:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 321821:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3953930:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2574405:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 17326489:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1708415:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6005952:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 175 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 976407:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=a54b01d7e0c2f445716116b25e3595e2 Time X031+X032-L 174.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X033-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-L "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_e],EDX | XCHG [L_x],ECX | XCHG [L_g],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_e] | MOV ECX,[L_x] | MOV ESI,[L_g] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 ; MOV [f],$1 | Lock15: | MOV [c],$1 ; Lock03: | MOV ECX,$1 | MOV ECX,[c] ; MOV EDX,$1 | XCHG [L_d],ECX | Lock27: ; XCHG [L_b],EDX | CMP ECX,$0 | MOV ESI,$1 ; CMP EDX,$0 | JE Lock17 | XCHG [L_d],ESI ; JE Lock05 | Lock16: | CMP ESI,$0 ; Lock04: | MOV ECX,[L_d] | JE Lock29 ; MOV EDX,[L_b] | CMP ECX,$0 | Lock28: ; CMP EDX,$0 | JE Lock15 | MOV ESI,[L_d] ; JE Lock03 | JMP Lock16 | CMP ESI,$0 ; JMP Lock04 | Lock17: | JE Lock27 ; Lock05: | MOV [d],$1 | JMP Lock28 ; MOV [b],$1 | MOV [L_d],$0 | Lock29: ; MOV [L_b],$0 | MOV [y],$1 | MOV EDX,[d] ; MOV EBX,[f] | Lock18: | MOV [L_d],$0 ; Lock06: | MOV ECX,$1 | Lock30: ; MOV EDX,$1 | XCHG [L_e],ECX | MOV ESI,$1 ; XCHG [L_x],EDX | CMP ECX,$0 | XCHG [L_z],ESI ; CMP EDX,$0 | JE Lock20 | CMP ESI,$0 ; JE Lock08 | Lock19: | JE Lock32 ; Lock07: | MOV ECX,[L_e] | Lock31: ; MOV EDX,[L_x] | CMP ECX,$0 | MOV ESI,[L_z] ; CMP EDX,$0 | JE Lock18 | CMP ESI,$0 ; JE Lock06 | JMP Lock19 | JE Lock30 ; JMP Lock07 | Lock20: | JMP Lock31 ; Lock08: | MOV [e],$1 | Lock32: ; MOV EAX,[x] | MOV [L_e],$0 | MOV [z],$1 ; MOV [L_x],$0 | MOV EAX,[y] | MOV [L_z],$0 ; Lock09: | Lock21: | MOV [a],$1 ; MOV EDX,$1 | MOV ECX,$1 | MOV EAX,[a] ; XCHG [L_g],EDX | XCHG [L_z],ECX | Lock33: ; CMP EDX,$0 | CMP ECX,$0 | MOV ESI,$1 ; JE Lock11 | JE Lock23 | XCHG [L_b],ESI ; Lock10: | Lock22: | CMP ESI,$0 ; MOV EDX,[L_g] | MOV ECX,[L_z] | JE Lock35 ; CMP EDX,$0 | CMP ECX,$0 | Lock34: ; JE Lock09 | JE Lock21 | MOV ESI,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 ; Lock11: | Lock23: | JE Lock33 ; MOV ECX,[g] | MOV EBX,[z] | JMP Lock34 ; MOV [L_g],$0 | MOV [L_z],$0 | Lock35: ; | | MOV EBX,[b] ; | | MOV [L_b],$0 ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%r13d _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%r15d _litmus_P2_17_: xchgl %r15d,(%rcx) _litmus_P2_18_: cmpl $0,%r15d _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%rcx),%r15d _litmus_P2_22_: cmpl $0,%r15d _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r10),%r14d _litmus_P2_27_: movl $0,(%rcx) _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rdi) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rdi),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rax) _litmus_P2_40_: movl $0,(%rdi) _litmus_P2_41_: movl $1,(%rbp) _litmus_P2_42_: movl (%rbp),%esi _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r8),%r12d _litmus_P2_55_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rdx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r15) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: movl $1,(%r11) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%rax) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rax),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r12) _litmus_P0_26_: movl $0,(%rax) _litmus_P0_27_: movl (%r11),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%r13) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r13),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r9),%ecx _litmus_P0_40_: movl $0,(%r13) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r14) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r14),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%esi _litmus_P0_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r14) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: movl $1,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%r15d _litmus_P1_29_: xchgl %r15d,(%r13) _litmus_P1_30_: cmpl $0,%r15d _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r13),%r15d _litmus_P1_34_: cmpl $0,%r15d _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r10) _litmus_P1_39_: movl $0,(%r13) _litmus_P1_40_: movl (%r8),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%rbx) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%rdi),%edx _litmus_P1_53_: movl $0,(%rbx) Test X032+X033-L Required Histogram (29 states) 772765:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 11004904:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 15 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 217 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 391 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 1346331:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 46 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 7578715:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 20070065:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 684 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 1046865:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; 942451:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 6886390:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 143866:>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 23261573:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 512148:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 38270 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 13721 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 14079986:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; 28 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 1599808:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 6 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 121 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 3990018:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 638533:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 569671:>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 5493082:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 9328 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=1cc544dec54ff4bb693a214742befe8f Time X032+X033-L 199.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X034-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-L "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EDX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_c] | MOV EDX,[L_x] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV ECX,$1 | Lock15: | MOV EAX,[a] ; XCHG [L_b],ECX | MOV EDX,$1 | Lock27: ; CMP ECX,$0 | XCHG [L_e],EDX | MOV ECX,$1 ; JE Lock05 | CMP EDX,$0 | XCHG [L_b],ECX ; Lock04: | JE Lock17 | CMP ECX,$0 ; MOV ECX,[L_b] | Lock16: | JE Lock29 ; CMP ECX,$0 | MOV EDX,[L_e] | Lock28: ; JE Lock03 | CMP EDX,$0 | MOV ECX,[L_b] ; JMP Lock04 | JE Lock15 | CMP ECX,$0 ; Lock05: | JMP Lock16 | JE Lock27 ; MOV [b],$1 | Lock17: | JMP Lock28 ; MOV [L_b],$0 | MOV [e],$1 | Lock29: ; Lock06: | MOV [L_e],$0 | MOV EBX,[b] ; MOV ECX,$1 | Lock18: | MOV [L_b],$0 ; XCHG [L_x],ECX | MOV EDX,$1 | ; CMP ECX,$0 | XCHG [L_c],EDX | ; JE Lock08 | CMP EDX,$0 | ; Lock07: | JE Lock20 | ; MOV ECX,[L_x] | Lock19: | ; CMP ECX,$0 | MOV EDX,[L_c] | ; JE Lock06 | CMP EDX,$0 | ; JMP Lock07 | JE Lock18 | ; Lock08: | JMP Lock19 | ; MOV [x],$1 | Lock20: | ; MOV [L_x],$0 | MOV ECX,[c] | ; MOV [d],$1 | MOV [L_c],$0 | ; MOV EAX,[d] | MOV EAX,[y] | ; Lock09: | Lock21: | ; MOV ECX,$1 | MOV EDX,$1 | ; XCHG [L_e],ECX | XCHG [L_z],EDX | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ECX,[L_e] | MOV EDX,[L_z] | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EBX,[e] | MOV EBX,[z] | ; MOV [L_e],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r15d _litmus_P0_28_: xchgl %r15d,(%rbx) _litmus_P0_29_: cmpl $0,%r15d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r15d _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: movl $1,(%r9) _litmus_P0_40_: movl (%r9),%eax _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r8),%edx _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edi _litmus_P1_16_: xchgl %edi,(%rdx) _litmus_P1_17_: cmpl $0,%edi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%rdx),%edi _litmus_P1_21_: cmpl $0,%edi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r15) _litmus_P1_26_: movl $0,(%rdx) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%rax) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r12),%esi _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r10),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r13) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%ebx _litmus_P1_53_: movl $0,(%r13) Test X033+X034-L Required Histogram (17 states) 255454:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 9627225:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 47213 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 39714932:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3524896:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 236800:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 13967 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4339761:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 109194:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 30668502:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2848539:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1176 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 549091:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 913 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 8042864:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 19467 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=0c97b9f275d997c1319c8739ecdb4d04 Time X033+X034-L 170.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X035-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-L "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_x],EDX | XCHG [L_c],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_z] | MOV EDX,[L_x] | MOV ECX,[L_c] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_c],$0 ; Lock03: | MOV [y],$1 | MOV [d],$1 ; MOV ECX,$1 | MOV EAX,[y] | MOV EAX,[d] ; XCHG [L_b],ECX | Lock15: | Lock27: ; CMP ECX,$0 | MOV EDX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],EDX | XCHG [L_a],ECX ; Lock04: | CMP EDX,$0 | CMP ECX,$0 ; MOV ECX,[L_b] | JE Lock17 | JE Lock29 ; CMP ECX,$0 | Lock16: | Lock28: ; JE Lock03 | MOV EDX,[L_z] | MOV ECX,[L_a] ; JMP Lock04 | CMP EDX,$0 | CMP ECX,$0 ; Lock05: | JE Lock15 | JE Lock27 ; MOV [b],$1 | JMP Lock16 | JMP Lock28 ; MOV [L_b],$0 | Lock17: | Lock29: ; Lock06: | MOV EBX,[z] | MOV EBX,[a] ; MOV ECX,$1 | MOV [L_z],$0 | MOV [L_a],$0 ; XCHG [L_x],ECX | Lock18: | ; CMP ECX,$0 | MOV EDX,$1 | ; JE Lock08 | XCHG [L_a],EDX | ; Lock07: | CMP EDX,$0 | ; MOV ECX,[L_x] | JE Lock20 | ; CMP ECX,$0 | Lock19: | ; JE Lock06 | MOV EDX,[L_a] | ; JMP Lock07 | CMP EDX,$0 | ; Lock08: | JE Lock18 | ; MOV EAX,[x] | JMP Lock19 | ; MOV [L_x],$0 | Lock20: | ; Lock09: | MOV [a],$1 | ; MOV ECX,$1 | MOV [L_a],$0 | ; XCHG [L_c],ECX | Lock21: | ; CMP ECX,$0 | MOV EDX,$1 | ; JE Lock11 | XCHG [L_b],EDX | ; Lock10: | CMP EDX,$0 | ; MOV ECX,[L_c] | JE Lock23 | ; CMP ECX,$0 | Lock22: | ; JE Lock09 | MOV EDX,[L_b] | ; JMP Lock10 | CMP EDX,$0 | ; Lock11: | JE Lock21 | ; MOV EBX,[c] | JMP Lock22 | ; MOV [L_c],$0 | Lock23: | ; | MOV ECX,[b] | ; | MOV [L_b],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%eax _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r12) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r9),%edx _litmus_P0_51_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: movl (%r10),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r9),%ebx _litmus_P1_27_: movl $0,(%r13) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%r12) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%r12),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%rdx) _litmus_P1_40_: movl $0,(%r12) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%rax) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rax),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r15),%esi _litmus_P1_53_: movl $0,(%rax) Test X034+X035-L Required Histogram (17 states) 6988016:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 10089 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2025025:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 837952:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 486 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 13809759:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 45680109:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 538421:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9523991:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 629 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 757333:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3901943:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4895278:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4091361:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 187618:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6751986:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=de5d70613247878c6810d893330e5d70 Time X034+X035-L 159.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X036-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-L "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_a],ECX | XCHG [L_c],ECX | XCHG [L_f],ESI | XCHG [L_e],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV ECX,[L_c] | MOV ESI,[L_f] | MOV EBX,[L_e] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_x],ECX | XCHG [L_x],ECX | XCHG [L_y],ESI | XCHG [L_f],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_x] | MOV ECX,[L_x] | MOV ESI,[L_y] | MOV EBX,[L_f] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$1 | MOV EAX,[f] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV ECX,$1 | MOV ECX,$1 | MOV [z],$1 | ; XCHG [L_d],ECX | XCHG [L_d],ECX | MOV EAX,[z] | ; CMP ECX,$0 | CMP ECX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV ECX,[L_d] | MOV ECX,[L_d] | XCHG [L_c],ESI | ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EBX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV ECX,$1 | MOV ECX,$1 | Lock32: | ; XCHG [L_e],ECX | XCHG [L_y],ECX | MOV EDX,[c] | ; CMP ECX,$0 | CMP ECX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV ECX,[L_e] | MOV ECX,[L_y] | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV EBX,[e] | MOV EAX,[y] | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r9) _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%edx _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X035+X036-L Required Histogram (57 states) 32197 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 21055 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 25 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1979 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 860 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 544442:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; 248029:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 306238:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 23256 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 14210 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 9999829:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 19041 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 7122066:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 99569 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2282247:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1234 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 23624 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 14655790:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 13587 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 1620 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1035019:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3552 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 233865:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 20 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 76 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 302 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 148144:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 380728:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 4245619:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 473 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 505992:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1744 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1970929:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 29 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 30 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 59753 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 9018 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 6559447:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 52 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 32698 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 79936 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 21509794:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 348629:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 200282:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 89 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1594692:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 25644817:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 23288 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=08a6576f261b059d6b2fa7c590427a4a Time X035+X036-L 205.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X037-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_e],ECX | XCHG [L_x],EBX | XCHG [L_g],EDX | XCHG [L_f],EDX ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_e] | MOV EBX,[L_x] | MOV EDX,[L_g] | MOV EDX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV EDX,$1 ; XCHG [L_f],ECX | XCHG [L_d],EBX | MOV EDX,$1 | XCHG [L_z],EDX ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_y],EDX | CMP EDX,$0 ; JE Lock05 | JE Lock17 | CMP EDX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_f] | MOV EBX,[L_d] | Lock28: | MOV EDX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,[L_y] | CMP EDX,$0 ; JE Lock03 | JE Lock15 | CMP EDX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV EBX,[f] | MOV [d],$1 | Lock29: | MOV [z],$1 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV EBX,[c] | MOV EDX,$1 ; XCHG [L_b],ECX | XCHG [L_e],EBX | Lock30: | XCHG [L_g],EDX ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,$1 | CMP EDX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],EDX | JE Lock44 ; Lock07: | Lock19: | CMP EDX,$0 | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_e] | JE Lock32 | MOV EDX,[L_g] ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | CMP EDX,$0 ; JE Lock06 | JE Lock18 | MOV EDX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP EDX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV ECX,[g] ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV EAX,[z] | MOV [a],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],ECX | XCHG [L_y],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,$1 | MOV EDX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],EDX | XCHG [L_b],EDX ; Lock10: | Lock22: | CMP EDX,$0 | CMP EDX,$0 ; MOV ECX,[L_x] | MOV EBX,[L_y] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV EDX,[L_d] | MOV EDX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | CMP EDX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV ECX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rdx) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdx),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r11) _litmus_P3_12_: movl $0,(%rdx) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r13) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r13),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r9) _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r14) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r10),%esi _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%r12) _litmus_P3_40_: movl (%r12),%ecx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%rax) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rax),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r15),%ebx _litmus_P3_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r8),%edx _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rdx) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdx),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: movl $1,(%r12) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r14) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r10) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r13) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r13),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r9),%ecx _litmus_P2_40_: movl $0,(%r13) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) Test X036+X037-L Required Histogram (81 states) 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 71728 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 394302:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 7813 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 1379615:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 450467:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 5716708:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 7553 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 22 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 64875 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 166 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 55247 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 218606:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 24556 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 920796:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 259337:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 16210 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 432890:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 622462:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; 614 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 5862 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2487203:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 30439 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1637109:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 129 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 276 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1667086:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 232236:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 102 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 12014092:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 597275:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1691926:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 38459 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2983133:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 155056:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 3026 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 477466:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 244332:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 22038 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 943875:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 167 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 312736:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 7904241:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 5102923:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 156533:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 4536144:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 72 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1102318:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 1791228:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 7834127:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 105020:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 26867496:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 2615 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 634268:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 121239:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2841 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 20972 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 219454:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 10400 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 169120:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 745031:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1324938:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1345854:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4500 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 129022:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 201986:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 382193:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 43190 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 738947:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 143555:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 1879002:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 292727:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=724ff34acca320fc1e51e9573d376d03 Time X036+X037-L 231.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X038-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EAX,[a] ; XCHG [L_d],EBX | XCHG [L_c],EBX | XCHG [L_e],EDX | Lock39: ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EBX,[L_d] | MOV EBX,[L_c] | MOV EDX,[L_e] | JE Lock41 ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | Lock40: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock39 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | JMP Lock40 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_e],$0 | Lock41: ; Lock06: | Lock18: | MOV [f],$1 | MOV EBX,[b] ; MOV EBX,$1 | MOV EBX,$1 | Lock30: | MOV [L_b],$0 ; XCHG [L_e],EBX | XCHG [L_y],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EBX,[L_e] | MOV EBX,[L_y] | Lock31: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_z] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EAX,[e] | MOV EAX,[y] | Lock32: | ; MOV [L_e],$0 | MOV [L_y],$0 | MOV EAX,[z] | ; Lock09: | Lock21: | MOV [L_z],$0 | ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,[f] | ; XCHG [L_x],EBX | XCHG [L_d],EBX | Lock33: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_c],EDX | ; Lock10: | Lock22: | CMP EDX,$0 | ; MOV EBX,[L_x] | MOV EBX,[L_d] | JE Lock35 | ; CMP EBX,$0 | CMP EBX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV EDX,[L_c] | ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV [d],$1 | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_d],$0 | Lock35: | ; | | MOV ECX,[c] | ; | | MOV [L_c],$0 | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rdx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rdx) _litmus_P2_26_: movl $1,(%r11) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r13) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r13),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r9),%ecx _litmus_P2_39_: movl $0,(%r13) _litmus_P2_40_: movl (%r11),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%rax) Test X037+X038-L Required Histogram (53 states) 58012 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 2454 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 2926028:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=1; 134 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 749734:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 21572 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 2324147:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 13499346:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=1; 2008 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 2523909:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 125220:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 1518884:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=1; 4798 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 1634 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 19664 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 1655516:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 4764825:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 240584:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 17525614:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 32497581:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=1; 80205 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 200745:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=2; x=1; 7133 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 46983 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 906243:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 1135642:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 5 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 4651606:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 661662:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 489 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=2; x=1; 1691 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 55252 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 661964:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 1425409:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 2464896:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 7 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 2209034:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=2; x=1; 463 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 36200 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 79214 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 5407 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 254332:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 27 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 43484 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 236257:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 1051021:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 336967:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; d=1; x=2; 167 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 3729 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 59 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 292970:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 2677017:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 12056 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=f436e046d19f9260e37f0da8ce10ac22 Time X037+X038-L 212.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X039-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-L "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_c],ECX | XCHG [L_f],ESI | XCHG [L_e],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV ECX,[L_c] | MOV ESI,[L_f] | MOV EBX,[L_e] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_y],ESI | XCHG [L_f],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV ESI,[L_y] | MOV EBX,[L_f] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[f] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV EAX,$1 | MOV ECX,$1 | MOV [z],$1 | ; XCHG [L_d],EAX | XCHG [L_d],ECX | MOV EAX,[z] | ; CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV EAX,[L_d] | MOV ECX,[L_d] | XCHG [L_c],ESI | ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EBX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV EAX,$1 | MOV ECX,$1 | Lock32: | ; XCHG [L_e],EAX | XCHG [L_y],ECX | MOV EDX,[c] | ; CMP EAX,$0 | CMP ECX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV EAX,[L_e] | MOV ECX,[L_y] | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV [e],$1 | MOV EAX,[y] | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X038+X039-L Required Histogram (57 states) 34132 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 15 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 1961 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 285282:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 372754:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 10187002:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 5973387:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 638 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 41682 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 1130310:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 42 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 139309:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 9 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 473428:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 2027367:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 4 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 8488187:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 18360164:>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 16 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 49550 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=1; 35483 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 3 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 1913 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 62 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 543 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 1801 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 102048:>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 25140 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 11 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 58 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 24 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 38834 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 111 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 631927:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 12699 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 17132 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 1924112:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 15817377:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 34 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 249255:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 405 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 4578639:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 9 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 3528 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 51874 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 247444:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 26426314:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 642 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=2; 7 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 114648:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 19017 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 3579 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 309869:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=2; 16 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 65 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 488683:>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 1331455:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=6f79ac6210146ef5b45bc74cf0cd2e22 Time X038+X039-L 208.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X040-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-L "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_e],EBX | XCHG [L_x],EAX | XCHG [L_g],EDX | XCHG [L_f],EDX ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_e] | MOV EAX,[L_x] | MOV EDX,[L_g] | MOV EDX,[L_f] ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | Lock27: | MOV EDX,$1 ; XCHG [L_f],EBX | XCHG [L_d],EAX | MOV EDX,$1 | XCHG [L_z],EDX ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_y],EDX | CMP EDX,$0 ; JE Lock05 | JE Lock17 | CMP EDX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV EBX,[L_f] | MOV EAX,[L_d] | Lock28: | MOV EDX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,[L_y] | CMP EDX,$0 ; JE Lock03 | JE Lock15 | CMP EDX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [f],$1 | MOV [d],$1 | Lock29: | MOV [z],$1 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$2 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,[c] | MOV EDX,$1 ; XCHG [L_b],EBX | XCHG [L_e],EAX | Lock30: | XCHG [L_g],EDX ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,$1 | CMP EDX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],EDX | JE Lock44 ; Lock07: | Lock19: | CMP EDX,$0 | Lock43: ; MOV EBX,[L_b] | MOV EAX,[L_e] | JE Lock32 | MOV EDX,[L_g] ; CMP EBX,$0 | CMP EAX,$0 | Lock31: | CMP EDX,$0 ; JE Lock06 | JE Lock18 | MOV EDX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP EDX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV ECX,[g] ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV EAX,[z] | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock33: | Lock45: ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,$1 | MOV EDX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],EDX | XCHG [L_b],EDX ; Lock10: | Lock22: | CMP EDX,$0 | CMP EDX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock35 | JE Lock47 ; CMP EBX,$0 | CMP EAX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV EDX,[L_d] | MOV EDX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | CMP EDX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV ECX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rdx) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdx),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r11) _litmus_P3_12_: movl $0,(%rdx) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r13) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r13),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r9) _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r14) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r10),%esi _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%r12) _litmus_P3_40_: movl (%r12),%ecx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%rax) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rax),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r15),%ebx _litmus_P3_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r10) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%rbx) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r8) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rdx) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdx),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: movl $1,(%r12) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r14) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $2,(%r10) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r13) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r13),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r9),%ecx _litmus_P2_40_: movl $0,(%r13) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) Test X039+X040-L Required Histogram (84 states) 78966 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 311015:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 488209:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 5490485:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=1; 91697 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 162 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 672285:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 561916:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=1; 3412 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1903787:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 23070 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1423601:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 1404515:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 107 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 11456529:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=1; 62379 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 4027666:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 656890:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 109558:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 8 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 4763048:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 148236:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 27509926:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=1; 2668 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 71074 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=1; 197549:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 9124 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 670045:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 1056497:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=1; 191489:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 745625:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 226756:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 11 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=1; 8631 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 28 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 278235:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 18896 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=1; 1 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 493 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 16 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 301 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 14 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=1; 530071:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1714541:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 148821:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 2145 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 232308:>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 8812911:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1669234:>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 7877783:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 5592 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 46315 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 8 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 6441 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 1180701:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=1; y=2; 34175 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 816689:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=1; y=2; 103 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 194592:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 203 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 80 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 1266723:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 631117:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 16702 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 87792 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 1586359:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=1; y=2; 536435:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 2131212:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 49193 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 208938:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=1; f=2; y=2; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 13310 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 946686:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 91406 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 4075753:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 3040 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 267511:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; 150166:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=2295290e1f6831541af1ab80a875d8d7 Time X039+X040-L 234.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X041-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV ECX,[L_c] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [d],$1 | Lock15: | Lock27: | MOV [a],$1 ; Lock03: | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; MOV ECX,$1 | XCHG [L_e],EAX | XCHG [L_z],EBX | Lock33: ; XCHG [L_b],ECX | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; CMP ECX,$0 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; JE Lock05 | Lock16: | Lock28: | CMP ECX,$0 ; Lock04: | MOV EAX,[L_e] | MOV EBX,[L_z] | JE Lock35 ; MOV ECX,[L_b] | CMP EAX,$0 | CMP EBX,$0 | Lock34: ; CMP ECX,$0 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JE Lock03 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; JMP Lock04 | Lock17: | Lock29: | JE Lock33 ; Lock05: | MOV [e],$1 | MOV EAX,[z] | JMP Lock34 ; MOV [b],$1 | MOV [L_e],$0 | MOV [L_z],$0 | Lock35: ; MOV [L_b],$0 | Lock18: | | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,$1 | | MOV [L_b],$0 ; Lock06: | XCHG [L_y],EAX | | ; MOV ECX,$1 | CMP EAX,$0 | | ; XCHG [L_x],ECX | JE Lock20 | | ; CMP ECX,$0 | Lock19: | | ; JE Lock08 | MOV EAX,[L_y] | | ; Lock07: | CMP EAX,$0 | | ; MOV ECX,[L_x] | JE Lock18 | | ; CMP ECX,$0 | JMP Lock19 | | ; JE Lock06 | Lock20: | | ; JMP Lock07 | MOV [y],$1 | | ; Lock08: | MOV [L_y],$0 | | ; MOV [x],$1 | Lock21: | | ; MOV [L_x],$0 | MOV EAX,$1 | | ; Lock09: | XCHG [L_c],EAX | | ; MOV ECX,$1 | CMP EAX,$0 | | ; XCHG [L_e],ECX | JE Lock23 | | ; CMP ECX,$0 | Lock22: | | ; JE Lock11 | MOV EAX,[L_c] | | ; Lock10: | CMP EAX,$0 | | ; MOV ECX,[L_e] | JE Lock21 | | ; CMP ECX,$0 | JMP Lock22 | | ; JE Lock09 | Lock23: | | ; JMP Lock10 | MOV [c],$1 | | ; Lock11: | MOV [L_c],$0 | | ; MOV EBX,[e] | | | ; MOV [L_e],$0 | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%r14) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r14),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r11) _litmus_P0_26_: movl $0,(%r14) _litmus_P0_27_: movl (%r9),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rbx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rbx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%rdi) _litmus_P0_40_: movl $0,(%rbx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r8),%edx _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X040+X041-L Required Histogram (35 states) 289 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 9509530:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 10469 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 39885369:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 11799 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 11019433:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 90198 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 18043606:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1560652:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 981475:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 183320:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 182 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 250958:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 21 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1768949:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1110 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1243967:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 821 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 3190761:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 4561 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 2 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 6 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 973727:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 5 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 25383 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1268 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 9216262:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 5413 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 724898:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 12704 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 972369:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1805 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 712 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 307792:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 184 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=a0164659d915d45a75f596ff34a0a66f Time X040+X041-L 187.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X042-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-L "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EAX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EDX | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EAX,[L_z] | MOV EDX,[L_x] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_c],$0 ; Lock03: | MOV [y],$1 | MOV [d],$1 ; MOV EAX,$1 | MOV EAX,[y] | MOV EAX,[d] ; XCHG [L_b],EAX | Lock15: | Lock27: ; CMP EAX,$0 | MOV EDX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],EDX | XCHG [L_a],ECX ; Lock04: | CMP EDX,$0 | CMP ECX,$0 ; MOV EAX,[L_b] | JE Lock17 | JE Lock29 ; CMP EAX,$0 | Lock16: | Lock28: ; JE Lock03 | MOV EDX,[L_z] | MOV ECX,[L_a] ; JMP Lock04 | CMP EDX,$0 | CMP ECX,$0 ; Lock05: | JE Lock15 | JE Lock27 ; MOV [b],$1 | JMP Lock16 | JMP Lock28 ; MOV [L_b],$0 | Lock17: | Lock29: ; Lock06: | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,$1 | MOV [L_z],$0 | MOV [L_a],$0 ; XCHG [L_x],EAX | Lock18: | ; CMP EAX,$0 | MOV EDX,$1 | ; JE Lock08 | XCHG [L_a],EDX | ; Lock07: | CMP EDX,$0 | ; MOV EAX,[L_x] | JE Lock20 | ; CMP EAX,$0 | Lock19: | ; JE Lock06 | MOV EDX,[L_a] | ; JMP Lock07 | CMP EDX,$0 | ; Lock08: | JE Lock18 | ; MOV [x],$1 | JMP Lock19 | ; MOV [L_x],$0 | Lock20: | ; Lock09: | MOV [a],$1 | ; MOV EAX,$1 | MOV [L_a],$0 | ; XCHG [L_c],EAX | Lock21: | ; CMP EAX,$0 | MOV EDX,$1 | ; JE Lock11 | XCHG [L_b],EDX | ; Lock10: | CMP EDX,$0 | ; MOV EAX,[L_c] | JE Lock23 | ; CMP EAX,$0 | Lock22: | ; JE Lock09 | MOV EDX,[L_b] | ; JMP Lock10 | CMP EDX,$0 | ; Lock11: | JE Lock21 | ; MOV [c],$1 | JMP Lock22 | ; MOV [L_c],$0 | Lock23: | ; | MOV ECX,[b] | ; | MOV [L_b],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r9) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: movl (%r10),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r9),%ebx _litmus_P1_27_: movl $0,(%r13) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%rax) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r12) _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%rdx) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rdx),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r15),%esi _litmus_P1_53_: movl $0,(%rdx) Test X041+X042-L Required Histogram (17 states) 7506731:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 9748 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 1811208:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 47730582:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 8347112:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 586 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 3212999:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 5058063:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 375 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 598525:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 1455001:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 3991721:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 12925750:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 397913:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 911128:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 6042554:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=3e8c372cacf5391565a348d7a2abf062 Time X041+X042-L 164.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X043-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-L "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_a],ECX | XCHG [L_c],EBX | XCHG [L_f],ESI | XCHG [L_e],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV EBX,[L_c] | MOV ESI,[L_f] | MOV EAX,[L_e] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_x],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_f],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_x] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV EAX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV ECX,$1 | MOV EBX,$1 | MOV [z],$1 | ; XCHG [L_d],ECX | XCHG [L_d],EBX | MOV EAX,[z] | ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV ECX,[L_d] | MOV EBX,[L_d] | XCHG [L_c],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EAX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV ECX,$1 | MOV EBX,$1 | Lock32: | ; XCHG [L_e],ECX | XCHG [L_y],EBX | MOV EDX,[c] | ; CMP ECX,$0 | CMP EBX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV ECX,[L_e] | MOV EBX,[L_y] | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV EBX,[e] | MOV [y],$1 | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r9) _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%edx _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r10) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X042+X043-L Required Histogram (56 states) 1737 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 25 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 1287324:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 3533 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 292851:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 38 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=1; 98 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 292 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 178591:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 355923:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 4371675:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=1; y=1; 2200 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 2352710:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 54 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 56 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 32068 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 91303 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 20787512:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1548895:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 32 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 24404915:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 19815 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 45903 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 27366 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 16 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 4704 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 1352 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 932219:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=1; 425343:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 15005 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 7697219:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 27878 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 15239371:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 17573 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 657 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 520596:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 41 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 58491 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 7216 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 6990001:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 426357:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 198323:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 97 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=1; y=2; 255292:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 24698 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 29914 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 9289835:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 111458:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 1920303:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 1096 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=f0619759dfe6b38d63d68f2b152c1347 Time X042+X043-L 208.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X044-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044-L "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_e],ECX | XCHG [L_x],EBX | XCHG [L_g],ECX | XCHG [L_f],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_e] | MOV EBX,[L_x] | MOV ECX,[L_g] | MOV ECX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV ECX,$1 ; XCHG [L_f],ECX | XCHG [L_d],EBX | MOV ECX,$1 | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_y],ECX | CMP ECX,$0 ; JE Lock05 | JE Lock17 | CMP ECX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_f] | MOV EBX,[L_d] | Lock28: | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[L_y] | CMP ECX,$0 ; JE Lock03 | JE Lock15 | CMP ECX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV EBX,[f] | MOV [d],$1 | Lock29: | MOV [z],$2 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV EAX,[c] | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_e],EBX | Lock30: | XCHG [L_g],ECX ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,$1 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],ECX | JE Lock44 ; Lock07: | Lock19: | CMP ECX,$0 | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_e] | JE Lock32 | MOV ECX,[L_g] ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | CMP ECX,$0 ; JE Lock06 | JE Lock18 | MOV ECX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP ECX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV [g],$1 ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV [z],$1 | MOV [a],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],ECX | XCHG [L_y],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],ECX | XCHG [L_b],ECX ; Lock10: | Lock22: | CMP ECX,$0 | CMP ECX,$0 ; MOV ECX,[L_x] | MOV EBX,[L_y] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ECX,[L_d] | MOV ECX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | CMP ECX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV EBX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r15d _litmus_P3_2_: xchgl %r15d,(%r13) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%rbx) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%rdi) _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r12) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r12),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%r8) _litmus_P3_38_: movl $0,(%r12) _litmus_P3_39_: movl $1,(%r11) _litmus_P3_40_: movl (%r11),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%r15d _litmus_P3_43_: xchgl %r15d,(%r14) _litmus_P3_44_: cmpl $0,%r15d _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r14),%r15d _litmus_P3_48_: cmpl $0,%r15d _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r10),%edx _litmus_P3_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r8),%edx _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r13) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r11) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r8) _litmus_P2_26_: movl $0,(%r12) _litmus_P2_27_: movl (%r11),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rbx) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rbx),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rdi) _litmus_P2_40_: movl $0,(%rbx) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r10),%edx _litmus_P2_53_: movl $0,(%r14) Test X043+X044-L Required Histogram (81 states) 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 35804 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 2178540:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 373223:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 55 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 14036491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 158358:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 9241 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 437695:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 169446:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 199577:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 4218813:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 78 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 806857:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 1825073:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 7212949:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 93118 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 24447764:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=1; 15469 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1773703:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 1385805:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 135926:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 1464797:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 327977:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 82833 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 375989:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 6120 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1393619:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 445154:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 6075006:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 6325 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 96030 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 198 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 92802 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 319241:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 30384 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 920476:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 263555:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 13958 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 516796:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 920553:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=2; z=1; 3040 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 685238:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 139293:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 5682 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 24798 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 427 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 5023 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 2447953:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 97 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 140 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 1582684:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 652058:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 1445313:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 49101 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 3803338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 22326 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 821074:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 136 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 357107:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 6842891:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 5349000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 117687:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 37057 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 517567:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 2929 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 207592:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 179485:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 592231:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 30033 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; 1212828:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=bb89630069f7b5ae4d02533b48178b3d Time X043+X044-L 233.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X045-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EAX,[a] ; XCHG [L_d],EAX | XCHG [L_c],EBX | XCHG [L_e],ECX | Lock39: ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EAX,[L_d] | MOV EBX,[L_c] | MOV ECX,[L_e] | JE Lock41 ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | Lock40: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock39 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | JMP Lock40 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_e],$0 | Lock41: ; Lock06: | Lock18: | MOV [f],$1 | MOV EBX,[b] ; MOV EAX,$1 | MOV EBX,$1 | Lock30: | MOV [L_b],$0 ; XCHG [L_e],EAX | XCHG [L_y],EBX | MOV ECX,$1 | ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | ; JE Lock08 | JE Lock20 | CMP ECX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EAX,[L_e] | MOV EBX,[L_y] | Lock31: | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | ; JE Lock06 | JE Lock18 | CMP ECX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV [e],$1 | MOV EAX,[y] | Lock32: | ; MOV [L_e],$0 | MOV [L_y],$0 | MOV [z],$1 | ; Lock09: | Lock21: | MOV [L_z],$0 | ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[f] | ; XCHG [L_x],EAX | XCHG [L_d],EBX | Lock33: | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_c],ECX | ; Lock10: | Lock22: | CMP ECX,$0 | ; MOV EAX,[L_x] | MOV EBX,[L_d] | JE Lock35 | ; CMP EAX,$0 | CMP EBX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ECX,[L_c] | ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV [d],$1 | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_d],$0 | Lock35: | ; | | MOV EBX,[c] | ; | | MOV [L_c],$0 | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r13) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: movl $1,(%r9) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%r15d _litmus_P2_29_: xchgl %r15d,(%rbx) _litmus_P2_30_: cmpl $0,%r15d _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rbx),%r15d _litmus_P2_34_: cmpl $0,%r15d _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl $1,(%rdi) _litmus_P2_39_: movl $0,(%rbx) _litmus_P2_40_: movl (%r9),%eax _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%edx _litmus_P2_53_: movl $0,(%r14) Test X044+X045-L Required Histogram (53 states) 3027406:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 33256 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 13846770:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2445801:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 340649:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 32111904:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 165533:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1167685:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 4273693:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 445 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2244214:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1652699:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 312 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 747595:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2396557:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 42618 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4476416:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 18321420:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 855577:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 1195620:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 13 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 90191 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 44 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 494404:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 17969 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 36387 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3957 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 215013:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 984428:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 188620:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2365772:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 71527 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 287 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 3314974:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1517 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1325315:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 90871 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 6527 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 80412 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 446737:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 31951 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 485604:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1985 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 4046 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 21122 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 1660 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 545 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 317273:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 20 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 50746 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 107 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 3799 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=4ba21da52e820a1d1ca1929c5c76de63 Time X044+X045-L 213.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X046-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-L "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_a],EAX | XCHG [L_c],EBX | XCHG [L_f],ESI | XCHG [L_e],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV EBX,[L_c] | MOV ESI,[L_f] | MOV EAX,[L_e] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_x],EAX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_f],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_x] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV EAX,[L_f] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV EAX,$1 | MOV EBX,$1 | MOV [z],$1 | ; XCHG [L_d],EAX | XCHG [L_d],EBX | MOV EAX,[z] | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV EAX,[L_d] | MOV EBX,[L_d] | XCHG [L_c],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EAX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV EAX,$1 | MOV EBX,$1 | Lock32: | ; XCHG [L_e],EAX | XCHG [L_y],EBX | MOV EDX,[c] | ; CMP EAX,$0 | CMP EBX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV EAX,[L_e] | MOV EBX,[L_y] | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV [e],$1 | MOV [y],$1 | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r10) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X045+X046-L Required Histogram (57 states) 1283693:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 55 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 174969:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 2071351:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 18092056:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 58033 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1818 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 99 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1897 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 30107 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 55 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 41774 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 3585 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 484129:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 6476386:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 41065 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 46 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 265133:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 613 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 4541378:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 53042 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 25559625:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 2946 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 270961:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 43 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1240602:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 40781 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 82 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 885299:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 13622 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 15977247:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 766 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 16951 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 483965:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 9005514:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 555 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 77035 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 288591:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 9850554:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 617 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 31426 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 3781 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 222841:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 444216:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 19466 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1810152:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 130963:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=c3c27eb82b90a01230ac111cae4b9f9e Time X045+X046-L 210.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X047-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-L "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_e],EBX | XCHG [L_x],EAX | XCHG [L_g],ECX | XCHG [L_f],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_e] | MOV EAX,[L_x] | MOV ECX,[L_g] | MOV ECX,[L_f] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | Lock27: | MOV ECX,$1 ; XCHG [L_f],EBX | XCHG [L_d],EAX | MOV ECX,$1 | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_y],ECX | CMP ECX,$0 ; JE Lock05 | JE Lock17 | CMP ECX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV EBX,[L_f] | MOV EAX,[L_d] | Lock28: | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,[L_y] | CMP ECX,$0 ; JE Lock03 | JE Lock15 | CMP ECX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [f],$1 | MOV [d],$1 | Lock29: | MOV [z],$2 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$2 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[c] | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_e],EAX | Lock30: | XCHG [L_g],ECX ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],ECX | JE Lock44 ; Lock07: | Lock19: | CMP ECX,$0 | Lock43: ; MOV EBX,[L_b] | MOV EAX,[L_e] | JE Lock32 | MOV ECX,[L_g] ; CMP EBX,$0 | CMP EAX,$0 | Lock31: | CMP ECX,$0 ; JE Lock06 | JE Lock18 | MOV ECX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP ECX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV [g],$1 ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV [z],$1 | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock33: | Lock45: ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],ECX | XCHG [L_b],ECX ; Lock10: | Lock22: | CMP ECX,$0 | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock35 | JE Lock47 ; CMP EBX,$0 | CMP EAX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ECX,[L_d] | MOV ECX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | CMP ECX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV EBX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r15d _litmus_P3_2_: xchgl %r15d,(%r13) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r9) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%rbx) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%rdi) _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r12) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r12),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%r8) _litmus_P3_38_: movl $0,(%r12) _litmus_P3_39_: movl $1,(%r11) _litmus_P3_40_: movl (%r11),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%r15d _litmus_P3_43_: xchgl %r15d,(%r14) _litmus_P3_44_: cmpl $0,%r15d _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r14),%r15d _litmus_P3_48_: cmpl $0,%r15d _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r10),%edx _litmus_P3_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r10) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%rbx) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r8) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r13) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r11) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $2,(%r8) _litmus_P2_26_: movl $0,(%r12) _litmus_P2_27_: movl (%r11),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rbx) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rbx),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rdi) _litmus_P2_40_: movl $0,(%rbx) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r10),%edx _litmus_P2_53_: movl $0,(%r14) Test X046+X047-L Required Histogram (78 states) 20586 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 2069446:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 13 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 13347704:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=1; 635606:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 166448:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 142276:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 24440467:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=1; 13459 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 946460:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=1; 294415:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=1; 18 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 92 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=1; 163467:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 6343 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 1719378:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 7231910:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=1; 83192 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 352216:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 479737:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 5926652:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=1; z=1; 113394:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 155 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 733834:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 877125:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=1; z=1; 2924 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 85404 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 6 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 7462 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 22 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 268437:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 18538 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=1; z=1; 356139:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 81 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 1012044:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=1; 2199308:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=1; 1814575:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=2; z=1; 125700:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 4258064:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=1; 155398:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=1; 5086 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 1404823:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=2; y=2; z=1; 44278 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 659268:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=2; y=2; z=1; 692117:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=2; z=1; 24276 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 80702 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 308995:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 5494 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 3174 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 2344196:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 1472629:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=1; z=2; 66596 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 3749671:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 5417442:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=1; z=2; 85962 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 434972:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=1; z=2; 228484:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 1169131:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=1; z=2; 319 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 176 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=1; y=1; z=2; 598983:>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 1483185:>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 266585:>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 7459924:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=1; z=2; 3912 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 34761 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=1; z=2; 87 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 158 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 34981 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=1; y=2; z=2; 690847:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=2; 13963 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 887152:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=1; y=2; z=2; 259153:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=c2ed4084429d36f8478c0c55be79b1b1 Time X046+X047-L 238.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X048-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_d],EBX | XCHG [L_z],EAX | Lock33: ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_d] | MOV EAX,[L_z] | JE Lock35 ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock34: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock33 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | JMP Lock34 ; MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_z],$0 | Lock35: ; Lock06: | Lock18: | | MOV EBX,[b] ; MOV EBX,$1 | MOV EBX,$1 | | MOV [L_b],$0 ; XCHG [L_c],EBX | XCHG [L_y],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_c] | MOV EBX,[L_y] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [c],$1 | MOV [y],$1 | | ; MOV [L_c],$0 | MOV [L_y],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_d],EBX | XCHG [L_c],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_d] | MOV EBX,[L_c] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EAX,[d] | MOV EAX,[c] | | ; MOV [L_d],$0 | MOV [L_c],$0 | | ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r9) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r11) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r8),%eax _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X047+X048-L Required Histogram (39 states) 12803148:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 834 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 11694130:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 5780332:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1515 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 14159677:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3178235:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 234900:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 28 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 13414182:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 3201802:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1236396:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 35807 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 6821244:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 12 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3065664:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2093 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 179 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 418259:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 335489:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3792806:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 3 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1279603:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 6635921:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 280 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4558248:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 201351:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 32316 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 74 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 5978135:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1032492:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 6911 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 91669 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 4920 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 838 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 501 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=e39f8e4e85fedf2c897faa313e0ed116 Time X047+X048-L 178.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X049-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-L "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_a],ECX | XCHG [L_x],ECX | XCHG [L_b],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_b] ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_b],$0 ; Lock03: | Lock15: | Lock27: ; MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_c],ECX | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV ECX,[L_b] | MOV ECX,[L_c] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV EBX,[b] | MOV [c],$1 | MOV EAX,[c] ; MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_c],$0 ; Lock06: | Lock18: | ; MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_y],ECX | XCHG [L_a],ECX | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | ; Lock07: | Lock19: | ; MOV ECX,[L_y] | MOV ECX,[L_a] | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | ; JMP Lock07 | JMP Lock19 | ; Lock08: | Lock20: | ; MOV [y],$1 | MOV EBX,[a] | ; MOV [L_y],$0 | MOV [L_a],$0 | ; Lock09: | Lock21: | ; MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_y],ECX | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ECX,[L_x] | MOV ECX,[L_y] | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [L_x],$0 | MOV [L_y],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r9),%edx _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r13) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r10),%edx _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) Test X048+X049-L Required Histogram (18 states) 4655898:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 103 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 5821213:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2433575:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1907100:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3359621:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 35450167:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 507251:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 7487476:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 220 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3331422:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 8599962:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2121711:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 14879414:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 9444851:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=38d9f5f96b1321a03de0ae8490dbdd42 Time X048+X049-L 149.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X050-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-L "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_z],ECX | XCHG [L_a],ECX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_z] | MOV ECX,[L_a] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_b],ECX | XCHG [L_a],ECX | XCHG [L_d],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_b] | MOV ECX,[L_b] | MOV ECX,[L_a] | MOV EBX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$1 | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_c],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_c] | MOV ECX,[L_x] | MOV ECX,[L_y] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl (%r9),%edx _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%rbx) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbx),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r8) _litmus_P1_38_: movl $0,(%rbx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X049+X050-L Required Histogram (72 states) 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 416240:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 75756 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 68465 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 93498 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 11849 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2345720:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 454085:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 247302:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 323738:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 62521 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1187 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 12727932:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4872 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2989616:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 182032:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 27547 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2264061:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1765567:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 70687 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 8418741:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 772521:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4500 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4911675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 19195 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 799 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 727763:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 392651:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 722 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1259 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1929955:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 183 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 39 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3367204:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 17113 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11324992:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3584831:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 757 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 786987:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1533 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1834360:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 623706:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 14701236:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8594 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1943 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7711839:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1240279:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 640726:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 248917:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3797450:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1814920:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 58201 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4332940:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2588690:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=e4ed9491c75b137554cc4aa9dd4cef4f Time X049+X050-L 191.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X051-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EBX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_b],EBX | XCHG [L_b],ECX | XCHG [L_e],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_b] | MOV ECX,[L_b] | MOV ECX,[L_e] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_e],$0 ; Lock06: | Lock18: | Lock30: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_c],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock44 ; Lock07: | Lock19: | Lock31: | Lock43: ; MOV ECX,[L_d] | MOV EBX,[L_c] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock42 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock43 ; Lock08: | Lock20: | Lock32: | Lock44: ; MOV EBX,[d] | MOV [c],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock09: | Lock21: | Lock33: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock47 ; Lock10: | Lock22: | Lock34: | Lock46: ; MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock45 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock46 ; Lock11: | Lock23: | Lock35: | Lock47: ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r12) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%rbx) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%r8),%edx _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r11) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r11),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%rdi) _litmus_P3_38_: movl $0,(%r11) _litmus_P3_39_: LitLock45: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r13) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock47 _litmus_P3_44_: LitLock46: _litmus_P3_45_: movl (%r13),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock45 _litmus_P3_48_: jmp LitLock46 _litmus_P3_49_: LitLock47: _litmus_P3_50_: movl (%r10),%eax _litmus_P3_51_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X050+X051-L Required Histogram (101 states) 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 472632:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2275525:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 49175 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 3981738:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 39310 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1571432:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 28 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 294 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 72728 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 15 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1124475:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1237529:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 84 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 317 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 171745:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 113438:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 214551:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 9547305:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 65922 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 17687 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 130135:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3041803:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2537 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1121287:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4244 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2138695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 512 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 56329 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 35138 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 103 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 120 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 45 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1073493:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2126394:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 320947:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 22644061:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 352 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 481 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1353 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 196744:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 113187:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 88666 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 10697081:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11505 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1379244:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 29 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 747458:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 11974 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 498619:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2739298:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 162792:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3077846:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 14672353:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 13417 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 298624:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2532135:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 18270 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1327018:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 8192 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 464 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3664 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 441296:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 527353:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 72 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 110020:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 141366:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 62254 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 471405:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 27857 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 8763 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 760890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 88 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 588 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 196626:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1749048:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1535 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 185900:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 193144:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2866035:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3090 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=81455cc8edec1ed085b99d09bbd73d5a Time X050+X051-L 217.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X052-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_d],EBX | XCHG [L_y],ECX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EBX,[L_d] | MOV ECX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],EBX | XCHG [L_b],EBX | XCHG [L_c],ECX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EBX,[L_b] | MOV EBX,[L_b] | MOV ECX,[L_c] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MOV EAX,[a] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_c],EBX | XCHG [L_x],EBX | XCHG [L_d],ECX | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EBX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_d] | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EAX,[c] | MOV [x],$2 | MOV EBX,[d] | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r11) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r11),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdi) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r9),%edx _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X051+X052-L Required Histogram (59 states) 755 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 244909:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 35589 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 198078:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1245663:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 64004 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 167753:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 212 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1150 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 46199 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 316118:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1275484:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 4682509:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 92620 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 1770906:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 2420 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 56671 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1228309:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1232494:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 637553:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 21525005:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 632523:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 270267:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 2533 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 23728 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1621 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1342874:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1875137:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 604624:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1630913:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 21417713:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5410 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 28874 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2218939:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 111128:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1429654:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 877340:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 71827 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 532703:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1230459:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 5539128:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1025 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 17348 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 23487 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1461767:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 19309949:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 4513126:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 15 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 4 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 51 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 26 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 51 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 38 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 1 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 14 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 10 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 1013 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 278 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=d7a3d98f45c33c35e95221ab0988fcc6 Time X051+X052-L 194.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X053-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-L "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EBX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_z] | MOV EBX,[L_a] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EBX | XCHG [L_a],ECX | XCHG [L_d],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EBX,[L_b] | MOV ECX,[L_a] | MOV EBX,[L_d] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV EAX,[d] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_y] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV [y],$1 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X052+X053-L Required Histogram (70 states) 73462 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 643764:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2748163:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 551032:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 631869:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 94 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 5332070:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 5036139:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 2339934:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 404410:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 93988 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 306030:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 471685:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 13514025:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 3268319:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 9 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 4510782:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 729 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1718235:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 605995:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2152263:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 13916793:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 8155809:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 25862 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 545 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 10039 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 327226:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 13093 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 98613 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 4211 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1000 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 749 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1893 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 694106:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 9992 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 6462 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1323087:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1289519:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 7677143:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 295525:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 23 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 8827271:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 309408:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 4844015:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 1004 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 8616 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 3 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 56 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 8347 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 7678 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 195201:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 97467 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 19366 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 261 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 3355848:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 1599738:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 2470999:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=2549e0cc3641e2cc07f18e3b63bb3273 Time X052+X053-L 196.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X054-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV EBX,[L_x] | MOV EAX,[L_c] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV [x],$1 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | | ; MOV EBX,$1 | MOV EAX,$1 | | ; XCHG [L_b],EBX | XCHG [L_y],EAX | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_b] | MOV EAX,[L_y] | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [b],$2 | MOV [y],$1 | | ; MOV [L_b],$0 | MOV [L_y],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EAX,$1 | | ; XCHG [L_c],EBX | XCHG [L_b],EAX | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_c] | MOV EAX,[L_b] | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EAX,[c] | MOV [b],$1 | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r9) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r11) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X053+X054-L Required Histogram (39 states) 2 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 964589:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 371 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 11582970:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 454 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 3675212:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1752 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 11494110:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 3282971:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 15335403:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 7021612:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 5986672:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 187311:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 20945 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 3306595:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 260207:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 5906210:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 789080:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 14395103:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 3356966:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 3 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 30 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 32 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 46363 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 3908 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 18 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 2860494:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 6259 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 1630960:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 83389 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 6868853:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2000 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 130 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 892 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 401 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 556924:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 370802:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 6 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=41724ac8b54d2e6e267d9dba6f5fcca9 Time X053+X054-L 175.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X055-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-L "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 ; XCHG [L_b],EBX | XCHG [L_a],EBX | XCHG [L_d],EBX | XCHG [L_c],EAX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_b] | MOV EBX,[L_a] | MOV EBX,[L_d] | MOV EAX,[L_c] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 ; XCHG [L_c],EBX | XCHG [L_b],EBX | XCHG [L_a],EBX | XCHG [L_d],EAX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV EBX,[L_c] | MOV EBX,[L_b] | MOV EBX,[L_a] | MOV EAX,[L_d] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV EAX,[c] | MOV [b],$1 | MOV EAX,[a] | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_y],EBX | XCHG [L_x],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_y] | MOV EBX,[L_x] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [y],$1 | MOV [x],$2 | | ; MOV [L_y],$0 | MOV [L_x],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_x],EBX | XCHG [L_y],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_x] | MOV EBX,[L_y] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV [x],$1 | MOV EAX,[y] | | ; MOV [L_x],$0 | MOV [L_y],$0 | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r9) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rsi) _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%rdi) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdi),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rcx) _litmus_P2_12_: movl $0,(%rdi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%r8) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r8),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rsi),%eax _litmus_P2_25_: movl $0,(%r8) Test X054+X055-L Required Histogram (39 states) 10085 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 2602933:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 68868 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 7295035:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 752880:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 3837406:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 3035006:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 5838839:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 3067 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 5293126:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 129 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 105619:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 1249895:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 16045876:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 13742 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 676491:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 147324:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 3 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 1162685:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 821 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 503252:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 15092 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 3142109:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 321152:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 16110 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 1833 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 8247856:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 55 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 580016:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 4581349:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 11696138:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 11313003:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 1241783:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 22 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 84438 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 4008701:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 1373812:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 4733422:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 27 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=acee8cc42bda5987c74a35556a39c2bd Time X054+X055-L 173.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X056-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_d],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV EBX,[L_d] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EBX | XCHG [L_c],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EBX,[L_b] | MOV EBX,[L_c] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MOV EAX,[a] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EBX | XCHG [L_d],EBX | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_x] | MOV EBX,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV EAX,[d] | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r11) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r11),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdi) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%r10) _litmus_P2_3_: cmpl $0,%r12d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r12d _litmus_P2_7_: cmpl $0,%r12d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r12d _litmus_P2_15_: xchgl %r12d,(%rbx) _litmus_P2_16_: cmpl $0,%r12d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%r12d _litmus_P2_20_: cmpl $0,%r12d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r8) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r12d _litmus_P2_28_: xchgl %r12d,(%r11) _litmus_P2_29_: cmpl $0,%r12d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r11),%r12d _litmus_P2_33_: cmpl $0,%r12d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rdi),%eax _litmus_P2_38_: movl $0,(%r11) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r12d _litmus_P2_41_: xchgl %r12d,(%r9) _litmus_P2_42_: cmpl $0,%r12d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r9),%r12d _litmus_P2_46_: cmpl $0,%r12d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl $1,(%rcx) _litmus_P2_51_: movl $0,(%r9) Test X055+X056-L Required Histogram (58 states) 975387:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 1410051:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 644282:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 2 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 4969206:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1873101:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 1357065:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 20305995:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 442182:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 526310:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 21361192:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 83884 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 344617:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 717680:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 2714985:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 1356309:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 616521:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 1998207:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1753668:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1186974:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 816448:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 5317713:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 5175182:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 6 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 9 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 248 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 362 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 23862 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 72127 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 1326487:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 1337239:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 1109646:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 16866433:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 2 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 72 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 10 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 1066 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 2548 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 135445:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 36588 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 99134 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 2681 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 79022 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 955986:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 19256 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 953749:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 579 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 2094 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 2555 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1656 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 3005 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 885096:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 26765 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 66 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 23 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 91338 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 870 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 17014 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=8202391a4651d464fb16948d886f7ac4 Time X055+X056-L 199.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X057-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-L "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EAX | XCHG [L_d],ECX | XCHG [L_c],EAX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_z] | MOV EAX,[L_a] | MOV ECX,[L_d] | MOV EAX,[L_c] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EAX | XCHG [L_a],ECX | XCHG [L_d],EAX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EAX,[L_b] | MOV ECX,[L_a] | MOV EAX,[L_d] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV [d],$1 ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EAX,[L_x] | MOV ECX,[L_y] | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r8) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r8),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rdx) _litmus_P1_38_: movl $0,(%r8) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X056+X057-L Required Histogram (68 states) 813388:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 5027331:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 1993426:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 5489956:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 1975931:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 2269575:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 7481981:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 529 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 4696 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 15989 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 4865 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 1066 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 2455 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 8192 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 105379:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 1124684:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 511639:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 317615:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 85443 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 581605:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 3252772:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 4 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 2 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 338244:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 7785279:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 6 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 4059568:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 5 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 87 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 5175 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 16762 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 3321955:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 2325092:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 4 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 12529 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 2091413:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 8063690:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 5 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 6464 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 6064 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 81688 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 277 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 4787052:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 9 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 837 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 676320:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 13777535:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 3 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 607357:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 1280 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 857926:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 4 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 2579277:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 3 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 266772:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 13318397:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 39081 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 117475:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 21 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 235258:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 4 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 78 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 1887654:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 4 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 1455416:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 838 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 208568:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=5f8f9b5f29a8e2d820d50d6500ecdec8 Time X056+X057-L 199.26 Revision 6702, version 3.00+1 Parameters #ifndef SIZE_OF_TEST #define SIZE_OF_TEST 5000 #endif #ifndef NUMBER_OF_RUN #define NUMBER_OF_RUN 200 #endif #ifndef AVAIL #define AVAIL 8 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr4 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: false */ /* proc used: 8 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=-r 10k Mon Jan 17 18:25:09 CET 2011